密码学中的基本组件与结构
1. S-Box(替换盒)
1.1 定义与基本概念
S-Box,即替换盒,是数字替换的术语。它被视为一个简单的函数,接受小输入并使用简单函数或查找表给出输出。图形化时,S-Box通常画成简单的盒子。
S-Box通常与大小相关,指其输入和输出的大小(通常相同,但也可不同)。例如,一个3位的S-Box,记为S,可表示为:
S[0] = 7 S[3] = 4 S[6] = 0
S[1] = 6 S[4] = 3 S[7] = 1
S[2] = 5 S[5] = 2
也可仅写出输出,假定输入隐式编号为0到$2^b - 1$(b为输入位大小),上述S可写成 [7, 6, 5, 4, 3, 2, 0, 1] 。
需要注意的是,有些密码(如DES)使用最低有效位顺序,这与大多数数字计算中使用的最高有效位顺序不同,可能会造成混淆。
1.2 输入输出大小差异
S-Box的输入和输出大小可以不同。例如,一个S-Box可能接受6位输入,但只产生4位输出,此时许多输出会重复;相反,若4位输入产生6位输出,则会有一些输出无法生成。
1.3 简单推导示例
有时S-Box可由简单操作推导得出。例如,一个4位S-Box对4位输入x执行 4 - x mod 16 操作,其S-Box为 [4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8
超级会员免费看
订阅专栏 解锁全文
1073

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



