密码破译:
根据题目提示“‘二八’妙龄写密码,看谁聪明 ‘爱死他’”中的“二八”以及密文中出现的“1~9”和“A~F”可知,该密文应该为十六进制的数字字符串。为了将十六进制与表达含义联系起来,我们可以想到ASCii码,提示中的“爱死他”也是“ASCii”的谐音。将密文两两分组转换为ASCii码,我们可以得到如下字符串:
vlrsbovpj^oq_rqvlrpmbkqqllqfjb
该字符串依然是乱码,显然还进行了其他加密。发现字符串中“q”出现的频率很高,推断它对应着明文字母的“e”或“t”。当字符串中“q”对应明文字母的“t”时,发现“t”的ASCii码是“q”的ASCii码加4,对所有的密文字符的ASCii码加4转换,得到字符串:
youverysmartbutyouspenttootime
即“you very smart but you spent too time”,破译成功。
我认为的古典密码学的巅峰是维吉尼亚密码。
背景:
维吉尼亚密码曾多次被发明。该方法最早记录在吉奥万·巴蒂斯塔·贝拉索于1553年所著的书《吉奥万·巴蒂斯塔·贝拉索先生的密码》中。然而,后来在19世纪时被误传为是法国外交官布莱斯·德·维吉尼亚所创造,因此现在被称为“维吉尼亚密码”。维吉尼亚密码以其简单易用而著称,同时初学者通常难以破解,因而又被称为“不可破译的密码”。
原理:
维吉尼亚密码是多个凯撒密码的组合。
实现方法:
生成一个维吉尼亚密码,首先需要一个如下的字母表:
字母表的第一行代表明文的字符,第一列代表密钥的字符,其余代表生成的密文的字符。维吉尼亚密码的密钥是某一组关键词重复得来的。
假设,关键词为“ABC”,明文为“HELLO”,那么密钥为“ABCAB”。明文的第一个字符为“H”,密钥对应的是“A”,找到第一行“H”对应的列,列中的第“A”行的字符为“H”,则密文第一个字符为“H”。以此类推,“HELLO”的密文是“HFNLP”。
安全水平:
维吉尼亚密码的安全水平是十分高的,甚至被称为“不可破译的密码”。虽然维吉尼亚密码是由多个凯撒密码的组合,并且凯撒密码相对容易破译,但由于密钥和字母表的引入,使得维吉尼亚密码中小于密钥长度的片段的每个字符的偏移量几乎都是不同的,这也使得明文中重复的字符在密文中大概率转变为不同的字符,也因此,我们无法通过统计密文中字符的出现频率来帮助破解。
破解方法:
弗里德里希·卡西斯基于1863年首先发表了完整的维吉尼亚密码的破译方法,称为卡西斯基试验。卡西斯基发现一些较短的常用单词由于出现频率过高极有可能被同样的密钥字母进行加密,从而在密文中重复出现。例如:
明文:THE APPLE IS THE PEN
密钥:ABCDEABCDEABCDEA
密文:TIG DTPJF LW TIG SIN
可以看到明文中的两个“THE”被加密成了相同字符串“TIG”,对于更长的段落此方法更为有效,因为通常密文中重复的片段会更多。如果在密文中,有相同的字符串隔了18个字符出现,而另一类相同的字符串隔了20个字符出现。可以假定密钥的长度是18和20的公约数,即基本确定密钥长度为2,这大大缩小了密钥的范围。
此外由威廉·F·弗里德曼于1920年代发明的弗里德曼试验可以作为西斯基试验的补充,用于估计密钥的长度。他使用了重合指数来描述密文字母频率的不匀性,从而破译密码。
安全性:
我认为在当前的计算能力下,维吉尼亚密码的安全性已经远没有以前安全性高,但这也是分情况的。如果加密的是长文,通过上述的破解方法,可以较准确的锁定密钥的长度范围,通过现代计算机强大的计算能力,是可以较轻松的破解的。但如果加密的明文较短,而密钥又较长,密文中几乎没有出现相同的字符串,在无法确定密钥长度的情况下,密码的破解还是会比较吃力。
参考文献:
[1]百度百科. 维吉尼亚密码[EB/OL]. 2021-12-15[2022-4-24]. https://baike.baidu.com/item/%E7%BB%B4%E5%90%89%E5%B0%BC%E4%BA%9A%E5%AF%86%E7%A0%81/4905472?fr=aladdin.