If you're seeing this message, it means we're having trouble loading external resources on our website.

如果你被网页过滤器挡住,请确保域名*.kastatic.org*.kasandbox.org 没有被阻止.

主要内容

对称加密技术

对称加密是一项用同一个密钥对信息进行加密和解密的技术。凯撒加密就是一种最简单的对称加密,当然,也最容易破解。
从那时起,密码学家发明了许多对称加密技术,包括今天也在使用的像账户密码等。

维吉尼亚加密

法国密码学家在十六世纪中期发明了维吉尼亚加密法。这是一种很强大的加密技术,作家路易斯·卡罗称其为“不可破解”的加密法。维吉尼亚加密法确实比凯撒加密法更强大,但我们将在后文看到,它当然是可以被破解的。

加密

相对比凯撒加密法用单个字母作为密钥(偏移量),维吉尼亚加密法用整个单词作为密钥。
比如我们现在要使用密钥 CHEESE,来加密短语 VERSAILLES
首先,我们要把密钥重复多次,直到与原文每个字母都对应。
原文VERSAILLES
密钥CHEESECHEE
现在,我们根据维吉尼亚表格,更换原文的字母。
我们看第一个字母 "V",在表格中选择以 "V" 开头的行,然后,由于相应的转换密钥是 "C",我们再在表格中找到 "C" 打头的列,"V"行"C"列的交叉格的字母是 "X",因此,"V" 的密文为 "X"。
原文VERSAILLES
密钥CHEESECHEE
密文X?????????
"E" 行与 "H" 列的交叉格中的字母是 "L",因此我们将 "E" 加密为 "L"。
原文VERSAILLES
密钥CHEESECHEE
密文XL????????
我们继续下去,最终得到密文 "XLVWSMNSIW"。
原文VERSAILLES
密钥CHEESECHEE
密文XLVWSMNSIW
测验你的理解
如果用另一个密钥,比如 "PIZZA",来加密原文 "VERSAILLES",那么第一个字母 "V" 的密文是什么?
选出正确答案:

解密

比如我们从盟军那里收到密文 "NVYZJI",而我们已知他们用维基尼亚加密法,而且密钥是 "CHEESE"。
同样,我们先将密文和密钥的字母对应起来:
密文NVYZJI
密钥CHEESE
现在我们用表格进行反向的替代动作:
首先第一个密文字母所对应的密钥字母是 "C",那么我们从 "C" 行开始向后查找,找到密文字母 "N",然后找到 "N" 所在列的打头字母,是 "L"。那么 "N" 解密为 "L"。
密文NVYZJI
密钥CHEESE
原文L?????
对于第二个字母,我们先看 "H" 行,找到密文字母 "V" 所在的列,然后向上看到这一列的打头字母 "O"。
密文NVYZJI
密钥CHEESE
原文LO????
我们继续下去,得到解密后的明文为 "LOUVRE"。
测验你的理解
如果我们收到新的信息 "NVSO",这条信息仍然是用同样的密钥 "CHEESE" 加密的,那么这条信息的原文是什么?
选出正确答案:

维基尼亚加密法的破解

维吉尼亚加密法属于一种多表密码,用的是整个单词作为密钥,因此比凯撒加密法更难被破解。
如果密文的截获者不知道密钥,而想要暴力破解的话,他需要尝试所有可能的单词,甚至包括编出来的单词!对于非修仙者,这要用掉一辈子的时间。这个工作量可比凯撒加密法大得多,要破解凯撒加密法只需要尝试26次。
用频率分析法如何呢?用维吉尼亚加密法加密过的密文在字母频率上有没有什么特殊的模式呢?
你可以自己试试!把下面的一段话加密,你会看到原文的字母频率分析和密文的字母频率分析。
注意到原文的频率分析完全是我们所期待看到的英语模式:"E" 是最受欢迎的字母,不同字母的出现频率有巨大差异。
而密文的字母频率差别不大,我们没能找到那个明显的 "E",因为原文的 "E" 在各个不同位置,被加密成不同的字母。
在十九世纪,人们终于找到一些方法来使用频率分析破解维吉尼亚加密法。比如,在篇幅很长的原文中,比较短的词,比如 "THE",也许被多次加密成同样的三个字母(当然,不是每一次),这就透露了密钥长度的可能性。
现在我们有了强大的电脑,维吉尼亚加密法相对就更好破解了,因为电脑能迅速尝试成百上千万的密钥的可能性,而且也更容易从频率分析中找到泄露出来的信息。

现代加密法

在计算机时代,密码只是难以被人类破解就远远不够了,好的加密法必须难以被每秒能计算万亿次的计算机破解。
幸运的是,密码学家发明了在数字世界足够安全的加密技术,而且每年都在持续改进。
最常见的加密标准是 AES-128,这是美国联邦政府批准的一种分组密码体制,通常用于保护机密文件的传输。
它为什么这么安全?
其中一个原因是,它的密钥通常有128位的长度。这意味着共有 2128 种可能的密钥,这个数大概有这么大:
340,000,000,000,000,000,000,000,000,000,000,000,000
哦吼!但请稍安勿躁,还有别的:AES加密时需要对密钥的 每一位 经过10次数学操作。把上面那个大数字乘以10,才是所需的计算量。
最快的计算机可以达到每秒大约 145×1015 次,就是这么多:
145,000,000,000,000,000
而要试遍所有可能的128位密钥,用这个最快的计算机仍然需要500万亿年!
频率分析法行吗?不行。由于多步操作的分组加密体制,AES加密法不会泄露原文的任何统计信息。
AES 加密法,也包括其他现代加密算法,也许不能永远保证安全。安全研究者很努力的在寻找聪明的办法来破解密码,并且把他们的发现发表在博客或者会议发言中。
加密研究是公开的,这么做是希望在网络罪犯找到安全漏洞 之前,公众已经先发现了这个漏洞。

🙋🏽🙋🏻‍♀️🙋🏿‍♂️您对此主题有任何疑问吗? 我们很乐意回答-只需在下面的问题区域中提问即可!

想加入讨论吗?

尚无帖子。
你会英语吗?单击此处查看更多可汗学院英文版的讨论.