Notation

為什麼這與 Enigma Machine 轉子相反?

  • August 9, 2016

我正在了解 Enigma Machine 的工作原理,我發現了這個由 Enigma Machine 加密的一個字母的例子。它顯示字母**“G”**穿過三個轉子,然後進入反射器,然後回到反向轉子。這就是我感到困惑的地方。

轉子是

Rotor I:   BDFHJLCPRTXVZNYEIWGAKMUSQO
Rotor II:  AJDKSIRUXBLHWTMCQGZNPYFVOE
Rotor III: EKMFLGDQVZNTOWYHXUSPAIBRCJ
Reflector: ABCDEFGHIJKLMNOPQRSTUVWXYZ  # not sure if this matters
          YRUHQSLDPXNGOKMIEBFZCWVJAT

我認為轉子的反轉只是每個轉子都像這樣反轉。

Inversed Rotor I:   OQSUMKAGWIEYNZVXTRPCLJHFDB
Inversed Rotor II:  EOVFYPNZGQCMTWHLBXURISKDJA
Inversed Rotor III: JCRBIAPSUXHYWOTNZVQDGLFMKE

但在我連結到的例子中

Inversed Rotor I:   TAGBPCSDQEUFVNZHYIXJWLRKOM
Inversed Rotor II:  AJPCZWRLFBDKOTYUQGENHXMIVS
Inversed Rotor III: UWYGADFPVZBECKMTHXSLRINQOJ

我看不出轉子和它們的反轉版本之間有任何關係。那麼,這個例子是錯誤的,還是我遺漏了什麼?

該範例使用轉子的簡寫符號,這在某種程度上掩蓋了它們的實際工作方式。例如,您範例中的第一個轉子BDFHJLCPRTXVZNYEIWGAKMUSQO,實際上應用了以下字母排列:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
BDFHJLCPRTXVZNYEIWGAKMUSQO

顯然,將這個轉子應用在相反的方向上,給出了逆排列:

BDFHJLCPRTXVZNYEIWGAKMUSQO
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ABCDEFGHIJKLMNOPQRSTUVWXYZ

現在,同樣的逆排列也可以等價地寫成:

ABCDEFGHIJKLMNOPQRSTUVWXYZ
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
TAGBPCSDQEUFVNZHYIXJWLRKOM

您可以檢查它們是否確實是相同的排列:都是 map ATBACG等等。唯一的區別是各個輸入/輸出字母對的列出順序:在第一個版本中,它們按輸出字母排序,而在第二個版本中,它們按輸入字母排序。

現在,您正在閱讀的頁面使用速記符號,其中排列始終按輸入字母排序,實際上只顯示輸出字母。這給出了一個很好且緊湊的表示法,但它確實使例如查看兩個排列是否實際上彼此相反變得有點困難。

引用自:https://crypto.stackexchange.com/questions/24877