凱撒密碼
凱撒加密法通常被作為其他更複雜的加密方法中的一個步驟,例如維吉尼亞密碼。凱撒加密法還在現代的ROT13系統中被套用。但是和所有的利用字母表進行替換的加密技術一樣,凱撒加密法非常容易被破解,而且在實際套用中也無法保證通信安全。
凱撒加密法的替換方法是通過排列明文和密文字母表,密文字母表示通過將明文字母表向左或向右移動一個固定數目的位置。例如,當偏移量是左移3的時候(解密時的密鑰就是3):
明文字母表:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
使用時,加密者查找明文字母表中需要加密的訊息中的每一個字母所在位置,並且寫下密文字母表中對應的字母。需要解密的人則根據事先已知的密鑰反過來操作,得到原來的明文。例如:
明文:THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
密文:WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ
凱撒加密法的加密、解密方法還能夠通過同餘的數學方法進行計算。首先將字母用數字代替,A=0,B=1,...,Z=25。此時偏移量為n的加密方法即為:
En(x)=(x+n)mod26{\displaystyle E_{n}(x)=(x+n)\mod 26}
解密就是:
Dn(x)=(x−n)mod26{\displaystyle D_{n}(x)=(x-n)\mod 26}
歷史
根據蘇維托尼烏斯的記載,愷撒曾用此方法對重要的軍事信息進行加密:
“如果需要保密,信中便用暗號,也即是改變字母順序,使局外人無法組成一個單詞。如果想要讀懂和理解它們的意思,得用第4個字母置換第一個字母,即以D代A,余此類推。”— 蘇維托尼烏斯,羅馬十二帝王傳
同樣,奧古斯都也使用過類似方式,只不過他是把字母向右移動一位,而且末尾不折回。
“每當他用密語寫作時,他都用B代表A,C代表B,其餘的字母也依同樣的規則;他用AA代表Z。”— 蘇維托尼烏斯,羅馬十二帝王傳
另外,有證據表明,愷撒曾經使用過更為複雜的密碼系統:
“文法學家普羅布斯曾經寫過一份獨具創新的手稿,研究愷撒書信中包含有秘密信息的字母。”— 格利烏斯,阿提卡之夜
現在已經無法弄清凱撒加密法在當時有多大的效果,但是有理由相信它是安全的。因為愷撒大部分敵人都是目不識丁的,而其餘的則可能將這些訊息當作是某個未知的外語。即使有某個敵人獲取了愷撒的加密信息,根據現有的記載,當時也沒有任何技術能夠解決這一最基本、最簡單的替換密碼。現存最早的破解方法記載在公元9世紀阿拉伯的阿爾·肯迪的有關發現頻率分析的著作中。
特定凱撒加密法名稱
根據偏移量的不同,還存在若干特定的凱撒加密法名稱:
偏移量為10:Avocat(A→K)
偏移量為13:ROT13
偏移量為-5:Cassis (K 6)
偏移量為-6:Cassette (K 7)