套用
S-box主要套用於對稱加密算法中,如DES (Data Encryption Standard)、AES (Advanced Encryption Standard)、SM1(國密算法)、SM4(國密算法)。以DES算法中的S1為例,圖示如下:
x0000x | x0001x | x0010x | x0011x | x0100x | x0101x | x0110x | x0111x | |
0xxxx0 | 14 | 4 | 13 | 1 | 2 | 15 | 11 | 8 |
0xxxx1 | 0 | 15 | 7 | 4 | 14 | 2 | 13 | 1 |
1xxxx0 | 4 | 1 | 14 | 8 | 13 | 6 | 2 | 11 |
1xxxx1 | 15 | 12 | 8 | 2 | 4 | 9 | 1 | 7 |
這個S-box實現6比特數到4比特數的置換。在做數據置換時,將原數據的二進制表示對應於橫軸與縱軸的拼接,如0xxxx1與x0010x拼接為000101,表示6比特數據5(十進制),對應表格中數據為7(十進制)。即5經過S-box替換為7。