enigma 的戒指設置如何改變接線表?
編輯:我正在嘗試製作的模型是“Enigma 1”。我最初是從一本名為“Code Book”的書中了解到它的,然後從它的維基百科頁面上詳細查看了它。該網站不允許我也添加更多連結,但Google“謎轉子詳細資訊”並查看維基百科頁面
這裡有一個措辭相似的問題,但它沒有回答我的問題。
我正在嘗試製作一個謎模擬器。我已經完成了除了戒指設置之外的所有事情。它們如何影響換人?
例如,假設初始轉子設置為:
abcdefghijklmnopqrstuvwxyz ekmflgdqvzntowyhxuspaibrcj
我認為通過應用 B 或 2 的環設置,設置應變為:
abcdefghijklmnopqrstuvwxyz kmflgdqvzntowyhxuspaibrcje
我認為我應該做的就是將環位置添加到轉子位置。但情況似乎並非如此。我嘗試以這種方式從這裡解密第一條範例消息,但沒有成功。我什至試圖讓程序循環執行,直到它找到預期的答案,這樣我就可以推斷出環設置和轉子位置之間的關係,但它從未找到它。
但是在線上謎題模擬器上使用相同的設置是有效的。一切似乎都一樣,除了根據線上模擬器,b 或 2 環設置上的轉子接線應該是:
abcdefghijklmnopqrstuvwxyz kflngmherwaoupxziyvtqbjcsd
到底是怎麼變成這樣的?
少了兩塊。首先,環形設置改變了輸出字母,它不會旋轉整個退出模式。其次,轉子在字母加密之前先行。
如果您的轉子(Enigma I Rotor I)是這樣設置的,環位於 A。
abcdefghijklmnopqrstuvwxyz ekmflgdqvzntowyhxuspaibrcj
然後,如果您將環推進到 B,所有輸出將在字母表上移動一個。
A
將成為F
而不是E
.B
將成為L
而不是K
. 等等。abcdefghijklmnopqrstuvwxyz flngmherwaoupxziyvtqbjcsdk
這幾乎與模擬器匹配,但為什麼模擬器的輸出偏移了一個?
abcdefghijklmnopqrstuvwxyz kflngmherwaoupxziyvtqbjcsd
請記住,當按下一個鍵時,轉子會在電信號通過轉子之前前進。因此,要在 A 位置檢查通過最右側轉子的電流,必須在按下鍵之前將轉子設置在 Z 位置(如果其他轉子由於階躍,這也適用於其他轉子)。
資料來源:Enigma Machine 的技術細節
當您按下
A
轉子時,將前進到B
根據 加密字母B
。您的模擬器必須首先推進轉子,然後加密字母。
了解通過轉子的電流路徑的最簡單方法是為三個輪子組成六個表,三個向前和三個向後加上一個用於反射器的表。
該模擬器與轉子
III, II, I
和B reflector
. 當按下第一個鍵,即第一次進入時,模擬器使轉子前進。為簡化起見,將環設置為
1, 1, 2
。然後,當您按下第一個鍵時,轉子將在鍵盤端子上的固定端子與轉子芯上的字母相匹配(其中包含轉子的固定接線)。路徑是轉子I-II-III, reflector, III, II, I
。然後目前路徑是A-E,E-S,S-G
反射器給出的路徑G-L
,然後使用從輪子開始的反向表III
,返迴路徑是L-F, F-W, W-N
。輸入的結果A
是字母N
。對於下一個
A
輸入,轉子移動一個,以便轉子上的字母相對於鍵盤上的終端移動(這些是固定的)。來自鍵盤的字母A
進入A
終端,但現在進入B
轉子上的字母。和以前一樣,使用表格,B
轉到K
轉子上的字母,但由於移位到J
下一個轉子的終端(假設其他轉子沒有移位)。我們目前的路徑現在是J-B, B-D, Reflector D-H
,帶有返迴路徑(使用從轉子開始的反向表III
)H-D, D-C
。由於轉子的移動,端子與轉子鐵芯上C
的字母相對。D``I
由於移位,轉子上的字母
D
連接到端子G
並G
與端子相對。F
因此,第二個A
將作為F
.使用的轉子是(轉子上的前三個字母)
ROTOR.I.... A-E,B-K,C-M ,.... THE RETURN IS.. A-U,B-W,C-Y .... ROTOR.II.... A-A,B-J,C-D,.... THE RETURN IS.. A-A,B-J,C-P ..... ROTOR.III.... A-B,B-D,C-F...... THE RETURN IS.. A-T,B-A,C-G.... REFLECTOR (B)... A-Y,B-R,C-U..
轉子的左側有一個帶有 26 個字母或數字的環。這個環是彈簧載入的,可以向外拉,這樣它就可以相對於主體(核心)旋轉。
環下方是固定在主體上的一個點。這通常設置
A
在轉子上的位置。如果我們想將環設置更改為B
或位置 2,那麼我們可以通過拉出環並將核心保持在A
位置(相對於固定鍵盤位置A
),移動環使字母B
(或2
)在環與核心上的點相對。然後鬆開戒指,現在我們B
在視窗中有字母而不是A
。現在必須轉動轉子,A
使環上的字母顯示在視窗中。從而反轉轉子B
的A
法線方向,轉子的Z
位置現在與固定A
端子相反。.............D..C..B..A..Z..Y..X...........fixed terminals from keyboard ..... .............D..C..B..A..Z..Y..X...........core of rotor....................... .............D..C..B..A..Z..Y..X.........MOVABLE RING..........................
現在更改為響鈴設置
B
(2):.............D..C..B..A..Z..Y..X .............D..C..B..A..Z..Y..X .............E..D..C..B..A..Z..Y
現在旋轉,以便
A
顯示在轉子的視窗中。由於環已接合,這會旋轉下方的兩排。
.............D..C..B..A..Z..Y..X .........D..C..B..A..Z..Y..X .........E..D..C..B..A..Z..Y ..........................^....
中間行上的點
A
表示核心(所有接線所在的位置)現在位於B
相對於鍵盤端子(頂行)的位置。請注意,核心現在位於頂行Z
的終端旁邊。A
下排的視窗顯示為
A
。如果我們現在選擇鍵盤上的一個鍵,那麼這將旋轉轉子,以便B
顯示在視窗中。中間行現在將在鍵盤的終端A
旁邊。A
這就是為什麼您可以
1, 1, 2
在模擬器上設置鈴聲,以便我們從A
聯繫人中獲得讀數。2
設置等價於設置B
。