对称分组密码及其实现详解
1. 对称分组密码概述
对称分组密码主要有三个基本构建模块:与轮密钥进行按位异或(XOR)、S盒(Sbox)和置换(permutation)。了解这些模块对于理解和实现对称分组密码至关重要。
2. PRESENT算法
PRESENT是2007年提出的一种为硬件实现优化的对称分组密码算法。它具有以下特点:
- 参数设置 :
- 块长度 ( n = 64 ) 位。
- 轮数 ( N_r = 31 ) 轮。
- 密钥长度可以是80位或128位,当密钥长度为80位时,该算法称为PRESENT - 80。
- 轮函数组成 :
- addRoundKey :将当前64位的密文状态 ( b_{63}b_{62} \cdots b_0 ) 与轮密钥 ( K_i = \kappa_i^{63} \cdots \kappa_i^{0} )(( 1 \leq i \leq 32 ))进行按位异或操作,即 ( b_j = b_j \oplus \kappa_i^j ),其中 ( 0 \leq j \leq 63 )。
- sBoxLayer :对当前密文状态的每个半字节(nibble)应用16个4位的S盒。4位S盒的映射关系如下表所示:
| 输入 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| ---- | ---- | ---- | ---- | ---- |
超级会员免费看
订阅专栏 解锁全文

79

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



