替換式密碼,又名取代加密法,是密碼學中按規律將文字加密的一種方式。替換式密碼中可以用不同字母數為一單元,例如每一個或兩個字母為一單元,然後再作加密。密文接收者解密時需用原加密方式解碼才可取得原文本。由於拼音文字中字的組成為有限的字母,以英語為例只有26個字母,組成可能的單元數較少,因此使用替換式密碼相對較為容易,而且亦可使用簡單機械進行加密;相反,非拼音文字如中文則因單元數非常大難以使用一般加密方式,必需建立密碼本,然後逐字替換。更何況某些非拼音文字中字字皆由不同大小的字根來組字,較難轉換,因此使用替換式密碼的示例比較少。
但對比還是很難。
當以替換式密碼與置換式密碼(或稱轉位式密碼或移轉式密碼)相比較時,可以發現轉位式密碼只是改變明文中單元的位置,而單元本身沒有轉變;相反,替換式密碼只是轉換單元,但密文中單元的位置沒有改變。
替換式密碼亦有許多不同類型。如果每一個字母為一單元(或稱元素,然後使用電報傳送消息:
SIAAZ QLKBA VAZOA RFPBL UAOAR
如果該段明文的長度不能被五整除,將需要在最後用“NULL”補齊
這些功能增加的安全性與以前其實相差不大,因為基本上所有奇怪的符號最後都會轉換成A-Z字母。
有時銷售人員會在他們的名單和目錄中使用非常簡單的加密法:用字母來代替數字。
例子:MAT代表120。
簡易替換密碼的安全性
簡易替換密碼的缺點是字母表中的最後幾個字母(其中大多是低使用頻率)往往留在最後。加強的辦法是在加密後再做一次縱欄式移調,但很多時也沒有這樣做。
儘管加密用到的密鑰可能性很大(26! ≈ 288.4,若88位元),但要破解單表加密卻異常容易。只要提供有合理長度的密文(見下文),密碼分析就能通過的分析推斷最常見的單元的意義,即頻率分析。這使破解者可用剔除法,把有個單元的意思解出來,見一個破解的例子。在某些情況下,可以從它們的字母的格局來破解,例如“attract”和“osseous”是英語中仅有的“ABBCADB”模式的“根”,即如遇見有簡易替換密碼的密文中出現“ABBCADB”,即可猜測其為“attract”或“osseous”。康樂及報紙拼圖等包含著不少這種加密法。
按照英語的,密文平均最少需要27.6個字母才能破解混合表簡易替換密碼。而在正常情況下,假設遇到的是新排列方式,但通常都需要約50個字母(當中有些密文可以用得比較少)。然而,當密文有極平坦的頻率分佈,密文長度的需求可能越來越大。同時,加密者可以添加空字元來造成平坦的頻率分佈。
另外,有另一種方法來“偽造”頻率分佈,名為漏字文。顧名思義,這些文章會有意避免使用某個或某幾個特定字母。如果漏掉的是E,那麼若然繼續以正常的頻率分析(估計最高頻率者為E)就不可能找出真正的明文。
諧音替換法
中加密的訊息]]
早期的加密中,為增加替換式密碼應付頻率分析攻擊的強度,有時會採用“諧音”來改變明文字母頻率。在這種加密算法中,明文字母可以映射到多個密文符號。通常情況下,頻率最高的明文符號(如E)會比低使用頻率的字母(如X)有更多的諧音符號,使頻率分佈更為平坦,讓分析更困難。
但亦因此,只是字母之間互相替換就會造成不夠分配,從而有了好幾種不同的解決方法。其中最簡單的方式可以算是用1-0共10個數字作為某些字母的替換。另一種方法則是將現有的字母分開成原字母配以簡單的變化、大寫、小寫、上下倒轉的字母、鏡像文字(左右倒轉)等。雖然更為藝術化,卻不代表一定更安全,其中一些諧音替換法全部使用新發明的奇特符號來代表字母。(參見伏尼契手稿以及愛倫·坡所著的金甲蟲)
一種有趣的變化名為,其密碼是第一次嘗試在電腦的數據庫上加密。在斯塔爾的方法中,無論是明文還是密文都是以二進制字符串存儲,因此諧音的數量可以非常大,使得頻率分析比平常更為困難。
。
多表替換加密
在1467年,多表替換密碼由萊昂·巴蒂斯塔·阿爾伯蒂以圓碟的形式首次描述。約翰尼斯·特里特米烏斯所著的《隱寫術》()中介紹了一種表格(見下;15世紀已完成但很久以後才出版)。1563年,喬瓦尼·巴蒂斯塔·德拉波爾塔在《書寫中的隱蔽字符》()描述了一個更複雜的混合字母版本。
在一個多表替換密碼中,會使用多個字母作為密碼。為了加快加密或解密速度,所有的字母通常寫在一張表格上,密碼學上稱作tableau。這種表格通常是26×26,因為這樣才能放下全部26個英文字母。填充表格及選擇下次使用的字母的方法,就是不同多字母替換密碼之間的定義。多字母替換密碼比單字母更難打破,因為其替換可能性多,密文要較長才可。
其中最著名的一種為吉奧萬·巴蒂斯塔·貝拉索於1585年推出的維吉尼亞密碼),使得可以計算維吉尼亞密碼中關鍵字的長度。。
。
。
一次性密碼本
一次性密碼本是一種頗特別的替換密碼。它由於第一次世界大戰後期建立。克勞德·夏農約在第二次世界大戰期間,在數學上證明它的保密性牢不可破,其過程於1940年末首次出版。在常見的做法中,一次性密碼本可以被稱為一個單次替換密碼。通常情況下,明文字母將以某種方式(通常為邏輯異或。
一次性密碼本在大多數情況下都是不切實際或難以使用,因為它需要關鍵字跟明文一樣(或更)長、“完全”隨機、只能使用一次,更要保證除了發送者和接收者之外其它所有人都不知道。當這些條件有一項沒有執行,甚至只是極其輕微的違反,一次性密碼本便再也不是堅不可摧,甚至一觸即潰。美國曾於第二次世界大戰期間用非隨機的一次性密碼本加密訊息,再將其送往蘇聯。美國的密碼學家於40年代開始就能破解極少數一次性密碼本。(見维诺那计划)
古巴危機後,莫斯科-華盛頓熱線中開始使用一次性密碼本來加密訊息。
- 最終幻想X中斯畢拉世界的語言實際上是一種替換密碼,其發音方法卻同為拉丁系統(例如你在英語中是you,然後加密至oui,再以法語來讀出oui)。
- 乃出個未來中外星人的語言的符號全由英文替換加密而成。觀眾相當快就破譯出來,過程是在“Slurm”(外星人字)和“Drink”(英語)之間找到其密鑰。後來,生產商建立了第二套外星人語言,其使用了數學密碼的更換和組合。然而,此密碼再一次遭破譯,方法是將英語轉為1至26,轉換之後再加上前一個字母的編號,再同餘26(亦即代表前字母為Z時後字母不會加密)。這些加密訊息可以從整個系列中每一集和其隨後推出的電影中看出。
参考文献
;书籍
- Yardley, Herbert. The American Black Chamber. Bobbs-Merrill, 1931.
外部連結
- [http://www.cryptool.org/ CrypTool] 網上學習工具-建立並破解替換式密碼。
- [http://sourceforge.net/projects/substcipher 破解使用了單字母替換加密的工具]
- [http://www.secretcodebreaker.com/scbsolvr.html SCB Cipher Solver] 單字母替換加密破解工具
- [http://spwebgames.com/crypto/ Substitution cipher implementation with Caesar and Atbash ciphers] (Java)
- [https://web.archive.org/web/20060413125614/http://blogger-bee.com/virtualsoil/CGI/anycode.html Online simple substitution implementation](Flash)
- [https://web.archive.org/web/20110930195439/http://www.makeprofit.de/?code=1234567890 MAKEPROFIT加密](把明文放在URL,網頁顯示結果)
- [http://math.ucsd.edu/~crypto/java/EARLYCIPHERS/Monoalphabetic.html 單字母替換密碼] 使用己知明文攻擊來破解單字母替換密碼
- http://cryptoclub.math.uic.edu/substitutioncipher/sub2.htm
參見
- Dvorak加密
- 維吉尼亞密碼
- Leet
- 仿射密碼
评论 (0)