应用密码学习题答案5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《应用密码学》习题和思考题答案
第5章 对称密码体制
5-1 画出分组密码算法的原理框图,并解释其基本工作原理。 答:
图5-1 分组密码原理框图
1210-t 1210-t )
分组密码处理的单位是一组明文,即将明文消息编码后的数字序列i
m m m m ,,,,210 划分成长为L 位的组()0121,
,,,L m m m m m -
=
,各个长为
L 的分组分别在密钥
()0121,,,,t k k k k k -= (密钥长为t )的控制下变换成与明文组等长的一组密文输出数字序
列()0121,,,,L c c c c c -= 。L 通常为64或128。解密过程是加密的逆过程。 5-2 为了保证分组密码算法的安全强度,对分组密码算法的要求有哪些? 答:(1)分组长度足够大;(2)密钥量足够大;(3)密码变换足够复杂。 5-3 什么是SP 网络?
答:SP 网络就是由多重S 变换和P 变换组合成的变换网络,即迭代密码,它是乘积密码的一种,由Shannon 提出。其基本操作是S 变换(代替)和P 变换(换位),前者称为S 盒,后者被称为P 盒。S 盒的作用是起到混乱作用,P 盒的作用是起到扩散的作用。 5-4 什么是雪崩效应?
答:雪崩效应是指输入(明文或密钥)即使只有很小的变化,也会导致输出发生巨大变化的现象。即明文的一个比特的变化应该引起密文许多比特的改变。
5-5 什么是Feistel 密码结构?Feistel 密码结构的实现依赖的主要参数有哪些? 答:
1
K n
K i
密文
明文图5-6 Feistel密码结构
Feistel 密码结构如图5-6所示。加密算法的输入是长为2w 位的明文和密钥K ,明文被均分为长度为w 位的0L 和0R 两部分。这两部分经过n 轮迭代后交换位置组合在一起成为密文。其运算逻辑关系为:
1(1,2,,)i i L R i n -==
11(,)(1,2,,)i i i i R L F R K i n --=⊕=
每轮迭代都有相同的结构。代替作用在数据的左半部分,它通过轮函数F 作用数据的右半部分后,与左半部分数据进行异或来完成。每轮迭代的轮函数相同,但每轮的子密钥i K 不同。代替之后,交换数据的左右部分实现置换。
Feistel 结构的实现依赖的主要参数是:分组长度、密钥长度、迭代轮数、子密钥生成算法、轮函数。
5-6 简述分组密码的设计准则。
答:分组密码的设计准则主要包括S 盒的设计准则、P 盒的设计准则、轮函数F 的设计准则、迭代的轮数以及子密钥的生成方法。
5-7 什么是分组密码的操作模式?有哪些主要的分组密码操作模式?其工作原理是什
么?各有何特点?
答:通常,分组密码算法(如典型的DES)是提供数据安全的一个基本构件,它以固定长
度的分组作为基本的处理单位。分组密码的操作模式就是如何在各种各样的应用中使用这
些基本构件。
主要有ECB、CBC、CTR、OFB、CFB等五种分组密码操作模式。具体原理及特点参见教
材。
5-8 在8位的CFB模式中,若传输中一个密文字符发生了一位错误,这个错误将传播多
远?
答:9个明文字符受影响。因为除了与密文字符相对应的一个明文字符受影响外,受影响
的该明文字符进入移位寄存器,直到接下来的8个字符处理完毕后才移出。
5-9 描述DES的加密思想和F函数。
答:DES 算法的加密过程经过了三个阶段:首先,64位的明文在一个初始置换IP 后,
比特重排产生了经过置换的输入,明文组被分成右半部分和左半部分,每部分32位,以
L
和
R表示。接下来的阶段是由对同一个函数进行16次循环组成的,16轮迭代称为乘积变0
换或函数F,这个函数本身既包含有换位又包含有代替函数,将数据和密钥结合起来,最
后1轮的输出由64位组成,其左边和右边两个部分经过交换后就得到预输出。最后阶段,
预输出通过一个逆初始置换IP-1算法就生成了64位的密文结果。
F函数的变换如下图所示。
图5-18 DES算法的一轮迭代处理过程
5-10 为什么要使用3DES?
答:随着计算机处理能力的提高,只有56位密钥长度的DES算法不再被认为是安全的。因
此DES需要替代者,其中一个可替代的方案是使用3DES。3DES的优点:(1)密钥长度增加
到112位或168位,可以有效克服DES面临的穷举搜索攻击;(2)相对于DES,增强了抗差分分析和线性分析的能力;(3)具备继续使用现有的DES实现的可能。
5-11 AES的主要优点是什么?
答:AES的主要优点表现为:汇聚了安全性能、效率、可实现性和灵活性等优点,最大的优点是可以给出算法的最佳差分特征的概率,并分析算法抵抗差分密码分析及线性密码分析的能力。AES对内存的需求非常低,也使它很适合用于受限制的环境中,AES的操作简单,并可抵御强大和实时的攻击。
5-12 AES的基本运算有哪些?其基本运算方法是什么?
答: AES的基本运算包括字节运算和字运算。基本运算方法(略)。
5-13 AES的基本变换有哪些?其基本的变换方法是什么?
答:AES的基本变换包括三个代替和一个混淆:(1)字节代替SubBytes:用一个S盒完成分组中的按字节的代替;(2)行移位ShiftRows:一个简单的置换;(3)列混淆MixColumns:一个利用在域GF(28)上的算术特性的代替;(4)轮密钥加AddRoundKey:一个利用当前分组和扩展密钥的一部分进行按位异或。
基本变换方法(略)。
5-14 AES的解密算法和AES的逆算法之间有何不同?
答:AES的逆算法是相对加密基本变换而言的,即存在InvSubBytes、InvShiftRows、InvMixColumns变换。
AES的解密算法是相对于加密算法而言的,它由InvSubBytes、InvShiftRows、InvMixColumns和AddRoundKey等基本变换构成。
5-15 在GF(28)上{01}的逆是什么?
答:01。
5-16 编写程序实现AES密码算法。
略。