Aes
怎樣才能建構出有史以來最弱的 S-box?
是否有可能提出一個 NxN S-box,它有一個差異分佈表,其中 N 個條目的機率為 100%?
我正在研究 S-box 的屬性,但我不太明白設計不佳的 S-box 如何破壞所有密碼的安全性。
例如,如果有人用我上面描述的這種 S-box 替換 AES-256 的 S-box 表,他/她是否能夠用一些已知的明文/密文對破解密碼?
編輯:
這是最沒用的 S-box 的變體:
sbox = [51, 236, 224, 63, 203, 20, 24, 199, 83, 140, 128, 95, 171, 116, 120, 167, 142, 81, 93, 130, 118, 169, 165, 122, 238, 49, 61, 226, 22, 201, 197, 26, 210, 13, 1, 222, 42, 245, 249, 38, 178, 109, 97, 190, 74, 149, 153, 70, 111, 176, 188, 99, 151, 72, 68, 155, 15, 208, 220, 3, 247, 40, 36, 251, 195, 28, 16, 207, 59, 228, 232, 55, 163, 124, 112, 175, 91, 132, 136, 87, 126, 161, 173, 114, 134, 89, 85, 138, 30, 193, 205, 18, 230, 57, 53, 234, 34, 253, 241, 46, 218, 5, 9, 214, 66, 157, 145, 78, 186, 101, 105, 182, 159, 64, 76, 147, 103, 184, 180, 107, 255, 32, 44, 243, 7, 216, 212, 11, 127, 160, 172, 115, 135, 88, 84, 139, 31, 192, 204, 19, 231, 56, 52, 235, 194, 29, 17, 206, 58, 229, 233, 54, 162, 125, 113, 174, 90, 133, 137, 86, 158, 65, 77, 146, 102, 185, 181, 106, 254, 33, 45, 242, 6, 217, 213, 10, 35, 252, 240, 47, 219, 4, 8, 215, 67, 156, 144, 79, 187, 100, 104, 183, 143, 80, 92, 131, 119, 168, 164, 123, 239, 48, 60, 227, 23, 200, 196, 27, 50, 237, 225, 62, 202, 21, 25, 198, 82, 141, 129, 94, 170, 117, 121, 166, 110, 177, 189, 98, 150, 73, 69, 154, 14, 209, 221, 2, 246, 41, 37, 250, 211, 12, 0, 223, 43, 244, 248, 39, 179, 108, 96, 191, 75, 148, 152, 71]
但我無法弄清楚它是按照什麼規則建構的。
任何仿射函式都可以。讓您的 Sbox 成為
$$ S(x)=Mx\oplus c $$在哪裡 $ M $ 是一個 $ n\times n $ 二元矩陣和 $ c $ 是一個 $ n- $ 位常數向量。 這個 Sbox 的輸出差異是,對於任何非零 $ a $
$$ S(x \oplus a)\oplus S(x)=(M(x\oplus a)\oplus c )\oplus Mx\oplus c= M a\oplus c $$ 這是固定的常數 $ a $ 因此該輸入差異的所有輸出差異都具有相同的值。 對於非平凡的選擇 $ c $ 非零或 $ M $ 一個非單位矩陣。矩陣必須是可逆的(超過 $ GF(2) $ ) 使 Sbox 是可逆的,即適當的替換。
使用這種類型的 Sbox 的 AES 可以輕鬆破解。
編輯:有關詳細資訊,請參閱此問題的答案。