古典密碼

古典密碼密碼學中的其中一個類型,其大部分加密方式都是利用替換式密碼移項式密碼,有時則是兩者的混合。其於歷史中經常使用,但現代已經很少使用,大部分的已經不再使用了。一般而言,經典密碼是基於一個拼音字母(像是 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.

參見