现代密码学4章节5IDEA算法-46页精品文档
密码学第四章 分组密码 4.4 国际数据加密算法(IDEA)

二、IDEA算法描述
基本参数
分组长度:64比特
密钥长度:128比特
迭代圈数:8圈(每圈6个子密钥块) 再附加一个输出变换(4个子密钥块)
IDEA的分组长度为64比特,密钥长度为128比特。其加、 脱密运算用的是同一个算法,二者的不同之处仅在于密钥调 度不同。其加、脱密运算是在128比特初始密钥作用下,对 64比特的输入数据分组进行操作,经8圈迭代后,再经过一 个输出变换,得到64比特的输出数据分组。整个运算过程全 部在16位子分组上进行,因此该算法对16位处理器尤其有效 。
二、IDEA算法描述
52个密钥子块的生成
k1, k2 ,, k127 , k128 k26 , k27 ,, k24 , k25 k51, k52 , , k49 , k50
z1, z2 , z3, z4, z5, z6, z7 , z8 z9 , z10 , z11, z12 , z13, z14 , z15, z16 z17 , z18, z19 , z20 , z21, z22 , z23, z24
16比特圈子密钥; ⊕表示16比特的逐位异或运算; + 表示16比特整数的模216加法运算; 表示16比特整数的模216+1乘法运算,其中全零子块
用216代替。
三种基本运算:按位模2加,模216加法,模216+1乘 法。
二、IDEA算法描述
模216加法运算是IDEA算法中使用的非线性环节 (相对异或运算而言),记
Z (1) 4
Z (1)
6
第 一 圈
Z (9) 1
Z (9) 2
Y1
Y2
Z (9) 3
Z (9) 4
Y3
Y4
二、IDEA算法描述
现代密码学 (5)

2011-4-12
7
分组密码算法应满足的要求
分组长度n要足够大: 分组长度 要足够大: 要足够大
防止明文穷举攻击法奏效。 防止明文穷举攻击法奏效。
密钥量要足够大: 密钥量要足够大:
尽可能消除弱密钥并使所有密钥同等地好, 尽可能消除弱密钥并使所有密钥同等地好,以防止 密钥穷举攻击奏效。
由密钥确定置换的算法要足够复杂: 由密钥确定置换的算法要足够复杂:
第四章 分组密码
一、分组密码概述 二、分组密码运行模式 三、DES 四、AES 五、分组密码的分析
2011-4-12
1
一、分组密码概述
2011-4-12
2
分组密码概述
分组密码是许多系统安全的一个重要组成部分。 分组密码是许多系统安全的一个重要组成部分。 可用于构造
拟随机数生成器 流密码 消息认证码(MAC)和杂凑函数 消息认证码(MAC)和杂凑函数 消息认证技术、数据完整性机构、 消
2011-4-12 22
III型迭代分组密码 型迭代分组密码
群密码:若密钥与明文、密文取自同一空间 群密码:若密钥与明文、密文取自同一空间GF(2 n),且 , y=x⊗k ⊗ 可通过k的逆元 式中, 式中,⊗是群运算,则称其为群密码。显然x可通过 的逆元 群运算,则称其为群密码。显然 可通过 求得 x=y⊗k-1 ⊗ F[x, k]=fI (x⊗kA, kB) = ⊗ 为迭代函数, 可以III型多轮迭代分组密码 。 在最后一轮 为迭代函数 , 可以 型多轮迭代分组密码。 型多轮迭代分组密码 另外加了一次群密码运算, 用以保证整个加、 中 , 另外加了一次群密码运算 , 用以保证整个加 、 解密 的对合性。 的对合性。
密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xm-1) 加密算法 密钥k=(k0, k1,…, kt-1 ) 明文 x=(x0, x1,…, xm-1) 解密算法
现代密码学总结汇总

现代密码学总结第一讲绪论•密码学是保障信息安全的核心•安全服务包括:机密性、完整性、认证性、不可否认性、可用性•一个密码体制或密码系统是指由明文(m或p)、密文(c)、密钥(k)、加密算法(E)和解密算法(D)组成的五元组。
•现代密码学分类:•对称密码体制:(又称为秘密密钥密码体制,单钥密码体制或传统密码体制)密钥完全保密;加解密密钥相同;典型算法:DES、3DES、AES、IDEA、RC4、A5 •非对称密码体制:(又称为双钥密码体制或公开密钥密码体制)典型算法:RSA、ECC第二讲古典密码学•代换密码:古典密码中用到的最基本的处理技巧。
将明文中的一个字母由其它字母、数字或符号替代的一种方法。
(1)凯撒密码:c = E(p) = (p + k) mod (26) p = D(c) = (c –k) mod (26)(2)仿射密码:明文p ∈Z26,密文c ∈Z26 ,密钥k=(a,b) ap+b = c mod (26)(3)单表代换、多表代换Hill密码:(多表代换的一种)——明文p ∈(Z26)m,密文c ∈(Z26)m,密钥K ∈{定义在Z26上m*m的可逆矩阵}——加密c = p * K mod 26 解密p = c * K-1 mod 26Vigenere密码:查表解答(4)转轮密码机:•置换密码•••:将明文字符按照某种规律重新排列而形成密文的过程列置换,周期置换•密码分析:•统计分析法:移位密码、仿射密码和单表代换密码都没有破坏明文的频率统计规律,可以直接用统计分析法•重合指数法• 完全随机的文本CI=0.0385,一个有意义的英文文本CI=0.065• 实际使用CI 的估计值CI ’:L :密文长。
fi :密文符号i 发生的数目。
第三讲 密码学基础第一部分 密码学的信息论基础• Shannon 的保密通信系统模型发送者接收者信源分析者加密解密安全信道无噪信道安全信道MM MCK K密钥源发送者接收者信源分析者加密解密无噪信道安全信道MM MC KK ’密钥源无噪信道•一个密码体制是一个六元组:(P, C, K 1, K 2, E, D )P--明文空间 C--密文空间 K 1 --加密密钥空间K2 --解密密钥空间E --加密变换D --解密变换对任一k∈K1,都能找到k’∈K2,使得D k’ (E k (m))=m,m M. •熵和无条件保密•)(1log)()(≥=∑i iaixpxpXH设随机变量X={xi | i=1,2,…,n}, xi出现的概率为Pr(xi) ≧0, 且, 则X的不确定性或熵定义为熵H(X)表示集X中出现一个事件平均所需的信息量(观察前);或集X中每出现一个事件平均所给出的信息量(观测后).•设X={x i|i=1,2,…,n}, x i出现的概率为p(x i)≥0,且∑i=1,…,n p(x i)=1;Y={y i|i=1,2,…,m}, y i出现的概率为p(y i)≥0,且∑i=1,…,m p(y i)=1;则集X 相对于集Y的条件熵定义为•X视为一个系统的输入空间,Y视为系统的输出空间,通常将条件熵H(X|Y)称作含糊度,X和Y之间的平均互信息定义为:I(X,Y)=H(X)-H(X|Y)表示X熵减少量。
精品文档-密码学基础(范九伦)-第4章

第4章 Hash函数
实际应用中的Hash函数可分为简单的Hash函数和带密钥的 Hash函数。带密钥的Hash函数通常用来作为消息认证码(Message Authentication Code)。假定Alice和Bob有一个共享的密钥k, 通过该密钥可以产生一个Hash函数Hk。对于消息x,Alice和Bob 都能够计算出相应的消息摘要y=Hk(x)。Alice通过公共通信信道 将二元组(x,y)发送给Bob。当Bob接收到(x,y)后,它可以通过 检验y=Hk(x)是否成立来确定消息x的完整性。如果y=Hk(x)成立, 说明消息x和消息摘要y都没有被篡改。
第4章 Hash函数
下面给出带密钥的Hash函数族的定义。 定义4.1.4 一个带密钥的Hash函数族包括以下构成要素: (1) X:所有消息的集合(有限集或无限集); (2) Y:所有消息摘要构成的有限集合; (3) K:密钥空间,是所有密钥的有限集合; (4) 对任意的k∈K,都存在一个Hash函数Hk∈H,Hk: X→Y。 如果Hk(x)=y,则二元组(x,y)∈X×Y称为在密钥k下是有效 的。
第4章 Hash函数 生日攻击的思想来源于概率论中一个著名的问题——生日问
题。该问题是问一个班级中至少要有多少个学生才能够使得有两 个学生生日相同的概率大于1/2。该问题的答案是23。即只要班 级中学生的人数大于23人,则班上有两个人生日相同的概率就将 大于1/2。基于生日问题的生日攻击意味着要保证消息摘要对碰 撞问题是安全的,则安全消息摘要的长度就有一个下界。例如, 长度为40比特的消息摘要是非常不安全的,因为仅仅在220(大约 为一百万)个随机Hash函数值中就有50%的概率发现一个碰撞。所 以对于安全的消息摘要,现在通常建议可接受的最小长度为128 比特(此时生日攻击需要超过264个Hash函数值)。而实际使用的消 息摘要一般为160比特甚至更长。
现代密码学(第二版)重点概念整理

现代密码学(第⼆版)重点概念整理第⼀章1.被动攻击获取消息的真实内容进⾏业务流分析2.主动攻击中断、篡改、伪造3.安全业务1、保密业务:保护数据以防被动攻击。
2、认证业务:⽤于保证通信的真实性。
3、完整性业务:防⽌对消息流的篡改和业务拒绝。
4、不可否认业务:⽤于防⽌通信双⽅中的某⼀⽅对所传输消息的否认。
5、访问控制:访问控制的⽬的是防⽌对⽹络资源的⾮授权访问,控制的实现⽅式是认证,即检查欲访问某⼀资源的⽤户是否具有访问权。
4.安全通信需考虑加密算法⽤于加密的秘密信息秘密信息的分布与共享安全服务所需的协议5.信息安全可分为系统安全、数据安全、内容安全,密码技术是保障数据安全的关键技术。
6.密码体制从原理上分为单钥体制和双钥体制,单钥体制包括对明⽂消息按字符逐位加密的流密码和将明⽂消息分组加密的分组密码。
双钥特点是将加密和解密能⼒分开。
7.密码攻击类型唯密⽂攻击、已知明⽂攻击、选择明⽂攻击、选择密⽂攻击8.加密算法是⽆条件安全的,仅当密钥⾄少和明⽂⼀样长时,才能达到⽆条件安全9.多表代换密码的计算问题,课后习题3、4第⼆章1.流密码的概念:利⽤密钥k产⽣⼀个密钥流z=z0z1…,并使⽤如下规则对明⽂串x=x0x1x2…加密:y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。
密钥流由密钥流发⽣器f产⽣:zi=f(k,σi),σi:加密器中的记忆元件(存储器)在时刻i的状态,f:由密钥k和σi产⽣的函数。
2.分组密码与流密码的区别: 有⽆记忆性3.密码设计者的最⼤愿望是设计出⼀个滚动密钥⽣成器,使得密钥经其扩展成的密钥流序列具有如下性质:极⼤的周期、良好的统计特性、抗线性分析、抗统计分析4.同步流密码的关键是密钥流产⽣器。
5.如果移位寄存器的反馈函数f(a1,a2,…,an)是a1,a2,…,an的线性函数,则称之为线性反馈移位寄存器LFSR(linear feedback shift register)。
现代密码学原理与应用第4章

4.1 分组密码概述
所谓分组密码是将明文分成一组一组,在密钥的控制下, 经过加密变换生成一组一组的密文。具体而言,分组密码就是 将明文消息序列 m1, m2, , mi , 划分成等长的消息组
(m1, m2 , , mn ), (mn1, mn2 , , m2n ),
2.差分密码分析法
差分密码分析法与一般统计分析法的本质区别是,不直 接分析密文或密钥的统计相关性,而是通过对明文对的差值 与相应的密文对的差值之间的统计关系的分析,对密钥某些 位进行合理的推断与猜测。
3.线性密码分析
线性密码分析是一种已知明文攻击法。它通过对非线 性函数的线性近似来实现分析密钥的目标。其基本思想是 寻找一个密码算法的有效的线性近似表达式,即寻找分组 密码算法中明文、密文和密钥的若干位之间的线性关系, 最终破译密码系统。
图4-7 子密钥生成过程
① 置换选择PC1 【例4-2】设初始密钥
• K = (123DAB779F658067)16 • = (00010010 00111101 10101011 01110111 10011111
01100101 10000000 01100111)2 • 经过置换选择PC1,并分成左右两部分,结果为
子密钥产生的算法充分实现明文与密钥的扩散和混淆,没 有简单的关系可循,能抗击各种已知的攻击。
6.加密和解密运算简单
在以软件实现时,应选用简单的运算,使密码运算易于以 标准处理器的基本运算。
4.1.2 分组密码算法结构
1.Feistel结构 Feistel结构把任何函数(一般称F函数,又称轮函数)
转化为一个置换。
加密算法的输入是一个分组长度为2n的明文M0和一个种 子密钥K0,将明文M0分成左右两半L0和R0,这里L0是M0的左 半部分nbit,R0是M0的右半部分nbit,在进行完r轮迭代后,
现代密码学 第4章

1/15/2019
8
限门单向函数
单向函数是求逆困难的函数,而单向陷门函数 (Trapdoor one-way function),是在不知陷门信 息下求逆困难的函数,当知道陷门信息后,求逆 是易于实现的。 限门单向函数是一族可逆函数fk,满足
1. Y=fk(X)易于计算(当k和X已知) 2. X=f-1k(Y)易于计算(当k和Y已知) 3. X=f-1k(Y)计算上不可行(Y已知但k未知)
3
1/15/2019
y x
19
4.4
背包密码体制
设A=(a1,a2,…,an)是由n个不同的正整数构成的n元 组,s是另一已知的正整数。背包问题就是从A中求 出所有的ai,使其和等于s。其中A称为背包向量, s是背包的容积。
例如,A=(43, 129, 215, 473, 903, 302, 561, 1165, 697, 1523),s=3231。由于 3231=129+473+903+561+1165 所以从A中找出的满足要求的数有129、473、903、561、 1165。
RSA 算法的安全性基于数论中大整数分解的 困难性。
1/15/2019
11
4.3.1
算法描述
1. 密钥的产生 ① 选两个保密的大素数p和q。 ② 计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉 函数值。 ③ 选一整数e,满足1<e<φ(n),且gcd(φ(n),e)=1。 ④ 计算d,满足d· e≡1 mod φ(n),即d是e在模φ(n)下的 乘法逆元,因e与φ(n)互素,由模运算可知,它的乘法逆 元一定存在。 ⑤ 以{e,n}为公开钥,{d,n}为秘密钥。
现代密码学 第5讲IDEA

3.5.2 加密过程
轮结构
每轮开始时有一个变换, 每轮开始时有一个变换,该变换的 变换 输入是4个子段和 个子密钥, 个子段和4个子密钥 输入是 个子段和 个子密钥,变 换中的运算是两个乘法和两个加法, 换中的运算是两个乘法和两个加法, 输出的4个子段经过异或运算形成 输出的 个子段经过异或运算形成 了两个16比特的子段作为 了两个 比特的子段作为MA结构 结构 比特的子段作为 的输入。 的输入。 MA结构也有两个输入的子密钥, 结构也有两个输入的子密钥, 结构也有两个输入的子密钥 输出是两个16比特的子段。 输出是两个 比特的子段。 比特的子段 变换的 个输出子段和 个输出子段和MA结构的 变换的4个输出子段和 结构的 两个输出子段经过异或运算产生这 一轮的4个输出子段 个输出子段。 一轮的 个输出子段。 产生的输出子段和由X3产生 由X2产生的输出子段和由 产生 产生的输出子段和由 的输出子段交换位置后形成W12 的输出子段交换位置后形成 和W13,目的在于进一步增加混 ,目的在于进一步增加混 效果, 淆效果,使得算法更易抵抗差分密 码分析。 码分析。
2010-10-9 1
3.5.1 设计原理
算法中明文和密文分组长度都是64比特, 算法中明文和密文分组长度都是 比特,密钥 比特 比特。 长128比特。其设计原理可从强度和实现两方 比特 面考虑。 面考虑。 1. 密码强度 算法的强度主要是通过有效的混淆和扩散特性 而得以保证。 而得以保证。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IDEA每一轮的加密顺序
在每一轮中,执行的顺序如下: 1. X1和第一个子密钥相乘。 2. X2和第二个子密钥相加。 3. X3和第三个子密钥相加。 4. X4和第四个子密钥相乘。 5. 将第1步和第3步的结果相异或。 6. 将第2步和第4步的结果相异或。
21
IDEA每一轮的加密顺序
7. 将第5步的结果与第五个子密钥相乘。 8. 将第6步和第7步的结果相加。 9. 将第8步的结果与第六个子密钥相乘。 10.将第7步和第9步的结果相加。 11.将第1步和第9步的结果相异或。 12.将第3步和第9步的结果相异或。 13.将第2步和第10步的结果相异或。 14.将第4步和第10步的结果相异或。
IDEA能抗差分分析和相关分析; IDEA似乎没有DES意义下的弱密钥; IDEA的“混淆”和“扩散”设计原则来
自三种运算,它们易于软、硬件实现(加密 速度快)
5
IDEA运算
异或运算( )
整数模216加( + )
整数模216+1乘( )(IDEA的S盒)
扩散由称为MA结构的算法基本构件提供。
第
子加密1 轮J1来自 J12 J13 J14 变换
U11U12
U7…U10 U5U6 U1…U4
Y1 Y2 Y3 Y4
解密
33
IDEA的解密过程
表3.7是对以上关系的总结。其中Zj的模 216+1乘法逆元为Z-1j,满足(见58页表3.7) Zj⊙Z-1j=1mod(216+1)
因216+1是一素数,所以每一个不大于 216的非0整数都有一个惟一的模216+1乘法逆 元。Zj的模216加法逆元为-Zj,满足: -Zj + Zj=0 mod (216)
第1轮
W11 W12 W13 W14
第2轮
W21 W22 W23 W24
W71 W72 W73 W74
第8轮
W81 W82 W83 W84
输出变换
Y1 Y2 Y3 Y4
密文
…
…
…
…
IDEA加密过程
Z1
128比特密钥
Z6
Z7 字密钥生成器
Z12
Z1
Z52
Z43 Z48
Z49 Z52
15
3. IDEA加密过程
30
IDEA的解密过程
(2) 第 i(i=1,…,8)轮解密的后两个子密钥等 于加密过程的第(9-i)轮的后两个子密钥。
31
加密过程
第 1 轮
第 2 轮
X1 X2 X3 X4 变换
I11 I12 I13 I14 子加密
W11 W12 W13 W14 变换
I21 I22 I23 I24 子加密
10
IDEA设计原理
3种运算结合起来使用可对算法的输入提 供复杂的变换,从而使得对IDEA的密码分析 比对仅使用异或运算的DES更为困难。 算法中扩散是由称为乘加 (multiplication/addition, MA)结构(见图 4.14)的基本单元实现的。
该结构的输入是两个16比特的子段和两 个16比特的子密钥,输出也为两个16比特的 子段。这一结构在算法中重复使用了8次, 获得了非常有效的扩散效果。
16
IDEA的轮结构
图4.16是IDEA第1轮的结构示意图,以后 各轮也都是这种结构,但所用的子密钥和轮 输入不同。从结构图可见,IDEA不是传统的 Feistel密码结构。每轮开始时有一个变换, 该变换的输入是4个子段和4个子密钥,变换 中的运算是两个乘法和两个加法,输出的4 个子段经过异或运算形成了两个16比特的子 段作为MA结构的输入。MA结构也有两个输 入的子密钥,输出是两个16比特的子段。
EuroCrypt’91年会上, Xuejia Lai等人又
提出了PES的修正版IPES(Improved PES)。
目前IPES已经商品化,并改名为IDEA。IDEA
已由瑞士的Ascom公司注册专利,以商业目
的使用IDEA算法必须向该公司申请许可。
4
IDEA基本概念
IDEA是一个分组长度为64位的分组密 码算法,密钥长度为128位(抗强力攻击能 力比DES强),同一算法既可加密也可解密。
37
IDEA的解密过程
将解密子密钥由加密子密钥表达并将Y1, Y2,Y3,,Y4代入以下关系,有 J11=Y1⊙Z-149= W81⊙Z49⊙Z-149= W81 J12=Y2 + -Z50=W83 + Z50 + -Z50=W83 J13=Y3 + -Z51=W82 + Z51 + -Z51=W82 J14=Y4⊙Z-152= W84⊙Z52⊙Z-152= W84
11
IDEA的MA结构
IDEA算法的扩散主要是由乘加结构的基本单元实现的。
12
IDEA加密的总体方案
64位明文
Z1
循环1
Z6
128位密钥
循环2 循环8 输出变换
Z7 Z12
Z43 Z48 Z49 Z52
子密钥生成器
16
Z1
Z52
64位密文
13
IDEA 加密的 总体方 案图
14
64比特明文 X1 X2 X3 X4
24
IDEA子密钥的产生
加密过程中52个16比特的子密钥是由 128比特的加密密钥按如下方式产生的: 前 8个子密钥Z1,Z2,…,Z8直接从加密密钥中 取,即Z1取前16比特(最高有效位),Z2取 下面的16比特,依次类推。然后加密密钥循 环左移25位,再取下面8个子密钥Z9, Z10,…,Z16,取法与Z1,Z2,…,Z8的取法 相同。这一过程重复下去,直到52子密钥都 被产生为止。
(2) 模 216 整数加法,表示为 ,其输入和输出作为
16位无符号整数处理。 (3) 模 216 1整数乘法,表示为 ,其输入和输出中除16
(4) 全0作2为16 处理外,其余都作为16位无符号整数处理。
8
IDEA设计原理
例如
0000000000000000⊙1000000000000000
22
IDEA每一轮的加密顺序
算法的第9步是一个输出变换,如图4.17 所示。它的结构和每一轮开始的变换结构一 样,不同之处在于输出变换的第2个和第3个 输入首先交换了位置,目的在于撤销第8轮 输出中两个子段的交换。还需注意,第9步 仅需4个子密钥,而前面8轮中每轮需要6个 子密钥。
23
IDEA的输出变换
29
IDEA的解密过程
解密与加密过程基本相同,但使用的密钥不 同,解密密钥按下面的方式生成。
(1)第 i (i=1,2,…,9)轮解密的前4个子密钥是由 加密过程第(10-i)轮的前4个子密钥得出。其中第1 个和第4个解密子 密钥取为相应的第一个和第四个 加密子密钥模 2161乘法逆元。第二和第三个子密 钥的取法为:当轮数为i=2,..,8时取为相应的第三个 和第二个加密子密钥的模 216 加法逆元,当i=1和9 时,取为相应的第二个和第三个加密子密钥的 216 模 加法逆元。
39
IDEA的解密过程
其中MAR(X,Y)是MA结构输入为X和Y时的右边输出,
MAL(X,Y)是左边输出。则
F1
F2
Z5
Z6
G1
G2
6
IDEA运算
实现上的考虑
使用子分组:16bit的子分组; 使用简单操作(易于加法、移位等操作实现) 加密解密过程类似; 规则的结构(便于VLSI实现)。
7
2. IDEA设计原理
1 密码的强度:主要是通过混淆和扩散来实现。
混淆实现的方法:
(1)逐比特异或。表示为
W21 W22 W23 W24
…………..
Z1..Z4 Z5 Z6 Z7..Z10 Z11 Z612
W71 W72 W73 W74
第
变换
Z43..Z46
8 轮
I81 I82 I83 I84
子加密
Z47 Z48
W81 W82 W83 W84
变换
Z49..Z52
Y1 Y2 Y3 Y4
32
解密过程
第 9
34
IDEA的解密过程
下面验证解密过程的确可以得到正确的 结果。图4.18中左边为加密过程,由上至下, 右边为解密过程,由下至上。将每一轮进一 步分为两步,第1步是变换,其余部分作为 第2步,称为子加密。
35
IDEA加密和解密框图
36
IDEA的解密过程
现在从下往上考虑。对加密过程的最后一 个输出变换,以下关系成立: Y1=W81⊙ Z49 Y2=W83 + Z50 Y3=W82 + Z51 Y4=W84⊙Z52 解密过程中第1轮的第1步产生以下关系: J11=Y1⊙U1 J12=Y2 + U2 J13=Y3 + U3 J14=Y4⊙U4
26
27
28
4. IDEA的解密过程
加密解密实质相同,但使用不同的密钥; 解密密钥以如下方法从加密子密钥中导
出:
解密循环I的头4个子密钥从加密循环10-I 的头4个子密钥中导出;解密密钥第1、4个 子密钥对应于1、4加密子密钥的乘法逆元; 2、3对应2、3的加法逆元;
对前8个循环来说,循环I的最后两个子密钥 等于加密循环9-I的最后两个子密钥;
《现代密码学》第4章(5)
分组密码:
IDEA算法
1
本节主要内容
1、IDEA基本概念 2、IDEA设计原理 3、IDEA加密过程 4、IDEA解密过程
2
1. IDEA基本概念
IDEA(International Data Encryption Algorithm)是瑞士的James Massey,Xuejia Lai等人提出的加密算法 ,在密码学中属于数据块加密算法(Block Cipher)类。