杨波,_《现代密码学(第2版)》第三章 3.5节

合集下载

现代密码学杨波课后习题讲解

现代密码学杨波课后习题讲解

选择两个不同的大素数p和q, 计算n=p*q和φ(n)=(p-1)*(q-1)。 选择整数e,使得1<e<φ(n)且e 与φ(n)互质。计算d,使得 d*e≡1(mod φ(n))。公钥为 (n,e),私钥为(n,d)。
将明文信息M(M<n)加密为 密文C,加密公式为 C=M^e(mod n)。
将密文C解密为明文信息M,解 密公式为M=C^d(mod n)。
课程特点
杨波教授的现代密码学课程系统介绍了密码学的基本原 理、核心算法和最新进展。课程注重理论与实践相结合, 通过大量的案例分析和编程实践,帮助学生深入理解和 掌握密码学的精髓。
课后习题的目的与意义
01 巩固课堂知识
课后习题是对课堂知识的有效补充和延伸,通过 解题可以帮助学生加深对课堂内容的理解和记忆。
不要重复使用密码
避免在多个账户或应用中使用相同的密码, 以减少被攻击的风险。
注意网络钓鱼和诈骗邮件
数字签名与认证技术习题讲
05

数字签名基本概念和原理
数字签名的定义
数字签名的应用场景
数字签名是一种用于验证数字文档或 电子交易真实性和完整性的加密技术。
电子商务、电子政务、电子合同、软 件分发等。
数字签名的基本原理
利用公钥密码学中的私钥对消息进行签 名,公钥用于验证签名的正确性。签名 过程具有不可抵赖性和不可伪造性。
Diffie-Hellman密钥交换协议分析
Diffie-Hellman密钥交换协议的原理
该协议利用数学上的离散对数问题,使得两个通信双方可以在不安全的通信通道上协商出一个共 享的密钥。
Diffie-Hellman密钥交换协议的安全性
该协议在理论上被证明是安全的,可以抵抗被动攻击和中间人攻击。

《现代密码学(第2版)杨波 01

《现代密码学(第2版)杨波  01

保密通信系统的组成
明文消息空间M,密文消息空间C,密钥空间 K1和K2,在单钥体制下K1=K2=K,此时密钥K需 经安全的密钥信道由发送方传给接收方; 加密变换Ek1:M→C,其中k1∈K1,由加密器 完成; 解密变换Dk2:C→M,其中k2∈K2,由解密器 实现. 称总体(M,C,K1,K2,EK1,DK2)为保密通信系统.对 于给定明文消息m∈M,密钥k1∈K1,加密变 换将明文m变换为密文c,即 c=f(m,k )=E (m)m∈M,k ∈K
20世纪90年代,因特网爆炸性的发展把人类 带进了一个新的生存空间.因特网具有高度 分布,边界模糊,层次欠清,动态演化,而 用户又在其中扮演主角的特点,如何处理好 这一复杂而又巨大的系统的安全,成为信息 安全的主要问题.由于因特网的全球性,开 放性,无缝连通性,共享性,动态性发展, 使得任何人都可以自由地接入,其中有善者, 也有恶者.恶者会采用各种攻击手段进行破 坏活动.
如何产生满足保密要求的密钥以及如何将密 钥安全可靠地分配给通信双方是这类体制设 计和实现的主要课题. 密钥产生,分配,存储,销毁等问题,统称 为密钥管理.这是影响系统安全的关键因素. 单钥体制可用于数据加密,也可用于消息的 认证. 单钥体制有两种加密方式:
– 明文消息按字符(如二元数字)逐位地加密,称 之为流密码; – 将明文消息分组(含有多个字符),逐组地进行 加密,称之为分组密码.
在信息传输和处理系统中,除了预定的接收 者外,还有非授权者,他们通过各种办法 (如搭线窃听,电磁窃听,声音窃听等)来 窃取机密信息,称其为截收者. 截收者虽然不知道系统所用的密钥,但通过 分析可能从截获的密文推断出原来的明文或 密钥,这一过程称为密码分析,ห้องสมุดไป่ตู้事这一工 作的人称为密码分析员,研究如何从密文推 演出明文,密钥或解密算法的学问称为密码 分析学.

现代密码学 课后答案 第二版

现代密码学 课后答案 第二版
e)一般地,一个反馈移位寄存器由两部分组成:移位寄存器和反馈函数。
f)反馈移位寄存器输出序列生成过程中,对输出序列周期长度起着决定性的作用,而对输出的序列起着决定性的作用。
g)选择合适的n级线性反馈函数可使序列的周期达到最大值2的n次方-1,并具有m序列特性,但敌手知道一段长为n的明密文对时即能破译这n级线性反馈函数。
2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。
3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一步可概括为两类主动攻击和被动攻击。
4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门学科。
5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。
6.1984年,Shamir提出了一种基于身份的加密方案IBE的思想,方案中不使用任何证书,直接将用户的身份作为公钥,以此来简化公钥基础设施PKI中基于公钥证书维护的过程。
4.10、对称密码体制又称为秘密密钥密码体制,它包括分组密码和序列密码。
第三章
5.判断
6.选择题
7.填空题
a)在1949年香农发表《保密系统的通信理论》之前,密码学算法主要通过字符间的简单置换和代换实现,一般认为密码体制属于传统密码学范畴。
b)传统密码体制主要有两种,分别是指置换密码和代换密码。
c)置换密码又叫换位密码,最常见的置换密码有列置换和周期转置换密码。
6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
7.密码学的发展过程中,两个质的飞跃分别指1949年香农发表的《保密系统的通信理论》和1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。

杨波, 《现代密码学(第2版)》02

杨波, 《现代密码学(第2版)》02

• 初始状态由用户确定。 • 当第i个移位时钟脉冲到来时,每一级存储器ai都将 其内容向下一级ai-1传递,并计算f(a1,a2,…,an)作为 下一时刻的an。 • 反馈函数f(a1,a2,…,an)是n元布尔函数,即n个变元 a1,a2,…,an可以独立地取0和1这两个可能的值,函数 中的运算有逻辑与、逻辑或、逻辑补等运算,最后 的函数值也为0或1。
例2.3 图2.11是一个5级线性反馈移位寄存器,其 初始状态为(a1,a2,a3,a4,a5)=(1,0,0,1,1),可求出输 出序列为: 1001101001000010101110110001111100110… 周期为31。
图2.11 一个5级线性反馈移位寄存器
n级线性反馈移位寄存器的状态周期小于等于2n-1。 输出序列的周期与状态周期相等,也小于等于2n-1。
又由p(x)A(x)=φ(x)可得p(x)q(x)A(x)=φ(x)q(x)。
所以(xp-1)A(x)=φ(x)q(x)。 由于q(x)的次数为 p-n,φ(x)的次数不超过n-1,
所以(xp-1)A(x)的次数不超过(p-n)+(n-1)=p-1。
将(xp-1)A(x)写成 xp A(x)- A(x),可看出对于任意正整 数i都有ai+p=ai。 设p=kr+t, 0≤t<r,则ai+p=ai+kr+t=ai+t=ai,所以t=0,即 r | p。(证毕)
分组密码与流密码的区别就在于有无记忆性。 流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指定 的初态σ0完全确定。 由于输入加密器的明文可能影响加密器中内部记忆 元件的存储状态,σi(i>0)可能依赖于k,σ0,x0, x1,…,xi-1等参数。

现代密码学 课后答案 第二版

现代密码学 课后答案 第二版
4.公钥密码算法一般是建立在对一个特定的数学难题求解上,那么RSA算法是基于大整数因子分解困难性、ElGamal算法是基于有限域乘法群上离散对数的困难性。
5.Rabin公钥密码体制是1979你M.O.Rabin在论文《Digital Signature Public-Key as Factorization》中提出的一种新的公钥密码体制,它是基于合数模下求解平方根的困难性(等价于分解大整数)构造的一种公钥密码体制。
4.1949年,香农发表《保密系统的通信理论》,为密码系统建立了理论基础,从此密码学成为了一门学科。
5.密码学的发展大致经历了两个阶段:传统密码学和现代密码学。
6.1976年,W.Diffie和M.Hellman在《密码学的新方向》一文中提出了公开密钥密码的思想,从而开创了现代密码学的新领域。
7.密码学的发展过程中,两个质的飞跃分别指1949年香农发表的《保密系统的通信理论》和1978年,Rivest,Shamir和Adleman提出RSA公钥密码体制。
现代密码学教程 第二版
谷利泽 郑世慧 杨义先
欢迎私信指正,共同奉献
第一章
1.判断题
2.选择题
3.填空题
1.信息安全的主要目标是指机密性、完整性、可用性、认证性和不可否认性。
2.经典的信息安全三要素--机密性,完整性和可用性,是信息安全的核心原则。
3.根据对信息流造成的影响,可以把攻击分为5类中断、截取、篡改、伪造和重放,进一步可概括为两类主动攻击和被动攻击。
h)门限发生器要求:LFSR的数目是奇数,确信所有的LFSR的长度互素,且所有的反馈多项式都是本原的,这样可达到最大周期。
第六章
1.判断题
答案:√√X√√ √√X*√ √X√√*

现代密码学(第二版)重点概念整理

现代密码学(第二版)重点概念整理

现代密码学(第⼆版)重点概念整理第⼀章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)。

现代密码学 (杨波 著) 清华大学出版社_khdaw

现代密码学 (杨波 著) 清华大学出版社_khdaw

am +3 = c1am + 2 + c2 am +1 + c3am + c4am −1 + L + cm −1a4 + cm a3
.c
而第 m+3 比特应为:
om
j =1
.c
输出 1 1
注:s个01
k ≥1
om
da
课后答案网
NCUT 密码学 – 习题与答案
2010
三、分组密码 (1,2,3,4)
1. (1) 设 M’是 M 的逐比特取补,证明在 DES 中,如果对明文分组和密文分组都逐比特取补, 那么得到的密文也是原密文的逐比特取补,即 如果 Y = DESK(X),那么 Y’=DESK’(X’) 提示:对任意两个长度相等的比特串 A 和 B,证明(A⊕B)’=A’⊕B。
20
21
22
23
24
25
w .c
1. 设仿射变换的加密是 E11,23(m)≡11m+23 (mod 26),对明文“THE NATIONAL SECURITY AGENCY”加密,并使用解密变换 D11,23(c)≡11-1(c-23) (mod 26) 验证你的加密结果。 解:明文用数字表示:M=[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] 密文 C= E11,23(M)≡11*M+23 (mod 26) =[24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 10 19 1] = YWPKXYHVKXONPTJCHYBXLPKTB ,或者直接穷举 1~25) ∵ 11*19 ≡ 1 mod 26 (说明:求模逆可采用第 4 章的“4.1.6 欧几里得算法” ∴ 解密变换为 D(c)≡19*(c-23)≡19c+5 (mod 26) 对密文 C 进行解密: M’=D(C)≡19C+5 (mod 26) =[19 7 4 13 0 19 8 14 13 0 11 18 4 2 20 17 8 19 24 0 6 4 13 2 24] = THE NATIONAL SECURITY AGENCY

杨波,_《现代密码学(第2版)》第五章 5.1-5.2节

杨波,_《现代密码学(第2版)》第五章 5.1-5.2节

存储会话密钥, 转发E ③ A存储会话密钥,并向 转发 KB[KS‖IDA]。因 存储会话密钥 并向B转发 。 为转发的是由K 加密后的密文, 为转发的是由 B加密后的密文,所以转发过程不 会被窃听。B收到后,可得会话密钥KS,并从IDA 会被窃听。 收到后,可得会话密钥 并从 收到后 可知另一方是A,而且还从E 知道K 可知另一方是 ,而且还从 KB知道 S的确来自 KDC。 。 这一步完成后,会话密钥就安全地分配给了 、 。 这一步完成后,会话密钥就安全地分配给了A、B。 然而还能继续以下两步工作: 然而还能继续以下两步工作:
两个用户A和 获得共享密钥的方法包括: 获得共享密钥的方法包括 两个用户 和B获得共享密钥的方法包括: 密钥由A选取并通过物理手段发送给 选取并通过物理手段发送给B。 ① 密钥由 选取并通过物理手段发送给 。 密钥由第三方选取并通过物理手段发送给A和 。 ② 密钥由第三方选取并通过物理手段发送给 和B。 如果A、 事先已有一密钥 事先已有一密钥, ③ 如果 、B事先已有一密钥,则其中一方选取新密 钥后,用已有的密钥加密新密钥并发送给另一方。 钥后,用已有的密钥加密新密钥并发送给另一方。 如果A和 与第三方 分别有一保密信道, 与第三方C分别有一保密信道 ④ 如果 和B与第三方 分别有一保密信道,则C为A、 为 、 B选取密钥后,分别在两个保密信道上发送给 、B。 选取密钥后, 选取密钥后 分别在• 假定两个用户 、B分别与密钥分配中心 假定两个用户A、 分别与密钥分配中心 分别与密钥分配中心KDC (key distribution center)有一个共享的主密钥 A和KB, 有一个共享的主密钥K 有一个共享的主密钥 A希望与 建立一个共享的一次性会话密钥,可通 希望与B建立一个共享的一次性会话密钥 希望与 建立一个共享的一次性会话密钥, 过以下几步来完成( 过以下几步来完成(图5.1 ): • ① A向KDC发出会话密钥请求。表示请求的消息由 发出会话密钥请求。 向 发出会话密钥请求 两个数据项组成, 项是A和 的身份 的身份, 两个数据项组成,第1项是 和B的身份,第2项是 项是 项是 这次业务的惟一识别符N1, 为一次性随机数, 这次业务的惟一识别符 ,称N1为一次性随机数, 为一次性随机数 可以是时戳、计数器或随机数。每次请求所用的N1 可以是时戳、计数器或随机数。每次请求所用的 都应不同,且为防止假冒,应使敌手对N1难以猜测 难以猜测。 都应不同,且为防止假冒,应使敌手对 难以猜测。 因此用随机数作为这个识别符最为合适。 因此用随机数作为这个识别符最为合适。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

混淆是通过使用以下 种运算而获得 混淆是通过使用以下3种运算而获得,3种运算都有 是通过使用以下 种运算而获得, 种运算都有 两个16比特的输入和一个 比特的输出: 比特的输入和一个16比特的输出 两个 比特的输入和一个 比特的输出: 逐比特异或, ① 逐比特异或,表示为⊕。 ② 模216(即65536)整数加法,表示为 ,其输入 )整数加法,表示为+ 和输出作为16位无符号整数处理 位无符号整数处理。 和输出作为 位无符号整数处理。 ③ 模216+1(即65537)整数乘法,表示为⊙,其输 ( )整数乘法,表示为⊙ 输出中除16位全为 作为2 处理外, 位全为0作为 入、输出中除 位全为 作为 16处理外,其余都作 位无符号整数处理。 为16位无符号整数处理。例如 位无符号整数处理
下面验证解密过程的确可以得到正确的结果。 下面验证解密过程的确可以得到正确的结果。图 3.18中左边为加密过程,由上至下,右边为解密过 中左边为加密过程, 中左边为加密过程 由上至下, 由下至上。将每一轮进一步分为两步, 程,由下至上。将每一轮进一步分为两步,第1步 步 是变换,其余部分作为第2步 称为子加密。 是变换,其余部分作为第 步,称为子加密。
பைடு நூலகம்
3. 解密过程
解密过程和加密过程基本相同, 解密过程和加密过程基本相同,但子密钥的选取不 解密子密钥U 同。解密子密钥 1,U2,…,U52是由加密子密钥 , 按如下方式得到( 按如下方式得到(将加密过程最后一步的输出变换 当作第9轮 当作第 轮):
轮解密的前4个子密钥由加密过程第 ① 第i(i=1,…,9)轮解密的前 个子密钥由加密过程第 轮解密的前 (10-i)轮的前 个子密钥得出: 轮的前4个子密钥得出 轮的前 个子密钥得出: 其中第1和第 个解密子密钥取为相应的第1和第 其中第 和第4个解密子密钥取为相应的第 和第4 和第 个解密子密钥取为相应的第 和第 个加密子密钥的模2 乘法逆元, 和第3个子密钥 个加密子密钥的模 16+1乘法逆元,第2和第 个子密钥 乘法逆元 和第 的取法为:当轮数i=2,…,8时,取为相应的第 个和第 的取法为:当轮数 时 取为相应的第3个和第 2个加密子密钥的模 16加法逆元。i=1和9时,取为相 个加密子密钥的模2 个加密子密钥的模 加法逆元。 和 时 应的第2个和第 个加密子密钥的模2 加法逆元。 个和第3个加密子密钥的模 应的第 个和第 个加密子密钥的模 16加法逆元。 ② 第i(i=1,…,8)轮解密的后两个子密钥等于加密过程 轮解密的后两个子密钥等于加密过程 轮的后两个子密钥。 第(9-i)轮的后两个子密钥。 轮的后两个子密钥
是对以上关系的总结。 表3.7是对以上关系的总结。其中 j的模 16+1乘法 是对以上关系的总结 其中Z 的模2 乘法 逆元为Z 满足(见表3.7) 逆元为 -1j,满足(见表 ) Zj⊙Z-1j=1mod(216+1) 是一素数, 因216+1是一素数,所以每一个不大于 16的非 整数 是一素数 所以每一个不大于2 的非0整数 都有一个惟一的模2 乘法逆元。 的模2 都有一个惟一的模 16+1乘法逆元。Zj的模 16加法逆 乘法逆元 元为-Z 满足: 元为 j,满足: -Zj + Zj=0 mod (216)
0000000000000000⊙1000000000000000=1000000000000001 ⊙
这是因为2 这是因为 16×215 mod (216+1)=215+1。 。
给出了操作数为2比特长时 种运算的运算表。 表3.6给出了操作数为 比特长时 种运算的运算表。 给出了操作数为 比特长时3种运算的运算表 在以下意义下, 种运算是不兼容的 种运算是不兼容的: 在以下意义下,3种运算是不兼容的: 种运算中任意两种都不满足分配律, ① 3种运算中任意两种都不满足分配律,例如 种运算中任意两种都不满足分配律 a + (b ⊙ c)≠(a + b ) ⊙ (a + c ) ) 种运算中任意两种都不满足结合律, ② 3种运算中任意两种都不满足结合律,例如 种运算中任意两种都不满足结合律 a +(b + c)≠ (a + b ) + c ( ) 三种运算结合起来使用可对算法的输入提供复杂的 变换,从而使得对IDEA的密码分析比对仅使用异或 变换,从而使得对 的密码分析比对仅使用异或 运算的DES更为困难。 更为困难。 运算的 更为困难
3.5.1 设计原理
算法中明文和密文分组长度都是64比特,密钥长 算法中明文和密文分组长度都是 比特,密钥长128 比特 比特。其设计原理可从强度和实现两方面考虑 两方面考虑。 比特。其设计原理可从强度和实现两方面考虑。 1. 密码强度 算法的强度主要是通过有效的混淆 扩散特性而得 混淆和 算法的强度主要是通过有效的混淆和扩散特性而得 以保证。 以保证。
第3章 分组密码体制 章
• • • • • • 分组密码概述 数据加密标准 差分密码分析与线性密码分析 分组密码的运行模式 IDEA AES算法 算法——Rijndael 算法
3.5 IDEA
• 来学嘉(X. J. Lai)和J. L. Massey提出的第 版 来学嘉( 提出的第1版 ) 提出的第 IDEA(International Data Encryption Algorithm, ( , 国际数据加密算法)于1990年公布,当时称为PES 国际数据加密算法) 年公布,当时称为 年公布 (proposed encryption standard,建议加密标准)。 ,建议加密标准)。 • 1991年,在Biham和Shamir提出差分密码分析之后, 提出差分密码分析之后, 年 和 提出差分密码分析之后 设计者推出了改进算法IPES,即改进型建议加密标 设计者推出了改进算法 , 改名为IDEA。这是 准。1992年,设计者又将 年 设计者又将IPES改名为 改名为 。 近年来提出的各种分组密码中一个很成功的方案, 近年来提出的各种分组密码中一个很成功的方案, 已在PGP中采用。 中采用。 已在 中采用
最后的输出变换也产生4个 比特的子段 比特的子段, 最后的输出变换也产生 个16比特的子段,链接起来 后形成64比特的密文分组 比特的密文分组。 后形成 比特的密文分组。 每轮迭代还需使用6个 比特的子密钥 比特的子密钥, 每轮迭代还需使用 个16比特的子密钥,最后的输出 变换需使用4个 比特的子密钥 比特的子密钥, 变换需使用 个16比特的子密钥,所以子密钥总数为 52。 。 的右半部分表示由初始的128比特密钥产生 比特密钥产生52 图3.15的右半部分表示由初始的 的右半部分表示由初始的 比特密钥产生 个子密钥的子密钥产生器。 个子密钥的子密钥产生器。
图3.14 MA结构 结构
2. 实现
IDEA可方便地通过软件和硬件实现。 可方便地通过软件和硬件实现。 可方便地通过软件和硬件实现 软件实现采用16比特子段处理 比特子段处理, ① 软件实现采用16比特子段处理,可通过使用容易 编程的加法、移位等运算实现算法的3种运算 种运算。 编程的加法、移位等运算实现算法的 种运算。 硬件由于加、解密相似, ② 硬件由于加、解密相似,差别仅为使用密钥的方 因此可用同一器件实现。再者, 式,因此可用同一器件实现。再者,算法中规则的 模块结构,可方便VLSI的实现。 的实现。 模块结构,可方便 的实现
图3.18 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
算法中扩散是由称为乘加 算法中扩散是由称为乘加 (Multiplication/Addition, MA)结构的基本单元 ) 实现的。 实现的。 该结构的输入是两个16比特的子段和两个 比特 该结构的输入是两个 比特的子段和两个16比特 比特的子段和两个 的子密钥,输出也为两个16比特的子段 比特的子段。 的子密钥,输出也为两个16比特的子段。 这一结构在算法中重复使用了8次 这一结构在算法中重复使用了 次,获得了非常有 效的扩散效果。 效的扩散效果。
图3.15 IDEA的加密框图 的加密框图
1. 轮结构 轮的结构示意图, 图3.16是IDEA第1轮的结构示意图,以后各轮也都 是 第 轮的结构示意图 是这种结构,但所用的子密钥和轮输入不同。 是这种结构,但所用的子密钥和轮输入不同。从结 构图可见, 不是传统的Feistel密码结构。每轮 密码结构。 构图可见,IDEA不是传统的 不是传统的 密码结构 开始时有一个变换,该变换的输入是4个子段和 个子段和4个 开始时有一个变换,该变换的输入是 个子段和 个 子密钥,变换中的运算是两个乘法和两个加法, 子密钥,变换中的运算是两个乘法和两个加法,输 出的4个子段经过异或运算形成了两个 个子段经过异或运算形成了两个16比特的子 出的 个子段经过异或运算形成了两个 比特的子 段作为MA结构的输入。MA结构也有两个输入的子 结构的输入。 段作为 结构的输入 结构也有两个输入的子 密钥,输出是两个16比特的子段 比特的子段。 密钥,输出是两个 比特的子段。
3.5.2 加密过程
如图3.15所示,加密过程由连续的8轮迭代和一个输 所示,加密过程由连续的 轮迭代和一个输 如图 所示 出变换组成; 出变换组成; 算法将64比特的明文分组分成 个 比特的子段 比特的子段, 算法将 比特的明文分组分成4个16比特的子段,每 比特的明文分组分成 轮迭代以4个 比特的子段作为输入 输出也为4个 比特的子段作为输入, 轮迭代以 个16比特的子段作为输入,输出也为 个 16比特的子段; 比特的子段; 比特的子段
相关文档
最新文档