应用密码学习题答案5 下载本文

内容发布更新时间 : 2024/12/27 4:00:10星期一 下面是文章的全部内容请认真阅读。

《应用密码学》习题和思考题答案

第5章 对称密码体制

5-1 画出分组密码算法的原理框图,并解释其基本工作原理。 答:

m?(m0,m,mL?1)1,m2,?明文分组加密算法c?(c0,c1,c2,?,cL?1)密文分组解密算法m?(m0,m,mL?1)1,m2,?明文分组k?(k0,k1,k2,?,kt?1)k?(k0,k1,k2,?,kt?1)图5-1 分组密码原理框图

分组密码处理的单位是一组明文,即将明文消息编码后的数字序列m0,m1,m2,?,mi划分成长为L位的组m??m0,m,m2?,,Lm1??1,各个长为

L的分组分别在密钥

k??k0,k1,k2,?,kt?1?(密钥长为t)的控制下变换成与明文组等长的一组密文输出数字序

列c??c0,c1,c2,?,cL?1?。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密码结构的实现依赖的主要参数有哪些? 答:

明文w位L0XORFw位R0K1L1第1轮R1KiXORFLi第i轮RiKnXORFLn第n轮RnLn+1w位密文w位Rn+1图5-6 Feistel密码结构

Feistel密码结构如图5-6所示。加密算法的输入是长为2w位的明文和密钥K,明文被均分为长度为w位的L0和R0两部分。这两部分经过n轮迭代后交换位置组合在一起成为密文。其运算逻辑关系为:

Li?Ri?1(i?1,2,?,n)

Ri?Li?1?F(Ri?1,Ki)(i?1,2,?,n)

每轮迭代都有相同的结构。代替作用在数据的左半部分,它通过轮函数F作用数据的右半部分后,与左半部分数据进行异或来完成。每轮迭代的轮函数相同,但每轮的子密钥Ki不同。代替之后,交换数据的左右部分实现置换。

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位,以L0和R0表示。接下来的阶段是由对同一个函数进行16次循环组成的,16轮迭代称为乘积变换或函数F,这个函数本身既包含有换位又包含有代替函数,将数据和密钥结合起来,最后1轮的输出由64位组成,其左边和右边两个部分经过交换后就得到预输出。最后阶段,预输出通过一个逆初始置换IP算法就生成了64位的密文结果。 F函数的变换如下图所示。

Li-1(32位)Ri-1(32位)-1

F变换扩展变换E48位+48位48位Ki密钥产生器选择压缩变换S盒代替32位置换运算P32位+Li(32位)Ri(32位)图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(2)上的算术特性的代替;(4)轮密钥加AddRoundKey:一个利用当前分组和扩展密钥的一部分进行按位异或。 基本变换方法(略)。

5-14 AES的解密算法和AES的逆算法之间有何不同?

答:AES的逆算法是相对加密基本变换而言的,即存在InvSubBytes、InvShiftRows、InvMixColumns变换。

AES的解密算法是相对于加密算法而言的,它由InvSubBytes、InvShiftRows、InvMixColumns和AddRoundKey等基本变换构成。 5-15 在GF(2)上{01}的逆是什么? 答:01。

5-16 编写程序实现AES密码算法。 略。

8

8