作者:中科院信息安全国家重点实验室翟起滨

自有人类的文明历史以来,密码就伴随而来。为了在沟通过程中保护自己信息不被外人所知,人类使用过形形色色的密码。然而,为了刺探于己不利的秘密,他们又绞尽脑汁地试图破译对手的密码。

密码学(Cryptology)是研究信息在系统中如何被隐蔽表示,如何针对这个表示来计算其被破解的代价的学问。密码学被分解成密码编码学和密码分析学(Cryptanalytics) 。

从理论和实践的角度密码分成两类,一类是纯数学思维的密码学,被称之为数学密码学;另一类是密码技术,是属于实践中的密码学,它具有实用性。

密码的早期发展

密码技术是离不开计算的,20世纪前的密码学主要是依赖纸和笔的计算密码学。如古希腊密码中使用过的卷筒式密码技术器。

在欧洲发明了单表代换密码:将26个英文字母与模26剩余类集合建立一一对应,发展出了欧洲著名的Caesar密码。

在那个时代有两个很有影响力的密码技术:(棋盘密)Playfair密码(1854),(矩阵变换密)Hill密码技术(1929)。

以上这些加密技术几乎都是基于纸和笔的人工计算的密码技术,即便是可以配有手摇计算机或者算盘,其计算效率也十分有限。

1865年,Kerckhoffs在《 Cryptographie  militare 》提出了密码分析的基本原则:密码体制即使在理论上是可破的,但是在实际上应该是不可破的;密码体制的泄露,不应该给通信者带来麻烦;所使用的密钥应该容易记忆,同时也容易更换;密文应该可以用电报发送 ;密码设备应该便于携带 ;使用这个密码设备不应该规则太多,换言之就是不要太麻烦。

在20世纪初,Hill密码技术(1929)十分流行,被认为是那个时代最好的加密技术。1918年,德国年青的发明家谢尔比乌斯利用二十世纪蓬勃发展的无线电、电传电报、机械技术来改造过去基于笔和纸来计算的加密技术,发明了ENIGMA(恩尼格玛,意为“谜”)密码机,在20世纪中期,被证明是有史以来最为可靠的加密机器。

和谢尔比乌斯几乎同时,还有另外三个发明家也都各自独立地发明了使用转子的电气加密机。

密码对战争的直接影响

在第一次世界大战后,根据英国政府发表的两份关于一次大战的文件,表明由于德军的无线电通讯被英方截获和破译,使得英国能够系统性地取得德军的加密情报,对取得战场的胜利起到了重要的推动作用。密码机开始被重视。自1925年始接下来的十年中,德国军队大约装备了三万台ENIGMA密码机,使德国在二战初期具有了可靠的加密系统。

二战期间,盟军苦于德国的Enigma密码机产生的密文无法破解。1938年,英国政府召集了一批民间数学家、逻辑学家进行秘密破解工作,图灵(Alan Turing)也被召集进来。图灵认为Enigma密码机是由电传和机械技术打造出来的,要破译它产生的密码,必须创造对抗它的机器作为破译者的助手,这样才能达到破译的目的。

1943年12月,图灵团队设计的新型译码机“巨人”电子计算机在布莱奇利庄园装配成功,成功地破译了德军的Enigma密码机所产生的密码。二战结束时,已有10台“巨人”屹立在布莱奇利庄园,一共破译了约6300万字符的德国高层密电。特别是在诺曼底登陆战役中,由“巨人”获得的超级机密提供了德军关于这次战役的全部命令。

密码技术走向民间

第二次世界大战后,美国在计算机和半导体器件的研究上投入了大量的人力和财力。朝鲜战争刚结束,美国军方就成立了国家安全局-NSA,隶属于美国国防部,把军方和大学的密码技术人才聚集在一起,专门负责收集和分析外国及本国通讯资料,编制国防和政府使用的密码算法,破译全球的可疑密码。同时还建立军民融合的特别机构-国防部高级研究计划署(Defence Advanced Research Projects Agency,简写为DARPA),它的使命是推动技术创新,使美国的国防技术总是领先其他国家。这个机构促进美国军方积极向民间公司提出需求,并且大量采购相应的产品。

为了使全美国的科学家精英能够使用国防部配置的大型计算机,方便国防研究,在1969年,国防部建立起美国ARPA网络,也就是高级研究计划署网络。科学家精英们在自家桌面,利用ARPA网络终端连接国防部的超级计算机,实施难题计算。很快,这个网络又增加了终端用户彼此通讯交流的功能。为了保密,终端用户的研究者已经利用密码算法加密信息,进行远距离的讨论。

与此密切相关的一件事是:1970年IBM接了来自英国保险业保密机器订单,提供商用密码。1973年5月15日,美国国家标准局NBS(National Bureau of Standards)开始公开征集标准的商业加密算法;最后到1977年1月15日,成功给出“数据加密标准”(Data Encryption Standard ,FIPS PUB 46),简记为DES。

DES是一款适应当时计算技术的最精妙的密码技术,它要求加密和解密具有相似性,即加密和解密过程的不同,应仅仅在密钥的使用方式上,以便采用同样的器件来实现加密和解密,以节省费用和体积。

但随着大规模集成电路的技术越来越成熟,数据加密标准的 DES 密码技术已经落伍。 1997 年 4 月 15 日,美国国家标准技术研究所(NIST)发起征集高级加密标准(Advanced Encryption Standard)AES 的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。1997 年 9 月 12 日,美国联邦登记处公布了正式征集 AES 候选算法的通告。作为进入 AES 候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。2000 年10 月 2 日,NIST 宣布了获胜者—Rijndael (Joan Daemen ,Vincent Rijment )算法,2001年11月出版了最终美国联邦标准FIPS PUB197。  

再回到 70 年代初, ARPA网络已经普及到大学,许多学者甚至一般的师生也可以利用这个网络进行通讯。然而,网络用户利用 DES 长期使用一个密钥对信息进行加密是不安全的。这个时期,密码技术研究已经从美国的黑屋子(政府与军队)走向民间。

1975年秋季,斯坦福大学 Diffie 和Hellman写出了划时代的论文:《密码学的新方向》。这篇文章解决了用户在不安全信道上商议安全密钥的难题,并且提出了一个具有密码学革命意义的想法:能否构造出带有陷门的单向函数?如果能构造出来就等于实现了一个“双钥密码体制”,使用这个体制的用户将其中一个“钥”公开,任何人都可以用这个“钥”和用户的算法协议对一个明文消息加密传给用户,用户利用自己的不公开的“钥”(称为私钥)对密文解密。文章发表后,美国麻省理工学院的学者Rivest 、Sharmir 、Adleman在1977年6月实现了这个想法,给出了一种基于数论算法的公钥密码体制,被称为RSA算法。发明这个算法的三个人荣获2002年度的图灵奖。

民间密码研究的进展引起美国政府和NSA的惊恐,他们企图冷却民间对密码的研究。特别是1977年RSA公钥密码算法公开以后,美国国家安全局特别担忧民间密码的使用,会对国家安全造成麻烦。在美国,密码技术属于军火范畴。国会在1977年初,再次颁布国际军火贸易管制条令。

但随着学者们的据理力争,相关机构放宽了对密码的管制。1982年,Rivest、Shamir、Adleman成立了密码学的美国第一家公司,称之为RSA数据安全公司(RSA Data Security )。随着公司的发展,1989年2月,美国政府的计算机网络技术委员会指定RSA公司为其会员提供公钥密码产品。1990年2月,美国NSA为RSA公司的加密软件颁发了许可证。1991年11月,RSA国际信息安全大会首届会议在金大桥附近的一家旅馆召开,主题为“密码学,标准与公共政策”,参会者多数来自美国商务部和国家安全部门,一共有50个参会者,至今已经过去27年。

密码是网络时代创新发展的基石

RSA公司引领了民间加密产品的推广,紧接着身份识别和签名方案以及数字证书等一系列发明发现连续涌出。应用于网络上的用户安全交互协议几乎一夜间出现:SSL/TLS 、IPsec/IKE 、SSH 、S/MIME 、POP/IMAP 、DNSsec ⋯⋯于是,在这个网络里不仅可以全运营电子邮件、远程登录、查询服务、文件传输、文档服务器、新闻论坛等,一些新的业务如网上交易、网上银行等开始发展,美国的ARPA网络在人们不知不觉中转换成美国的互联网,在世界互联下,最终形成了今天的Internet,而密码技术在其中犹如空气一样无所不在。

Internet的形成,进一步促进了民间密码研究,使得NSA失去了对加密技术的垄断权,推动密码技术研究的美国年轻人利用天使投资基金创办了一系列的推动网络技术发展的公司。这些民营公司按照新的理念推进网络通讯技术的创新,各种网络新技术、新应用不断涌现,改变着人们的生产生活方式。

值得一提的是,1985 年 EIGamal 发表论文《A public key cryptosystem and a signature scheme based on discrete logarithms》,给出了基于离散对数问题公钥密码体制。很快将这个结果类比到椭圆曲线的算术中,有了高效实用的椭圆曲线密码技术。

从此,一连串的创新技术不断涌来。比如,基于对的密码学(Pairing Based Cryptography ) ; 基于身份的密码学(Identity Based Cryptography)。

2016 年 3 月份,苹果公司与 FBI 的数据加密之战引发社会关注,表明加密和隐私一直是热门话题,而且似乎越来越热门,无论是解锁刑事要犯使用的设备,还是试图跨越国际边界分享信息,对以提高安全性为名义使用加密后门程序的顾虑都证明,现在我们需要更强大的加密技术来提高安全性。

2017 年以来,整个网络空间仍然是混沌一片。网络空间中的黑客们使用现代的数据科学技术创造出十分有效的网络攻击手段,使得我们用定型的防御工具无法阻止这些攻击。我们必须寻求一个新的帮手,让其协助我们做到防御网络空间中的黑客攻击行为。这个新帮手就是智能机器,它是依赖人工智能(Artificial Intelligence)打造出来的。只有这样才能做到:用现代手法控制数据,用智能机器引领安全。在智能机器引领安全的时代,我们的密码技术还会有更新的进展。尤其是,一个潜在的量子密码(Quantum cryptography)时代已经向我们招手,密码的未来会是什么样?中国在这场技术革命的大潮中会扮演什么角色?都是值得想象和期待的。

(本文刊登于《中国信息安全》杂志2018年第8期)

声明:本文来自中国信息安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。