“恩尼格瑪密碼機,對吧?我看德維特本子上有這玩意。”宋河說。
“對,不過在講複雜密碼之前,先講倆簡單的,這樣可以按密碼學曆史進程給你講。”
相曉桐起身,從枕頭旁拿起德維特密碼本,迅速翻頁。
“你看這一頁,注意每個字母大小。”相曉桐翻開一頁遞過來。
宋河認真端詳,哦了一聲,“個彆字母寫的略大一點!”
“針刺加密法的變式,最早是古希臘伊尼厄斯提出來,寫一段無關緊要的話,在特定字母下方用針刺一個小洞,收信人把帶小洞的字母連起來,就能得到信息。”相曉桐解釋。
宋河把略大的字母連起來讀,果然就是明文。
“十九世紀,大不列顛的郵件係統很貴,每封信郵費是1英裡1先令,普通老百姓壓根付不起。但有個漏洞,遞送報紙免費,當時的大不列顛民眾就用針在報紙上找字母刺,拿到郵局去,一分錢不花完成投遞。”
“咱們古代有一個類似手段,折痕密碼法,把一張紙先橫豎對折幾下,展開,在折痕交界處寫情報,寫完之後再前後拓展一些詩詞或者無意義的話,把關鍵字淹沒。”
宋河點頭表示懂了,他翻翻德維特密碼本,發現針刺密碼法記在恩尼格瑪密碼後麵。
看來德維特並非按從易到難順序寫,很難說哪頁的密碼難,哪頁的密碼簡單。
“往後翻一頁。”相曉桐說,“一戰漢斯國用的adfgvx密碼,替代法和移位法綜合,兩層加密,有一個鑰匙單詞,把要傳遞的明文一行行寫在鑰匙單詞底下,然後把鑰匙單詞調整成字母表順序,底下跟著變,明文形成密文。”
宋河抓過一張打草紙,“我試試,你看是不是這樣?假設鑰匙詞是春眠不覺曉!”
【鑰匙:春眠不覺曉】
【情報:敵軍五萬人】
“然後春開頭是c,眠m,不b,覺j,曉x,按照字母順序排就是……不春覺眠曉!”宋河快速寫。
【鑰匙排序:不春覺眠曉】
【最終密文:五敵萬軍人】
“對,你這是第二步加密,第一步類似於維吉尼亞密碼,有一個密碼表,比如敵軍五萬人,可能會在第一步的密碼表裡加密成,然後按你這流程二次加密就變成,收到信的人再根據鑰匙詞和手裡的密碼表去解。”
宋河想了想,“我有個問題,為什麼叫adfgvx密碼?”
“這一串字母分彆是密碼表的列名,至於為什麼選它們做列名,是因為當時用無線電了,無線電裡麵這幾個字母的點線相似性最低,能降低發報員誤操作風險。”相曉桐解釋。
“密碼特征和傳播技術息息相關。”宋河恍然。
“對,你悟出了很重要的一點,記住這一點,後麵會用到。”相曉桐肯定道,“adfgvx密碼也不安全,高盧有個叫喬治·邦梵的密碼專家,以暴瘦三十斤的代價把它破解了。”
宋河認真看看密碼本,“確實容易破解。”
“到這裡有個曆史事件,堪稱密碼學顛覆世界格局的代表性事件。”相曉桐話鋒一轉。
“願聞其詳!”宋河感興趣,哪個學生不喜歡老師上課時講點小故事呢?
“1915年,漢斯國潛艇把一艘露西塔尼亞號郵輪給打了,死掉近一千兩百人,死者有一百多個燈塔國人。漢斯國再三保證,今後潛艇攻擊前會先浮到水麵上看看,避免誤擊無辜民船,於是燈塔忍了,沒因此參戰。”
“但很快,漢斯國軍官勸皇帝,廢除之前的潛艇上浮保證,因為當時反潛技術還沒起步,潛艇在水下發射魚雷,幾乎不會遭受攻擊。”
“軍官們保證,隻要允許潛艇肆無忌憚攻擊,可以在六個月內封鎖大不列顛,迫使大不列顛饑荒投降。”
“皇帝簽字同意了,但有個顧慮,潛艇肆無忌憚亂打,必然頻繁打沉燈塔國民船,很容易激怒燈塔,引來宣戰。”
“所以,必須在燈塔動員軍隊參戰之前,儘快把歐洲的仗打贏。為了勝利穩固,皇帝讓齊默爾曼在外交方向努力。”
“齊默爾曼的外交計劃是,和仙人掌國結盟,重金慫恿仙人掌國入侵燈塔,收複得州、新仙人掌州一帶的失地。同時,齊默爾曼希望仙人掌國再去慫恿東瀛,讓東瀛也在太平洋同時入侵燈塔。”
“如此一來,燈塔自顧不暇,漢斯國就可以蕩平歐洲,計劃非常完美。”
“好家夥,這哥們兒真是敢想敢乾!”宋河微微吃驚,他頭一回聽說這段曆史。
“但是,情報傳遞上出了岔子。”相曉桐繼續講。