Sbox

Sbox

S-box,即“substitution box”,是密碼學領域的一個基本組件,其功能是實現數據的非線性置換。

目錄

應用


S-box主要應用於對稱加密演演算法中,如DES (Data Encryption Standard)、AES (Advanced Encryption Standard)、SM1(國密演演算法)、SM4(國密演演算法)。以DES演演算法中的S1為例,圖示如下:
x0000xx0001xx0010xx0011xx0100xx0101xx0110xx0111x
0xxxx0144131215118
0xxxx11574142131
1xxxx041148136211
1xxxx11512824917
這個S-box實現6比特數到4比特數的置換。在做數據置換時,將原數據的二進位表示對應於橫軸與縱軸的拼接,如0xxxx1與x0010x拼接為000101,表示6比特數據5(十進位),對應表格中數據為7(十進位)。即5經過S-box替換為7。