導航:首頁 > 編程大全 > 復式替換密碼

復式替換密碼

發布時間:2023-01-21 06:54:06

A. 恩尼格瑪密碼機的弱點

在一次大戰其間,英國的情報機關非常嚴密地監控了德國方面的通訊,丘吉爾的書和英國海軍部的報告中透露的消息只不過是一鱗半爪。事實上,將美國引入一次大戰的齊末曼(Arthur Zimmermann,1916年起任德國外交部長)電報就是由著名的英國40局破譯的。在此電報中德國密謀墨西哥對美國發動攻擊,這使得美國最終決定對德宣戰。但是英國人的障眼法用得如此之好,使得德國人一直以為是墨西哥方面泄漏了秘密。
戰後英國仍舊保持著對德國通訊的監聽,並保持著很高的破譯率。但是從1926年開始,他們開始收到一些不知所雲的信息——ENIGMA開始投入使用。德國方面使用的ENIGMA越多,40局破解不了的電文就越多。美國人和法國人碰到的情況也一樣,他們對ENIGMA一籌莫展。德國從此擁有了世界上最為可靠的通訊保密系統
一次大戰的戰勝國很快就放棄了破譯這種新型密碼的努力。也許是出於自信,在他們看來,在凡爾賽條約約束下的德國已經造成不了什麼危害。由於看不到破譯德國密碼的必要性,盟國的密碼分析專家懶散下來,干這一行的頭腦似乎也變得越來越平庸。在科學的其他領域,我們說失敗乃成功之母;而在密碼分析領域,我們則應該說恐懼乃成功之母。普法戰爭造就了法國一代優秀的密碼分析專家,而一次大戰中英國能夠破譯德國的通訊密碼,對失敗的極大恐懼產生的動力無疑起了巨大的作用。
歷史又一次重演。因為在歐洲有一個國家對德國抱有這種極大的恐懼——這就是在一戰灰燼中浴火重生的新獨立的波蘭。在她的西面,是對失去舊日領土耿耿於懷的德國,而在東面,則是要輸出革命的蘇維埃聯盟。對於波蘭來說,關於這兩個強鄰的情報是有關生死存亡的大事,波蘭的密碼分析專家不可能象他們的英美法同事那樣愛干不幹——他們必須知道這兩個大國都在想什麼。在此情況下波蘭設立了自己的破譯機構,波軍總參二局密碼處(Biuro Szyfrow)。密碼處的高效率在1919-1920年波蘇戰爭中明顯地體現出來,軍事上屢嘗敗績的波蘭在密碼分析方面卻一枝獨秀。在蘇軍兵臨華沙城下的情況下,1920年一年他們破譯了大約400條蘇軍信息。在對西面德國的通訊的監控方面,波蘭人也保持了同樣的高效率——直到1926年ENIGMA登場。
波蘭人想方設法搞到了一台商用的ENIGMA機器,大致弄清楚了它的工作原理。但是軍用型的轉子內部布線和商用型的完全不同,沒有這個情報,想要破譯德軍的電報可謂難如登天。波蘭人使出了渾身的解數,甚至病急亂投醫,請了個據說有天眼通功能的「大師」來遙感德國人機器里轉子的線路圖——當然和所有的「大師」一樣,一遇上這種硬碰硬的事情,神乎其神的天眼通也不靈了。
這時事情有了轉機。
漢斯-提羅·施密特(Hans-Thilo Schimdt)於1888年出生在柏林的一個中產階級家庭里,一次大戰時當過兵打過仗。根據凡爾賽條約,戰敗後的德國進行了裁軍,施密特就在被裁之列。退了伍後他開了個小肥皂廠,心想下海從商賺點錢。結果戰後的經濟蕭條和通貨膨脹讓他破了產。此時他不名一文,卻還有一個家要養。
和他潦倒的處境相反,他的大哥魯道夫(Rudolph)在戰後春風得意。和漢斯-提羅一樣都是一次大戰的老兵,可魯道夫沒有被裁減,相反卻一路高升。到了二十年代,他當上了德國通訊部門的頭頭,就是他正式命令在軍隊中使用ENIGMA。和大哥的成功比起來,漢斯-提羅自然覺得臉上無光。
可是破產後漢斯-提羅不得不放下自尊心來去見大哥,求他在政府部門替自己謀個職位。魯道夫給他的二弟在密碼處(Chiffrierstelle)找了個位置。這是專門負責德國密碼通訊的機構——ENIGMA的指揮中心,擁有大量絕密情報。漢斯-提羅把一家留在巴伐利亞,因為在那裡生活費用相對較低,勉強可以度日。就這樣他一個人孤零零地搬到了柏林,拿著可憐的薪水,對大哥又羨又妒,對拋棄他的社會深惡痛絕。
接下來的事情可想而知。如果把自己可以輕松搞到的絕密情報出賣給外國情報機構,一方面可以賺取不少自己緊缺的錢,一方面可以以此報復這個拋棄了他的國家。1931年11月8日,施密特化名為艾斯克(Asche)和法國情報人員在比利時接頭,在旅館里他向法國情報人員提供了兩份珍貴的有關ENIGMA操作和轉子內部線路的資料,得到一萬馬克。靠這兩份資料,盟國就完全可以復制出一台軍用的ENIGMA機。
不過事情並不象想像的那麼簡單。要破譯ENIGMA密碼,靠這些情報還遠遠不夠。德軍的一份對ENIGMA的評估寫道:「即使敵人獲取了一台同樣的機器,它仍舊能夠保證其加密系統的保密性。」就算有了一台ENIGMA,如果不知道密鑰(就是轉子自身的初始方向,轉子之間的相互位置,以及連接板連線的狀況)的話,想破譯電文,就要嘗試數以億億計的組合,這是不現實的。
「加密系統的保密性只應建立在對密鑰的保密上,不應該取決於加密演算法的保密。」這是密碼學中的金科玉律。加密演算法可以直接是某個抽象的數學演算法,比如通用的DEA和RSA演算法,也可以是實現某個演算法的象ENIGMA這樣的加密機械或專門用於加密的電子晶元等加密器件,還可以是經過編譯的在計算機上可執行的加密程序,比如在互聯網通信中被廣泛使用的PGP(Pretty Good Privacy)。因為對加密演算法的保密是困難的。對手可以用竊取、購買的方法來取得演算法、加密器件或者程序。如果得到的是加密器件或者程序,可以對它們進行反向工程而最終獲得加密演算法。如果只是密鑰失密,那麼失密的只是和此密鑰有關的情報,日後通訊的保密性可以通過更換密鑰來補救;但如果是加密演算法失密,而整個系統的保密性又建立在演算法的秘密性上,那麼所有由此演算法加密的信息就會全部暴露。更糟糕是,為了使以後的通訊保持秘密,必須完全更換加密演算法,這意味著更新加密器械或更換程序。比起簡單地更換密鑰,這要耗費大量財富和管理資源(大規模更換加密器械和程序會使對手更有機會乘虛而入!)。
正如前面所言,ENIGMA的設計使得搞到了它的秘密的法國人也一籌莫展。法國密碼分析人員斷定這種密碼是不可破譯的。他們甚至根本就懶得根據搞到的情報去復制一台ENIGMA。
在法國和波蘭簽訂過一個軍事合作協議。波蘭方面一直堅持要取得所有關於ENIGMA的情報。既然看來自己拿著也沒什麼用,法國人就把從施密特那裡買來的情報交給了波蘭人。和法國人不同,破譯ENIGMA對波蘭來說至關重要,就算死馬也要當作活馬醫。現在他們總算能邁出最初的一步了。
在施密特提供的關於ENIGMA的情報中,不僅有關於ENIGMA構造和轉子內部連線的描述,還有德國人使用ENIGMA進行編碼的具體規定。每個月每台ENIGMA機的操作員都會收到一本當月的新密鑰,上面有此月每天使用的密鑰。比如說,第一天的密鑰可以是這個樣子:1.連接板的連接:A/L-P/R-T/D-B/W-K/F-O/Y。2.轉子的順序:2,3,1;轉子的初始方向:Q-C-W。
當操作員要發送某條消息時,他首先從密鑰本中查到以上信息。然後按照上面的規定,首先用連線把連接板上的A字母和L字母,P字母和R字母……連接起來;然後把2號轉子放在ENIGMA的第一個轉子位置上,把3號轉子放在第二個位置上,把1號轉子放在第三個位置上;最後,他調整轉子的方向(從照片上可以看到每個轉子的邊上都刻著一圈字母用來顯示轉子所處的方向),使得三個轉子上的字母Q、C和W分別朝上。在接收信息的另一方,操作員也進行同樣的准備(他也有一本同樣的密鑰本),就可以進行收信解碼的工作了。
調整好ENIGMA,操作員可以開始對明文加密了。但是我們看到每天只有一個密鑰,如果這一天的幾百封電報都以這個密鑰加密發送的話,暗中截聽信號的敵方就會取得大量的以同一密鑰加密的信息,這對保密工作來說不是個好兆頭。我們記得在簡單替換密碼的情況下,如果密碼分析專家能得到大量的密文,就可以使用統計方法將其破解。
盡管不知道對ENIGMA是否可以採用類似的統計方法,德國人還是留了個心眼。他們決定在按當日密鑰調整好ENIGMA機後並不直接加密要發送的明文。相反地,首先發送的是一個新的密鑰。連接板的連線順序和轉子的順序並不改變,和當日通用的密鑰相同;想反地,轉子的初始方向將被改變。操作員首先按照上面所說的方法按當日密鑰調整好ENIGMA,然後隨機地選擇三個字母,比如說PGH。他把PGH在鍵盤上連打兩遍,加密為比如說KIVBJE(注意到兩次PGH被加密為不同的形式,第一次KIV,第二次BJE,這正是ENIGMA的特點,它是一種復式替換密碼)。然後他把KIVBJE記在電文的最前面。接著他重新調整三個轉子的初始方向到PGH,然後才正式對明文加密。
用這種方法每一條電文都有屬於自己的三個表示轉子初始方向的密鑰。把密鑰輸入兩遍是為了防止偶然的發報或者接收錯誤,起著糾錯的作用。收報一方在按當日密鑰調整好ENIGMA機後,先輸入密文的頭六個字母KIVBJE,解密得到PGHPGH,於是確認沒有錯誤。然後把三個轉子的初始方向調整到PGH,接著就可以正式解密其餘的密文了。
如果不使用對每條電文都不同的密鑰,那麼每天很可能總共會有幾千條電文也就是幾百萬個字母的消息以同一個密鑰加密。而採用每條電文都有自己的密鑰這個方法後,當日密鑰所加密的就是很少的幾萬個字母,而且這些字母都是隨機選取,和有意義的電文性質不同,不可能用統計方法破譯。
乍一看來這種方法無懈可擊。可是波蘭人鐵了心,必須在這厚厚的護甲上撕出一個口子來。
在此以前,密碼分析人員通常是語言天才,精通對語言方面特徵的分析。但是既然ENIGMA是一種機械加密裝置,波蘭總參二局密碼處就考慮到,是否一個具有科學頭腦的人更適合於它的破譯工作呢?
1929年1月,波茲南大學數學系主任茲德齊斯羅·克里格羅夫斯基(Zdzislaw Krygowski)教授開列了一張系裡最優秀的數學家的名單,在這張名單上,有以後被稱為密碼研究「波蘭三傑」的馬里安·雷傑夫斯基(Marian Rejewski),傑爾茲·羅佐基(Jerzy Rozycki)和亨里克·佐加爾斯基(Henryk Zygalski)。波茲南大學並非當時波蘭最有名的大學,但是它地處波蘭南部,那裡直到1918年還是德國領土,所以所有這些數學家都能講流利的德語。
在三位被密碼局招聘的數學家中,雷傑夫斯基的表現最為出色。當年他是個架著一副近視眼鏡,臉上略帶羞色的二十三歲小夥子。他的在大學里學的專業是統計學,打算以後去干保險業行當,也許在此之前他從未想到會在密碼分析方面大展身手。在經過短期的密碼分析訓練後,他把所有的精力都投入到破解ENIGMA的工作中去。
雷傑夫斯基深知「重復乃密碼大敵」。在ENIGMA密碼中,最明顯的重復莫過於每條電文最開始的那六個字母——它由三個字母的密鑰重復兩次加密而成。德國人沒有想到這里會是看似固若金湯的ENIGMA防線的弱點。
德方每封密文最開始的六個字母,是此信密鑰的三個字母重復兩遍,由當日密鑰加密而成。比如說這封信的密鑰是ULJ(這是開始加密明文時由操作員臨時隨機選取的),那麼操作員首先用當日通用的密鑰加密ULJULJ,得到六個字母的加密後序列,比如說PEFNWZ,然後再用ULJ來作為密鑰加密正文,最後把PEFNWZ放在加密後的正文前,一起用電報發給收信方。
雷傑夫斯基每天都會收到一大堆截獲的德國電報,所以一天中可以得到許多這樣的六個字母串,它們都由同一個當日密鑰加密而成。比如說他收到四個電報,其中每封電報的開頭的六個字母為:第一封電報:L O K R G M;第二封電報:M V T X Z E;第三封電報:J K T M P E;第四封電報:D V Y P Z X。對於每封電報來說,它的第一個字母和第四個字母都是由同一個字母加密而來,同樣地第二和第五個字母以及第三和第六個字母也是分別由同一個字母加密而來。比如說在第一封電報中,字母L和R是由同一字母加密而來。這個字母之所以先被加密成L,然後又被加密成了R,是因為在此期間轉子向前轉動了三個字母的位置。
從L和R是由同一個字母加密而來這點,雷傑夫斯基就有了判斷轉子的初始位置的一條線索。當轉子處於這個初始位置時,字母L和R在某種意義下具有緊密的聯系。每天截獲的大量電文能夠給出許多這樣的緊密聯系,從而使雷傑夫斯基最終能夠判斷出轉子的初始位置。在上面的第二、三、四封電報中,我們看見M和X,J和M,D和P都有這種聯系:
第四個字母:___P_____M_RX_____________
如果雷傑夫斯基每天可以得到充分多的電報,他就可以把上面這個關系表補充完整:
第四個字母:FQHPLWOGBMVRXUYCZITNJEASDK
光憑這個對應表格,雷傑夫斯基還是沒辦法知道當天的通用密鑰。可是他知道,這個表格是由當天的通用密鑰決定的,而且只由它決定。如果密鑰不同,那麼這個表格也應該不同——那麼,有沒有一種辦法可以從這個對應表來推斷出當日的通用密鑰呢?雷傑夫斯基對這樣的表格進行了仔細觀察。從字母A開始看,它被對應成F;而F在此表中又被對應成W,接下去它被對應成A,我們又回到了最先開始的字母,於是就有了一個循環的字母圈A→F→W→A。如果考慮所有的字母,雷傑夫斯基就能寫出關於此對應表的所有的循環圈:A→F→W→A。
3個字母的循環圈B→Q→Z→K→V→E→L→R→I→B;9個字母的循環圈C→H→G→O→Y→D→P→C;7個字母的循環圈J→M→X→S→T→N→U→J。
7個字母的循環圈這里我們只是考慮了第一和第四個字母形成的對應表。同樣地對第二和第五、第三和第六個字母形成的對應表,我們也可以寫出類似的字母循環圈。由於每天的密鑰都不同,雷傑夫斯基得到的循環圈也各不相同。
雷傑夫斯基觀察到,這些循環圈長短不一。這使他有了一個重要的靈感:雖然這些循環圈是由當日密鑰,也就是轉子的位置,它們的初始方向以及連接板上字母置換造成的,但是每組循環圈的個數和每個循環圈的長度,卻僅僅是由轉子的位置和它們的初始方向決定的,和連接板上字母交換的情況無關!
假定在上面這個例子中,原來在接線板上字母S和G由一根連線相連。轉子的位置和它們的初始方向保持不變,去掉這根連線而將字母T和K連在一起,那麼第一和第四個字母的對應表就會變成:
第一個字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ,第四個字母:FQHPLWKSBMNRXUYCZIOVJEAGDT(原來的G對應O,S對應T,去掉G和S的連線後,G就對應T,但是T被新的連線接到了K,所以G最終對應著K。其他受影響的字母還有H、K、S、T、X、Z)。而循環圈表就變成了:A→F→W→A。
3個字母的循環圈B→Q→Z→T→V→E→L→R→I→B;9個字母的循環圈C→H→S→O→Y→D→P→C;7個字母的循環圈J→M→X→G→K→N→U→J。
7個字母的循環圈某些循環圈中的字母變了,但是循環圈的數目仍舊是四個,每個循環圈的長度也沒有改變。應用置換變換的理論,雷傑夫斯基可以從數學上嚴格證明這一點對於任何的連線變化都是成立的。
這是一個非常重大的進展。我們知道,如果要強行試遍所有的密鑰來破解密文,那得要試一億億個密鑰之多;但是ENIGMA的數量巨大的密鑰主要是由連接板來提供的,如果只考慮轉子的位置和它們的初始方向,只有105456種可能性。雖然這還是一個很大的數字,但是把所有的可能性都試驗一遍,已經是一件可以做到的事情了。
波蘭人按照漢斯-提羅·施密特提供的情報復制出了ENIGMA樣機。到了1934年,他們有了十幾台波蘭造ENIGMA。雷傑夫斯基和他的同事們每天都在ENIGMA前工作,一個接一個地試驗轉子的不同位置和初始方向,然後產生相應的字母對應表並構造相應的字母循環圈,並把它們記錄下來。比如說其中的一個記錄可以是這樣的:第一和第四字母對應表中有4個循環圈,長度分別為3,9,7,7;
第二和第五字母對應表中有4個循環圈,長度分別為2,3,9,12;
第三和第六字母對應表中有5個循環圈,長度分別為5,5,5,3,8;
當對所有105456種轉子位置和初始方向都編好記錄以後,破譯ENIGMA生成的密文就比較容易了。首先要取得足夠的當日電文來構造字母對應表並且寫出字母循環圈;然後根據循環圈的數目和它們的長度從記錄表中檢索出相對應的轉子位置和初始方向:這就是當日的密鑰(連接板的情況還未知)。循環圈的個數和長度可以看作是這個密鑰的「指紋」——通過建立密鑰「指紋」檔案,雷傑夫斯基就能及時地把當天的密鑰找出來。通過分離轉子的狀態和連接板的狀態,雷傑夫斯基大大簡化了破譯ENIGMA的工作。建立這樣一個檔案花了整整一年時間,工作相當艱苦,有時工作人員的手指都被磨出血來。
必須指出的是,上面對雷傑夫斯基的工作的介紹是極其簡單化的,只以舉例的形式介紹了其中最重要的思路。雷傑夫斯基對於ENIGMA的分析是在密碼分析史上最重要的成就之一,整個工作都是嚴格地數學化了的(求解關於置換矩陣的方程),決非上面所舉例子可以包含。比如說,找到當日密鑰中轉子狀態後,還需要找到連接板狀態,才能真正譯出密文。另外,ENIGMA中轉子中的線路並非總是固定不變,雷傑夫斯基的理論允許從密文和密鑰倒推出轉子內部的連線狀態。即便是施密特提供的情報也未明確指出轉子內部的連線狀態,雷傑夫斯基一項重要工作就是成功地判斷出軍用型ENIGMA的轉子上字母以字母表順序排列,而不是如商用型那樣,字母以鍵盤上的順序排列。另外還要指出的是,雷傑夫斯基的同事,尤其是另兩位數學家羅佐基和佐加爾斯基在破譯工作中也作出了很重要的貢獻。佐加爾斯基還設計了用在紙上鑽孔的方法來迅速查詢對應於某類字母循環圈的轉子狀態的方法。
在雷傑夫斯基和他的同事的努力下,波蘭情報部門在後來的幾年裡成功地掌握了大量德國方面的情報。據估計,在1933年1月到1939年9月這六年多的時間里,波蘭方面一共破譯了近十萬條德方的消息,其中最重要的有德國在包括蘇台德地區兵力重新部署的情報,這對波蘭的安全是極大的威脅。對ENIGMA的破解即便在總參二局領導層內部也屬最高機密,軍官們會收到標有「維奇爾」(Wicher,破譯ENIGMA行動的代號)的情報,他們被告知這些情報絕對可靠,但來源絕密。1934年,納粹德國元帥赫爾曼·戈林訪問華沙,他怎麼也沒有懷疑波蘭人已經掌握了他的機密。當他和德國高級官員向位處波蘭密碼處附近的無名戰士墓獻花圈時,雷傑夫斯基正透過辦公室的窗子望著他們,心中為自己能知道他們最機密的通訊而狂喜不已。
當德國人對ENIGMA轉子連線作出一點改動以後,花了一年功夫建立起來的密鑰「指紋」檔案就變得毫無用處了。但是雷傑夫斯基和羅佐基有了一個更好的主意。他們在ENIGMA的基礎上設計了一台能自動驗證所有26*26*26=17576個轉子方向的機器,為了同時試驗三個轉子的所有可能位置的排列,就需要6台同樣的機器(這樣就可以試遍所有的17576*6=105456種轉子位置和初始方向)。所有這6台ENIGMA和為使它們協作的其他器材組成了一整個大約一米高的機器,能在兩小時內找出當日密鑰。羅佐基把它取名為「炸彈」(La Bomba),可能是因為它運轉起來震耳欲聾的聲響;不過也有人傳說,製造這樣一台機器的主意是雷傑夫斯基一次在飯店裡吃叫做「炸彈」的冰淇淋時想到的。無論如何,「炸彈」實現了密碼分析機械化,它是對ENIGMA機械加密的一種很自然的回應手段。
30年代的大部分日子裡,雷傑夫斯基和他的同事們不斷地從事著尋找密鑰的工作,時不時地還要修復出了故障的「炸彈」。他們不知道的是,在密碼處處長格維多·蘭傑(Gwido Langer)少校的抽屜里,已經有了他們正在絞盡腦汁試圖尋找的東西。
事實上,在提供了兩份極其重要的關於ENIGMA的情報後,漢斯-提羅·施密特還在繼續向法國情報機關提供關於德國通訊的情報。在1931年後的七年中,他和法國情報人員接頭二十次,每次都提供若干德國通訊用密碼本,上面記載著一個月中每天使用的當日密鑰。漢斯-提羅·施密特總共提供了三十八個月的密碼。蘭傑少校通過法國密碼處(「第二處」)負責人居斯塔夫·貝特朗(Guistav Bertrand)上尉得到了這些密碼本。如果雷傑夫斯基能夠預先知道這些密碼,無疑可以節省大量的時間,從而進行其他的同樣十分重要的破譯工作。
但是蘭傑少校覺得雷傑夫斯基的小組應該習慣於單獨工作,以便在將來得不到密碼本的時候,也能同樣破譯ENIGMA。我們的確不知道,如果自1931年來沒有這樣的壓力,雷傑夫斯基是否能夠有上面所述的重要工作。
波蘭密碼局的破譯能力在1938年的十二月達到了極限,德國人加強了ENIGMA的加密能力。每台ENIGMA機增加了兩個可供選擇的轉子。原來三個轉子不同的排列方式有6種,從五個轉子中選取三個裝入機器中的方式達到了5*4*3=60種。這就意味著要達到原來的效率,「炸彈」中必須有60台機器同時運轉,而不是原來的6台。建造這樣一台「炸彈」的價格是密碼處總預算的十五倍!在1939年一月,連接板上的連線又由六根增加到十根,這樣就只剩6個字母不會被交換。密鑰的總數達到了一萬五千九百億億個,是原來的一萬五千九百倍。
雖然波蘭數學家們成功地推斷出了第四和第五個轉子中的連線狀態,雷傑夫斯基也證明了ENIGMA並非象德國人或盟國密碼分析專家想像的那樣堅不可破,但是他的方法終於也不適用了。這時蘭傑少校應該從他的抽屜里拿出施密特提供的密碼本來——但是正是德國人增加轉子個數的時候,施密特停止了和法國情報部門的接頭。七年中施密特不斷地提供給波蘭人能靠自己的力量破譯的密鑰,波蘭人急需這些密鑰,他們卻再也搞不到了。
這對波蘭是一個致命的打擊。因為ENIGMA不僅僅是德國秘密通訊的手段,更是希特勒「閃電戰」(blitzkrieg)的關鍵。所謂的「閃電戰」是一種大規模快速協同作戰,各裝甲部隊之間,它們和步兵、炮兵之間必須能夠快速而保密地進行聯系。不僅如此,地面部隊的進攻還必須由斯圖卡轟炸機群掩護支援,它們之間也必須有可靠的聯絡手段。閃電戰的力量在於:在快速的通訊保證下的快速進攻。
如果波蘭不能知道德軍的通訊,那麼想要抵擋德國的入侵是毫無希望的,現在看來這在幾個月里就會發生。1939年4月27日德國撕毀同波蘭簽訂的互不侵犯條約,侵佔了蘇台德地區;在德國國內,反波蘭的聲浪不斷高漲。在此情況下,蘭傑少校決定把直到現在還對盟國保密的關於ENIGMA的破譯方法告訴盟國同行,以便在波蘭遭到入侵後,擁有更大人力物力財力的盟國還可以繼續對雷傑夫斯基的方法進行研究。
蘭傑少校致電他的英國和法國同行,邀請他們來華沙緊急討論有關ENIGMA的事項。英法密碼分析專家到達波蘭密碼處總部,全然不知波蘭人葫蘆里賣的什麼葯。具有諷刺意味的是,這次會面中用來交流使用的語言是……德語——這是唯一的在場三方所有人都懂的語言。蘭傑少校將他們領到一間房間,在那裡有一個被黑布蒙住的東西,當黑布被揭開時,英法的密碼分析專家目瞪口呆。出現在他們眼前的是一台雷傑夫斯基的「炸彈」。當聽到雷傑夫斯基破譯ENIGMA的方法時,他們意識到波蘭在密碼分析方面比世界上任何國家先進至少十年。法國人尤其吃驚,他們以為他們得到的情報用處不大,所以很慷慨地把它們轉給了波蘭人,他們卻讓波蘭人一直瞞著。英法密碼分析專家對波蘭同行的感激是無以言表的,直到那時,他們在破譯德國密碼的方面毫無進展。
蘭傑少校給英法密碼分析專家的最後驚喜是宣布贈送給他們兩台ENIGMA的復製品,以及「炸彈」的圖紙,它們由法國密碼處的貝特朗(他是個少校了)通過外交郵包寄往巴黎。在橫渡英吉利海峽的渡船上有兩位看似平常的旅客:英國作家沙夏·居特里(Sacha Guitry)和他的太太女演員依弗娜·普林坦普斯(Yvonne Printemps)。但是在他們的旅行箱里卻藏著當時英國最高的機密:一台波蘭製造的ENIGMA。為了避開無所不在的德國間諜的耳目,ENIGMA就這樣來到了英國,在那裡等待它的將是它的徹底滅亡。
兩星期後的1939年9月1日,希特勒發動「閃電戰」入侵波蘭。9月17日,蘇聯入侵波蘭。9月28日,德軍佔領華沙,波蘭不復存在。

B. 替換式密碼的介紹

替換式密碼,又名取代加密法,是密碼學中按規律把文字加密的一種方式。替換式密碼中可以用不同的字母數為單元,例如每一個或兩個字母為一單元。密文接收者解密時需用原加密方式解碼才能獲得原文本。由於英語中替換式密碼會把26個字母拆開,使用替換式密碼較為容易;相反,中文需要建立密碼本,然後遂字替換。然而由於中文字極多,完全替換不合經濟效益。而且中文中每個字由不同大小的字根來組字,較難轉換,因此使用替換式密碼的示例比較少。當以替換式密碼與置換式密碼(英語:Transposition cipher)(或稱轉位式密碼或移轉式密碼1)相比較時,會發現轉位式密碼只是把明文中的單元的位置改變,而單元本身沒有作出改變;相反,替換式密碼只是把單元轉換,但密文中單元的位置沒有改變。替換式密碼亦有許多不同類型。如果每一個字母為一單元(或稱元素)進行加密操作,就可以稱之為「簡易替換密碼」(英語:simplesubstitution cipher)或「單表加密」(英語:monoalphabeticcipher)又稱為單字母替換加密;字母群體為單元的加密則稱為「多表加密」(英語:polyalphabeticcipher)或「表格式加密」(英語:polygraphic)。單表加密只可在一個單元中使用同一種替換加密,而多表加密則可在一個單元使用不同的加密方式,明文單元映射到密文上可以有好幾種可能性,反之亦然。

C. 解釋在古典密碼學中什麼是頻率攻擊

這是對應於簡單替換密碼的一個破解方法,取比較著名的凱撒法為例:"凱撒法"就是一 種簡單替換法,它把每個字母和它在字母表中後若干個位置中的那個字母相對應。比如說我們取後三個位置,那麼字母的一一對應就如下表所示:
明碼字母表:abcdefghijklmnopqrstuvwxyz
密碼字母表:DEFGHIJKLMNOPQRSTUVWXYZABC
於是我們就可以從明文得到密文:(veni,vidi,vici,「我來,我見,我征服」是儒勒·凱撒征服本都王法那西斯後向羅馬元老院宣告的名言)
明文:veni,vidi,vici
密文:YHAL,YLGL,YLFL
很明顯,這種簡單的方法只有26種可能性,不足以實際應用。一般上是規定一個比較隨意的一一對應,比如
明碼字母表:abcdefghijklmnopqrstuvwxyz
密碼字母表:JQKLZNDOWECPAHRBSMYITUGVXF
甚至可以自己定義一個密碼字母圖形而不採用拉丁字母。但是用這種方法所得到的密文還是相當容易被破解的。至遲在公元九世紀,阿拉伯的密碼破譯專家就已經嫻熟地掌握了用統計字母出現頻率的方法來擊破簡單替換密碼。破解的原理很簡單:在每種拼音文字語言中,每個字母出現的頻率並不相同,比如說在英語中,e出現的次數就要大大高於其他字母。所以如果取得了足夠多的密文,通過統計每個字母出現的頻率,我們就可以猜出密碼中的一個字母對應於明碼中哪個字母(當然還要通過揣摩上下文等基本密碼破譯手段)。柯南·道爾在他著名的福爾摩斯探案集中《跳舞的人》里詳細敘述了福爾摩斯使用頻率統計法破譯跳舞人形密碼的過程。

頻率分析法對"復式替換密碼"就沒有用了,比如德國的二戰時期的Enigma。

D. 二戰期間,德國研製的enigma機的工作原理是什麼

下面的圖是它的最基本部分的示意圖,我們可以看見它的三個部分:鍵盤、轉子和顯示器。

我們看見這里鍵盤和顯示器中的相同字母由電線連在一起。事實上那是一個很巧妙的開關,不過我們並不需要知道它的具體情況。我們只需要知道,當一個鍵被按下時,信號不是直接從鍵盤傳到顯示器(要是這樣就沒有加密了),而是首先通過三個轉子連成的一條線路,然後經過反射器再回到三個轉子,通過另一條線路再到達顯示器上,比如說上圖中b鍵被按下時,亮的是D燈。我們看看如果這時按的不是b鍵而是d鍵,那麼信號恰好按照上面b鍵被按下時的相反方向通行,最後到達B燈。換句話說,在這種設計下,反射器雖然沒有象轉子那樣增加可能的不重復的方向,但是它可以使解碼的過程和編碼的過程完全一樣。

E. 誰知道英格瑪機

愛倫圖靈是一個極聰明的科學家,畢業於劍橋皇家學院後攻讀普林斯敦大學並專研邏輯學及電子計算機理論。他的第一個發明「電動式計算機」是他在布萊契庄園工作時的構思,功能是在於將「數字」代替「文字」,其原理就是把數字乘上一個密數字後即成為密文,後來圖靈又拜訪了法國的布魯諾並且有「圖靈式炸彈機」的想法,此炸彈機破譯德國的「英格瑪機」電文。後來再更進一步地圖靈致力於「大型計算機」,他將大型計算機發展到極限,並思索一台機器如何能像人類一樣思考,利用它做的事又能到什麼程度,這就是我們們今天所謂的「人工智慧」。圖靈的一生曲曲折折,身為同性戀的他雖有著越的成就,但卻被人以同性戀為恥,因而在後世書中支字不提,直到霍赫胡特於<<愛倫.圖靈>>一書中將之發揚光大。

由於當時的英國已深知密碼部門的重要性因此徵用了一所庄園位於布雷契萊地區,1939年8月,密碼學校遷移至此,同時她們也有必要徵募專業人員而這時年輕有為的數學家圖靈順理成章成為庄園的一份子。
而由圖零所設計的第一台炸彈機於1940年投入使用,之後又經過數學家戈登委爾什曼成功的改進機器,1941年末布雷契萊中原內已有12台這樣的機器以供使用,1943年增至60台。
1940年5月,電文的開始不再出現對破譯大有裨益的6個字母掩飾所有可能的調節機器的方法變的更加麻煩。

介紹循環測定器及炸彈機
1.何謂循環測定機?用途為何?
我們知道英格碼機有一個相當特別的性質--密鑰的變化性,在每天新的日程開始,英格碼機就做一次改變,這樣的特性讓波蘭密碼學家頭痛不已!為解決此問題,他們發明了循環測定器還因應這樣的情形,如此一來,減輕了不少的負擔,但令人好奇的是,它是如何運作的呢?其實就是由密鑰輪的轉換及燈泡的閃爍來求得其中是否有關聯性?是否有一定的規則可循?循環測定器無法解密或加密,僅僅可以找出其規則性而已,一直發展到最後,密碼學家甚至可以搜尋少數的無線電報,藉由循環測定器,即可找出當天密鑰˙
2.循環測定器是如何發展制炸彈機?
1938年,德國將英格碼機的互動輪變換了,並且是密鑰輪由三個增加至五個,每日使用時隨機取出三個密鑰輪作排列,以作為當日的使用,這樣的改變,使得原本的循環測定器,顯得力不從心,因為波蘭密碼學家要破解的量增加了十倍之多,進而發展出更為復雜的機器---炸彈機,並且以一台炸彈機來模擬英格碼機,增加效率,這就是炸彈機的發展˙

1940年德國出征挪威,這十庄園已經成功破譯第一批密碼,一年後,在挪威外海有一架被擊落的德國飛機上發現一台英格瑪機,且得到一本密鑰本。同一年德國在攻打法國時,德的情報部隊又在征戰途中被俘虜,因此英國又獲得更多的資料。再這年五月時,英國繳獲一艘德國潛艦,又得到一本密本跟一台英格瑪機,這一切獲得的訊息推動了之後炸彈機的進一步發展。
1941年九月,德軍原本要偷襲敵軍,但是英軍潛艦突然出現並且攻打德軍,這使得德國知道密碼被破譯的可能性很大。(因為此海域平時人煙稀少。)
1942年年初,德軍就用新的機器,因此英軍便無法破解,這使得當時的大西洋戰役美軍的護航艦隊做多3次來回大西洋就被擊沉,使得此役僵持不下。但是到了十月,在英國的海法港發現有德國的潛艦,於是在英軍強力攻擊下,德潛艦又被擊敗,因此英軍又獲得最新的電碼本,因此,1942年十二月庄園又開始能破譯德軍的電報了。

「超級」是破譯英格瑪機的代稱。
1940年11月,」超級機」偵破德國想更攻擊考文垂市,邱吉爾面臨是要史考文垂市免遭 大難或是著眼將來拯救更多人的生命而不泄漏」超級機」的秘密,而邱吉爾選擇了後者 。
1974年,溫特博特姆出書」超級秘密」,但是此書普遍引起反感,因為在書中完全不提 雷耶佛斯基和圖靈,並給人認為德國放棄入侵英國全是」超級」的功勞,因此歷史學家認為這太誇大了。

閱讀全文

與復式替換密碼相關的資料

熱點內容
蕪湖寒假編程培訓是什麼 瀏覽:609
api源碼分享網站 瀏覽:511
小米復制文件找不到 瀏覽:959
什麼是網路層 瀏覽:73
如何利用編程做多文件數據合並 瀏覽:666
java如何用tcp發送16進制協議 瀏覽:975
js獲取當天 瀏覽:637
在什麼網站看戰狼2 瀏覽:881
win7桌面工具欄不見了 瀏覽:346
qq群幾個管理員 瀏覽:598
錄光碟怎麼找不到文件 瀏覽:885
flip5怎麼連app 瀏覽:273
五個g的文件怎麼傳到u盤 瀏覽:316
如何用編程編譯運行出心形圖案 瀏覽:486
linuxcentos64vpn 瀏覽:328
桔城pdf轉換成word轉換器 瀏覽:754
java數組排重 瀏覽:846
1703版win10 瀏覽:357
windows文件上傳 瀏覽:111
精通jsp編程技術 瀏覽:139

友情鏈接