Encryption
在給定 8 位 S-box 輸入的情況下查找輸出
我被告知要在給定 2B 的十六進制輸入的情況下找到輸出。我知道二進制的 2B
= 001 01 011
所以我用前兩個和最後兩個外
(0011)
部位找到第一行,即row 3
. 然後我用剩餘的位(10 10)在第一行找到數字 10。匹配這些值,我得到最終答案 3,即二進制 11。但正確答案是 1001,即十進制的 9。我不知道我在哪裡出錯了。我遵循了 6 位數字的過程,但我確實覺得我錯過瞭如何解決 8 位數字的關鍵要素。
DES 的 S-Boxes 從 6 位映射到 4 位。 $ 2b $ 寫成二進製表示是 $ 10\ 1011 $ , 不是 $ 001\ 01\ 011 $ 如你所說。現在取第一位和最後一位(與 DES S-box 一樣)得到我們 $ 11_{bin} = 3_{dec} $ 這是表中的最後一行。取中間 4 位等於 $ 0101_{dec} = 5_{dec} $ . 現在我們可以從表格中讀取最終結果 $ 9_{dec} = 1001_{bin} $