ENIGMA 機器的基本工作原理是通過一系列轉子(rotors)和一個插線板(plugboard)去實現復雜的字母替換。
設置:
每臺 ENIGMA 機器都有幾個可旋轉的轉子,通常為3到4個(在某些高級版本中可能更多),以及一個反射器。
操作員會根據當天的密鑰簿來設置機器。這包括選擇使用的轉子及其順序、轉子的初始位置、以及插線板上的連接。插線板是允許操作員將字母對交換的,進一步增加了加密的復雜度。
當操作員按下鍵盤上的一個字母鍵時,電信號會經過第一個轉子,然后傳遞給下一個轉子,直至到達反射器。
反射器將信號反彈回,并通過不同的路徑返回,再次經過所有轉子,最后點亮一個燈泡,就會顯示出加密后的字母。
當然啦!每次按鍵后,至少有一個轉子會轉動,類似于機械表的齒輪系統。這種轉動改變了每個后續字母的加密方式,即使相同的字母也會被加密成不同的密文字母。
轉子的設計使得每次加密都基于一個新的內部狀態,從而產生高度隨機化的輸出。
解密:
解密的過程與加密相同。如果接收方的 ENIGMA 機器按照發送方的同樣方式進行配置,那么當輸入密文時,機器會輸出原始的明文。
這是因為反射器保證了加密過程是對稱的:從A到B的路徑與從B回到A的路徑相同。
JN-25b密碼系統其實是基于一本密鑰書(就是通俗理解為一個密碼本)和一系列復雜的加密步驟。JN-25b 的具體加密和解密過程涉及到以下幾個關鍵部分:
每個參與通信的單位都持有一份相同的密鑰書。這本密鑰書中包含了大量的五位數代碼,這些代碼與日語單詞、短語、軍事術語等相對應。
除了基本的密鑰書之外,還存在一系列附加碼表,用于增加消息的安全性。這些附加碼表通常定期更換,并且只有特定的人員才能夠去訪問。
每天會有一個新的日期指示器,它指定了當天使用的密鑰序列。這意味著即使敵方獲得了密鑰書,如果不曉得正確的日期指示器,依舊是沒有辦法去正確的解密信息。
隨機化元素必不可少,為了進一步混淆信息,發送方會在消息中加入一些隨機化的數字或字母。這部分內容對于接收方來說是已知的,但對于試圖破譯消息的人來講會增加很大的一個難度。