现代密码学基本思想及其展望摘要:由密码学的基本概念出发,介绍密码学及其应用的最新发展状况,包括公钥密码体制及其安全理论、各种密码协议及其面临的攻击,并对安全协议的分析方法进行概述。
根据当今的发展状况指出密码学的发展趋势和未来的研究方向。
关键词:信息安全;密码学;数字签名;公钥密码体制;私钥密码体制引言1引言密码学是一门非常古老的学科,早期的密码技术是把人们能够读懂的消息变换成不易读懂的信息用来隐藏信息内容,使得窃听者无法理解消息的内容,同时又能够让合法用户把变换的结果还原成能够读懂的消息。
密码学的发展大致可以分为4个阶段。
手工阶段的密码技术可以追溯到几千年以前,这个时期的密码技术相对来说是非常简单的。
可以说密码技术是伴随着人类战争的出现而出现的。
早期的简单密码主要体现在实现方式上,即通过替换或者换位进行密码变换,其中比较著名的包括法国Vigenere 密码,古罗马Caeser密码等。
尽管密码学技术与其它学科一样在不断向前发展,但在第一次世界大战之前,很少有公开的密码学文献出现。
一个密码算法的安全性往往是就一定的时间阶段而言的,与人类当时的科技水平息息相关。
随着人类计算水平的提高,针对密码的破译水平也突飞猛进,因此密码技术也必须与时俱进,不断发展。
人类对于密码算法的安全性有着越来越高的要求,这往往导致所设计的密码算法的复杂度急剧增大。
在实际应用中,一个密码算法效率越高越好,因此人们就采用了机械方法以实现更加复杂的密码算法,改进加解密手段。
20世纪初就出现了不少专用密码机,比如Colossus,该密码机是由英国人Turin所设计的。
随着通信、电子和计算机等技术的发展,密码学得到前所未有的系统发展。
1949年,Shannon发表了“保密系统的通信理论”,给出了密码学的数学基础,证明了一次一密密码系统的完善保密性。
由于各种原因,从1949年到1967年,全世界的密码学文献几乎为零,尽管密码技术一直在发展。
直到20世纪70年代初期,IBM提出Feistel网络并发表了在分组密码方而的研究报告,密码学才开始呈现出民间研究的前兆。
随着社会的发展,不管是政府还是普通老百姓都对信息的安全有了更多的认识,信息安全需求也不断增长。
在这一背景下,20世纪70年代末,数据加密标准(Data Encryption Standard, DES)算法由美国政府确定,其具体的加密细节也被公开,从而使得基于DES 加密的安全性只依赖于对密钥的保密。
在1976年,Diffie和Hellman提出了“密码学新方向”,开辟了公钥密码技术理论,使得密钥协商、数字签名等密码问题有了新的解决方法,也为密码学的广泛应用奠定了基础。
手工阶段和机械阶段使用的密码技术可以称为古典密码技术,主要采用简单的替换或置换技术。
DES的公布与公钥密码技术问世标志密码学进入高速发展的现代密码学时代。
密码技术不但可以用于对网上所传送的数据进行加解密,而且也可以用于认证,进行数字签名}},以及关于完整性、安全套接层(SecuritySocket Layer, SSL)安全电子交易(Secure Elegytronic Transaction, SET)等的安全通信标准和网络协议安全性标准中。
对于密码而言,其最基本的功能在于通过变换将明文消息变换成只有合法者才可以恢复的密文。
信息的加密保护涉及到传输信息和存储信息两个方而,其中存储而临的安全问题更大。
所谓数字证书可以看作是“电子身份证”,可用于保证网络的正常运行。
在网络通讯中,数字证书通过一系列数据来标志通讯各方的身份信息。
现在交互式询问回答的应用很广泛,在询问和回答的过程中利用密码技术对消息进行加密,特别是基于密码的带中央处理器( Central Processing Unit,CPU)的智能卡,其安全性特别好。
在电子商务系统中,所有参与活动的实体都要依赖于数字证书来证明自己的身份。
作为生成报文“数字指纹”的一个重要方法,“报文摘要”算法有着非常重要的作用。
近年来,数字指纹受到了极大关注,己经成为现代密码学的一个重要研究方向。
为了防比消息在传输过程中被有意或无意的篡改,可以通过密码技术对消息进行处理,以得到消息的验证码并附在消息之后一起发送,实现对发送信息的验证,这在票据防伪中有重要作用。
信息时代的到来加速了电子数据对我们过去所依赖的个人特征的替代,数字签名有两方而的作用,一是基于自己的签名具有不可否认性,从而可以确定文件己经签署的事实;二是由于签名难以伪造,从而确定了文件的真实性。
2密码学基本概念与分类2.1密码学的基本概念2.1.1 密码编码学把来自信息源的可理解的原始消息变换成不可理解的消息,同时又可恢复到原消息的方法和原理的一门科学。
2.1.2 密码分析学在不知道关于密钥的任何信息这一情况下,利用各种技术手段,试图通过密文来得到明文或密钥的全部信息或部分信息。
密码分析也称为对密码体制的攻击。
按照攻击者是否对通信作干扰,密码分析可分为被动攻击和主动攻击2类。
所谓被动攻击是指,攻击者仅是利用截获的密文及公开的算法,分析明文或密钥,不对通信作干扰。
所谓主动攻击是指,攻击者通过对通信线路进行干扰,如引入新的密文,重复传播旧的密文,替换合法密文等,再对截获的密文进行分析。
按照攻击者掌握的知识条件,密码分析可分为唯密文攻击、己知明文攻击、选择明文攻击和选择密文攻击4类。
所谓唯密文攻击是指,攻击者只知道一个要攻击的密文(通常包含消息的上下文)。
所谓己知明文攻击是指,攻击者知道一些明文/密文对,若一个密码系统能够抵抗这种攻击,合法的接收者就不需要销毁己解密的明文。
所谓选择明文攻击是指,攻击者可以选择一些明文及对应的密文(公钥密码体制必需能够抵抗这种攻击)。
所谓选择密文攻击指,攻击者可以选择一些密文并得到相应的明文。
2.2密码体制的分类通常,密码体制分为对称密码体制与非对称密码体制,而非对称密码体制往往又称为公钥密码体制。
图1给出了密码体制的基本模型。
发送者加密算法解密算法接收者密钥源密文图1密码体制的基木模型在图1中,消息发送者从密钥源得到密钥,通过加密算法对消息进行加密得到密文,接收者收到密文后,利用从密钥源得到的密钥,通过解密算法对密文进行解密,得到原始消息。
2.2.1对称密码体制就对称密码体制而言,除了算法公开外,还有一个特点就是加密密钥和解密密钥可以比较容易的互相推导出来。
对称密码体制按其对明文的处理方式,可分为序列密码算法和分组密码算法。
自20世纪70年代中期,美国首次公布了分组密码加密标准DES之后,分组密码开始迅速发展,使得世界各国的密码技术差距缩小,也使得密码技术进入了突飞猛进的阶段,典型的分组密码体制有DES,3DES 、国际数据加密算法(International Data En-cryption Algorithm, IDEA)、高级数据加密标准(Advanced Encryption Standard, AES)等。
对称加密的流程如图2所示。
消息源加密算法密钥源解密算法目的地破译者安全通道M MCKK图2对称加密的流程2.2.2公钥密码体制公钥密码体制问世不久,Merkle也于1978独立提出这一体制。
该密码体制的诞生可以说是密码学的一次“革命”,公钥密码体制解决了对称密码算法在应用中的致命缺陷,即密钥分配问题。
就公钥密码体制而言,除了加密算法公开外,其具有不同的加密密钥和解密密钥,加密密钥是公开的(称作公钥),解密密钥是保密的(称作私钥),且不能够从公钥推出私钥,或者说从公钥推出私钥在计算上是“困难”的。
这里“困难”是计算复杂性理论中的概念。
公钥密码技术的出现使得密码学得到了空前发展。
在公钥密码出现之前,密码主要应用于政府、外交、军事等部门,如今密码在民用领域也得到了广泛应用。
1977年,为了解决基于公开信道来传输DES 算法的对称密钥这一公开难题,Rivest}Shamir 和Adleman 提出了著名的公钥密码算法RSA ,该算法的命名就是采用了三位发明者姓氏的首字母。
RSA 公钥密码技术的提出,不但很好的解决了基于公开信道的密钥分发问题,而且还可以实现对电文信息的数字签名,防比针对电文的抵赖以及否认。
特别地,利用数字签名技术,我们也可以很容易发现潜在的攻击者对电文进行的非法篡改,进而实现了信息的完整性保护。
公钥密码体制中的典型算法除了RSA 外,还有椭圆曲线密码(Ellip-tic Curve Cryptography ,ECC)、Rabin } ElUamal 和数论研究单位算法(Number Theory Research Unit ,NTRU)等。
公开密钥特别适用于Web 商务这样的业务需求。
公开密钥有一个非常吸引人的优点:即使一个用户不认识另一个实体,但是只要其服务器确信这个实体的认证中心(Certification Authority, CA)是可信的,就可以实现安全通信。
例如,在利用信用卡消费时,根据客户CA 的发行机构的可信度,服务方对自己的资源进行授权。
在任何一个国家,由其他国家的公司充当CA 都是非常危险的,目前国内外尚没有可以完全信任的CA 机构。
然而,在效率方而,公钥密码体制远远不如对称密码体制,其处理速度比较慢。
因此在实际应用中,往往是把公钥技术和私钥技术结合起来使用,即利用公开密钥实现通信双方间的对称密钥传递,而用对称密钥来加解密实际传输的数据。
A 加密算法解密算法目的地破译者PK B SK BM M C M SK B图3公钥加密的流程2.3密码分析学所谓密码分析学主要研究在己知密码算法的条件下,不需要密钥,如何由加密得到的密文推导出明文或密钥的相关信息。
随着密码算法设计技术的发展,密码分析技术也得到了深入的研究。
迄今为比,己经有很多攻击密码技术的方法:强力攻击、插值攻击、能量分析、线性密码分析、差分密码分析等,同时还有一些对哈希(Hash)函数的分析技术、对伪随机序列的分析技术等。
2.3.1强力攻击强力攻击包括查表攻击,时间-存储权衡攻击,字典攻击以及穷举搜索攻击。
对于任何一种分组密码来说,强力攻击都是适用的。
特别地,这种攻击方法的复杂度仅仅取决于密钥和分组的长度。
更严格地讲,这种攻击技术的时间复杂度只取决于分组密码算法的效率,如存储大小,密钥扩展速度,加密和解密的速度等。
2.3.2线性密码分析作为一种己知明文攻击方法,线性密码分析方法的本质思想在于,通过将一个给定的密码算法有效且线性近似地表示出来以实现破译。
现有密码分析技术也得到了一定的推广。
目前,利用己知明文,16轮DES系统己可以通过线性密码分析进行破译,在某些情况下甚至可以实现唯密文攻击。
针对数据加密标准DES系统的主要攻击包括强力攻击手段,差分密码分析等。