看板 movie 關於我們 聯絡資訊
※ 引述《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這女孩 他希望傳送出去的密文開頭---也就是用每日金鑰加密過後的每文金鑰都是CILLY 要達成這效果該怎麼做? 首先機器已經設定好每日金鑰 接著鍵盤輸入CILLY 得到一串密文 假設是VOFEG好了 他就把這VOFEG當成每文金鑰的『明文』 把這每文金鑰(VOFEG)設定好 然後開始打內文 當然發送電文時 要記得前面就直接打CILLY 而對方收到密文 在機器打上開頭的CILLY 就能得到該文正確的每文金鑰 也就是VOFEG 我勉強想到的解釋如以上所述 這樣子保證了每天發出去的密文開頭都是CILLY 儘管每日金鑰天天要更換也不影響 不過這也代表該名德國士兵不是偷懶 而是真的對CILLY很癡情 因為這樣搞腦筋需要稍微轉一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.233.31 ※ 文章網址: https://www.ptt.cc/bbs/movie/M.1425138723.A.C62.html ※ 編輯: JamesHowlett (1.161.233.31), 02/28/2015 23:54:30 ※ 編輯: JamesHowlett (1.161.233.31), 03/01/2015 04:04:14
penny31029: 這樣無法解釋海倫為何知道是CILLY,聽電報的小姐是 03/01 16:09
penny31029: 沒空解密的,就算解了密也不會讓小姐知道內容 03/01 16:09
penny31029: 唯一個解釋就是海倫收到的內容就已經是CILLY 03/01 16:10
penny31029: 因為傳送員偷懶不先把無意義的亂碼加密成另一串無意義 03/01 16:11
penny31029: 密碼,反正CILLY每天被解出來的亂碼都不一樣也不重要 03/01 16:12
我內文的看法就是 海倫的確收到了cilly 每天 發送者都讓他開頭的message key加密過後剛好變成是cilly (道理我有闡述了) 因為史實中開頭那一串是有意義而非無意義 那一串解碼過後必須能解開內文訊息 只是電影沒提及開頭那一串是否為message key 我就根據史實把它想成真的是message key 算是讓電影跟現實勉強相符 也能解釋為什麼海倫收到的都是cilly ※ 編輯: JamesHowlett (1.161.233.31), 03/01/2015 16:44:14
poiu1234: push, 德國被愛害死 03/02 11:34