密码学的发展简史中国科学院研究生院信息安全国家重点实验室聂旭云学号:200418017029064密码学是一门年轻又古老的学科,它有着悠久而奇妙的历史。它用于保护军事和外交通信可追溯到几千年前。这几千年来,密码学一直在不断地向前发展。而随着当今信息时代的高速发展,密码学的作用也越来越显得重要。它已不仅仅局限于使用在军事、政治和外交方面,而更多的是与人们的生活息息相关:如人们在进行网上购物,与他人交流,使用信用卡进行匿名投票等等,都需要密码学的知识来保护人们的个人信息和隐私。现在我们就来简单的回顾一下密码学的历史。密码学的发展历史大致可划分为三个阶段:第一个阶段为从古代到1949年。这一时期可看作是科学密码学的前夜时期,这段时间的密码技术可以说是一种艺术,而不是一门科学。密码学专家常常是凭直觉和信念来进行密码设计和分析,而不是推理证明。这一个阶段使用的一些密码体制为古典密码体制,大多数都比较简单而且容易破译,但这些密码的设计原理和分析方法对于理解、设计和分析现代密码是有帮助的。这一阶段密码主要应用于军事、政治和外交。最早的古典密码体制主要有单表代换密码体制和多表代换密码体制。这是古典密码中的两种重要体制,曾被广泛地使用过。单表代换的破译十分简单,因为在单表代换下,除了字母名称改变以外,字母的频度、重复字母模式、字母结合方式等统计特性均未发生改变,依靠这些不变的统计特性就能破译单表代换。相对单表代换来说,多表代换密码的破译要难得多。多表代换大约是在1467年左右由佛罗伦萨的建筑师Alberti发明的。多表代换密码又分为非周期多表代换密码和周期多表代换密码。非周期多表代换密码,对每个明文字母都采用不同的代换表(或密钥),称作一次一密密码,这是一种在理论上唯一不可破的密码。这种密码可以完全隐蔽明文的特点,但由于需要的密钥量和明文消息长度相同而难于广泛使用。为了减少密钥量,在实际应用当中多采用周期多表代换密码。在16世纪,有各种各样的多表自动密钥密码被使用,最瞩目的当属法国人B.deVigtnère的Vigenère密码体制。有名的多表代换密码有Vigenère、Beaufort、Running-Key、Vernam和转轮机(rotormachine)。对于单表代换和多表代换密码来说,唯密文分析是可行的。单表代换和多表代换密码都是以单个字母作为代换对象的,而每次对多个字母进行代换就是多字母代换密码。大约1854年L.Playfair在英国推广Playfair密码,它是由英国科学家C.Wheatstone发明的。这是第一种多字母代换密码,在第一次世界大战中英国人就采用这种密码。多字母代换的优点是容易将字母的自然频度隐蔽或均匀化而有利于抵抗统计分析。这种密码主要有Playfair密码、Hill密码等。在二十世纪二十年代,人们发明了各种机械加密设备用来自动处理加密。大多数是基于转轮的概念。1918年美国人E.H.Hebern造出了第一台转轮机,它是基于一台用有线连接改造的早期打字机来产生单字母表替代的,输出是通过原始的亮灯式指示。最著名的转轮装置是Enigma,它是由德国人Scherbius发明并制造的。它在第二次世界大战中由德国人使用。不过在第二次世界大战期间,它就被破译了。密码学发展的第二个阶段为从1949年到1975年。1949年Shannon发表的《保密系统的信息理论》一文为私钥密码系统建立了理论基础,从此密码学成为了一门科学。该学科最完整的非技术性著作是Kahn的《破译者》[1]。这本书回溯了密码学的历史,内容包括从大约4000年前埃及人的原始的和有限的使用,直到二十世纪两次世界大战中它所扮演的关键角色。Kahn的著作完成于1963年,覆盖了历史上对当时密码学科的发展最为重要的方面。它的意义在于它不仅记述了1967年之前密码学发展的历史,而且使许多不知道密码学的人了解了密码学。二十世纪六十年代以来计算机和通信系统的普及,带动了个人对数字信息保护及各种安全服务的需求。IBM的Feistel在七十年代初期开始其工作,到1977年达到顶点:其研究成果被采纳成为加密非分类信息的美国联邦信息处理标准,即数据加密标准DES,历史上最著名的密码体制。DES至今依然是世界范围内许多金融机构进行安全电子商务的标准手段,是迄今为止世界上最为广泛使用和流行的一种分组密码算法。然而,随着计算机硬件的发展及计算能力的提高,DES已经显得不再安全。1997年7月22日电子边境基金学会(EFF)使用一台25万美金的电脑在56小时内破译了56位DES。1998年12月美国决定不再使用DES。美国国家标准技术研究所(NIST)现在已经启用了新的加密标准AES,它选用的算法是比利时的研究成果“Rijndael”。以上这两个阶段所使用的密码体制都称为是对称密码体制,因为这些体制中,加秘密钥和解秘密钥都是相同的,而进入密码学发展的第三个阶段,则出现了非对称密码体制——公钥密码体制。密码学发展的第三个阶段为1976年至今。密码学历史上最突出的发展乃是1976年Diffie和Hellman发表的《密码学的新方向》[2]一文。他们首次证明了在发送端和接收端无密钥传输的保密通信是可能的,从而开创了公钥密码学的新纪元。这篇论文引入了公钥密码学的革命性概念,并提供了一种密钥交换的创造性的方法,其安全性是基于离散对数问题的困难性。虽然在当时两位作者并没有提供公钥加密方案的实例,但他们的思想非常清楚,因而在密码学领域引起了广泛的兴趣和研究。1978年由Rivest,Shamir和Adleman三人提出了第一个比较完善的实际的公钥加密及签名方案[3],这就是著名的RSA方案。RSA方案基于另一个困难数学问题:大整数因子分解。这一困难数学问题在密码学中的应用促使人们努力寻找因子分解的更有效方法,并且八十年代在这方面取得一些重要的进展,但是它们都没能说明RSA系统是不安全的。另一类强大而实用的公钥方案在1985年由ElGamal得到,称作ElGamal方案[4]。这个方案在密码协议中有着大量的应用,它的安全性是基于离散对数问题的。其他的公钥密码算法还有Rabin算法、Merkle-Hellman背包算法、Chor-Rivest算法、McEliece算法、椭圆密码曲线算法等等。这些公钥密码体制的安全性都是计算上安全的,而不是无条件安全的。而且相对于对称密码体制,公钥密码的运行速度较慢。公钥密码学所提供的最重要贡献之一是数字签名。数字签名的应用非常广泛。在从前,政治、军事、外交等活动中签署文件,商业上签订契约和合同,以及日常生活中在书信、从银行中取款等事务中的签字,传统上都采用手写签名或印鉴。签名起到认证、核准和生效作用。而随着信息时代的到来,人们当然希望通过数字信息网进行迅速的、远距离的贸易合同的签名,这样数字签名就应运而生,并开始应用于商业通信系统,诸如电子邮件、电子转帐、电子商务及办公自动化等系统。公钥密码体制的诞生为数字签名的研究和应用开辟了一条广阔的道路。目前数字签名的研究内容非常丰富,包括普通签名和特殊签名。特殊签名有盲签名,代理签名,群签名,不可否认签名,公平盲签名,门限签名,具有消息恢复功能的签名等,它们与具体应用环境密切相关。数字签名的第一个国际标准(ISO/IEC9796)在1991年颁布,它是基于RSA公钥方案的。而数字签名标准(DSS)是由美国国家标准技术研究所(NIST)于1991年8月30日提出,1994年5月19日在联邦记录(FR)中公布,在1994年12月1日被采纳,它是ElGamal数字签名方案的一个变形。目前来说,除了RSA、ElGamal等公钥体制,还有其他的公钥体制提出,如基于格的NTRU体制、基于多元多项式方程组的HFE体制等等。密码学发展的第三个阶段是密码学最活跃的阶段,不仅有许多的公钥算法提出和发展,同时对称密钥技术也在飞速的向前发展的。而且密码学应用的重点也转到与人们息息相关的问题上。随着信息和网络的迅速发展,相信密码学还会有更多更新的应用。经过长久的年月,密码学已成为一门有许多人发明出特定技术以满足某些信息安全需求的技术。最近二十年是其从技术到科学的过渡时期。现在已有几个专门研讨密码学的国际会议,且有一个国际性的组织:国际密码研究协会(IACR),致力于促进该领域的研究。参考文献:[1]Kahn,D.,TheCodebreaker:TheStoryofSecretWriting,NewYork:Macmillan,1967.[2]Diffie,W.andHellman,M.E.,NewDirectionsinCryptography,IEEETrans.Informat.Theory,Vol.IT-22,pp.644-654,Nov.1976.[3]Rivest,R.L.,Shamir,A.andAdleman,L.,AMethodforObtainingDigitalSignaturesandPublic-keyCryptosystem,Comm.ACMVol.21(2),pp.120-126,Feb.1978.[4]ElGamal,L.,APublicKeyCryptosystemandaSignatureSchemeBaseonDiscreteLogarithm,IEEETransactionsonInformationTheory,31(1985),pp.469-472.[5]A.Menezes,P.van,Oorschot,andS.Vanstone,HandbookofAppliedCryptography,CRCPress,1996.[6]冯登国,裴定一,密码学导引,科学出版社,北京,1999.