s盒
对称密钥算法执行置换计算的基本结构
密码学中,S盒(Substitution-box)是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是唯一的非线性结构,其S盒的指标的好坏直接决定了密码算法的好坏。
原理
压缩后的密钥与扩展分组异或以后得到48位的数据,将这个数据送入S盒,进行替代运算。替代由8个不同的S盒完成,每个S盒有6位输入4位输出。48位输入分为8个6位的分组,一个分组对应一个S盒,对应的S盒对各组进行代替操作。
一个S盒就是一个4行16列的表,盒中的每一项都是一个4位二进制数表示的十进制数。S盒的6个输入确定了其对应的那个盒。输入的高低两位做为行数H,中间四位做为列数L,在S-BOX中查找第H行L列对应的数据。(S盒的行列计数都是从0开始。)
8个S盒变换如下:
S1盒
S2盒
S3盒
S4盒
S5盒
S6盒
S7盒
S8盒
举例
我们以s8盒为例,输入110011,第一位和第六位(最高位和最低位)组合为11(二进制),转换为十进制为3,则在s8盒中行号为3。接下来我们计算列,原始数据第二位到第五位为1001(二进制),转换为十进制为9,则在s8盒中列号为9。s盒8的03行09列的数字为12,转换为二进制为1100,因此用二进制1100来代替110011。
S盒代替是DES算法的关键步骤,所有的其他的运算都是线性的,易于分析,而S盒是非线性的,相比于其他步骤,提供了更好安全性。
参考资料
对称加密算法.百度学术.
最新修订时间:2023-02-22 16:29
目录
概述
原理
参考资料