没有合适的资源?快使用搜索试试~ 我知道了~
国际数据加密算法IDEA
3星 · 超过75%的资源 需积分: 28 8 下载量 118 浏览量
2012-05-15
10:10:58
上传
评论
收藏 1.43MB PDF 举报
温馨提示
试读
13页
三种加密运算 两种子密钥运算 IDEA的描述: IDEA算法的安全性 IDEA示范程序 计算乘法逆示范程序
资源推荐
资源详情
资源评论
- 1 -
国际数据加密算法
国际数据加密算法
国际数据加密算法
国际数据加密算法 IDEA
IDEA
IDEA
IDEA
徐厚骏
IDEA
的第一版是由
Xuejia Lai
和
James Massey
于
1990
年公布
的 , 叫做
PES(Proposed Encryption Standard
, 推荐加密标准
)
。 在
Biha m
和
Shamir
演示了差分密码分析之后,第二年设计者为抗此攻击,增
加了密码算法的强度 , 称新算法为
IPES(Improved Proposedtional Data
Encryption Algorithm
, 改进型推荐加密标准
)
,
IPES
在
1992
年又改名
为
IDEA(International Data Encryption Algorithm
, 国际数据加密算法
)
。
首先定义五种算法:
首先定义五种算法:
首先定义五种算法:
首先定义五种算法:
㈠
㈠
㈠
㈠ 三种加密运算
三种加密运算
三种加密运算
三种加密运算
⒈ 异或运算 :即按位作不进位加法运算,规则为:
1 0=0 1=1, 0 0=1 1=0
;
⒉ 模
2
16
加运算 : 即
16bit s
整数做加法运算 ,
X Y
≡
( X+Y ) mod (2
16
)
⒊ 模
2
16
+1
乘运算 :即
16bit s
整数做乘法运算,
X Y
≡
( X*Y ) mod(2
16
+1)
㈡
㈡
㈡
㈡ 两种子密钥运算
两种子密钥运算
两种子密钥运算
两种子密钥运算
⒋
16bit s
整数加法逆
- X
X
X
X
运算:
X
的加法逆为
- X
X
X
X
,即
X (- X)
X)
X)
X)
≡
(X+( - X
X
X
X ))
))
))
)) mod (2
16
)
≡
0
X
的加法逆为
-X
-X
-X
-X = 2
16
- X
;
0
的加法逆为
0
。
⒌
16bit s
整数乘法逆
X
X
X
X
-1
-1
-1
-1
运算:
X
的乘法逆为
X
X
X
X
-1
-1
-1
-1
,即
X X
X
X
X
-1
-1
-1
-1
≡
(X* X
X
X
X
-1
-1
-1
-1
) mod(2
16
+1)
≡
1
乘法逆的运算比较复杂,举例说明:
- 2 -
例:求 X=43679 的乘法逆 X
-1
:
2
16
+1=65537
65537 = 43679 *1+ 21858
43679=21858*1+21821
21858=21821*1+37
21821=37*589+28
37=28*1+9
28=9*3+1
所以
1=28-9*3
=28-3*(37-28)
=4*28+3*37
=4*(21821-37*589)-3*37
=4*21821-(4*589+3)*37
=4*21821-2359*(21858-21821)
=2363*21821-2359*21858
=2363*(43479-21858)-2359*21858
=2363*43679-(2363+2359)*21858
=2363*43679-(2363+2359)*(65537-43679)
=7085*43679-4722*65537
即 7085*43679 ≡ 1 mod (2
16
+1) ≡ 1
所以, X=43679 的乘法逆 X
-1
=7085
对于模 2
16
+1 乘 运算 ,由于 0 用 2
16
≡ -1 来表示,因此 0 的 乘法
逆是 0 。
IDEA
IDEA
IDEA
IDEA 的描述:
的描述:
的描述:
的描述:
把明文分成多个 64bit s 的分组 , 使用 128bit s 的密钥对每个 64bit s
分组加密。
把 64bit s 分组分成 4 个 16bit s 子分组 : X
1
,X
2
,X
3
和 X
4
。 由 128bit s
的密钥产生 52 个 16bit s 的子密钥,即首先将 128bit s 密钥分成 8 个
- 3 -
16bit s 子密钥 ( 前 6 个用于第一轮加密 , 后 2 个用于第二轮加密的头两
个 ) , 然后密钥向左环 移 2 5 位后再分 成 8 个子密钥 ( 开 始 4 个用在第二
轮 , 后 4 个用在第三轮 ) , 如此六次产生 48 个子密钥 , 再一次密钥向
左环移 25 位,只在前 64 位生成 4 个 16bit s 子密钥,合计 52 个子密
钥完成加密全过程。 IDEA 的加密运算都在 16bit s 子分组上运行,只
使用三种加密运算算法,而没有位置换。
加密子密钥见下表:
轮数 加密子密钥
1 Z(1,1) Z(1,2) Z(1,3) Z(1,4) Z(1,5) Z(1,6)
2 Z(2,1) Z(2,2) Z(2,3) Z(2,4) Z(2,5) Z(2,6)
3 Z(3,1) Z(3,2) Z(3,3) Z(3,4) Z(3,5) Z(3,6)
4 Z(4,1) Z(4,2) Z(4,3) Z(4,4) Z(4,5) Z(4,6)
5 Z(5,1) Z(5,2) Z(5,3) Z(5,4) Z(5,5) Z(5,6)
6 Z(6,1) Z(6,2) Z(6,3) Z(6,4) Z(6,5) Z(6,6)
7 Z(7,1) Z(7,2) Z(7,3) Z(7,4) Z(7,5) Z(7,6)
8 Z(8,1) Z(8,2) Z(8,3) Z(8,4) Z(8,5) Z(8,6)
输出变换
Z(9,1) Z(9,2) Z(9,3) Z(9,4)
解密子密钥仍为
52
个,要么是加密子密钥的加法逆,要么是加
密子密钥的乘法逆。解密子密钥见下表:
轮数 解密子密钥
1 (Z(9,1))
-1
-Z(9,2) -Z(9,3) (Z(9,4))
-1
Z(8,5) Z(8,6)
2 (Z(8,1))
-1
-Z(8,3) -Z(8,2) (Z(8,4))
-1
Z(7,5) Z(7,6)
3 (Z(7,1))
-1
-Z(7,3) -Z(7,2) (Z(7,4))
-1
Z(6,5) Z(6,6)
4 (Z(6,1))
-1
-Z(6,3) -Z(6,2) (Z(6,4))
-1
Z(5,5) Z(5,6)
5 (Z(5,1))
-1
-Z(5,3) -Z(5,2) (Z(5,4))
-1
Z(4,5) Z(4,6)
6 (Z(4,1))
-1
-Z(4,3) -Z(4,2) (Z(4,4))
-1
Z(3,5) Z(3,6)
7 (Z(3,1))
-1
-Z(3,3) -Z(3,2) (Z(3.4))
-1
Z(2,5) Z(2,6)
8 (Z(2,1))
-1
-Z(2,3) -Z(2,2) (Z(2,4))
-1
Z(1,5) Z(1,6)
输出变换
(Z(1,1))
-1
-Z(1,2) -Z(1,3) (Z(1,4))
-1
注:有些文献解密密钥第二至八轮的 2 、 3 子密钥的顺序与本表不同。
IDEA 流程图给出流程的总貌。 64bit s 数据分组分成 4 个 16bit s
子分组 : X
1
,X
2
,X
3
和 X
4
。 这 4 个子分组为算法的第一轮输入 , 总共 有
8 轮 。 在每一轮中 , 这 4 个子分组相互间相异或 、 相加 、 相乘 , 且 与
6 个 16bit s 子密钥相异或 、 相加 、 相乘 。 在轮与轮间 , 第二和第三个
子分组交换 。 在最后输出变换中 , 4 个子分组与 4 个子密钥进行运算 。
剩余12页未读,继续阅读
资源评论
- subtle00032012-11-06没有创新的东西,属于编著中的编吧。
- Elitward2013-06-26数学部分,完全看不懂啊!
wsfjsfdxsmz
- 粉丝: 1
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 什么是移动应用开发-关于移动应用开发的相关介绍
- 第二组汇报 PPT.pptx
- 什么是大数据开发-相关介绍-关于大数据开发的相关介绍
- 什么是软件测试-相关介绍-关于软件测试的相关介绍
- 前端开发-什么是前端开发-关于前端开发的一些相关介绍
- Sora AI-关于文生视频的使用场景说明
- suno AI文生视频的相关教程和介绍使用
- 什么是后端开发-关于后端开发的一些小介绍分享
- Jurassic Pack Vol. II Dinosaurs 侏罗纪包卷恐龙二号Unity游戏模型资源unitypackage
- Jurassic Pack Vol. III Dinosaurs 侏罗纪包卷恐龙三号Unity游戏模型资源unitypackag
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功