现代密码学(第4版)—习题参考答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《现代密码学(第4版)—习题参考答案.docx》由会员分享,可在线阅读,更多相关《现代密码学(第4版)—习题参考答案.docx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、现代密码学(第4版)习题参考答案第1章1、设仿射变换的加密是:对明文“THE NATIONAL SECURITY AGENCY”加密,并使用解密变换验证你的解密结果。解:明文m=THE NATIONAL SECURITY AGENCY用数字表示为: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 根据E11,23(m)11*m+23(mod 26),对明文中的每一个字符计算出相应的密文字符c=24 22 15 10 23 24 7 21 10 23 14 13 15 19 9 2 7 24 1 23 11 15 1
2、0 19 1 由此得到密文c=YWPKXYHVKXONPTJCHYBXLPKTB使用解密变换验证加密结果过程如下:由11*191 (mod 26)知11-1=19(注:求模逆元可以通过欧几里得算法或者直接穷举125)根据D11,23(c)11-1*(c-23) (mod 26)19* (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 由此得到m=THE NATIONAL SECURITY AGENCY,解密结果与明文一致,正确。2、设由仿射变换
3、对一个明文加密得到的密文为:edsgickxhuklzveqzvkxwkzzukvcuh。又已知明文的前两个字符为“if”,对该明文解密。解:设加密变换为c=Ea,b(m)a*m+b(mod 26)由题目可知,明文前两个字符为if,相应密文为ed,即有:E(i)=e,4a*8+b(mod 26) ,(i=8,e=4),E(f)=d,3a*5+b(mod 26) ,(f=5,d=3),由上述两式可求得,a=9,b=10因此解密变换为D9,10(c)9-1*(c-10) (mod 26)又由3*91 (mod 26)可知9-1=3密文对应的数字表示为:c=4 3 18 6 8 2 10 23 7
4、20 10 11 25 21 4 16 25 21 10 23 22 10 25 20 10 21 2 20 7 根据D9,10(c)9-1*(c-10) (mod 26)3*(c-10) (mod 26),对密文中的每一个字符计算出相应的明文字符c=8 5 24 14 20 2 0 13 17 4 0 3 19 7 8 18 19 7 0 13 10 0 19 4 0 7 2 4 17 由此得到明文m=ifyoucanreadthisthankateahcer3、 设多表代换密码中加密为:对明文“PLEASE SEND ME THE BOOK,MY CREDIT CARD NO IS SIX
5、 ONE TWO ONE THREE EIGHT SIX ZERO ONE SIX EIGHT FOUR NINE SEVEN ZERO TWO”用解密变换 验证你的结果,其中解:加密时,先将明文分组,每四个一组:再代入加密变换:,得到计算结果:知密文为:NQXB BTWB DCJJ IJDT XDCF YFSG LYGD MOXN LLGN HAPC QZZQ ZCRG ZEZJ UIEB RRSQ NEMV QDJE MXNA IERP XAKM YRBY TQFM NEMV OME 同上,解密时,先将密文分组,再代入解密变换:得到明文:PLEA SESE NDME THEB OOKM Y
6、CRE DITC ARDN OISS IXON ETWO ONETHREE EIGH TSIX ZERO ONES IXEI GHTF OURN INES EVEN ZERO TWO解密验证结果与明文相符。4、设多表代换密码中,A是22矩阵,B是零矩阵,又知明文“dont”被加密为“elni”,求矩阵A。解:设矩阵由m=dont=(3,14,13,19),c=elni=(4,11,13,8)可知:解得:第2章 1. 3级线性反馈移位寄存器在时可有4种线性反馈函数,设其初始状态为,求各线性反馈函数的输出序列及周期。解:设3级线性反馈特征多项式为,若则共有种可能,对应初态。4种线性反馈函数分别记为
7、: 输出序列,由定义2-2得周期 由定义2-3得是不可约多项式,输出序列由定理2-5周期是m序列 不可约多项式,输出序列,周期 是m序列 输出序列,得周期2. 设n级线性反馈移位寄存器的特征多项式为,初始状态为,证明输出序列的周期等于的阶。 解:的阶定义为 的最小的。 因为初始状态不为零,设为序列的最小周期。又因为,所以必存在,使得。 又因为定理2-1有,则而的次数为,的次数不超过,的次数不超过。所以,是正整数,都有。设,。即周期为的阶,若是n次不可约多项式,则序列的最小周期等于的阶。生成函数,的次数不超过。 不可约,所以,。又因为,所以。3. 设,初始状态为,求此非线性反馈移位寄存器的输出序
8、列及周期。解:由,初态为 。线性递归可得: 可以得到输出序列为,周期为。4.设密钥流是由级的LFSR产生,其前个比特是,即个01。问第m+3个比特有无可能是1,为什么?解:第m+3个比特上不可能出现1,这是由于:根据线性移位寄存器的的递推关系有:5.设密钥流是由n级LFSR产生,其周期为,是任一整数,在密钥流中考虑以下比特对 问有多少形如的比特对。试证明你的结论。解:根据p23定理2-7,在上的n长m序列在周期为的m序列中对于,长为i的游程有个,且0,1游程各半,那么就有: 1的2游程: 1的3游程: 1的n-2游程: 那么就有: /2得 -得 从而有 即共有个形如的比特对。6.已知流密码的密
9、文串1010110110和相应的明文串0100010001,而且还已知密钥流是使用3级线性反馈移位寄存器产生的,试破译该密码系统。解:由已知可得相应的密钥流序列为1110100111,又因为是3级线性反馈移位寄存器,可得以下方程:将值代入得: , 由此可得密钥流的递推关系为:。7.若GF(2)上的二元加法流密码的密钥生成器是n级线性反馈移位寄存器,产生的密钥是m序列。2.5节已知,敌手若知道一段长为2n的明密文对就可破译密钥流生成器。若敌手仅知道长为2n-2的明密文对,问如何破译密钥流生成器。解:如果敌手仅仅知道长为2n-2的明密文对,他可以构造出以下的长为2n的明密文对:不妨设:明文: 密文
10、: 其中:为已知的,为未知的。 为已知的,为未知的。 的可能取值为00,01,10,11。的可能取值为00,01,10,11。共有16种组合方案,分别破解得到密钥流,在破解的结果中符合m序列的性质密钥流即为正确的方案,有可能不唯一。8.设J-K触发器中和分别为3级和4级m序列,且,求输出序列及周期。解:由J-K触发器可知 此时和分别为3级和4级m序列,则的周期为。9.设基本钟控序列生成器中和分别为2级和3级m序列,且,求输出序列及周期。解:令基本钟控序列生成器中的周期为,的周期为,则输出序列的周期为,。记LFSR2产生,其状态向量为,可得的变化情况如下:输出序列第3章 1. (1) 设M和M的
11、逐比特取补,证明在DES中,如果对明文分组和加密密钥都逐比特取补,那么得到的密文也是原密文的逐比特取补,即: 如果Y=DESK(X),那么Y=DESK(X)提示:对任意两个长度相等的比特串A和B,证明。(2) 对DES进行穷搜索攻击时,需要在由256个密钥构成的密钥空间进行,能否根据(1)的结论减少进行穷搜索攻击时所用的密钥空间。(1)证明:设Li和Ri分别不是第i轮DES变换的左右部分,i=0,1,16, 则加密过程为:若将明文和密钥k同时取补,则加密过程为:其中,的作用是将数据的左、右半部分扩展后与密钥进行逐比特异或运算,因此,再经过S盒,并将输出结果进行置换运算P之后有:,而,所以有。同
12、时有,所以明文P与密钥K同时取补后有。(2)答:根据(1)的结论进行穷搜索攻击, 可将待搜索的密钥空间减少一半,即255个。因为给定明文x,则,由(1)知,则一次搜索就包含了x和x 两种明文情况。2. 证明DES解密变换是加密变换的逆。证明:令为左右位置交换函数,,则第i次迭代变换为:,又 有,同时,,即, ,DES加密过程在密钥k作用下为:,解密过程为: ,所以,即解密变换是加密变换的逆。(得证)3.在DES的EBC模式中,如果在密文分组中有一个错误,解密后仅相应的明文分组受到影响。然而在CBC模式中,将有错误传播。例如在图3-11中C1中的一个错误明显地将影响P1和P2的结果。 (1) P
13、2后的分组是否受到影响?(2) 设加密前的明文分组P1中有一个比特的错误,问这一错误将在多少个密文分组中传播?对接收者产生什么影响?答:(1)在CBC模式中,若密文分组中有一个错误C1,则解密时明文分组中都将受到影响,而后的分组都不受影响,即CBC的错误传播长度为2,具有自恢复能力。(2)若明文分组P1有错误,则以后的密文分组都将出现错误,但对接收者来说,经过解密后,除P1有错误外,其余的明文分组都能正确恢复。4. 在8比特CFB模式中,如果在密文字符中出现1比特的错误,问该错误能传播多远?答:在8比特CFB模式中,若密文有1比特错误,则会影响当前分组以及后续分组的解密,会使解密输出连续9组出
14、错,即错误传播的长度为9。5. 在实现IDEA时,最困难得部分是模乘法运算。以下关系给出了实现模乘法的一种有效方法,其中a和b是两个n比特的非0整数:(1) 证明存在唯一的非负整数q和r使得;(2) 求q和r的上下界;(3) 证明;(4) 求关于q的表达式;(5) 求关于q和r的表达式;(6) 用(4)和(5)的结果求r的表达式,说明r的含义。 (1) 证明: 假设存在使得,有 因为,所以,因此,只能有。(2)解:,显然,a和b的最大值均为,则有所以,(3)证明:(4)解:根据,得(5)解:根据,得(6) 解:当时,根据及得,同理,当 时,余数r表示ab的n个最低有效位与ab右移位数n之差。6
15、. (1) 在IDEA的模乘运算中,为什么将模乘取为而不是?(2) 在IDEA的模加运算中,为什么将模乘取为而不是?答:(1) 在IDEA模乘运算中,必须保证运算构成一个群,因此模数必须为素数,故不能取216。(2) 同一群内的分配律和结合律都成立,但IDEA算法中要保证模数的加法和模数的乘法,比特异或之间分配律和结合律不成立,因此模加运算不能和模乘运算在同一个群内,即不能选模216+1,而216在模加运算中必为一个群.7. 证明SM4算法满足对合性,即加密过程和解密过程一样,只是密钥使用的顺序相反。证明: SM4算法的加密轮函数分为加密函数G和数据交换E。其中G对数据进行加密处理,E进行数据
16、顺序交换。即加密轮函数 Fi=GiE其中,Gi=GiXi,Xi+1,Xi+2,Xi+3,rki (i=0,1,2,31)=(XiTXi+1,Xi+2,Xi+3,rki,Xi+1,Xi+2,Xi+3)EXi+4,(Xi+1,Xi+2,Xi+3)=Xi+1,Xi+2,Xi+3,Xi+4, (i=0,1,2,31)因为, (Gi)2=Gi(XiTXi+1,Xi+2,Xi+3,rki,Xi+1,Xi+2,Xi+3,rki)=(XiTXi+1,Xi+2,Xi+3,rkiTXi+1,Xi+2,Xi+3,rki,Xi+1,Xi+2,Xi+3,rki)=Xi,Xi+1,Xi+2,Xi+3,rki=I因此,加密
17、函数G是对合的。E变换为:EXi+4,(Xi+1,Xi+2,Xi+3)=( Xi+1,Xi+2,Xi+3, Xi+4)E2Xi+4,(Xi+1,Xi+2,Xi+3)=I显然,E是对合运算。综上,加密轮函数是对合的。根据加密框图,可将SM4的加密过程写为:SM4=G0EG1EG30EG31R根据解密框图,可将SM4的解密过程写为:SM41=G31EG30EG1EG0R比较SM4与SM4-1可知,运算相同,只有密钥的使用顺序不同。所以,SM4算法是对合的。第4章1. 证明以下关系:(1) ,则;(2) ,则;(3) ,则。解:(1)设,由题意得,且存在整数,使得,即,证得。(2)已知,则存在整数,
18、使得,证得。(3)已知,则存在整数,使得,证得。2. 证明以下关系:(1) ;(2) 。解:(1)设,则存在整数,使得即。(2)设,则存在整数,使得即。3. 用Fermat定理求。解:因为是素数,且,则由Fermat定理可得:;又根据性质,可得:。4. 用推广的Euclid算法求的逆元。解:运算步骤如下表所示:循环次数QX1X2X3Y1Y2Y3初值1011901671101671-152211-152-121533-12154-77424-77-9161所以。5. 求。解:由Euclid算法,得:所以。6. 求解下列同余方程组:解:根据中国剩余定理求解该同余方程组,记,则有,所以方程组的解为7
19、. 计算下列Legendre符号:(1) ;(2) ;(3) 。解:(1)(2)(3)8. 求的所有本原根。解:因为,所以的所有不同的素因子为,即对每个,只需计算。又因为,所以有8个本原根。满足且的为的本原根,即。9. 证明当且仅当是素数时,是域。证明:(1)若是域,则,均为Abel群。显然为Abel群,与n是否为素数无关;但若为Abel群,其条件之一必须保证对任意有模乘法逆元,即对任意,有,使得,所以,即,为素数。(2)若不是素数,则,即至少存在一个,使得,即无模乘法逆元,因此不能保证均为Abel群,即不是域。10. 设通信双方使用RSA加密体制,接收方的公开钥是,接收到的密文是,求明文。解
20、:因为,则,所以,即明文。11. 已知的运行时间是,用中国剩余定理改进RSA的解密运算。如果不考虑中国剩余定理的计算代价,证明改进后的解密运算速度是原解密运算速度的4倍。证明:RSA的两个大素因子的长度近似相等,约为模数的比特长度的一半,即,而在中国剩余定理中,需要对模和模进行模指数运算,这与的运行时间规律相似,所以每一个模指数运算的运行时间仍然是其模长的三次幂,即。在不考虑中国剩余定理计算代价的情况下,RSA解密运算的总运行时间为两个模指数运算的运行时间之和,即,证得改进后的解密运算速度是原解密运算速度的4倍。12. 设RSA加密体制的公开钥是(1) 用重复平方法加密明文,得中间结果为:若敌
21、手得到以上中间结果就很容易分解,问敌手如何分解。(2) 求解密密钥。解:(1)由以上中间结果可得:。由,可知分解为。(2)解密密钥,由扩展的Eucild算法可得。13. 在ElGamal加密体制中,设素数,本原根,(1) 如果接收方B的公开钥是,发送方A选择的随机整数,求明文所对应的密文。(2) 如果A选择另一个随机整数,使得明文加密后的密文是,求。解:(1)密文,其中:。所以明文对应的密文为。(2)由,穷举法可得。所以。14. 设背包密码系统的超递增序列为,乘数,模数,试对good night加密。解:由,乘数,模数,可得。明文“good night”的编码为“00111”,“01111”,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 习题 参考答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内