密碼學可以大致分為兩種類型,即易位和替代,但也有更復雜的方法將兩者結合起來。在易位中,字母保持不變,它們的位置發生變化;在替換中,字母發生變化,位置保持不變。
第壹份將替換密碼用於軍事目的的文件是凱撒的《高盧記》。凱撒描述了他是如何將這壹秘密信息發送給當時正處於圍困之中、瀕臨投降邊緣的西塞羅的。其中,羅馬字母被希臘字母取代,這使得敵人根本無法理解這些信息。
在公元2世紀撰寫的《凱撒傳》中,索托尼斯詳細描述了凱撒使用的壹種替代密碼。凱撒只是將信息中的每個字母替換為字母表中該字母後的第三個字母。這種密碼替換通常被稱為凱撒移位密碼,或簡稱為凱撒密碼。
雖然索托尼烏斯只提到了三個位置的凱撒位移,但很明顯我們可以使用從1到25個位置的位移。因此,為了使密碼更加安全,出現了單字母替換密碼。
比如:
清除表格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
密碼表qWERTY Y UIOP A S D F G H J K L Z X C V B N M
用於恢復的明文
密文
只要重新排列密碼表的26個字母的順序,並允許密碼表是明碼表的任何重新排列,密鑰的數量將增加到4000億以上,因此我們有4×1027多個密碼表。它變得很難破解。
如何破解包括凱撒密碼在內的單字母替換密碼?
方法:詞頻分析。
雖然我們不知道是誰發現了字母頻率的差異可以用來破解密碼。然而,9世紀的科學家阿爾·金迪在《解密加密信息手稿》中首次描述了這種技術。
“如果我們知道加密信息中使用的語言,破譯這種加密信息的方法是找到另壹篇用相同語言寫的文章,大約壹頁長,然後我們計算每個字母的頻率。我們將頻率最高的字母標記為1,頻率第二的字母標記為2,頻率第三的字母標記為3,以此類推,直到樣本文章中的所有字母都被計數。然後我們觀察需要破譯的密文,對所有字母進行分類,找出出現頻率最高的字母,並替換為樣本文章中出現頻率最高的字母。第二個高頻的字母被樣本中的2號替換,第三個被3號替換,直到密文中的所有字母都被樣本中的字母替換。”
以英語為例。首先,我們用壹個或幾個壹定長度的普通冠詞建立字母表中每個字母的頻率表。
通過分析秘密文本中的字母頻率,我們可以通過比較來破解它。
雖然密碼學家後來針對頻率分析技術對以前的加密方法進行了壹些改進,例如引入空符號,以打破字母的正常頻率。然而,小小的改進再也無法掩蓋單字母替換法的巨大缺陷。到了16世紀,最好的密碼學家已經能夠破譯當時的大部分加密信息。
局限性:
短文可能會嚴重偏離標準頻率,如果文章少於100個字母,解密將更加困難。
並非所有文章都適用標準頻率:
1969年,法國作家喬治·佩雷克寫了壹本200頁的小說《逃離》,其中沒有壹個帶有字母E的單詞。更令人驚嘆的是,英國小說家兼施法者吉爾伯特·阿代爾成功地將《逃離》翻譯成了英語,其中沒有字母E。阿代爾將這種翻譯命名為真空。如果這本書是用單壹的密碼表加密的,那麽通過頻率分析將很難破解。
Blaise de Genard在16年底建立了壹種新的密碼系統。它的密碼不再用壹個密碼表加密,而是用26個不同的密碼表加密。這種密碼表最大的優點是可以抑制頻率分析,從而提供更好的安全性。