密码学的英语单词是Cryptograghy,是由希腊单词Kryptos(隐藏)和Graphin(写)派生出来的,最初的意思是用来隐秘的传递信息。
密码学,从第一代的隐藏法,第二代的移位法和替代法,到第三代的维尼吉亚加密法,到第四代的恩尼格玛机,再到第五代的魔王加密系统,第六代的RSA加密系统,以及第七代的量子加密。总体上可以看作是两个时代,古典密码学和现代密码学。
一、古典密码学时期
二战时期,美国使用的“纳瓦霍语”加密,就是当时最好用的加密法。看过吴宇森执导的好莱坞电影《风语者》就知道,它讲的就是纳瓦霍通讯兵的故事。这是唯一一个从未被破译的军事密码,并且简单实用。
密码学其实是一种想方设法给别人读取信息制造更多麻烦,与此同时又不给自己读取信息增加太多麻烦的学问。我们应当明确一个观点,密码加密应当在安全和效率上取得平衡,而不是纯粹追求复杂难解。
在古典密码学中,加密和解密过程的最小操作单位都是单个字符或者符号,所以古典密码学的核心就是移位法和替代法。在现代密码学,把研究对象用数来描述,再对数进行运算。不但突破了字母作为最小变化单位的限制,还可以使用更高等的数学算法做运算,因此破译就变得越来越难。所以,加密时所用的数学算法,是一个密码能否被破译的关键。
当到维尼吉亚加密法时,字母的频率特征便消失了。为了掩盖字母使用中暴露的频率特征,使用多套符号代替原来的文字。人们事先规定每个字母用了哪套移位法,但并不是毫无规律的指定,而是要约定一个规则,这个规则就叫作“钥匙”。最终,原文里同一个字母会被加密成不同字符,hello中的两个“l”分别变成了D和J。而且密文中同样的字符也可能代表不同的原文。
但是加密程度极高的维尼吉亚加密法却没有得到广泛的使用,因为破解难度太大。直到它出现之后两百多年的南北战争时期,才得到应用。欧洲各国的情报部门的建立和电报的出现让人们不得不采用更为复杂的加密法,而机械的出现也让这一极其复杂的加密法有了使用的可能性。因此,基础学科的发展是工程领域发展的根基,新理论的发明要比产品的发明重要得多。
维吉尼亚加密法是一个精彩的历史,针对其钥匙的循环这个缺陷,加密一方又继续发展,改进方法是增加钥匙的长度。2.0版本正是让使用每一套加密法的字母数量大大减少,从而使得频率分析法不再适用,人们也就一般使用一篇文章作为钥匙了。但是不依赖于频率分析法,人们采用了另一种近乎于体力劳动大量猜测的方法。最后3.0版本的改进在于钥匙编成随机字母的方式,而非有意义的文章,称之为单次钥匙簿密码法,但是因为效率过低,使用的很少。
密码学和战争的关系是相互影响相互促进的,一方面信息的价值比武器的价值要高得多,密码学会深刻影响战争的结果;另一方面战争对于加密解密的需要,又直接推动了密码学的发展。
二战中大放异彩的第四代加密法——恩尼格玛机,它使用的加密方式,本质上还是第二代加密法——替代和移位,但因为可以切换无穷多种加密配套组合,所以在对抗频率分析法上极其有效。也正是从它开始,密码学不再依赖纸和笔的运算,使用机械和电子加密的时代正式到来。
恩尼格玛机的重点就是编码器,编码器由一堆可以手工设置的机械部件组成,任何地方的调整都会改变加密的结果。每敲一个字母,齿轮会往下转一格,齿轮的转动导致线路连接的变化,而连接线一变,又直接导致加密结果的不同。其实恩尼格玛机的本质还是类似于尼吉亚加密法,关键在于钥匙的使用,但是可以产生的钥匙的无规律性大大提高,方便之处在于,几组齿轮的初始值是可以随意设置的,所以几乎没有什么技巧可以破解,而所谓的穷举法暴力破解又面临着太多的可能性。
最后是图灵破解了恩尼格玛机,破解的关键在于知道每次加密前人工设定的初始状态,而且出现了对小钥匙加密的总钥匙,不过具体的破解过程太复杂了。
但有趣的是,图灵破解的关键居然源于“人性的弱点”,因为初始值的设定做不到完全的随机,即使键盘的随意敲击也带有一定的规律性,这也就给了破解一方可乘之机。
隐藏法时代中,如何加密的细节是属于核心机密;在替代法和移位法中,大部分操作原理人们都知道,只是不知道具体移动了几位;但到了机械电子加密的时代,加密设备的工作原理,不论是理论还是技术细节,敌我双方都了如指掌,密码的安全性全部落在钥匙上,而不再依赖于加密的操作细节。
下面进入现代密码学时代。
三、现代密码学时期
在数学的推动下,从计算机时代开始,字母不再作为最小的操作单位,以往的加密,都是对单个字母进行操作;但数字化后的加密,打乱的是语言规律的底层结构,改变发生在字母内部。魔王加密系统中的魔王是一套完全公开的操作算法。魔王系统加密能保证信息主体的安全,但双方还是要交换钥匙,而钥匙的安全是没法保证的。这就是魔王系统最大的漏洞。当钥匙越没规律时,密码越保险,但也就越需要双方见面沟通;钥匙越有规律,密码越不安全,但却省去了见面沟通的成本。
为了解决这个问题,一种不可逆的函数占据了重要的地位,也就是单向函数。而这种不可逆的操作称为模运算。有些类似钟表的时间计算。满12进1。当模比较小的时候,可以逆运算的数字比较多;但是当模大到一定程度时,就完全没有逆运算了,这是由数学决定的,具体的操作方式就是“迪菲-黑尔曼钥匙交换方案”。
虽然基于模运算,密码学不再需要单独发送钥匙,但是却需要双方始终在线,即刻恢复,因此实际上应用场景很狭小。
而第六代RSA加密系统就解决了应用场景的问题。RSA加密的关键在于“非对称钥匙”或者说“非对称加密”的出现。即上锁和开锁用的是两把不同的钥匙。RSA加密法使用的数学工具很陌生,这个方法用到了两大数学领域的知识——质数方面的应用和数论有关,单向函数的应用和群论有关。这个时候的运算原理难以理解,但是在数学原理上是保证了一定成立的。
在近一步的发展中,出现了“数字签名”,以确认发送消息人的身份。比如A给B发送消息,加两次密,一次使用A的私钥,一次使用B的公钥,前者是为了确定消息的发送者是A,后者是确保只有B可以解开。现在,我们生活在一个技术没有天花板的时代,由新技术造成的问题,只能由更新的技术解决。
之后我们进入到量子加密阶段,我们先来了解下比特币和区块链。比特币的设计初衷是希望在点对点的电子现金支付中,摆脱中央银行的管制。而由于没有机构的管制,就不可避免地要使用加密法,比特币中的密码学并不复杂,只有2种:一个是SHA256加密法,另一个是非对称钥匙系统。前一个是Hash函数,也就是不论原始数据有多长、有多少位,经过Hash运算后,输出的值的长度都是固定的,运算的结果是一个256位的2进制数就足够了。
比特币规定了,写入账本的信息必须以之前的交易为基础。之所以要以之前的交易为基础,是因为这套交易系统里没有中央银行。之所以一定要去除中央银行,那就不是技术原因了,而是价值观的问题。那个价值观,就是无政府主义和理想主义。
比特币在使用的过程中依旧存在很多问题,大概率不会成为主流的电子货币,但是它还有一些巨大的运用,比如区块链。在区块链中,每一个区块里都包含着成百上千条交易记录。只要经过检查合格了,就写在之前最后一个区块的后面。大概率说,一个新区块里的交易记录大多数是同时到的,但肯定还会略有区别,所以就会面临一个问题——它们会同时向网络提交N个不同版本的新区块。比如说同一时间有200个不同版本的新区块出现,那选哪个为大家的标准呢?比特币网络的解决办法是,限制单位时间里产生新区块的数量。这个时间限制源于做两道题目。
第一个是简单题,它是这样计算的:计算出一个字符串,这串字符由3部分组成。第一部分是这个新区块内包含的成百上千的交易记录,第二部分是这个新区块的基本信息,最后一个部分是前一个区块的SHA256函数值。第二个题目的难度大幅上升,也是利用SHA256函数进行计算。整个比特币网络,只认可长度最长的那条链。
量子计算机中,存储的数据总是处于0和1的叠加态,可以理解成所有出现0和1的可能性融汇在一起,所以一个量子存储单位在某一时刻,是可以同时存储2k个数据的。量子计算机一次操作就相当于传统计算机很多次操作,计算能力大大增加了。所以如果能设计出一些连续的操作来分解质数的话,即使是一个超大数,用量子计算机也能很快的找出他的因数。这样,RSA加密法就被破解了。这种操作就是“Shor算法”。它是1994年设计出来的,专门用来分解因数。
事实上,量子计算机破解密码需要软件和硬件的协同,以上的算法就是软件实现的部分,需要声明的是量子计算机虽然相较于传统计算机的算力大大增加,可以快速的处理复杂的运算,但其计算量的增加随数字N的增加依旧是较为陡峭的曲线,也就是只要N足够大,保密的性能就足够优秀。
如果那些明暗条纹代表着量子计算机运算到某一时刻的量子位的正确状态的话,那设计者要尽最大可能维持住这种状态。但实际上,这种状态会被很多因素干扰。在宏观世界里,任何一种物质都有可能和量子发生互动改变他们的状态,比如说温度。所以那些量子计算机,都需要在零下200多摄氏度的极低温才能正常工作。所以,到目前为止并没有出现可以有效破解RSA加密法的方法,事实上目前银行也大多采用这种方式。
关于第七代加密法——量子加密,和其他加密法最大的不同是,其他加密法的原理只使用了数学,而它不但使用了数学,还使用了物理中的量子理论。也许正是因为背后有两大靠山,所以它是目前为止最强的加密法,就算是量子计算机也很可能无法破解。数学原理就是单词钥匙薄密码法,这种加密法无法破解的前提就是钥匙的完全随机,而在量子加密中这个问题得到了有效的解决。钥匙既不用额外的传输,而且本身又是完全随机的,满足了单次钥匙簿加密法,并且改进了传送钥匙的薄弱环节。
而量子加密最吸引人的特点来自于它的不可破解。因为如果量子加密能被破解,就说明在量子理论中,出现了一种对量子态测量后还不改变量子态的方法,而这是违反量子力学基本原理的,说明目前所有量子力学结论都是错的。而我们相信量子力学现有的基本理论都是经过无数的实验证明的,即使后期有理论改进,但不会出现完全的翻盘。
参考文献
[1]Barona R,Anitha E A M.Optimal cryptography scheme and Efficient Neutrosophic C-means clustering for anomaly detection in cloud environment[J].Journal of Circuits,Systems and Computers,2020.
[2]Rodrigues G A P,Albuquerque R D O,Alves G D O,et al.Securing Instant Messages with Hardware-Based Cryptography and Authentication in Browser Extension[J].IEEE Access,2020,PP(99):1-1.
[3]Yumang A N,Dimaunahan E D,Lazaro J B,et al.Encryption and Decryption of Vital Signs Information through a Symmetric based Cryptography Algorithm[C]//ICBET 2020:2020 10th International Conference on Biomedical Engineering and Technology.2020.