破解: 007與數學相遇的地方

破解: 007與數學相遇的地方

圖片來源: 美國國家安全局手冊 “破解Enigma: Bombe解碼機的歷史"

 
 
二次世界大戰中, 德國採用了當時最複雜的機械式加密機(Enigma), 但也正因為對Enigma太過自信 (還有同盟國的保密到家), 直到戰後都不知道, 其實陸空軍的Enigma早已被破多年, 海軍的Enigma也在使用一年多後被破, 毫無機密可言. 戰史專家在戰後的評估, 認為同盟國破解Enigma通訊所得到的戰略價值, 讓戰爭至少提早兩年結束, 也使得許多年輕的生命免於犧牲.

加密方法的安全性既然如此重要, 那麼我們不妨看看, 阿邱利用反矩陣的知識把訊息加解密, 這個方法的安全性有多高呢?

daniel 寫:矩 陣就是把一些數排成一個矩形陣列,它有一些很特殊的性質,運算方式也和一般數字的四則運算不太一樣,阿邱的想法是這樣的:如果從一個有反方陣的方陣(X) 出發,他就可以把一堆數字放在可以與X相乘的矩陣(A)裡,把方陣X乘上A之後就變成另外一個矩陣(B),這個動作就等於把A加密成B。要解密的時候就利用「方陣與反方陣互乘等於單位矩陣」這個性質,把X的反方陣乘上B,就可以還原成A了。

假設阿邱的家人看到他寫的愛碼市或無名的文章, 知道 “YES" 和 “IMATH " 兩個密碼的製造方式, 但 矩陣X 在文章中被阿邱馬賽克了起來.

只靠加密前和加密後的數字, 有辦法猜到用來加密的矩陣X嗎?

答案是可以的, 也是用到反矩陣的性質:
圖檔

也就是說, 只要收集到9個加密前的數字(矩陣A), 和它們經由X加密後的數字(矩陣B), 只要A有反矩陣, 我們就可以得到X.

這 個採用 “原文-密文" 對的解碼方法, 在二次大戰中也曾被用來破解Enigma: 英國空軍在特定的海域放水雷, 迫使德國潛艇交換有關此水雷所在位置的情報, 這樣一來就有了 “水雷位置-水雷位置編碼" 的數對, 以協助數學家破解密碼機. 更瘋狂的方法也曾被提出, 007小說系列的作者弗萊明 (當時在英國情報部門工作) 就想了一招: 讓一架被俘的德軍轟炸機墜毀在德國艦艇附近, 等艦艇前來救援時, 機上假扮成德國飛行員的英國間諜趁機混上德國艦艇以竊取密碼本! 所以結論是…

如果沒有像007一樣高超的間諜技術, 那數學最好學得好一點.
 
 
iMath關鍵字搜尋:
http://www.imath.com.tw/search_engine.html
請再搜尋「反矩陣」!