现代密码学的第一次高光时刻

二次大战极大促进了密码学的发展。一方面,暗潮汹涌的情报战推着密码算法不断升级,越来越多的古老算法被证明不再适用;另一方,电子计算机的出现给密码学带来了全新的工具和自由,人们可以设计出更快、更强的算法,而使用的成本却可以越来越低。在此大背景下,密码学的各位大牛老师们前赴后继、不断思考总结。这其中以IT祖师爷祖香农的《保密系统的通信理论》为标志,密码学正式进入了科学的大门。
香农
香农

现代密码学区别与古代密码学的一个重要的标志就是提出密钥与算法分离,算法公开,而密钥只能由加密解密双方掌握。这绝对是密码学发展历史上第一个划时代的节点,它解决了古代密码学算法不能公开的问题,从此公开的算法可以任由科学的实证千锤百炼,而密钥则成为确保安全的终极之匙。

这样的改变也带来了密码应用的模式的变革,因为不公开,以前的密码应用都是小圈子的游戏,使用者需要自己建立密码应用的算法、体系,成本很高。密钥与算法分离后,谁都可以使用那些公开的,并且已经被证明是可靠的算法,而不是自己再设计一套密码体系,密码应用的门槛被大大降低,加上电子计算机的加持,密码从军事政治领域迅速向普通民用领域拓展开来。

现代密码学进入密钥分离时代后,首先迎来的就是对称加密。所谓对称加密,就是指加密和解密用的是同一个密钥,这个很好理解。对称密钥最经典的算法就是DES算法。DES算法的英文全称是Data Encryption Standard,从名称看它是“数据加密标准”,它确实也是美国推出的首个数据加密标准。DES算法设计主要由IBM公司完成,NSA(美国国家安全局)参与其中,最终经美国国家标准局公开发布。DES设计中的很多思想,被后来大多数分组密码算法所采用。DES不仅在美国联邦部门,而且在全世界的商业金融领域被广泛使用。多说两句,由于NSA参与了DES的设计发布,所以DES是否被留有后门的疑云一直挥散不去。而之后RSA算法的诞生,幕后同样也出现了NSA的伸出的手。没有办法,谁让人家就是干这个的呢。

DES算法现在已经被破解,它的改良算法是3DES算法(可以简单理解成进行3遍DES加密),它的继任者是AES算法(现在的国际通用的标准),声称是它的替代者的有RC2,RC4算法等。另外,国产对称加密算法有SM1,SM4等。

对称加密的特点是计算量小、速度快,因此适合对大量数据进行加密的场景。常用的算法在各大操作系统和开发平台上都有完整地实现,我们开发者想用的时候,只要调用其接口即可,没有什么难度。对于感兴趣的同学,可以自行搜索其实现算法进行学习。

在这里插入图片描述
对称加密过程(插图来自网络)

最后就要谈到就是对称加密的安全性了。其实对算法本身来讲,对称加密已经足够安全了。以现在最常用的AES-256为例,用一台全球最快的超级计算机美国的“顶点”(峰值速度是20亿亿次/秒,排名第二的中国神威太湖之光的峰值速度是12.5亿亿次/秒。)破解,最理想也需要1.8×10^52年,大约是(18000亿亿亿亿亿亿年)。假设全世界每人一台“顶点”一起破解,仍需要257亿亿亿亿亿年(上述数据摘自https://www.jianshu.com/p/7c82fb204798)。

对称加密的致命缺点在于密钥本身的传输管理安全性,因为加密解密需要使用同一个密钥,也就是说得双方事先都得有这个密钥。那么,无外乎有两个途径实现这一点:一是双方实现约定好密钥,比如通过电话,邮件,纸质文件,见面约定等方式。但这种方法不可能用在当今的互联网时代,因为互联网应用要求数据通讯是实时的,数据流量是天文数字,加解密双方很有可能之前并不认识,之后也不会再联系。所以不可能使用这种事先约定密钥的笨办法。那只剩下第二个途径,将密钥和加密数据一起传输,解密方拿到密钥后解密数据。但这样一来,密钥本身就等于是裸奔了。有同学可能会说,可以把密钥再加一次密。这样做是换汤不换药,加密这个密钥也得用密钥吧,那它的传输安全怎么办?在实际应用中,我们确实可以采取一些方法保护密钥传输,让它没那么容易被窃取。但从密码学的角度来讲,对称加密的密钥传输不安全是其本质造成的,自身无法解决这个问题。要想解决它,就要等密码学第二个划时代事件的到来。

猜你喜欢

转载自blog.csdn.net/weixin_45303938/article/details/106931509