分享

古密码学的有趣历史

 吴雨虹2kzpi83a 2020-04-24

人类社会的战争催生了古老的密码学。打仗就要传递情报,情报不能让敌人知道,因此我们那些或远或近的祖先纷纷脑洞大开,琢磨出很多办法来加密保护重要的情报。说实话,比起现代复杂严谨精确的密码学,这些闪烁着古代先哲智慧光辉的奇思妙想有意思多了,它们体现人性,更接地气,甚至还具有美学特点。因此,古代的密码是一门艺术,也是构建了现代密码学的基础。

据记载,人类最早的加密方法是出现在奴隶社会,整个过程是这样的:找个奴隶负责传递情报,先把他的头发剃光,在其头上写上情报,等到奴隶头发长出来后,再把他派到目的地。对方接到来人后将其头发再次剃光,得到情报。这种说法其实有很大存疑:效率太低,如果等到人的头发长到足够浓密可以隐藏头上的情报时,估计仗早都打完了(PS:而且还不能洗头)。

第一个公认的经典加密方法是古希腊斯巴达人发明的scytale木棒(也叫斯巴达棒)。发信人找一根木棒,把羊皮卷(那时候等蔡伦造纸还得几百年呢)缠到上面,缠好后在上面写情报,写完后拆下送出。收信方收到羊皮卷后,用相同的方式缠绕到同样长度、粗细的木棒上,就可以读出信的内容了。就算送信路上万一被敌人截获了,不知道木棒粗细和缠绕方式,也是不那么容易读出信件内容的。

斯巴达木棒.png

另外一个必须谈到的加密方法就是凯撒密码,它是一种简单且广为人知的加密技术。它的原理就是对于明文中的字母,按照字母表的顺序向后(或向前)偏移一个固定位数,得到一个对应的字母,并用来替换明文字母,形成密文。例如,以英文为例,当偏移量是7的时候,字母A将被替换成HB变成I,以此类推。因为这个方法是古罗马的凯撒大帝用来在军队中传递情报,所以以他的名字命名。

凯撒.jpg

凯撒密码之所以经典,是因为它代表了替换加密这种古代密码学的主流方式,之后的更复杂算法,如维吉尼亚密码,都属于这种类型。二战时期的恩尼格玛密码机,更是将替换加密的思想发挥到了极致,它用机械的方式实现替换加密的过程。与凯撒密码相比,它可以实现同一个明文字母用不同的密文字母替换,这样使得加解密的强度和效率都大为提高。当年德国军队大约装备了三万台恩尼格玛密码机,在第二次世界大战开始时,其通讯的保密性在当时世界上无与伦比。

enigma.jpg

说完外国,再来看看中国。相传在中国周朝,就出现了“阴符”和“阴书”两种保密方法。所谓阴符,就是事先制作一些长度不同的竹片,然后约定好每个长度的竹片代表的内容,比如,三寸表示溃败,四寸表示将领阵亡,五寸表示请求增援,六寸表示坚守……一尺表示全歼敌军等等。这种“阴符”无文字,无图案,只有前方少数将领和后方指挥人员了解含义,即使传令兵被俘或叛变,敌人也搞不懂几张长短不一的竹片到底代表了什么。而“阴书”,即把信息以明文写在竹简或木简上,然后将竹简或木简随机分为三份,由三名传令兵各执一份分别送达。收件人收齐后,再把三份“阴书”拼合起来,完整内容就出现了。这种“阴书”能传递更为复杂的信息,即使某一信使被敌方抓住,敌方也得不到完整的情报。

由于汉字和西方字母文字的本质不同,像凯撒密码那种替换加密方式不能用于汉字的加密。因此在被广大群众津津乐道,在各种谍战剧里频繁出没的密码本就应运而生了。

密码本的大体原理就是将常用的汉字按某一种规则进行编码,并记录下来。发送情报时写下汉字对应的编码,破译情报时根据密码本查询编码对应的汉字。有时候也可以找一本小说或书刊做密码本,将文字在书中出现的位置(第几页、第几行,第几个)作为对应编码。当然实际使用时更加复杂。

说实话,同样作为加密方法,比起复杂严谨精确的现代密码学,上面这些闪烁着古代先哲智慧光辉的奇思妙想有意思多了,它们体现人性,更接地气,甚至还兼具美学特点。但是,从现代密码学角度看,古代密码学还不能称为科学,有两个原因:一是安全强度太低。加密方法本身就具有明显漏洞,比如对于凯撒密码,只有统计出文字里中最常出现的字母(英文里是E和T),再和密文里出现最多的字母比较,就可以大致推算出偏移替换的规律。而恩尼格玛密码机虽然更加复杂,但它不可能出现替换字母和被替换字母相同的情况。利用这个特点,攻击者可以精心构造一条明文用来加密,然后比较加密结果,用暴力破解的方式找出加密规律。在现代计算机的算力面前,暴力破解这些古老的加密方法是分分钟的事情。第二点更关键:这些加密方法在当时是不能公开的,而从科学角度讲,不能公开就没办法通过实证检验其正确合理性,特别是密码这种本身就要求安全可靠的学科。

综上,古代密码学是一门艺术,还不是科学。但别急,随着二战的结束,以它为基础的现代密码学正一步步走来。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多