①将给定十六进制数全部转化为2进制数
eg:
0x010101010102,我们可以将其表示为二进制形式:
00000001 00000001 00000001 00000001 00000001 00000010
②每6位对应一个S盒:
S1:000000
S2:010000
S3:000100
...
S8:000010
③每个6位数的第一位和倒数第一位组成的二进制数对应十进制数为这个6位数对应S盒的行号(每个S盒4行16列,注意数字从0开始:0~3,0~15)
S2对应第一位和倒数第一位组成的二进制数为00,对应十进制为0,对应S2盒第0行
④每个6位数的第二位~倒数第二位组成的二进制数对应十进制数为这个6位数对应S盒的列号
S2对应第二位~倒数第二位组成的二进制数为1000,对应十进制为8,对应S2盒第8列
⑤查S盒表,根据③、④所得行、列找对应十进制数,转化为二进制
S1:0 行 0 列:14--1110
S2:0 行 8 列:9--1001
S3:0 行 2 列:9--1001
S4:1 行 0 列:13--1101
S5:0 行 0 列:2--0010
S6:0 行 8 列:0--0000
S7:0 行 2 列:2--0010
S8:0 行 1 列:2--0010
所以转换结果为1110 1001 1001 1101 0010 0000 0010 0010
⑥最后根据要求转化为十六进制等