最早的古典密码体制主要包含单表代换密码体制和多表代换密码体制。作为古典密码中的两种重要体制,一直在古代历史上的全球各个区域广泛地被使用。凯撒密码就是一种典型的单表代换密码。
单表代换密码在长达一千年的时间里,被认为是无法破解的,因为存在着数量庞大的密钥,依靠手工是根本计算不过来的。但是随着社会的发展和技术的进步,来自东方的阿拉伯人,找到了更新的技术,从而发现了一条捷径来破获这个被认为是无解的密码,这次胜利是由阿拉伯世界的语言学家、统计学家和宗教学家三者共同完成的。
这还要间接感谢中国的造纸术的发明,伊斯兰文明得以快速传播。因为书籍需求量大增,那么就需要有人来校对,最能胜任这个工作的自然是神学家。他们在校对的同时,还在统计默罕默德启示录的用词频率,如果这个启示录出现了新词,那么它出现的年份肯定就更往后等等。在梳理的过程中,他们也顺道发现了一些字母出现的频率就是比其他的字母要高得多。
学习过英语的我们知道,字母e是最常见的,其次是字母t和a。如果按照凯撒密码加密,一个密码字母对应明码字母,那么密码字母中出现次数最多的很有可能就应该对应明码字母E,以此类推,很容易就可以排除掉大量的密钥,从而快速地找到正确的破译方法。现在无法考证究竟是谁把字母出现的频率和破译密码联系在了一起,但是可以肯定的是,公元九世纪的时候,阿拉伯人就已经非常擅长破译凯撒密码了。
阿拉伯人从公元7世纪到公元12世纪期间,建立了辉煌灿烂的文明,相比较而言,欧洲当时还是愚昧落后贫穷的地方。伊斯兰文明的繁盛,不仅带来了艺术、科学等文化的繁荣,社会的统治和管理也是非常有条理和高效的。当时的管理者,不仅在政府的关键事务上进行加密,而且记录税收的时候也采用了密码术,他们在《大臣手册》等管理文献里还在探讨与密码术有关的技术性问题。正是因为有了巨大的需求,再加上科学技术的进步,阿拉伯人终于有机会破译替换密码这道千年难题。
单表代换的破译十分简单,因为在单表代换下,除了字母名称改变以外,字母的频度、重复字母模式、字母结合方式等统计特性均未发生改变,依靠这些不变的统计特性就能破译单表代换。相对单表代换来说,多表代换密码的破译要难得多。
多表代换大约是在1467年左右由佛罗伦萨的建筑师Alberti发明的。多表代换密码又分为非周期多表代换密码和周期多表代换密码。在一个多表替换密码中,会使用多个字母作为密码。为了加快加密或解密速度,所有的字母通常写在一张表格上,密码学上称作tableau。这种表格通常是26×26,因为这样才能放下全部26个英文字母。填充表格及选择下次使用的字母的方法,就是不同多字母替换密码之间的定义。多字母替换密码比单字母更难打破,因为其替换可能性多,密文要较长才可。
其中最著名的一种为贝拉索于1585年推出的维吉尼亚密码。它于1863年之前一直未被破解。法国人称它作“不能破译的密码”(法语:le chiffre indéchiffrable)。此密码曾被误以为由布莱斯·德·维吉尼亚所创,所以才叫作维吉尼亚密码。
维吉尼亚密码中,表格的第一行只需直接填上26个字母,然后以下每一行的字母都是向左偏移一格。(这叫作表格横移,数学上每一列同余26。)要用这种密码需要使用一个关键字来作为密钥。关键字每次用完就再次重复。假设关键字是“CAT”,明文的第一个字由“C”加密,第二个字由“A”加密,第三个则由“T”加密,然后再回到C加密,一直重复。然后按照右边的密码表加密,例如BALL用CAT作关键字时会加密至DAEN,可见即使是同一个“L”亦会加密至另一个字母。现实中,维吉尼亚密码的关键字非常长。
非周期多表代换密码,对每个明文字母都采用不同的代换表(或密钥),称作一次一密密码,只要加密表够长,这是一种在理论上唯一不可破的密码。这种密码可以完全隐蔽明文的特点,但由于需要的密钥量和明文消息长度相同而难于广泛使用。
为了减少密钥量,在实际应用当中多采用周期多表代换密码。在16世纪,有各种各样的多表自动密钥密码被使用,最瞩目的当属法国人B.de Vigtnère的Vigenère密码体制。有名的多表代换密码有Vigenère、Beaufort、Running-Key、Vernam和转轮机(rotor machine)。对于单表代换和多表代换密码来说,唯密文分析是可行的。单表代换和多表代换密码都是以单个字母作为代换对象的,而每次对多个字母进行代换就是多字母代换密码。大约1854年L.Playfair在英国推广Playfair密码,它是由英国科学家C.Wheatstone发明的。这是第一种多字母代换密码,在第一次世界大战中英国人就采用这种密码。多字母代换的优点是容易将字母的自然频度隐蔽或均匀化而有利于抵抗统计分析。这种密码主要有Playfair密码、Hill密码等。
到二十世纪二十年代,人们发明了各种机械加密设备用来自动处理加密。大多数是基于转轮的概念。1918年美国人E.H.Hebern造出了第一台转轮机,它是基于一台用有线连接改造的早期打字机来产生单字母表替代的,输出是通过原始的亮灯式指示。最著名的转轮装置是Enigma,它是由德国人Scherbius发明并制造的。它在第二次世界大战中由德国人使用。不过在第二次世界大战期间,它就被破译了。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。