談到概率論,傳統的移位法並不容易使用。
弗吉尼亞加密法出現了反頻率分析——使用這種加密方法後,字母的頻率特征將消失。
壹般認為法國外交官布萊斯·德·維吉尼亞制定了這項加密法律。
但這個結論是有爭議的,比他早40多年的德國煉金術士約翰內斯發明的表格法也包含了關鍵部分。在他之前80多年,意大利詩人萊昂也提出了這種方法的關鍵部分。
壹項發明屬於誰?有必要研究細節嗎?
當然不是。我主要想指出壹個規律——但凡有壹項發明權被壹堆人搶走,就說明那個領域已經形成了壹個成熟的產業。
密碼學也是如此。我們暫時假設弗吉尼亞是發明者。問題是,像他這樣的外交官怎麽能如此深入地研究密碼學?有兩個原因:
18世紀初,所有歐洲國家都有隸屬於情報機構的部門,負責加密和解密,稱為“黑室廳”。它與郵政系統協同工作。
每天都有大量的信件從全國各地被送到郵局,然後從郵局分發出去。暗室出現後,壹些信件不是從郵局直接交給收件人,而是先通過暗室,然後再送到收件人手中。
信的哪壹部分應該繞過這樣的彎?
事實上,所有寄到當地大使館的信件都會得到這種特殊待遇。因為這裏可能有機密信息。
雖然我直接說出了內幕,但暗室大廳當年運作時是完全保密的,沒有人知道。信件不能超時遞送,因為破譯它們需要時間。
以當時維也納最著名的暗室為例。每天早上7點,信件首先到達暗室。工作人員小心翼翼地融化開頭,由專業速記員謄寫字母。如果語言差異很大,專家會將它們轉錄下來。然後立即密封信封並在三小時內寄回郵局,郵局將按照正常流程投遞。
當時,所有國家都在重要信件中使用加密方法。起初,它通常是替換法和移位法的混合,但對於掌握頻率分析法的暗室來說總是可以破譯的。
除了閱讀信件本身之外,奧地利還將這壹消息秘密出售給其他國家的情報部門。幾年後,許多國家意識到他們的加密可能無效,因此誕生了下壹代加密技術。
為了理解新的加密方法,我們有必要回顧壹下第二代加密方法的漏洞。
討論了替代法的裂解原理。因為每個字母的實際頻率都有壹個固定的值,無論那些字母被替換為什麽符號,都可以從頻率中找出它們的真身。
瑪麗女王生活在壹個加密無法打敗解密的時代。事實上,在她被斬首前40年,壹種新的加密方法出現了。它是替代方法的改進版本,被稱為“多組符號加密方法”。
為了掩蓋字母使用中暴露的頻率特征,解決方案是用多組符號替換原始文本。比如原文的字母是A,過去只用F代替,現在用F或G代替,那麽我們什麽時候用F,什麽時候用G呢?它可以自己指定,例如,如果字母是奇數,它們將被替換為F,如果字母是偶數,它們將被替換為G..
當之前的單組符號被替換時,文本中頻率為7.63%的所有符號幾乎都代表A .但現在A由F和G混合而成,7.63%的特征不再出現,沒有人知道哪個符號代表A,因此頻率分析方法暫時失敗。
此外,多套符號加密方法不滿足於2-3套,後來通常使用26套。
這種使用26組字符的方法是第三代密碼“弗吉尼亞加密法”。正是它成功地抑制了解密方的頻率分析方法。
它是壹個表格,第壹行代表原始文本的字母,下面的每壹個水平線代表原始文本被哪些字母替換,每壹個垂直列代表我們要用哪組字符替換原始文本。壹個***26個字母,壹個***26套替換法,所以這張表是壹張26×26的表。
弗吉尼亞密碼表
具體是怎麽加密的?
假設我想對“hello”進行加密,現在的想法不同於單套加密方法。在單個集合的情況下,我們可以指定該表中的任何行。例如,我們可以指定第八行的含義,即原文中的字母全部後移八位。只有使用這條線的規則,“妳好”才會變成PMTTW。
但是現在我們的想法是使用多組密碼,而不僅僅是第8行中的第八組密碼。所以我們只需指定:
妳為什麽覺得這聽起來這麽亂?指定每個字母應該分別移動多少位太麻煩了,不是嗎?
如果原始文本只是單詞hello,如果是字母,則改為使用哪壹組逐字母規則,這不僅難以加密,而且難以解釋。我只能另寫壹本手冊,壹個字母壹個字母地還原,費時費力還容易出錯,連加密的初衷都無法實現。
因為本手冊的文字比原文多得多,而且本手冊必須以每個人都能理解的方式編寫。如果妳想讓接收者理解,妳必須向對方發送壹份加密的手冊。如果手冊被截獲,內容將白白加密。
這個問題解決如下:
當第三代弗吉尼亞加密方法實際使用時,當人們預先指定每個字母使用哪組移位方法時,它不是壹種無規則的盲目指定,而是壹種規則,這種規則被稱為“密鑰”。
關鍵壹開始只是壹句話。例如,如果密鑰是yes,它如何加密?
妳看,yes的Y是第25個字母,這意味著加密時原文的第壹個字母後移25位;yes的第二個字母e是字母表中的第五個字母,這意味著原文的第二個字母向後移動了五個位置;yes的第三個字母s是字母表中的19字母,這意味著原文的第三個字母向後移動了19。這樣,原文的前三個字母分別被第25、5和19套替換。
原文的第四、五、六個字母呢?簡單,只要遵守剛才的規則。
這樣,當密鑰為yes時,“hello”被加密到FIDJS中。
這樣做的好處是原文中的同壹個字母會被加密成不同的字符,hello中的兩個“L”會分別變成D和J。而且密文的同壹個字也可能代表不同的原文,沒有誰對應誰。
1586年,弗吉尼亞寫下了這個想法並發表在《密碼學》上。
我們上節課講的瑪麗女王在1587年被斬首。如果她和叛軍能使用本書中的加密方法,那可能是另壹種命運。
與以前的加密方法相比,弗吉尼亞方法在破解難度上達到了壹個新的水平,因此它應該受到青睞,對嗎?結果正好相反——在它出現後的200年裏幾乎沒有人使用它。
原因很簡單,太麻煩了。正如我們在第壹堂課上所說,真正有用的密碼是在安全和效率之間找到平衡。
妳看,使用單個密碼時,瑪麗女王只要稍加訓練就能在監獄裏直接用密文回復,但如果使用弗吉尼亞密碼,估計她已經老到可以查字典了。
妳也可以設身處地為他人著想。加密是壹組26×26的形式,有不同長度的密鑰。每次加密壹封信,妳都要在表中四處查找。即使在熟練操作的情況下,加密壹封信也需要3秒鐘。寫壹篇500字的文章需要三個多小時的緊張工作。不要慢慢說,這樣來回檢查和書寫時很容易出錯。
所以在它誕生後的200多年裏,幾乎沒有人使用它。既然沒人用過,自然200多年來也沒人破解。
弗吉尼亞加密直到美國內戰期間的1861到1865才被廣泛使用。
為什麽會這樣?是因為人的大腦更聰明,手更快嗎?
不是,而是因為隨著科學技術的發展,加密和解密的工作在當時已經可以由機器來完成。在1860年代,不僅有蒸汽機,還有電動機。這種常規的手工作業機器在這方面做得最好,既不會抱怨疲勞也不會出錯。
我們可以理解弗吉尼亞法律被推遲了200多年才被實際使用的事實-
基礎學科的發展是工程領域發展的基礎,新理論的發明比產品的發明重要得多。
即使僅限於密碼學領域,這壹定律也曾多次反復出現,而且大多集中在弗吉尼亞密碼學誕生之後。
因為在16世紀初,現代科學已經在歐洲出現。如果科學理論用得好,就能產生新技術。新技術解決了各種困難,使人們更願意將精力投入到科學中,因此產生了更多的技術,形成了正反饋。
在這樣壹個新環境中,出現了壹種有趣的情況:
弗吉尼亞加密就是如此,弗吉尼亞加密的破解也是如此。
這不是偶然,而是現代科學出現後的常態,在任何領域都是如此。
知道了這個規律,我們就會對偉大的發明家少壹些敬佩,對他們背後的科學原理多壹些敬畏。