Re: [請益] 模仿遊戲 關於解碼過程

作者: JamesHowlett (詹姆士好累)   2015-02-28 23:52:01
※ 引述《JamesHowlett (詹姆士好累)》之銘言:
: 在電影裡
: 瓊的同事每天都會截聽到的電報 其開頭都會有五個字母CILLY
: 圖靈聽到這個消息後 想到可以利用重複字詞 天氣 或 結尾希勒特萬歲等等
: 讓機器運算的過程簡化
: 我大概查了德軍在二戰使用恩尼格瑪的規範
: 德軍會每天更換日密鑰(Day Key)
: 並在每封電文開頭重複三個用日密鑰加密過的字母
: 例如ABCABC→GHIQUY
: 當作個別電文密鑰(Message Key)
: 所以瓊的同事截聽到的電文應該不是密文
: 不然她就無法聽出開頭的字母都是固定的CILLY
: 而是今天收到FHWRE 明天收到JIEKW 後天收到EKGQE 之類的(雖然轉譯成明文都是CILLY)
: 代表瓊的同事應該是收到明文
: 不過德國規定明文開頭要五個隨機字母的用意何在?
: 當然 我知道電影這段破解過程是虛構的
: 我只是好奇在電影脈絡當下這串CILLY是怎麼回事
結果自己回自己文XD 我想了很久 發現情況可能是這樣
先來講Enigma這機器當時德國人怎麼用
機器要先設定參數 參數都設定好後 假設輸入明文HELLO 顯示螢幕得到密文QIEJF
發送方把這密文抄下來傳出去 假如對方有同一台機器 參數設定也都跟發送方一模一樣
則他在鍵盤輸入密文QIEJF 就能得到明文HELLO
也就是說 明文加密成密文 密文再加密一次(即解密)又得到原先的明文
當然德國人知道要雙重保險 故參數分兩組 每日金鑰(day key)跟每文金鑰(message key)
每日金鑰已經在每個月發放給各單位的密碼本裡 每天都要定期更換
每文金鑰則是隨發送方設定 在發送時會先用每日金鑰加密 附在電文的最前面
對方接收人員取出最前面的數字 用每日金鑰解密後 得到專屬於這封電文的每文金鑰
然後把參數 也就是兩個金鑰(每日+每文金鑰)都設定好
就能把收到的密文鍵入機器 得到全部明文
現實中 德軍規定每文金鑰必須三個字重複打 像是CILCIL
我想電影可能稍做更動 把每文金鑰改成五個字
現在 電影裡有個德國士兵很愛CILLY這女孩
他希望傳送出去的密文開頭
作者: penny31029 (~快樂跳恰恰~)   2015-03-01 16:09:00
這樣無法解釋海倫為何知道是CILLY,聽電報的小姐是沒空解密的,就算解了密也不會讓小姐知道內容唯一個解釋就是海倫收到的內容就已經是CILLY因為傳送員偷懶不先把無意義的亂碼加密成另一串無意義密碼,反正CILLY每天被解出來的亂碼都不一樣也不重要
作者: poiu1234 ( )   2015-03-02 11:34:00
push, 德國被愛害死

Links booklink

Contact Us: admin [ a t ] ucptt.com