官术网_书友最值得收藏!

2.4 古典密碼

古典密碼(Classical Cipher)起始于古代終止于19世紀末,是現代密碼的基礎。當時生產力水平較低,普遍采用紙、筆或簡單器械完成加密、解密操作,正是密碼學發展史上手工加密階段迅速發展的時期。雖然,古典密碼由于安全性較低、效率低等多種缺陷已經退出了歷史舞臺,但古典密碼對于密碼學的研究卻有著不可替代的作用。

古典密碼受限于當時的環境,以語言學為基礎對文字進行字符變化,也就是對字符加密,以達到信息加密的目的。古典加密算法最常用、最核心的兩種加密技巧是移位和替代,這同樣是對稱加密算法最常用的方法。

? 移位密碼(Transposition Cipher):又稱錯位密碼,即將字符的順序重新排列。例如,將“1234567890”變成“3216549870”。這種加密算法看似簡單,但卻十分有效。如果不能領會其中的規律,很難辨別其內容的真正含義。

? 替代密碼(Substitution Cipher):又稱置換密碼,即將明文中的一組字符替代成其他的字符,形成密文。例如,“Encryption algorithm”變成“Fodszqujpo bmhpsjuin”(每個字母用下一個字母替代)。接收者對密文做反向替代就可以恢復明文。著名的凱撒密碼就應用了替代式算法。

在古典加密時代,替代密碼發展迅速,而且變得更加復雜,擁有眾多分支,具體如下。

? 單表替代密碼(Monoalphabetic Cipher):又稱簡單替代密碼。明文的一個字符用相應的一個密文字符代替。加密過程就是從明文字母表到密文字母表一一映射的過程。主要包括移位(shift)密碼、乘數(multiplicative)密碼、仿射(affine)密碼、多項式(Polynomial)密碼、密鑰短語(Key Word)密碼。

? 同音替代密碼(Homophonic Substitution Cipher):又稱多名替代密碼。與單表替代系統相似,唯一的不同是單個字符明文可以映射成密文的幾個字符之一,例如,A可能對應于5、13、25或56,“B”可能對應于7、19、31或42,所以,同音代替的密文并不唯一。電影《風語者》中,美軍征召納瓦霍人加入海軍,訓練他們使用納瓦霍語言作為通信密碼,這實際上就是應用了多名替代密碼。

? 多表替代密碼(Ployalphabetic Substitution Cipher):明文中的字符映射到密文空間的字符還依賴于它在上下文中的位置。其由多個簡單的代替密碼構成,例如,可能有5個被使用的不同的簡單代替密碼,單獨的一個字符用來改變明文的每個字符的位置。弗吉尼亞(Vigenere)密碼、博福特(Beaufort)密碼、滾動密鑰(running-key)密碼、弗納姆(Vernam)密碼、轉子機(rotor machine)密碼均為多表替代密碼。第二次世界大戰中,德軍用的轉子加密機—Enigma,正是多表替代密碼應用的典范。

? 多字母替代密碼(Polygram Substitution Cipher):明文中的字符被成組加密,例如“ABA”可能對應于“RTQ”,ABB可能對應于“SLL”等。希爾(Hill)密碼、Playfair密碼均為多字母替代密碼。在第一次世界大戰中英國就采用了這種密碼。

不管是移位算法還是替代算法,終究脫離不開人類語言。針對該特點,通過對密文進行語義分析使得古典密碼在破譯上有章可循。例如,凱撒密碼是單表替代密碼,要破解凱撒密碼,只要以語言學為基礎,找出使用頻度最高的字符,如' '(空格符)和 'e',用ASCII碼表示就是32和101,差值為69。如果明文中兩個出現頻率最高的字符的ASCII碼相差69,那么加密后密文中相應出現頻率最高的字符的ASCII碼相差也一定是69。很顯然,通過這樣的分析方法,只要找出密文中與之對應的字符,計算偏移量—密鑰,就可以破譯密文,這就是著名的頻度分析法。公元1578年,瑪麗女王營救計劃因密信被破解而以失敗告終,當時使用的破解方法就是頻度分析法。

主站蜘蛛池模板: 正宁县| 通城县| 含山县| 清新县| 正蓝旗| 连州市| 洛川县| 巴彦淖尔市| 自贡市| 贵定县| 太保市| 广西| 娄底市| 北海市| 罗山县| 恩施市| 丰宁| 乐山市| 正宁县| 台南县| 增城市| 司法| 隆德县| 永城市| 苏尼特右旗| 平昌县| 客服| 朔州市| 孝昌县| 盈江县| 剑川县| 桑植县| 大丰市| 岳西县| 新安县| 海安县| 广平县| 东乡族自治县| 弋阳县| 星子县| 达孜县|