Block-Cipher
當 1 位進入 s-box 但有 2 個(或更多)出來時,這意味著什麼?
我試圖了解比特是如何在 PRESENT 密碼中傳播的。進入 PRESENT 排列的位只經過三輪就回到原來的位置。但有人告訴我,事實上 S-box 也會影響它們的傳播方式。具體來說,當一個位進入 S-box 時,會出現兩個或更多。我無法理解這一點,因為我看到四個進去,四個出來。非常感謝使用 PRESENT S-box 的簡短數值範例。
這很簡單。你剛剛弄錯了。是的,s 框是 4 位寬。這意味著它包含 2^4 個查找值:-
因此它可以接受從 0000 到 1111 的任何二進制輸入。當我們說一個位進入時,我們的意思是一個活動位。這是指將輸入數據表示為非零的密碼的位。將 s 盒的輸入視為物理線路。並非所有電線都始終攜帶資訊,但有 4 根電線永久連接到每個 s 盒。例如,進入 s 框的值 0010 被認為是一個有效位。只有一個“1”,不管它在半字節中的位置。如果 0010 進入,0110 根據上面的 PRESENT 替換 (2 → 6) 出來。現在有兩個“1”可以進一步傳播。
活動位的概念很重要,因為 s 框和排列層的組合意味著活動位可以出現、消失和劇烈改變相對位置。在上面的例子中,一個有效位進入,兩個出來。電線在三輪內返回到它們的原始位置,但活動位將遍布整個地方,因為它們將有效地跳過電線。這是導致香農混亂和擴散的替代和排列。
有一個s 框標籤,它將向您顯示大量相關問題,這些問題可能會充實我所寫的內容,並詳細說明一個好的 s 框的細微差別。並非所有的 s 框都是一樣的。