从简单到复杂,密码学让我们的信息更安全
相信各位粉丝们和文档君一样,都或多或少地看过这些新闻:
某银行大量的个人信息被售卖
某电信运营商因网络攻击导致服务中断
国际航港巨头遭勒索病毒攻击
......
近年来,信息泄漏、网络攻击等安全事件层出不穷。互联网通信的安全性变得越来越重要。密码作为维护信息安全的重要方法之一,成为网络通信中不可或缺的部分。然而,你是否知道,密码的历史,可以追溯到公元前 5 世纪。今天,让我们来揭开它那神秘又迷人的面纱。
密码学的发展大致可分为三个阶段:古典密码阶段、近代密码学阶段、现代密码学阶段。密码学从一门艺术变成一门科学,中间经历了许多变化。
01、古典密码学
9 世纪末以前的漫长时期,密码开始起源并逐渐发展。在这个阶段,密码学被作为一种艺术流传。人们通过手工方式,利用纸、笔或者简单器械,实现内容的代换和置换。
不知道大家是否曾经有过给心爱的她 / 他写藏头诗的经历?其实,在那个懵懂的时光里,我们不经意间就已经完成了一次对信息的“加密”操作。在古代,国内广泛流传的藏头诗、“”隐写术”,以及国外转到转盘正确位置就能打开的“达芬奇密码筒”,都是通过消息本身隐藏或者具体内容的隐藏来达到加密的效果。后来,随着认识和思想不断提高,聪明的人们开始通过变换的方式实现对信息的“加密”操作。
典型密码:凯撒密码、维吉尼亚密码
凯撒密码
恺撒密码是一种最简单且最为人知的加密技术。消息上的所有字母,都是通过在如下的单个字母表上向后(或者向前)按照一固定数目进行偏移(即偏移量 n)后,实现“加密”。同样,利用偏移量这个解密密钥,我们就可以对密文解密。
维吉尼亚密码
维吉尼亚密码是使用一系列恺撒密码组成密码字母表的加密算法,即在同一消息使用多个字母表的形式进行加密。其中每一位消息对应列序号,填充后的密钥作为行序号,在表中定位行列的交叉处即加密后的字符,从而增加密码的破解难度。
02、近代密码学
20 世纪初期到 20 世纪 40 年代末大约 50 年代间
密码学的第一次飞跃:香农发表“Communication Theory of Secrecy System”(保密系统的通信理论),文章建立了信息论的基础(通信专业的人对他再熟悉不过了),同时提出密码的混淆和扩散两个设计原则,密码学开始迈入科学的轨道。在之后阶段,人们通过手工或电动机械实现复杂的代换及置换。
相信大家看过不少谍战片,很多经典的谍战片里也会涉及到密码思想。在那个战争年代,密码学发挥着关键作用,它甚至可以决定战争的最后胜负。其中,最典型的当属二战时期,英国破译德国的 Enigma 加密机。因为 Enigma 加密机充分利用了混淆和扩散的设计原则,并且使用的密钥每天都会更新,所以仅依靠当时的人力难以破解 Enigma 加密机。最后,艾伦・图灵(膜拜~)参与了这项破译工作 —— 通过研究 Enigma 机的构造,成功造出 Enigma 机进行逆变换的机器来破译 Enigma 加密机,这也为最终战争的胜利提供关键作用。
典型密码:Vernam 密码、轮转密码
Vernam 密码
Vernam 密码也称为一次一密。即它使用的密钥只能使用一次。而且,它的长度至少和加密的消息长度相同。它的产生也是随机的,加密和解密都使用了类似的模运算。
轮转密码
随着机械和机电技术的不断成熟,结合电报和无线电需求的出现,出现了专用于加密的密码设备 —— 轮转机。顾名思义,它就是由一个键盘和一系列的转轮组成。每个转轮都是 26 个英文字母的任意组合。当每个转轮和移动齿轮转动完成时,原来的字母全部替换成加密后的字母。Enigma 加密机就是轮转密码的代表,输入的字母通过转轮和移动齿轮后形成新的电路回路,对应加密后的字母所在灯泡点亮。
03、现代密码学
20 世纪 50 年代以来的时期
在这个阶段,随着无线通信、有线通信等通信手段的迅速发展,结合坚实的数学理论基础,密码学开始成为一门科学。
密码学的第二次飞跃:Diffie 和 Hellman 两人发表了“New Directions of Cryptography”(密码学新方向),开创了公钥密码学的新纪元。在此之前,密码使用的加密密钥和解密密钥是相同的,即对称加密。公钥密码意味着密码使用的加密密钥和解密密钥是完全不同的,即不对称加密。
典型密码:DES、AES、RSA、ECC
DES
DES(数据加密标准)是 1972 年美国 IBM 公司研制的对称密码体制加密算法,1977 年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中进行使用。其使用的密钥长度为 56 比特,可生成 16 个子密钥。DES 按照 64 位对消息分组后,与子密钥进行迭代运算,生成密文。然而随着计算机计算能力的提高,DES 密钥过短问题成为了安全隐患,美国政府需要寻找其替代方案。
AES
AES(高级加密标准),又称 Rijndael 加密算法,是美国联邦政府采用的一种替代 DES 的区块加密标准。2006 年,AES 已成为对称密钥加密中最流行的算法之一。其使用的密钥长度有 128 比特、192 比特和 256 比特。目前,它在网络信息、电子商务、数据库和硬件等相关领域仍发挥作用。
RSA
1977 年,美国的 Ron Rivest、Adi Shamir 和 Leonard Adleman 首次提出较完善的公钥密码体制 ——RSA(由三人姓氏开头字母组成)。该算法是基于大素数因子分解的数学困难问题上的算法。它是目前应用最广泛的公钥密钥加密方案之一,其主流使用的密钥长度一般在 1024 比特以上。
ECC
ECC(椭圆曲线算法)最初在 1985 年由 Koblitz 和 Miller 两人提出。该算法是基于椭圆离散对数的数学困难问题上的算法。它利用编码将消息转换成椭圆曲线(函数形式:y^2=x^3+ax+b)上的一个点 m,所有的运算都在椭圆曲线上实现。它的优势在于在某种情况下可以比其它加密算法使用更短的密钥,提供相当或者更高级别的安全。缺点是加解密花费时间较长。其主流使用的密钥长度一般在 160 比特以上。
04、展望未来
目前,我国国家密码局认定的国产密码算法,包括 SM1、SM2、SM3 和 SM4。其中,SM1 为对称加密,算法不公开,通过加密芯片的接口调用。SM2 为公钥加密,基于 ECC 实现。SM3 用于消息长度压缩。SM4 为对称加密,属于无线局域网标准的分组数据算法。
展望未来,随着人工智能、区块链、量子通信等新兴技术的快速发展,人们对于密码的安全性和应用性提出了更高的要求。密码学的研究也将进入了新的阶段,密码学也将以更崭新的姿态向人们走来。以人工智能、区块链为应用场景、具备抗量子攻击的各式各样的密码,正等着人们一步步地钻研和发现......
05、结语
好了,以上就是对密码学的发展与应用的大致介绍。文档君想利用几种密码简单地对信息进行加密操作,看看你真的读懂了吗?
恺撒密码
密文:o r u b k e u a
偏移量:6
RSA
密文:5 8 0
n = 3 * 5
e = 35
d = 3
别急着往下看答案~~
答案 1:iloveyou(I love you)
答案 2:5 2 0