S盒

在密碼學中 ， 一個S盒 （ Substitution - box ， 替換盒 ） 是對稱密鑰加密算法執行替換計算的基本結構 。 在塊密碼中 ， 它們通常用於模糊密鑰與密文之間的關係 — — 香農的混淆理論 。 通常 ， S - Box接受特定數量的輸入比特m ， 並將其轉換爲特定數量的輸出比特n ， 其中n 不一定等於m 。 一個m × n的S盒可以通過包含2m條目 ， 每條目n比特的查找表實現 。 S盒通常是固定的 （ 例如DES和AES加密算法 ）, 也有一些加密算法的S盒是基於密鑰動態生成的 （ 例如Blowfish和雙魚算法加密算法 ） 。 DES的6 × 4位S盒 （ S5 ） 是一個很好的例子 ： 給定6比特輸入 ， 將首尾兩個比特作爲行條件 、 中間四個比特 （ inner four bits ） 作爲列條件進行查表 ， 最終獲得4比特輸出 。 例如 ， 輸入 “ 011011 ” ， 通過首尾兩個比特 “ 01 ” 和中間的比特 “ 1101 ” 進行查表 ， 最終的輸出應該是 “ 1001 ” 。