古典密碼

古典密碼是密碼學中的其中一個型別，其大部分加密方式都是利用替換式密碼或移項式密碼，有時則是兩者的混合。其於歷史中經常使用，但現代已經很少使用，大部分的已經不再使用了。一般而言，經典密碼是基於一個拼音字母（像是 A-Z）、動手操作或是簡單的裝置。它們可能是一種簡單的密碼法，以致於不可信賴的地步，特別是有新技術被發展出來後。

現代的方法是用電腦或是其它數位科技，基於位元和位元組上操作。許多經典密碼被受尊重的人使用，像是尤利烏斯・凱撒和拿破崙，他們創造了一些常被人們使用的密碼。許多密碼起源於軍事上，相同立場的人常使用來寄送秘密訊息。經典的方法常攻擊密碼文，有時候甚至不知其密碼系統，也可以使用工具，像是頻率分析法。有些經典密碼是使用先進的機器或是機電密碼機器，像是恩尼格瑪密碼機。

經典密碼的型別

經典密碼大致上分為替換式密碼和移項式密碼。

1.1 替換式密碼

代換密碼是字母（或是字母群）作有系統的代換，直到訊息被替換成其它難以解讀的字。

1.1.1 凱撒密碼

凱撒密碼是廣為人知的代換密碼。為了用凱撒密碼法加密訊息，每個密碼字母集中的字母將會被其位置的後 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

1.1.2 維吉尼亞密碼

凱撒密碼的例子是所有單字母替代式密碼（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.2 移位式密碼

移位式密碼，它們字母本身不變，但它們在訊息中順序是依照一個定義明確的計畫改變。許多移位式密碼是基於幾何而設計的。一個簡單的加密（也易被破解），可以將字母向右移 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。對於密碼破解者來說，應不能夠找到關鍵，即使他知道明文和對應的密碼文、即使他可以選擇明文或密碼文。經典密碼再也不能滿足這些強大的標準，因此，有興趣者再也不拿它來作安全應用了。