RC6
编辑RC6(Rivest Cipher 6)是 Ronald Rivest 等人于 1998 年设计的对称分组密码。 RC6 是 RC5 的进一步发展,使用数据相关的旋转和数据乘法。 这应该可以防止从一开始就在开发时已知的针对 RC5 的理论攻击。
描述
编辑RC6 具有可变块大小、轮数 (0-255) 和密钥长度(0-2040 位)。 这些参数的具体选择通常表示为“RC6-w/r/b”——w 是数据字的比特长度,r 是轮数,b 是密钥的长度。 一个块总是由四个数据字组成,所以块大小是 4 w {\displaystyle 4w} 位。 AES 候选者是 RC6-32/20,块大小为 128 位,20 轮,密钥长度为 128、192 和 256 位。
加密与解密
给定一个小端表示的明文块,它由数据字 A、B、C、D 和轮密钥 S0 到 S2r+3 组成。 这里 log w表示字长 w 以 2 为底的对数。
按键扩展
RC6 的扩展算法,计算轮密钥 S0 到 S2r+3,从 RC5 中基本不变地采用。 首先,使用常量 P , Q {\displaystyle P,Q} 将轮密钥 Sk 初始化为固定的初始状态。 与 RC5 一样,P 和 Q 是使用欧拉数 e 和黄金比例 Φ 生成的奇数,具体取决于所使用的块大小(表)。
然后密钥被分成长度为 w 的 c 个字 L 0 到 L c − 1 ,如果有必要,最后一个字 L c − 1 用零填充。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/373689/