20、对称加密算法与流密码技术解析

对称加密算法与流密码技术解析

1. Rijndael密钥扩展算法

Rijndael的密钥扩展算法是对称密码中较为复杂的一种。对于128位、192位和256位加密的密钥扩展算法非常相似,只是部分常量不同。定义如下常量:
- 对于128位密钥,n = 16;对于192位密钥,n = 24;对于256位密钥,n = 32。
- 对于128位密钥,b = 176;对于192位密钥,b = 208;对于256位密钥,b = 240(在AES中使用128位块,对于更大块大小的Rijndael变体,b值相应更大)。

Rijndael密钥扩展步骤如下:
1. 扩展密钥的前n个字节就是加密密钥。
2. 将rcon迭代值i设为1。
3. 直到得到所需的b字节扩展密钥,重复以下步骤生成n个更多字节的扩展密钥:
- 创建4字节扩展密钥的步骤:
1. 创建一个4字节的临时变量t。
2. 将扩展密钥中前4个字节的值赋给t。
3. 以i作为rcon迭代值,对t执行密钥调度核心操作。
4. 将i加1。
5. 将t与新扩展密钥前n个字节的4字节块进行异或操作,结果成为扩展密钥的下4个字节。
- 创建接下来12字节扩展密钥的步骤(重复3次):
1. 将扩展密钥中前4个字节的值赋给t。
2. 将t与新扩展密钥前n个字节的4字节块进行异或操作,结果成为扩展密钥的下4个字节。
- 处理256位密钥时,生成接下来4字节扩展密钥的步骤:
1. 将扩展密钥中前4个字节的值赋给t。
2. 将t中的4个字节通过Rijndael的S盒。
3. 将t与新扩展密钥前n个字节的4字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值