其他分组密码算法综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Z43 Z48 Z49 Z52
128位密钥
子密钥生成器
16
Z1
Z52
64位密文
IDEA的密钥产生
56个16bit的子密钥从128bit的密钥 中生成
前8个子密钥直接从密钥中取出; 对密钥进行25bit的循环左移,接
下来的密钥就从中取出; 重复进行直到52个子密钥都产生
出来。
IDEA的解密
RC6的简单性是非常吸引人的,尤其是便于 在有限的时间范围内进行安全性分析。就目 前的分析,对RC6算法最有效的攻击是强力 攻击。当然由于分组长度和密钥长度都至少 是128比特,穷举法并不可行。对20轮的 RC6,用线性分析法至少需要2155个明文, 用差分分析法至少需要2238个明文。
IDEA是一个分组长度为64位的 分组密码算法,密钥长度为128 位(抗强力攻击能力比DES强), 同一算法既可加密也可解密。
IDEA的“混淆”和“扩散”设计 原则来自三种运算,它们易于软、 硬件实现(加密速度快):
异或运算( )
整数模216加( + )
整数模216+1乘( )(IDEA的S盒)
扩散由称为MA结构的算法基本构件提供
F1
F2
Z5
Z6
G1
G2
实现上的考虑
使用子分组:16bit的子分组; 使用简单操作(易于加法、移位等
操作实现) 加密解密过程类似; 规则的结构(便于VLSI实现)。
IDEA加密的总体方案图
64位明文 循环1 循环2
循环8 输出变换
Z1 Z6 Z7 Z12
密钥扩展方案:
在密钥扩展中用到了两个常数 P32和Q32,P32 B7E1516(3 十六进 制),Q32 9E3779 B(9 十六进制)。 首先,将种子密钥K输入c个w比 特字的阵列L[0],, L[c 1],若不够, 用0字节填充,其中c为8b/w的整 数部分。
RC6算法在加密过程中不需要查找表,加之 算法中的乘法运算也可以用平方代替,所以 该算法对内存的要求很低。这使得RC6特别 适合在单片机上实现。比如IC卡,它内部集 成的高速缓存,代价高昂,算法所需的内存 少,就能大大降低制作成本。
IDEA是PGP的一部分;
IDEA能抗差分分析和相关分析;
IDEA似乎没有DES意义下的弱 密钥;
Bruce Schneier 认为IDEA是 DES的最好替代,但问题是 IDEA太新,许多问题没解决。
8.9.2 RC6算法
A
B
C
D
□+ S[0]

log2w
□+ S[2i]
□+ S[2i+1]
重 复
r 轮
□+ S[2r+2]
□+ S[2r+3]
A
B
C
D
图 8.9.3 RC6-w/r/b 加密流程,其中 f (x) x (2x 1)
解密过程:把128比特明文放入4个32 比特的寄存器A、B、C、D之中。
A A S[2r 2] C C S[2r 3]
,For i=r to 1 do
(A, B,C, D) (D, A, B,C)
u ROL(D (2D 1), log 2 w)
t ROL(B (2B 1), log 2 w) C ROR(C S[2i 1],t) u
A ROR(A S[2i],u) t
B B S[0] ,D D S[1] (A, B,C, D)即为明文。
加密解密实质相同,但使用不同的密钥; 解密密钥以如下方法从加密子密钥中导
出:
解密循环I的头4个子密钥从加密循环10-I 的头4个子密钥中导出;解密密钥第1、4个 子密钥对应于1、4加密子密钥的乘法逆元; 2、3对应2、3的加法逆元;
对前8个循环来说,循环I的最后两个子密钥 等于加密循环9-I的最后两个子密钥;
相关文档
最新文档