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

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

一条加密的音频 来自中科院物理所 00:00 10:46

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

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)。

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

扩散就是让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响。这样可以隐蔽明文的统计特性。当然,理想的情况是 让明文中的每一位影响密文中的所有位,或者说让密文中的每一位受明文中所有位的影响。比如AES中ShiftRows 部分。 混淆就是将密文与密钥之间的统计关系变得尽可能复杂,使得对手即使获取了关于密文的一些统计特性,也无法推测密钥。使用复杂的非线性代替变换可以达到比较好的混淆效果,比如使用多个S盒,而简单的线性代替变换得到的混淆效果则不理想,比如凯撒密码。乘积和迭代有助于实现扩散和混淆,当然这个过程应该是可逆的。

密码学的新方向——公钥密码学

1976年,Whitfield Diffie和Martin Hellman发表了论文《密码学的新方向》[4],标志着公钥密码学的诞生,他们也因此获得了2015年的图灵奖。

公钥密码体制的特点是采用两个相关的密钥将加密与解密操作分开,一个密钥是公开的,称为公钥,用于加密;另一个密钥保密,为用户专有,称为私钥,用于解密。公钥密码与之前的密码学完全不同,因为公钥算法的基础不再是香农提出的代替和置换,而是基于一种特殊的数学函数——单向陷门函数。单向陷门函数的特点是:易计算,但难求逆,即满足以下几点:

1.若k和x已知,求y = fk(x)容易计算;

2.若k和y已知,求x = fk-1(Y) 容易计算;

3.若y已知但k未知,则求x = fk-1 (y)是不可行的。

这里的容易计算是指能在多项式时间内解决,计算上不可行是指计算的时间复杂度是指数级的。

最经典的公钥加密算法莫过于1978年由Rivest,Shamir和Adleman用数论方法构造的RSA算法[5],它是迄今为止理论上最成熟最完善的公钥密码体制,并已得到广泛应用。RSA算法的安全性可以归约到大整数分解的困难性,即给定两个大素数,将它们相乘很容易,但是给出它们的乘积,再找出它们的因子就很困难。目前为止,世界上尚未有任何可靠的攻击RSA算法的手段,只要其密钥长度足够长而且使用方法得当,用RSA加密的信息是不能被破解的。这就是为什么WannaCry病毒那么令人束手无策。

结语

随着人类科技水平的进步,计算机的计算能力增长得越来越快,这无疑给密码分析提供了有力的工具,因此对密码机制的安全性提出了更高的要求,驱动着密码从业者不断推陈出新,保卫网络空间的安全。同时还要提高警惕,不要让密码算法这柄利剑伤害到用户本身,避免类似于WannaCry的勒索病毒再次爆发。最后,信息安全最薄弱的环节其实是用户本身,相当对的安全事件不是由于技术的漏洞,而是人的疏忽,所以希望大家都能重视密码学,保护自身在网络空间的安全。

参考文献

1. 腾讯新闻:全球爆发电脑勒索病毒 中国多所大学校园网被攻击http://news.qq.com/a/20170513/001170.htm

2. Stinson D R. Cryptography: theory and practice[M]. CRC press,2005.

3. Shannon C E. Communication theory of secrecy systems[J]. Bell Labs Technical Journal, 1949, 28(4):656-715.

4. Diffie W, Hellman M. New directions in cryptography[J]. IEEE transactions on Information Theory, 1976, 22(6):644-654.

5. Rivest R L, Shamir A, Adleman L. A method for obtaining digital signatures and public-key cryptosystems[J].Communications of the ACM, 1978, 21(2):120-126.

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

一条加密的音频 来自中科院物理所 00:00 10:46

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

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)。

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

扩散就是让明文中的每一位影响密文中的许多位,或者说让密文中的每一位受明文中的许多位的影响。这样可以隐蔽明文的统计特性。当然,理想的情况是 让明文中的每一位影响密文中的所有位,或者说让密文中的每一位受明文中所有位的影响。比如AES中ShiftRows 部分。 混淆就是将密文与密钥之间的统计关系变得尽可能复杂,使得对手即使获取了关于密文的一些统计特性,也无法推测密钥。使用复杂的非线性代替变换可以达到比较好的混淆效果,比如使用多个S盒,而简单的线性代替变换得到的混淆效果则不理想,比如凯撒密码。乘积和迭代有助于实现扩散和混淆,当然这个过程应该是可逆的。

密码学的新方向——公钥密码学

1976年,Whitfield Diffie和Martin Hellman发表了论文《密码学的新方向》[4],标志着公钥密码学的诞生,他们也因此获得了2015年的图灵奖。

公钥密码体制的特点是采用两个相关的密钥将加密与解密操作分开,一个密钥是公开的,称为公钥,用于加密;另一个密钥保密,为用户专有,称为私钥,用于解密。公钥密码与之前的密码学完全不同,因为公钥算法的基础不再是香农提出的代替和置换,而是基于一种特殊的数学函数——单向陷门函数。单向陷门函数的特点是:易计算,但难求逆,即满足以下几点:

1.若k和x已知,求y = fk(x)容易计算;

2.若k和y已知,求x = fk-1(Y) 容易计算;

3.若y已知但k未知,则求x = fk-1 (y)是不可行的。

这里的容易计算是指能在多项式时间内解决,计算上不可行是指计算的时间复杂度是指数级的。

最经典的公钥加密算法莫过于1978年由Rivest,Shamir和Adleman用数论方法构造的RSA算法[5],它是迄今为止理论上最成熟最完善的公钥密码体制,并已得到广泛应用。RSA算法的安全性可以归约到大整数分解的困难性,即给定两个大素数,将它们相乘很容易,但是给出它们的乘积,再找出它们的因子就很困难。目前为止,世界上尚未有任何可靠的攻击RSA算法的手段,只要其密钥长度足够长而且使用方法得当,用RSA加密的信息是不能被破解的。这就是为什么WannaCry病毒那么令人束手无策。

结语

随着人类科技水平的进步,计算机的计算能力增长得越来越快,这无疑给密码分析提供了有力的工具,因此对密码机制的安全性提出了更高的要求,驱动着密码从业者不断推陈出新,保卫网络空间的安全。同时还要提高警惕,不要让密码算法这柄利剑伤害到用户本身,避免类似于WannaCry的勒索病毒再次爆发。最后,信息安全最薄弱的环节其实是用户本身,相当对的安全事件不是由于技术的漏洞,而是人的疏忽,所以希望大家都能重视密码学,保护自身在网络空间的安全。

参考文献

1. 腾讯新闻:全球爆发电脑勒索病毒 中国多所大学校园网被攻击http://news.qq.com/a/20170513/001170.htm

2. Stinson D R. Cryptography: theory and practice[M]. CRC press,2005.

3. Shannon C E. Communication theory of secrecy systems[J]. Bell Labs Technical Journal, 1949, 28(4):656-715.

4. Diffie W, Hellman M. New directions in cryptography[J]. IEEE transactions on Information Theory, 1976, 22(6):644-654.

5. Rivest R L, Shamir A, Adleman L. A method for obtaining digital signatures and public-key cryptosystems[J].Communications of the ACM, 1978, 21(2):120-126.


相关文章

  • 白鹿原论文
  • 解读民族传统的密码--<白鹿原>性爱文化论(1) 性爱 第2l卷第3期2009年5月 Joumnl of Changchun University of 长春工业大学学报(社会科学版) Teehnolc靴(,Social sc: ...查看


  • [原创]让课堂充满生命活力--再读于春祥[发现高效课堂密码]
  • 让课堂充满生命活力 --再读于春祥<发现高效课堂密码> (山东省淄博市临淄区第二中学  于爱景) 2011年5月,于春祥老师的<发现高效课堂密码>一书新鲜出炉,那时我正忙于带毕业班而没有细读,只是大体浏览了一遍,当时 ...查看


  • 运营高手推荐的经典互联网书籍
  • 运营高手推荐的经典互联网书籍 一,望尽天涯路,把握互联网的过往今生,掌握职业命脉 1,了解行业 <沸腾十五年> <浪潮之巅> <互联网之达芬奇密码> <不一样的平台,移动互联网时代的商业模式创新&g ...查看


  • 密码锁文献
  • 文献综述 1 前言 在现代社会,电子密码锁已不是一个陌生的名词.本文中将要介绍的电子密码锁是一种通过密码输入 来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁.闭锁任务的电子锁装置.电子密码由于其 保密性高,使用灵活性好,安全系数高 ...查看


  • 和谐世界理念的文化意蕴
  • "和谐世界"理念的文化意蕴 "和谐世界"理念的文化意蕴新闻中心 | 教育 | 科技 | 文化 | 卫生 | 理论 | 评论 | 观察 | 国际 | 国内 | 京华 | 经济 | 军事 | 法制 | 体 ...查看


  • 利德治疗仪公司
  • 利德治疗仪公司 利德公司简介 利德治疗仪公司是大家喜欢的一种叫法,而全称应该是德中利德(天津)生物技术有限公司,是一家已有19年历程的高科技企业,集技术开发.生产和国内贸易于一体.多年来致力于推广健康新知识.普及健康新手段.注册于天津市高新 ...查看


  • 北京舞蹈学院
  • 北京舞蹈学院 成人高等学历教育2009年 招 生 简 章 一.学院概况: 北京舞蹈学院始建于1954年,1978年由国务院批准改制为高等学校,是中国唯一的一所专门从事舞蹈教育教学与研究的高等学校.经过50多年的发展,已成为世界颇具影响力的学 ...查看


  • 代价爱的收获_解读李宗盛歌词成功的_密...
  • 被誉为"音乐把小人物奋斗拼搏中的酸甜苦辣勾勒的惟妙惟肖.在他笔下,小人物是弱小的"有时候我觉得自己是一只小鸟,想要飞却怎么也飞不高.也许有一天我攀上了枝头却成为猎人的目标,我飞上了青天才发现自己从此无依无靠"( ...查看


  • 化石吟认识化石解析诗题积累字词朗读感知探究研讨延伸欣
  • 化石吟认识化石解析诗题积累字词朗读感知探究研讨延伸欣 ○教学目标 ①有感情地诵读课文,把握内容,体会感情. ②理清结构,展开合理联想和想像. ③增强求知欲,培养科学精神和探索未知世界的兴趣. ○教学重点 体会诗歌表达的丰富感情,通过朗读体会 ...查看


热门内容