打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
科学揭秘神奇而酷炫的密码学!如何加密与解密!

这串字在你看来毫无意义,而且它本该如此,因为这是一段加密密码,是信息加密后的结果。但如果我告诉你我所做的,只是把句子里面的每一个字母按照字母表顺序向后移动了一位的话,你就会知道这串字可以翻译成这样。

为了加密短信息,你需要两个关键部分:密码和密钥。密码是一系列规则,告诉你如何加/解密信息,比如前面的密码就是把字母按着照字母表顺序移动特征的位数。密钥告诉你具体如何使用这些规则,否则每次加密的结果都会是一样的,这会使得信息很容易被解码。前面的密码中,密钥为一,因为我们将字母按照字母表向右移动了一位。为了解密信息,你需要知道使用的是何种密码,并且要知道使用的密钥是多少,或者你想破解密文,将可以将所有可能的密钥都尝试一遍,也可以分析密文,尝试倒推结果,这被称作破译。但是有没有可能提出一种密码和密钥的组合,使得加密结果与信息永远没法对应吗?也就是说,是否存在不可破解的密码呢?

人们不断在提出新的,更好的密码,但是很难让密码变得完全不可破解,因为无论你使用何种规则加密信息,只要拥有充足的时间和充足的数据,总能发现加密的规律。我最开始给大家看到密码,是最古老简单的信息加密方式,这种加密方式常被称为凯撒密码。在凯撒密码中,密钥只是一个数,代表我们将字母向右移动的位数,但是这个密码很容易被破解,即使在你不知道密钥的前提下。因为你可以将25种可能全部尝试一遍,来解码信息。整个字母表可能移动的位数是有限的,字母表中只有26个字母,因此只有25中移位的可能。

凯撒密码属于最简单的一类密码,称为单表代换密码。在这类密码中,信息中的每一个字母都被唯一映射为密文中的一个字母,并且在整个加密过程中,这种映射关系是不变的,简单的说,这种加密方式就是扰乱字母表顺序,在这种情况下,密钥还是一个列表,表示每个字母的映射结果。这种方法中,加密信息的可能映射一共有4*10*26种,所以你估计觉得这密码很难破解。不过我们有很多种方法来破解信息,将所有可能的密钥都尝试一遍,是最显然,也是最没创意的方法,这种方法也有一个很没创意的名字,穷举法。

你也可以尝试一些比较巧妙的方法来破解密码,比如有种方法叫频率分析。这种方法的核心点在于,每一种语言都有其特定的语言特性,举个例子,在英语中字母E出现的频率最高。在我上面说的这句话里,一共出现了7次字母E。还有一些单词,如THE,用的频率非常高,如果不用THE,甚至很难构造完整的句子,密码学家称这些单词为明密对照文。频率分析查询这些常用单词,以及一些固定的字母搭配,如字母结尾的ED或ING,如果你发现字母X在信息中出现的次数非常多,并且三个字母的单词IRX也出现的非常多,你就能猜测到在密钥中,X代表字母E,IRX代表THE。一旦你发现了这些字母对应关系,你就可以通过观察单词,消除一些不可能的单词组合,从而逐渐发现其他字母的对应关系了。同时,因为较长的明密对照文会包含更多有关密钥的线索吗,这会让密码更容易破解。

字母表密码模式很有趣,但破解它们并不困难,如果你想让信息加密的更安全,你可以使用多表代换密码,多表代换密码的加密结果会更严密。在多表代换密码中,字母的替代的方式,会在整个信息中不断变化,第一个词中的字母S可以被替换为W,而最后一个词中的字母S可以被替换为H。所有这些都取决于你选择的加密方式,以及你选择的密钥。最早的多表代换密码是维吉尼亚密码。这种密码产生于16世纪,维吉尼亚密码非常简单,因为密钥只是一个单词而已。让我们来看一看如何使用维吉尼亚密码来加密信息,SCISHOW最棒了。你要做的第一件事是写一个维吉尼亚方格表,将字母按照字母表顺序从左到右,从上到下,按这种方式写好,每一行都包含字母A到Z,不过整体都向右平移一位,因此,第一行由字母A开始,以字母Z结束,第二行由字母B开始到字母Z,结尾是字母A,以此类推,最后你会得打26个不同的字母对应表。现在你可以准备开始加密信息了,你只需要选择一个密钥,我们假设你选择的密钥是MICHAEL,你将你的密钥重复写下很多遍,直到写下的字母数量与你信息的长度相同,然后SCISHOW IS THE GREATEST对应的写法就是这样。接下来,为了加密信息,你依次参照信息中的字母,沿着这个字母所在的行在维吉尼亚方格表的列里找,直到找到信息对应的密钥列下方所对应的字母。

因此,SCISHOW IS THE GREATEST被加密成这样。在不知道密钥的前提下,这种加密方法就更难破解了,因为现在字母出现的频率不再是固定的了。密钥MICHAEL是一个7字母长的单词,信息中的每一个字母都有7种不同的对应方式,但是如果你的密文足够长,这个密码仍然是可以被破解的,使用的方法是另一种频率分析法,这种方法于19世纪,由密码学家Charles Babbage提出。Babbage发现,如果信息足够长的话,加密结果中也会出现固定的一些规律,如果密钥的长度只有7个字符,意味着单词THE的加密结果只可能有7种,如果你的信息中,单词THE出现过8次,那么加密结果肯定会出现重复,他就可以以此统计这种重复出现情况的相隔次数。如果相隔次数为7,14或者21次的话,他就可以知道密钥很可能是7个字符,这样,他就可以使用频率分析法进行破解,从而找出这7个字符。Babbage的破译方法是一个很好的例子,来说明创造不可破解的密码有多困难。你的密钥在加密密文中会出现固定的模式,只要有足够长的密文,密探就可以破译这模式。

现在已知的,唯一的一种不可破解的密码,是一种称为一次一密的加密方法。这种加密方法使用的,密钥长度和信息本身一样长,这样才能保证密文中不出现任何固定的模式,因此不可能对密文进行任何有效的分析,因此也就不可倒推,从而破解密码。发送方和接受方都拥有一个相同的密码本,密码本的每一页都有一长串足够长的随机字符用作密钥,一旦密码本中的某一页用来加/解密了信息,就把这页毁掉。在加/解密下一条信息时,用密码本的下一页,因此你使用的密钥永远不会重复。只要你能保证密码本不被泄露,你加密的信息就不可能被别人解密。但是你基本不太可能总使用一次一密加密方法,假设你需要向某人发送一个信息,这个人在地球的另一端,你们两个没法见面,那么你就没有机会和他交换一个相同的密码本。

在战争期,经常会发生类似的情况,这也就是为何在20世纪早期,会出现如此多种新颖有趣,更加安全的密码体制。用电报技术实现远距离通信,在战争时期是非常重要非常有效的方式,但是需要保证只有你的盟军才能知道你在说什么。德国在第一次世界大战过程中使用更复杂,更先进的字母表代换加密方式,但是最终法军成功破解了这个密码。接下来,在第二次世界大战中,德国再一次使用了一个新的密码,这一次,这一新的密码看似是完美的,你可能听说过这个密码,就是恩格玛机。恩格玛机使用了多表代换密码体制,但使用不停的方式扰乱字母表,每当你子啊恩格玛机上敲入一个字母,只有德军自身知道如何解密,而破译的唯一方法就是也拥有一台恩格玛机,并设置正确的密钥,但这个密钥每天都会更换。恩格玛机使用了类似一次一密的工作方式,信息中的每一个字母都会被不同的字母表加密,不同的是,德国不需要给每个人都分发一个密码本,他们只需要使用一个密钥,这个密钥会告诉你如何初始化恩格玛机,并且你可以任你所想地更换密钥。

不过恩格玛机仍然有一些瑕疵,比如字母的映射结果不可能为这个字母本身,这听起来并不是一个很严重的问题,但最后就是这个瑕疵引发了严重的缺陷。英国数学家Alan Turing与他的团队,一起设计了一个用于破解恩格玛机密码的机器,只要他们知道信息中大约20个字符的对应关系,他们就可以恢复密钥,而找到这种对应关系一般来说比较容易,因为密文中有些词语会重复出现,而这些词语并不用于通信。Turing团队的策略中的一部分就是找到这些明密对照文,也就是常出现的一些单词或者词组,然后看看能不能对应的上。破解恩格玛密码为盟军作战带来了巨大的优势,很多历史学家都将盟军胜利的关键原因,归因于盟军破译的恩格玛机所加密的信息。

现在,加密在数字计算中扮演重要的作用,但加密算法仍然不完美,有时候网站会宣布黑客已经得到了用户的全部隐私信息,是因为网站使用的加密方法是可以被破解的,存储个人隐私数据的公司,需要对安全性做全盘考虑。仙子阿电脑每秒钟可以进行上亿次运算,穷举法就会立刻变得非常有效,类似的技术也在我们现代生活中使用,比如让你在线支付账单之类的。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
密码往事 | 科学人 | 果壳网 科技有意思
Python密码学入门:凯撒密码
密码学入门
密码学基础
起底密码学
密码故事(上)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服