Des

這個S盒怎麼解決?

  • February 9, 2022

在此處輸入圖像描述

我已經執行了 XOR,結果為 1001。現在我的困惑是,在標準 S-Box (DES) 中,輸入是 6 位,其中第一位和最後一位一起指定行和中間 4 位列。即使我在左側附加兩個零,使 XOR 結果為 001001,那麼問題中不存在第 01 行。如果我不這樣做,那麼第 11 行即第 3 行也不存在。

置換錶再次由 4 位位置組成,表明 S-Box 輸出以 4 位表示(沒問題)。我對 S-Box 部分感到困惑。請幫忙。

您將自己限制為唯一可能的 DES Sbox。不,這不是唯一的方法,而且 DES SBox 有 6 位輸入和 4 位輸出。你的 SBox 實際上是一個排列和可逆的。DES SBoxes 是不可逆的。

您的 Sbox 只是一行並且有效。1001是 9,Sbox 的輸出是1010二進制的 10。您可以將AES 的 SBox視為替代方案,並註意也可以為 AES 的 Sbox 編寫一行。

現在,這是您的 Sbox 的表格版本;最低兩位確定列,其餘位確定行。例如0100表示列00和行01

$$ \begin{array}{|c|c|c|c|c|c|}\hline & \color{red}{00}& 01 & 10 & 11\ \hline 00 & 7&9&1&0\ \hline \color{red}{01}& \color{red}{2}&4&11&6\ \hline 10& 15&10&14&13\ \hline 11& 8&3&12&15\ \hline \end{array} $$

這裡沒有魔法。任何具有 $ 2^{2n} $ 元素可以變成 $ 2^n \times 2^n $ 只需將表格寫入表格 $ 2^n $ 行並給出第一個 $ n $ 位到列號,其餘到行號。

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