20、对称分组密码及其实现详解

对称分组密码及其实现详解

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 |
| ---- | ---- | ---- | ---- | ---- |

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值