替换式密码的简易替换密码
简易替换加密是一种以特定方式改变字母表上字母顺序,并以此顺序书写的加密方式。这样一张改变了字母次序的字母表即为‘替换表’。替换表可以以偏移或逆转(分别为凯撒密码和阿特巴希密码(英语:Atbash))或更复杂方式构造,此时称之为‘混合表’。传统上会先把一个关键词写在字母表最前面,再删去重复字母,这样就能得到一个混合表。 使用混合表系统,关键字为“zebras”:
明文为ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文为ZEBRASCDFGHIJKLMNOPQTUVWXY
明文为:
flee at once. we are discovered
加密结果为:
SIAA ZQ LKBA. VA ZOA RFPBLUAOAR
传统上,密文会省略标点符号和空格,同时会有一固定长度的单位,以避免传输错误和变相显示明文中单词的边界。这些单位被称为“组”(英语:groups),有时叫“组数”(英语:groupcount)(即组的数量),并使其作为一额外检查。通常都会使用五个字母为一组,然后使用电报传送消息:
SIAAZ QLKBA VAZOA RFPBL UAOAR
如果该段明文的长度不能被五整除,将需要在最后用“NULL”补齐。这些空字符可以是任何字符,因为解密后可以看出是明显的废话(如ORANG EOOOO),所以接收器可以很容易地发现并将其丢弃。如若接收发现密文的长度不能被五整除,就可以得知传输出错,并要求重新发送。
简易替换密码有时不一定要替换至另一字母,例如在猪圈密码中,密文由格子的符号组成。
这些功能增加的安全性与以前其实相差不大,因为基本上所有奇怪的符号最后都会转换成A-Z字母。
有时销售人员会在他们的名单和目录中使用非常简单的加密法:用字母来代替数字。
本文(数字)
1234567890
加密字母:
MAKEPROFIT
例子:MAT代表120 简易替换密码的缺点是字母表中的最后几个字母(其中大多是低使用频率)往往留在最后。加强的办法是在加密后再做一次纵栏式移调,但很多时也没有这样做。
尽管加密用到的密钥可能性很大(26! ≈2^88.4 ,若88位元),但要破解单表加密却异常容易。只要提供有合理长度的密文,密码分析就能通过频率分布(英语:Frequency distribution)的分析推断最常见的单元的意义,即频率分析。这使破解者可用剔除法,把有个单元的意思解出来,见一个破解的例子。在某些情况下,可以从它们的字母的格局来破解,例如“attract”和“osseous”是英语中仅有的“ABBCADB”模式的“根”,即如遇见有简易替换密码的密文中出现“ABBCADB”,即可猜测其为“attract”或“osseous”。康乐及报纸拼图等包含着不少这种加密法。
按照英语的唯一解距离(英语:Unicity distance),密文平均最少需要27.6个字母才能破解混合表简易替换密码。而在正常情况下,假设遇到的是新排列方式,但通常都需要约50个字母(当中有些密文可以用得比较少)。然而,当密文有极平坦的频率分布,密文长度的需求可能越来越大。同时,加密者可以添加空字符来造成平坦的频率分布。
另外,有另一种方法来“伪造”频率分布,名为漏字文。顾名思义,这些文章会有意避免使用某个或某几个特定字母。如果漏掉的是E,那么若然继续以正常的频率分析(估计最高频率者为E)就不可能找出真正的明文。
版权声明:本文由哟品培原创或收集发布,如需转载请注明出处。