顯示廣告
隱藏 ✕
看板 WaKnow
作者 waknow (waknow)
標題 [知識分享] 破解: 007與數學相遇的地方
時間 2011年04月12日 Tue. PM 03:56:02


[圖]


圖片來源: 美國國家安全局手冊 "破解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一樣高超的間諜技術, 那數學最好學得好一點XD

iMath關鍵字搜尋:

http://www.imath.com.tw/search_engine.html

請再搜尋「反矩陣」!



--
※ 作者: waknow 時間: 2011-04-12 15:56:02 來自: 114-42-3-35.dynamic.hinet.net
※ 看板: WaKnow 文章推薦值: 1 目前人氣: 0 累積人氣: 523 
( ̄︶ ̄)b charles 說讚!
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇