在线解剖三大加密算法的今生前世!丨正经情报局03期 – 作者:beikatech

在线解剖三大加密算法的今生前世!丨正经情报局03期27.png

想知道我说了什么吗?

 

什么?不想?不行,不想也得想。

 

其实这是一段经过凯撒密码加密后的文字,原文是Nice to meet you。

 

想知道其中的原理吗?不急不急,我先跟你讲讲加密的由来。

在线解剖三大加密算法的今生前世!丨正经情报局03期129.png

——————————————————————————————

 

早在数千年以前,密码学就已经在战争中崭露头角了。

 

众所周知,情报作为战事中最大的要素,决定着一场战争的胜负。

 

在大型战争中,由于部队较多,指挥无法直接对每支部队下达命令,所以常常需要信使来传递重要的军事情报。

在线解剖三大加密算法的今生前世!丨正经情报局03期272.png

可是,你要知道,依靠信使来传递军情并不安全:一旦信使被敌军抓获,重要的军事情报就完全被敌方知悉了。

 

届时,敌军可能已经在A城布下重重埋伏,就等着“君入瓮”了。

在线解剖三大加密算法的今生前世!丨正经情报局03期357.png

甚至,一些比较狡猾的敌人还可能篡改军事情报,将“今晚八点进攻A城”改成“今晚八点进攻B城”,并收买信使传递假情报。

 

等到晚上八点时,甲乙分别进攻A、B城,找不到友军,双方都以为自己被放鸽子了,这样一来,两支部队就完全落入到了敌方的陷阱之中。  

在线解剖三大加密算法的今生前世!丨正经情报局03期483.png

那么,要如何防止这种情况发生呢?

 

能否让信使不被敌人抓获?这个肯定是无法绝对避免的。

在线解剖三大加密算法的今生前世!丨正经情报局03期531.png

那么只好对情报加密,让敌人即使截获了消息,也看不懂里面的内容。

 

于是,古罗马时期,凯撒大帝想出了第一种众所周知的密码——凯撒密码。

在线解剖三大加密算法的今生前世!丨正经情报局03期602.png 

凯撒在他的军事命令中,将每一个字母都进行了位移,以防敌人截获他的军事情报。

 

原理就像下图这样,A变成C,B变成D,每个字母都向右位移2个单位:

在线解剖三大加密算法的今生前世!丨正经情报局03期678.png 

假设原文是“jin gong A cheng” ,位移后就会变成“lkp iqpi C ejgpi”。

 

之后把加密过后的消息交给信使去传递,这样,即使敌人截获了该密文,拿到的也是一堆看不懂的文字。

在线解剖三大加密算法的今生前世!丨正经情报局03期782.png

而成功拿到密文的友军,再通过把密文的每个字母左移2个单位,就能得到真实的信息,这个过程,就称之为解密。  

在线解剖三大加密算法的今生前世!丨正经情报局03期838.png

不过呢,这种加密方法也并不是一定保险的。

 

在800年后,一位名为AI-Kindi的阿拉伯数学家破解了凯撒密码。 

在线解剖三大加密算法的今生前世!丨正经情报局03期899.png

如果你扫描任何一部英文书的文字,然后计算出每个字母所使用的频率,你会发现惊人的秘密,那就是在英语文字中,使用频率最高的字母永远是e。

——Al-Kindi

 在线解剖三大加密算法的今生前世!丨正经情报局03期980.png

所以,如果截获了情报的敌人比较聪明,发现这份疑似乱码的情报中,出现频率最高的字母是 g ,与 e 相差了两个字母,猜测这份情报的加密位移量可能是 2 ,略作尝试,密码就被破解了。

 

当然,这种办法在文本较少情况下不适用。

 

不过敌人可以把每一种位移都试一试,终究可以试出正确答案。 

在线解剖三大加密算法的今生前世!丨正经情报局03期1125.png

于是恺撒密码就被破解了。

 

不过一种加密方法被破解,就会有新的加密方法诞生。

 

密码学一直在发展,期间有许多千奇百怪的加密方法,这里不做太多描述,下期我再一一盘点。

 

在计算机出现以后,传统的密码学发生了翻天覆地的变化。在计算机面前,此前的加密方法的安全系数已经不够,于是,更高级的加密算法应运而生。

在线解剖三大加密算法的今生前世!丨正经情报局03期1280.png

在如今的信息安全领域,常见的加密算法可以分成三类,对称加密算法,非对称加密算法以及Hash算法。

————————————————————————————————————

[ 对称加密算法 ]

 

对称加密算法是指,加密过程与解密过程使用的是相同的密钥,即加密和解密的密钥是“对称”的。

 

发送方使用密钥将明文数据加密成密文,然后发送出去,接收方收到密文后,使用同一个密钥将密文解密成明文读取。

在线解剖三大加密算法的今生前世!丨正经情报局03期1481.png

这就好比如,一个上了锁的保险箱里放物品,放入时需要用钥匙打开;取出时,还需要用相同的钥匙开锁。

在线解剖三大加密算法的今生前世!丨正经情报局03期1533.png

对称加密算法是目前使用最广泛的加密算法之一,因为它的算法公开、计算量小、加密速度快、加密效率高。

 

然而,由于通信双方用到的是同一个密钥,如果其中一方的密钥遭泄露,那么整个通信就会被破解。

 

此外,每个用户与其他用户使用对称加密算法时,都需要使用仅限双方知道的唯一密钥,随着每个用户通信对象的增加,用户所拥有的密钥数量呈几何级数增长,密钥管理成为用户的负担。

 

[ 非对称加密算法 ]

 

与对称加密算法不同,非对称加密算法需要两个密钥——公钥 ( Public key ) 和私钥 ( Private key ) 。

 

公钥和私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密,就算你截获了该公钥,也无法解密。 

在线解剖三大加密算法的今生前世!丨正经情报局03期1849.png

非对称加密的公钥是公开的,而私钥是自己保存的,在通讯前不需要先同步私钥,避免了在同步私钥过程中被黑客盗取信息的风险。

 

所以,非对称加密与对称加密相比,其安全性更好。

 

但是,非对称加密的缺点是加解密速度要远远慢于对称加密,在某些极端情况下,甚至能慢上1000倍,所以只适合对少量数据进行加密。 

在线解剖三大加密算法的今生前世!丨正经情报局03期2001.png

[ Hash算法 ]

 

Hash算法也是非常常见的加密算法之一。

 

它和前两种加密算法最大的区别是,它不是用来做数据传输,而是对数据是否被篡改加以验证,防止不法分子篡改数据。

在线解剖三大加密算法的今生前世!丨正经情报局03期2092.png

它的特点是只能进行加密,而不能解密,而且无论原数据多长都会变成固定长度的字符串;

 

此外,原数据哪怕只被改动一点点,其哈希值的变动也会非常大。

在线解剖三大加密算法的今生前世!丨正经情报局03期2168.png

在线解剖三大加密算法的今生前世!丨正经情报局03期2171.png

可见,100000 通过MD5(Hash算法的一种)进行加密,所输出的密文与 100001 的密文天差地别。

 

最重要的是,对于不同的输入,理论上会生成不同的输出。

 

所以,Hash算法用来验证原信息的完整性和来源的可靠性,而加密解密还是需要使用对称加密算法或者非对称加密算法。

 

听了这么多,相信你对加密学也有了一定了解了吧。

 

那么,让我来考考你,下面这句话是什么意思?(运用凯撒加密哦~)

 

fdvlqj vkl ckhq gh kdr brqj d!

 

(casing shi zhen de hao yong a)

(咔信是真的好用啊)

来源:freebuf.com 2019-08-09 11:23:08 by: beikatech

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论