经典密码
经典密码的类型
经典密码大致上分为替换式密码和移项式密码。
替换式密码
代换密码是字母(或是字母群)作有系统的代换,直到讯息被替换成其它难以解读的字。
凯撒密码
凯撒密码是广为人知的代换密码。为了用凯撒密码法加密讯息,每个密码字母集中的字母将会被其位置的后3个字母替代。因此字母A将会被字母D替代、字母B将会被字母E替代、字母C将会被字母F替代等,最后,X、Y和Z将分别的被替代成A、B和C。
另一种代换密码是使用关键字,你可以选择一个单字或是短词组并去除所有的空格和重复的字母,接着把它当作密码字母集的开头。最后记得去除掉关键字的字母把其它字母接续排序。例如,如果关键字是CIPHER,则密码字母表是这样写的:
一般字母 : a b c d e f g h i j k l m n o p q r s t u v w x y z
密码字母 : c i p h e r s t u v w x y z a b d f g j k l m n o q
维吉尼亚密码
凯撒密码的例子是所有单字母替代式密码( 英语: monoalphabetic substitution ciphers )的典范,它只使用一个密码字母集。但我们也可以使用多字母替代式密码( 英语: polyalphabetic substitution cipher ),使用的是多个密码字母集。加密由两组或多组密码字母集组成,加密者可自由的选择然后用交替的密码字母集加密讯息。这么做将会增加解码的困难度,因为密码破解者必须找出这两组密码字母集。
另一个多字母替代式密码的例子,这将更难解密,称作维吉尼亚密码(法语: Vigenère cypher ),亦作 维吉尼亚方格 ,这是一种创新的加密方法。随着这个方格,它有26组不同用来加密的密码字母集。每个密码字母集就是多移了一位的凯撒密码。维吉尼亚方格看起来就是这样:
为了使用维吉尼亚密码加密讯息,必须先选择一个关键字,接着重复这个关键字直到跟明文相同长度。然后看明文讯息下方是哪一个密码字母集可供使用,就是明文的第一个字母下方对映到的关键字母。另外,每个密码字母集由它自己的第一个字母作为名称。
例如关键字是WORD、明文是I LOVE CRYPTOGRAPHY,则:
讯息 : I LOVE CRYPTOGRAPHY
关键字 : W ORDW ORDWORDWORDW
密码讯息 : E ZFYA QIBLHFJNOGKU
一些替代式密码牵涉使用数字而非字母。一个例子是伟大密码(法语: Grand Chiffre ),其数字代表音节。还有另一种数字替代式密码,一个字母基于关键字而使用4种不同选项的数字对。相对的,符号也可以用来替代字母或音节。一个例子是12星座字母,每个星座的象征符号代表不同字母,例如,太阳的象征符号替代A、木星替代B、土星替代C。另外,点、线、破折号也可拿来使用,例如,摩斯电码,虽然它并不是真的密码,但是它的点、破折号就是代表一个字母。另一种是猪圈密码( 英语: pigpen cipher ),运用格子系统或线和点为字母建立一些象征符号。当然,还有其它方法也是用符号、点、破折号来建立密码字母集。
移位式密码
移位式密码,它们字母本身不变,但它们在讯息中顺序是依照一个定义明确的计划改变。许多移位式密码是基于几何而设计的。一个简单的加密(也易被破解),可以将字母向右移1位。例如,明文"Hello my name is Alice."将变成"olleH ym eman si ecilA."。密码棒( 英语: scytale )也是一种运用移位方法工具。
一个移位式密码的具体例子纵栏式移项密码.先选择一个关键字,把原来的讯息由左而右、由上而下依照关键字长度转写成长方形。接着把关键字的字母依照字母集顺序编号,例如A就是1、B就是2、C就是3等。例如,关键字是CAT,明文是THE SKY IS BLUE,则讯息应该转换成这样:
最后把讯息以 行 为单位,依照编号大小调换位置。呈现的应该是A行为第一行、C行为第二行、T行为第三行。然后就可以把讯息"The sky is blue"转写成HKSUTSILEYBE。
另一种移位式密码是中国式密码( 英语: Chinese cipher ),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:
密码文将写成:RRGT AAOH FNDE
绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式( 英语: Double Transposition )密码。
更复杂的算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。
经典密码的破译
经典密码通常很容易被破解。许多经典密码可单单经由密文而破解,所以它们容易受到唯密文攻击法攻击( 英语: ciphertext-only attack )。有些经典密码(像是凯撒密码)的金钥个数有限,所以这类密码可以使用暴力破解尝试所有的金钥。替代式密码有比较大的金钥数,但是容易被频率分析,因为每个密码字母各代表了一个明文字母。多字母替代式密码密码,像是维吉尼亚密码使用多个替换防止了简单的频率分析,然而,更先进的技术卡西斯基试验就可用来破解这类密码。
另一方面,现代密码的设计可以承受更强大的唯密文攻击。一个优秀的现代密码必须保证广泛潜在的攻击,包括known-plaintext attack和chosen-plaintext attack以及chosen-ciphertext attack。对于密码破解者来说,应不能够找到关键,即使他知道明文和对应的密码文、即使他可以选择明文或密码文。经典密码再也不能满足这些强大的标准,因此,有兴趣者再也不拿它来作安全应用了。
参考文献
引用
来源
Hand CiphersPencil-and-paper ciphers on Ciphermachines & Cryptology
Trinity College Department of Computer Science: Historical CryptographyInformation about many different types of encryption algorithms including substitution and transposition ciphers
Singh, Simon. The Code Book The Science of Secrecy from Ancient Egypt to Quantum Cryptography. New York: Anchor, 2000.
D"Agapeyeff, Alexander. Codes and Ciphers. Oxford UP, 1939.
Laffin, John. Codes and Ciphers: Secret Writing through the Ages. Abelard-Schuman, 1964.
Wrixon, Fred B. Codes, Ciphers, and Secret Languages. New York: Bonanza Books, 1989.
参见
密码学
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。
- 有价值
- 一般般
- 没价值