古典密码
![本页使用了标题或全文手工转换](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
古典密码是密码学中的其中一个类型,其大部分加密方式都是利用替换式密码或移项式密码,有时则是两者的混合。其于历史中经常使用,但现代已经很少使用,大部分的已经不再使用了。一般而言,经典密码是基于一个拼音字母(像是 A-Z)、动手操作或是简单的设备。它们可能是一种简单的密码法,以致于不可信赖的地步,特别是有新技术被发展出来后。
现代的方法是用电脑或是其它数位科技,基于位元和位元组上操作。许多经典密码被受尊重的人使用,像是尤利乌斯·凯撒和拿破仑,他们创造了一些常被人们使用的密码。许多密码起源于军事上,相同立场的人常使用来寄送秘密讯息。经典的方法常攻击密码文,有时候甚至不知其密码系统,也可以使用工具,像是频率分析法。有些经典密码是使用先进的机器或是机电密码机器,像是恩尼格玛密码机。
经典密码的类型
经典密码大致上分为替换式密码和移项式密码。
替换式密码
代换密码是字母(或是字母群)作有系统的代换,直到讯息被替换成其它难以解读的字。
凯撒密码
凯撒密码是广为人知的代换密码。为了用凯撒密码法加密讯息,每个密码字母集中的字母将会被其位置的后3个字母替代。因此字母A将会被字母D替代、字母B将会被字母E替代、字母C将会被字母F替代等,最后,X、Y和Z将分别的被替代成A、B和C。例如,"WIKIPEDIA"将被加密成"ZLNLSHGLD"。凯撒把字母向后移"3"位,但其他数字也可照着作。
另一种代换密码是使用关键字,你可以选择一个单字或是短片语并去除所有的空格和重复的字母,接著把它当作密码字母集的开头。最后记得去除掉关键字的字母把其它字母接续排序。例如,如果关键字是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组不同用来加密的密码字母集。每个密码字母集就是多移了一位的凯撒密码。维吉尼亚方格看起来就是这样:
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 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 A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z 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
为了使用维吉尼亚密码加密讯息,必须先选择一个关键字,接著重复这个关键字直到跟明文相同长度。然后看明文讯息下方是哪一个密码字母集可供使用,就是明文的第一个字母下方对映到的关键字母。另外,每个密码字母集由它自己的第一个字母作为名称。
例如关键字是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,则讯息应该转换成这样:
C A T 3 1 20 T H E S K Y I S B L U E
最后把讯息以行为单位,依照编号大小调换位置。呈现的应该是A行为第一行、C行为第二行、T行为第三行。然后就可以把讯息"The sky is blue"转写成HKSUTSILEYBE。
另一种移位式密码是中国式密码(英语:Chinese cipher),移位的方法是将讯息的字母加密成由右而左、上下交替便成不规则的字母。范例,如果明文是:THE DOG RAN FAR,则中国式密码看起来像这样:
R R G T A A O H F N D E
密码文将写成:RRGT AAOH FNDE
绝大多数的移位式密码与这两个范例相类似,通常会重新排列字母的行或列,然后有系统的移动字母。其它一些例子包括Vertical Parallel和双移位式(英语:Double Transposition)密码。
更复杂的演算法可以混合替代和移位成为积密码(product cipher);现代资料区段密码像是DES反复位移和替代的几个步骤。
经典密码的破译
经典密码通常很容易被破解。许多经典密码可单单经由密文而破解,所以它们容易受到唯密文攻击法攻击(英语:ciphertext-only attack)。有些经典密码(像是凯撒密码)的金钥个数有限,所以这类密码可以使用暴力破解尝试所有的金钥。替代式密码有比较大的金钥数,但是容易被频率分析,因为每个密码字母各代表了一个明文字母。多字母替代式密码密码,像是维吉尼亚密码使用多个替换防止了简单的频率分析,然而,更先进的技术卡西斯基试验就可用来破解这类密码。
另一方面,现代密码的设计可以承受更强大的唯密文攻击。一个优秀的现代密码必须保证广泛潜在的攻击,包括known-plaintext attack和chosen-plaintext attack以及chosen-ciphertext attack。对于密码破解者来说,应不能够找到关键,即使他知道明文和对应的密码文、即使他可以选择明文或密码文。经典密码再也不能满足这些强大的标准,因此,有兴趣者再也不拿它来作安全应用了。
参考文献
引用
来源
- Hand Ciphers (页面存档备份,存于互联网档案馆) Pencil-and-paper ciphers on Ciphermachines & Cryptology
- Trinity College Department of Computer Science: Historical Cryptography Information 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.
参见
|