古典密碼
![本页使用了标题或全文手工转换](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.
參見
|