对称密码算法与流密码算法详解
在密码学领域,对称密码算法和流密码算法是保障信息安全的重要手段。下面将详细介绍几种常见的对称密码算法和流密码算法。
1. Rijndael 密钥扩展算法
Rijndael 的密钥扩展算法在对称密码中较为复杂。不同加密位数(128 位、192 位、256 位)的密钥扩展算法相似,仅部分常量不同。
- 常量定义 :
- 对于 128 位密钥,n = 16;192 位密钥,n = 24;256 位密钥,n = 32。
- 对于 128 位密钥,b = 176;192 位密钥,b = 208;256 位密钥,b = 240。
- 密钥扩展步骤 :
1. 扩展密钥的前 n 字节即为加密密钥。
2. 将 rcon 迭代值 i 设为 1。
3. 循环生成扩展密钥,直到达到所需的 b 字节:
- 生成 4 字节扩展密钥:
- 创建 4 字节临时变量 t。
- 将扩展密钥中前 4 字节的值赋给 t。
- 以 i 为 rcon 迭代值,对 t 执行密钥调度核心操作。
- i 加 1。
- 将 t 与新扩展密钥前 n 字节处的 4 字节块进行异或运算,结果作为扩展密钥的下 4 字节。
- 重复三次上述步骤以生成接下来的 12 字节扩展密钥:
- 将扩展密钥中前 4 字节的值赋给 t。
- 将 t 与新扩展密钥前 n 字节处的 4 字节块进行异或运算,结果作为扩展密钥的下 4 字节。
- 若处理 256 位密钥,生成接下来的 4 字节扩展密钥:
超级会员免费看
订阅专栏 解锁全文
1663

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



