12、密码学中的基本组件与结构

密码学中的基本组件与结构

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值