专栏名称: 中科院物理所
物理所科研动态和综合新闻;物理学前沿和科学传播。
目录
相关文章推荐
51好读  ›  专栏  ›  中科院物理所

从艺术到科学——密码学的发展历程

中科院物理所  · 公众号  · 物理  · 2017-09-07 10:03

正文

想来现场观战?请戳上图!( 限报100人


2017年5月WannaCry勒索病毒在全球爆发,中国大陆部分高校学生反映电脑被病毒攻击,文档被恶意加密。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。 [1]


▲请点击上面音频按钮收听声音吧~

WannaCry到底是何方妖孽?

WannaCry是一种“蠕虫式”的勒索病毒软件,它使用AES-128和RSA加密算法 恶意加密用户软件以勒索比特币。AES-128和RSA算法本来是非常优秀的对称加密算法,用于加密通信信息避免被敌手获取,但在坏人手中却被用来恶意加密用户的文件,成了勒索工具。也正是因为AES-128和RSA的强大的安全性,导致至今除了像亡羊补牢一样修复系统漏洞避免感染之外没有彻底的解决办法。

那么AES和RSA又是何种利器,竟让全世界都束手无策?

要想了解AES和RSA,首先让我们一起来看看什么是加密,什么是密码学。

生活中我们经常会用到密码,打开电脑,登陆邮箱,QQ,微博等等,但其实这些密码并不是真正意义上的密码,只是口令(password)。密码学是研究保密通信的一门科学,它研究在不安全的环境中,如何把所要传输的信息在发给接收者之前进行秘密转换以防止第三者对信息的窃取。


密码学包括密码编码学和密码分析学,这两个分支形成既对立又统一的矛盾体,安全的密码机制促使更强大的分析方法的发展,而强大的分析方法又强迫更加安全的密码机制的诞生,二者在相互斗争中共同进步,所以说密码学的发展史汇聚了人类文明的聪明才智。

我们在讨论加密问题的时候都是基于一个通信模型,假设通信双方Alice和Bob通过一个不安全的信道进行通信,而攻击者Trudy一直在窃听他们之间的交流,这种窃听总是防不胜防,所以Alice和Bob需要将他们之间交流的消息处理成只有他们自己看得懂的“文字”,而在其他人眼中只是一堆乱码。


古典密码学主要使用替换的手段进行加密,最早的加密算法可以追溯到古罗马时期的凯撒大帝使用的凯撒密码和武王伐纣时的阴符阴书。其中凯撒密码是一种单表替换加密技术,明文中的所有字母都在字母表上向后(或向前)移动若干位,以下是一个向后移动13位的例子:

明文:goodgoodstudydaydayup

密钥:13

密文:tbbqtbbqfghqlqnlqnlhc


稍微复杂一些的还有多表替换的维吉尼亚密码。这种替换加密虽然乍看之下混乱无序,但通过统计手段就能恢复出密钥,比如统计密文字母的频率,并与自然语言中各个字母出现的频率相对比,从而揭示隐藏在乱序密文后面的加密规律。笔者第一次接触这种加密方法是在福尔摩斯探案集中《跳舞的小人》一章,里面介绍了用简单的小人图案来代替英文字母,福尔摩斯破译的方法就是频率分析法。



下面我们来对密码机制给出一个严格的定义,一个密码机制是由以下五部分组成 [2]

1.  明文空间P:所有可能的明文组成的有限集;

2.  密文空间C:所有可能的密文组成的有限集;

3.  密钥空间K:所有可能的密钥组成的有限集;

4.  加密法则E;

5.  解密法则D;对任意的密钥k,都存在一个加密法则ek和相应的解密法则dk,且对任意明文x,均有dk(ek(x))=x。


公开密码机制

如何保证一个密码机制的安全性呢?一般人会认为不让别人知道明文是以何种方式加密的就行了,也就是说将加密算法保密,但是这个方法并不可靠,因为加密算法的种类毕竟是有限的,穷举起来不是没有可能,而一旦知道了是用何种算法进行加密,破解也就是分分钟的事儿。因此,19世纪荷兰语言学家和密码学家奥古斯特·柯克霍夫提出:密码机制的安全性不依赖于算法的保密性,密码系统应该就算被所有人知道系统的运作步骤,只要密钥不泄露,就仍然是安全的。公开加密算法相当于让所有人都能来分析破译,对算法本身的安全性提出了更高的要求,而一旦攻击成功,结果一般会公开发表,算法的使用者能及时做出调整,避免更大的损失。现在大多数民用保密都使用公开的算法,但用于政府或军事机密的加密算法通常仍是保密。


密码学与战争

对密码学需求最高的莫过于军事领域,在战争中信息最为宝贵,一条简短消息的泄露可能会决定一场战争的输赢和成千上万条性命,第二次世界大战的时候正是波兰和英国密码学家破译了德军使用的恩尼格玛(ENIGMA)密码机,才使得战局出现转机,拯救了更多人的生命,其中的代表人物就是图灵,2014年上映的电影《模仿游戏》将这段历史带入到了大众的视野。

图灵

模仿游戏


从艺术到科学

1949年香农发表了论文《保密系统的信息理论》 [3] ,该文提出了混淆(confusion)和扩散(diffusion)两大设计原则,为对称密码学(主要研究发送者的加密密钥和接收者的解密密钥相同或容易相互导出的密码体制)建立了理论基础,从此密码学成为一门科学。

香农

对称密码学主要由分组密码和流密码构成,在分组密码算法中,明文消息被分成若干个分组,加密和解密都是对这些分组进行操作,而流密码则是使用一个密钥流生成器产生一串与消息等长的密钥比特流,再与明文进行异或操作,流密码一次只加密一个比特,与分组密码相比,流密码需要更大的处理能力,所以说流密码更适用于硬件平台实现,分组密码更适用于软件平台实现。经典的分组密码算法有DES和AES,流密码算法有Trivium和我国学者自主设计的祖冲之算法(ZUC)。


在分组密码的设计中,充分利用扩散和混淆,可以有效地抵抗对手根据密文的统计特性推测明文或密钥。








请到「今天看啥」查看全文