替换式密码

簡易替換密碼

簡易替換加密是一種以特定方式改變字母表上字母順序，並以此順序書寫的加密方式。這樣一張改變了字母次序的字母表即為『替換表』。替換表可以以偏移或逆轉（分別為凱撒密碼和阿特巴希密碼（英語：Atbash））或更複雜方式構造，此時稱之為『混合表』。傳統上會先把一個關鍵詞寫在字母表最前面，再刪去重複字母，這樣就能得到一個混合表。

簡易替換密碼的安全性

簡易替換密碼的缺點是字母表中的最後幾個字母（其中大多是低使用頻率）往往留在最後。加強的辦法是在加密後再做一次縱欄式移調，但很多時也沒有這樣做。
儘管加密用到的密鑰可能性很大（26! ≈ 288.4，若88位元），但要破解單表加密卻異常容易。只要提供有合理長度的密文（見下文），密碼分析就能通過頻率分布的分析推斷最常見的單元的意義，即頻率分析。這使破解者可用剔除法，把有個單元的意思解出來，見一個破解的例子。在某些情況下，可以從它們的字母的格局來破解，例如「attract」和「osseous」是英語中僅有的「ABBCADB」模式的「根」，即如遇見有簡易替換密碼的密文中出現「ABBCADB」，即可猜測其為「attract」或「osseous」。康樂及報紙拼圖等包含著不少這種加密法。
按照英語的單一性距離，密文平均最少需要27.6個字母才能破解混合表簡易替換密碼。而在正常情況下，假設遇到的是新排列方式，但通常都需要約50個字母（當中有些密文可以用得比較少）。然而，當密文有極平坦的頻率分布，密文長度的需求可能越來越大。同時，加密者可以添加空字元來造成平坦的頻率分布。
另外，有另一種方法來「偽造」頻率分布，名為漏字文。顧名思義，這些文章會有意避免使用某個或某幾個特定字母。如果漏掉的是E，那麼若然繼續以正常的頻率分析（估計最高頻率者為E）就不可能找出真正的明文。

諧音替換法

早期的加密中，為增加替換式密碼應付頻率分析攻擊的強度，有時會採用「諧音」來改變明文字母頻率。在這種加密算法中，明文字母可以映射到多個密文符號。通常情況下，頻率最高的明文符號（如E）會比低使用頻率的字母（如X）有更多的諧音符號，使頻率分布更為平坦，讓分析更困難。
但亦因此，只是字母之間互相替換就會造成不夠分配，從而有了好幾種不同的解決方法。其中最簡單的方式可以算是用1-0共10個數字作為某些字母的替換。另一種方法則是將現有的字母分開成原字母配以簡單的變化、大寫、小寫、上下倒轉的字母、鏡像文字（左右倒轉）等。雖然更為藝術化，卻不代表一定更安全，其中一些諧音替換法全部使用新發明的奇特符號來代表字母。（參見伏尼契手稿以及愛倫·坡所著的金甲蟲）
一種有趣的變化名為命名密碼法。此加密法有許多不同的版本，之間的區別來自其前綴。而該前綴來自宣讀來訪貴賓稱號的公職人員名字。這種密碼結合一個小型密碼本組成一個大型的諧音替換表。在此密碼中，常用單詞會按密碼本加密，餘下字母則按另一本密碼本加密，兩者符號最後在密文中混起來，以減低簡易替換密碼中被破解的風險。路易十四所使用的密碼是羅西諾爾家族創立的偉大密碼，該密碼直至法國王室廢止後百年才被破解。

15世紀早期至18世紀後期，命名密碼是外交文件及間諜最常使用的加密，然而其中大多數仍然使用加密性能較差的命名密碼。雖然由十六世紀中葉開始政府情報機構的密碼分析員就破解部分命名密碼法，但使用者通常的反應僅僅
是加大諧音替換表。十八世紀後期，諧音替換系統開始消亡之時，一些命名密碼已有高達5萬個符號。
然而，並非所有命名密碼法都已被破解。直到今天，仍然不時有新的命名密碼被破解的新聞。
比爾密碼是另一個諧音替換法的例子。這個故事指在1819年至1821年期間由一個加密文本來隱藏美國獨立宣言中所述的寶藏。在這裡，每個密文字元由一個數字替換。數字代表著獨立宣言中第幾個字的第一個字母。獨立宣言中許多字的首字母都是一樣的，而密文數字能是其中任何一個，例如正文中第二和第六個字都是「I」開頭，即「I」既可以是2，又可以是6。而解讀僅僅就是把密文中的數字（如代數X），放到獨立宣言中查找（第X個字的首字母）。
斯塔爾則描述了另一個諧音替換密碼，其密碼是第一次嘗試在電腦的資料庫上加密。在斯塔爾的方法中，無論是明文還是密文都是以二進制字符串存儲，因此諧音的數量可以非常大，使得頻率分析比平常更為困難。
書本式加密與散列板都是諧音替換密碼的一種。

表格式替換加密

在表格式替換密碼中，明文不再單獨替換某個字母，而是一次過替換較大的字母單元（通常為一對字母）。第一個優點是頻率分布比單個字母時更平坦（雖然實際上並不平坦，因為在日常語言中，「TH」就遠遠比「XQ」常見）。其次，其產生的大量的符號，相應地需要更多的密文來進行高效的字母頻率分析。
為了替換每「對」字母，將需要共676個符號（）。在之前說過的《書寫中的隱蔽字符》一書中，德拉波爾塔提出了這樣一個系統：用一個20 x 20的表格（義大利或拉丁文字中的20個字母。），其中填上400個特別的字形。然而，該系統實為不切實際，更有可能從來沒有實際使用過。
最早的實用表格式替換密碼是查爾斯·惠斯登爵士於1854年所創的波雷費密碼。在此密碼中，5×5的方格中填滿了混合字母（兩個字母，通常I和J並排，即I等於J）。明文中每兩個字母為一單元，通常這個單元會在表上組成一個四方形（單元內容佔其中兩個角），然後取另外兩角為密文。當單元內容在同一列或同一行時（即無法組成四方形），同列者密文為明文往右偏移一格；同行者密文為明文往下偏移一格。單元中兩者為同字母者於該單之前添加X（或Q）（即其後全體往後偏移一格）。波雷費密碼於第二次波耳戰爭開始直到第二次世界大戰為止一直用於軍事用途。
在1901年，費利克斯·第利斯塔推出了其他一些實際可用的表格式替換加密，包括二分密碼、四方密碼及三分密碼。
。
因為希爾密碼完全建基於線性關係上，它會很容易受到己知明文攻擊，因此，有時它會結合一些非線性步驟來減少被擊破的機會。

機械替換加密

從第一次世界大戰時期開始，直到電腦被廣泛使用（某些政府約在20世紀50至60年代開始使；其他組織在十年或更後，1975年前則未有個人使用的紀錄），多字母替換密碼一直在機械上被廣泛應用。幾位發明家於同一時間有著類似的想法，1919年間已有四次關於旋轉盤的專利申請。其中最重要並著名的可算是德意志國防軍於1930年代所用的恩尼格瑪密碼機。同時期盟軍亦有其加密系統：美國的Sigaba及英國的Typex。
它們的相似之處在於它們都使用機械式旋轉盤來加密。由於不止一個旋轉盤的組成密文，如果每個字皆配一符號，符號用量將高於天文數字。然而，這些機器的早期版本極易被破解。信號情報服務處的威廉F.弗里德曼威廉·F·弗里德曼於早期就發現了赫本旋轉器的漏洞；政府密碼學校的第利溫·諾克斯在第二次世界大戰前就破解了恩尼格瑪密碼機中沒有接線板的版本。布萊切利園的分析員在後期才能破解恩尼格瑪密碼機的軍用版本，其靈感來自波蘭數學家馬里安·雷耶夫斯基。
SIGABA與Typex加密的訊息民間則至今沒有被破解的消息。

一次性密碼本

一次性密碼本是一種頗特別的替換密碼。它由約瑟夫·馬賓於第一次世界大戰後期建立。克勞德·夏農約在第二次世界大戰期間，在數學上證明它的保密性牢不可破，其過程於1940年末首次出版。在常見的做法中，一次性密碼本可以被稱為一個單次替換密碼。通常情況下，明文字母將以某種方式（通常為邏輯異或）與關鍵字組合（而不是替換掉）。
一次性密碼本在大多數情況下都是不切實際或難以使用，因為它需要關鍵字跟明文一樣（或更）長、「完全」隨機、只能使用一次，更要保證除了發送者和接收者之外其它所有人都不知道。當這些條件有一項沒有執行，甚至只是極其輕微的違反，一次性密碼本便再也不是堅不可摧，甚至一觸即潰。美國曾於第二次世界大戰期間用非隨機的一次性密碼本加密訊息，再將其送往蘇聯。美國的密碼學家於40年代開始就能破解極少數一次性密碼本。（見維諾那計劃）
古巴危機後，莫斯科-華盛頓熱線中開始使用一次性密碼本來加密訊息。

現代密碼學中的替換加密

上述的替換式密碼，尤其那些是只需使用鉛筆和紙張的手動加密密碼，都不再經常使用。然而，即使到了今天，替換加密的概念仍在進步。從一個夠新奇的角度來看，現代位元導向式的分組密碼（如資料加密標準及高階加密標準）仍可視為使用大量二進制字母的替換加密。此外，分組密碼通常包含較小的替換表，名為S-box，其同時包含邏輯異或算法。參見替換網絡。