S盒设计全解析:从DES到Rijndael
1. S盒类型及问题
S盒在密码学中扮演着重要角色,常见的S盒类型有压缩S盒、扩展S盒和普通S盒。
- 压缩S盒 :以DES S盒为例,每个DES S盒输入6位,输出4位,差值为16(8×2),丢弃的位是之前添加的位。如图8.3所示为压缩S盒。
- 扩展S盒 :输出的位比输入的位多,一种简单的实现方法是复制部分输入位,如图8.4所示。
压缩和扩展S盒存在一些显著问题:
|问题|详情|
| ---- | ---- |
|可逆性(解密)|由于这两种类型的S盒会改变总位数,逆转过程困难,设计算法时需格外小心,否则可能无法解密。|
|信息丢失|特别是压缩S盒,不过在DES中,由于算法前期扩展了位,所以能避免信息丢失。|
总体而言,使用压缩或扩展S盒会给S盒设计带来显著复杂性,因此普通S盒更为常见。
2. S盒设计考虑因素
无论创建何种类型的S盒,要成为有效的S盒,必须具备某些特征,其有效性通常通过三个标准来衡量:
- 严格雪崩准则(SAC)
- 定义 :当明文的一位发生变化时,密文的多位应发生变化。理想情况下,一位明文的变化应使约一半的密文位发生变化。严格雪崩准则要求对于任何输入位,输出位有0.5的概率发生变化。
- 示例 :
- 初始明文:10110011,加密后密文:11100100。
- 改变一位明文
超级会员免费看
订阅专栏 解锁全文
614

被折叠的 条评论
为什么被折叠?



