由古论今,三千年加密算法发展史(一)
报名入口来源:中国教育在线 2022-05-31
本文将尝试论述加密算法的发展史和一些关键的加密算法。由于个人水平有限,如果出现谬误,还望各位不吝赐教。
加密算法
加密算法乍一听貌似和大部分人的日常生活十分遥远,但实际却密切相关。从网络层到主机文件层,无论那层加密应用或协议背后都是由各种加密算法所支撑。即便你不用任何加密产品,凡是使用https的网站都已经使用了加密协议TLS/SSL。你也被动享受了加密算法带来的隐私保护,及通讯安全。今天我们抛开浅层的应用来扒一扒各种有趣的加密算法。
在扒加密算法前先稍微科普一下,加密算法主要作用是把明文变成密文。加密算法加密后,明文会变成密文,防止信息泄露。虽然看起来和乱码很像,但密文不是乱码。大部分乱码是由于编码不一致导致。编码不属于加密算法,编码无法把明文变成密文,只是改变了一种显示格式而已。所以base64只是一种编码而已,它不是加密算法,不具备加密能力,不能保障您的明文安全。所以,以后要听哪家说我们使用了base64进行加密,赶紧屏蔽。
加密算法的加密需要符合以下三点诉求:
1.机密性:保证数据即使被盗取,小偷也不知道是啥。
2.完整性: 保证数据在传输过程中即使被劫持修改,接收方能够发现信息已被截取,而选择换掉。
3.可用性:保证加密算法的开销、复杂度都在可用范围。
结合上述诉求,加密算法的发展主要经历了古典密码和现代密码两个重要时期。
古典密码
最早记载
早期加密算法主要使用在军事中,历史上最早关于加密算法的记载出自于周朝兵书《六韬.龙韬》中的《阴符》和《阴书》。其中记载:
太公曰:“主与将,有阴符,凡八等。有大胜克敌之符,长一尺。破军擒将之符,长九寸。降城得邑之符,长八寸。却敌报远之符,长七寸。警众坚守之符,长六寸。请粮益兵之符,长五寸。败军亡将之符,长四寸。失利亡士之符,长三寸。诸奉使行符,稽留,若符事闻,泄告者,皆诛之。八符者,主将秘闻,所以阴通言语,不泄中外相知之术。敌虽圣智,莫之能识。”
武王问太公曰:“… 符不能明;相去辽远,言语不通。为之奈何?” 太公曰:“诸有阴事大虑,当用书,不用符。主以书遗将,将以书问主。书皆一合而再离,三发而一知。再离者,分书为三部。三发而一知者,言三人,人操一分,相参而不相知情也。此谓阴书。敌虽圣智,莫之能识。”