《密码学课后习题.docx》由会员分享,可在线阅读,更多相关《密码学课后习题.docx(26页珍藏版)》请在课桌文档上搜索。
1、第三章:3-1使用密钥字为COmmOn的代换密码方案,列出字母代换表解:去除后来重复的字母后,真正的密钥字为COmn明文abCde/ghijk/m密文COMNABDEFGHIJ明文nOPQrStUVWXyZ密文KLPQRSTUVWXYZ3-2解密下面的段恺撒密码密文(明文单词间留空,以便阅读):Ehvwwlphriwkhbhdulvvsulqjzkhqiorzhuveorrp解:将密文字母在英文字母表上前移3个位置,即可得到这段恺撒密码密文对应的明文如下:besttimeoftheyearisspringwhenflowersbloom3-3利用仿射密码算法加密下面的明文,假设k=7,k2=3
2、(要求首先列出明文字母-密文字母代换表,然后给出对应的密文,并以字母t的加密为例给出计算过程):解:因为打=7,k2=3,因此仿射密码的加密公式为c=ek(p)=klp+k2=7p+3(mod26)字母t(19)被加密为/=7x19+3=136=6=G(mod26)完整的明文字母-密文字母代换表如下表所示:明文abCdefghZjk/m密文DKRYFMTAHOVCJ明文nOPQrStUVWXyZ密文QXELSZGNUBIPW3-4解密3-3题所得仿射密码密文,并以密文字母F的解密为例说明计算过程。解:因为q=7,k2=3,因此,根据仿射密码的解密公式,有p=71(c-3)=15(c-3)=15
3、c-19(mod26)密文字母F(5)解密为:15c-19=155-19=75-19=56=4=e(mod26)密文ABCDEFGHIJKLM明文hW1aPetiXmbqf密文NOPQRSTUVWXYZ明文UjynCrgVkZOdS3-5使用密钥字student对明文cryptography进行维吉尼亚密码加密和解密,要求仿照表3-7(P51)给出其加密和解密过程,并说明相同明文字符的加密结果。解:去除密钥字student中后来重复的字母后,真正的密钥为Studeno因此,应将明文、密文按照6位长度进行分组,每组使用同样的密钥StUden加密、解密。03023-6选择希尔密码的加密密钥矩阵k为
4、:k=试以明文Iove为例0507解:将明文字符1。Ve变换为数字,分别为11、14、21、4。因为加密密钥矩阵k为2阶矩阵,所以应将明文分成Pl=(Il14)和2=(214)两组分别进行加密。(1)确定解密密钥矩阵k”03 0205 07= 37-25 = 21-10 = ll=1, mod 26 = 19(见表 2-2 (P2D)07-05-0203072107212403(mod 26)24031333994565703091405(mod 26)(2)加密CI=PJk = QI 14)03050207= (103 120) = (25 16) = (Z Q) (mod 26)c2 =
5、p2 = (21 4). 03050207= (83 70) = (5 18)=(F S) (mod 26)因此,明文字符Iove的加密密文为ZQFSo(3)解密p1 = c1 kx =(25 16)03 1409 05= (219 430) = (11 14) = (/ o) (mod 26)p2 = c2 ky -(5 18)03 1409 05= (177 160) = (21 4) = (v e) (mod 26)因此,密文字符ZQFS的解密明文为IoVe,即解密后恢复了原来的明文。3-7使用每行5个字符的格子和密钥字money,将下面的明文置乱为密文(多余的空格内依次填入字母a、bc
6、.):cryptographyisthescienceandstudyofsecretwriting提示:将密钥字money变换为数字(字母表上最靠前的密钥字母用0表示,然后依次递增),即是读出列的顺序。解:置乱密码的格纸表如下表所示:012310CyPt10graP2IiyiSt3heSCi4enCea5ndStU6dy0fS7eCret8Writi9ngabC根据密钥字money,得到读出列的顺序为1、3、2、0、4。按照此顺序读出各列,得到置舌L密文如下:RgyendycrgPascetfetbYriscsoriaCohhendewnTptiaustic3-9用频数法破译下面的一段仿射密
7、码密文(不含空格):FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKAPRKDLYEVLRHHRH解:(1)密文字母频数统计该段仿射密码密文一共有57个密文字符,密文字母出现的频数如下表所示:字母ABCDEFGHIJKLMN0PQRSTUVWXYZ频数21075405005221120830240210从上表可见频数比较高的密文字母:R:8;D:7;E、H、K:5;F、V:4而明文字母频数比较高的几个英文字母依次为e、t、a、。、i、ns、h、r。(2)假设与推论、证实第一次假设:频数最高的密文字母R(17)对应频数最高的明文字母e(4),频数次高的密文字母
8、D(3)对应频数次高的明文字母t(19)。第二次假设:频数最高的密文字母R(17)对应频数最高的明文字母e(4),频数第三高的密文字母E(4)对应频数次高的明文字母t(19)。第三次假设:频数最高的密文字母R(17)对应频数最高的明文字母e(4),频数并列第三的密文字母H(7)对应频数次高的明文字母t(19)。第四次假设:频数最富的密文字母R(17)对应频数最高的明文字母e(4),频数并列第三的密文字母K(10)对应频数次高的明文字母t(19)。根据仿射密码的加密公式,列出密文和明文的关系方程组如下:17=4+2(mod26)10=19A:1+k2(mod26)得:15-=-7=19(mod2
9、6)解得:k=15,19=719=133=3(mod26)由于gcd(fc1,26)=gcd(3,26)=l,因此匕=3存在乘法逆元,且灯=3=9,说明第四次假设正确。将占二3代入式,得:A2=l7-41=17-43=5(mod26)因此,破译得到该仿射密码的加密密钥为匕=3,&=5。将它们代入仿射密码的解密公式,得至II:p=11(c-2)=9(c-5)=9c-45=9c-19(mod26)将密文字母代入式,得到对应的明文字母,如下表所示:密IAlBlelDlElFlGlHIllJlKlLlMlNIolPlQlRlSlTlUlVlWlXlYlZ明hqZirajsbktcIudmvenwfox
10、gpy例如,密文字母U(20)代入式,得到明文字母为9c-19=920-19=180-19=161=5=/(mod26)对照题上表,将密文变换为明文,得到如下的一段具有明确意义的明文:algorithmsarequitegeneraldefinitionsofarithmeticprocesses第四章:4-5分别使用(4-14)式和表4-1的S盒查找表,求16进制数5c和e2的字节代换结果。已知5c-=51,e2=d60解由于5c-=51=(01010001)1OOO1111I-11O11OOO111O1O11I11OOO11OOOOO1111OOO1OO1O1=4411111OOO1OOO
11、OO11111OOO111()OO11111O11O11OOO11111OO()O()而根据表4-1的S盒查找表,可以直接得到5c的字节代换结果为4a,可见二者结果相同。同理,由于e2=d6=(11010110),根据(4-14)式,有OOO1111O111Oh11OOO111111Ob2111OOO111OOOO1111OOO1OO1O1=9811111OOO1O1O1O11111OOO111OOO11111O1111OA.OOO111111O1O1而根据表4-1的S盒查找表,可以直接得到e2的字节代换结果为98,可见二者结果也相同。4-6AES的中间态如题4-6图所示。求AES对其执行行移
12、位运算ShiftRows后的结果。d4eOb8Ie27bfM4111985d52aefle530d4eOb8Iebfb441275d52119830aefle5解AES对其执行行移位运算ShiftRows后的结果如题4-6图2所示。4-7分别用多项式乘法、移位相加法和表操作法计算下列字节乘法运算:(1)5171(2)5ce2解(1)51=(01010001)=x6+l,71=(10010101)=x6+x4+1(多项式乘法计算字节乘法运算51)71=(+1)(x6+x5+1)=x12+x,l+x,0+x6+x,0+x9x8+x6+x5+x4+l=X12+x+x9+x8x51=(+x3+x1)+
13、x5+1=(x8x4+x3+x1-x8)(4+x+1)+x5+1=(x4x3+x+l)(x4+xl)+x3+1=x8+x7+x5+x4+x7+6+x4+x3+x5+x4+x2+x+x4+x3+x+1+5+1=x8+6+x5+x2=(x8+x4+x3+1-x8)+x6+x5+x2=X4+X3+X+1+x6+X5+X2=X6+X5+X4+X3+X2+X+1=(01111111)=7移位相加法计算字节乘法运算由于5171=(OlOloOOl)(01110001),且(00000001)(01110001)=(01110001)(00000010)(01110001)=(11100010)(OoooO
14、loo)(01110001)=(11000100)(OoollOll)=(IlOlllll)(00001000)(01110001)=(IOlullO)(OoOlIOII)=(10100101)(00010000)(01110001)=(01001010)(00011011)=(01010001)(001(X)OOO)(01110001)=(IOl(X)OlO)(01000000)(01110001)=(01000100)(00011011)=(0101111)因此,有5171)=(01010001)(01110001)=1(X)000001)(01Il0001)1(00010000)(011
15、10001)J(01000000)(01110001)J=(OIIIoOOl)(OIOlOOOl)(OIOlUll)=(0lllllll)=7)表操作法计算字节乘法运算查表4-2的对数表,有:51=O31M,71=03W.因此,5171=0303冽=03M03,22103),57j=03)#,03产=03产查表4-3的反对数表,有:03),57,=7.因此,5171=03产=7/。4-9利用0351=73的已知结果,证明GF(28)域上的元素95=03l61。解036=O3O3,s,=O373=(x+l)(x6+x5+x4+x+l)=x7x6+x5+x2+x+x6+x5+x4+x+1=X7+x
16、4+x2+1=(10010101)=954-10利用表操作法,计算GF(2si)域上的元素5c和e2的乘法逆元。解:5c=03产,e2=03产根据表4-2,有5c=0322,e2=03WL因此,5c-1=03T22=034Z22=03W阵=03一冈=03一网=03产根据表4-3,得到5c,=03uw,=51e2=03产=464-11分别用移位相加法和表操作法计算AES的下列字运算:(1) 0187016e024603q6(2) 0252034401c80194解(1)移位相加法计算0187+016e+0246+03(a6=87+6e+0246+02a+a6=(100001ll)(0110111
17、0)+(00000010)(01000110)(00()()(X)10)(101OO110)+(101OO110)=(IllOK)01)+(1000HOO)+()1001100)+(0()011011)+(101(X)11()=(11101001)+(10001100)+(IlllO(X)I)=(l()0101(X)=94表操作法计算01)87016e024603a6=876e0246O306=876e03u91O3,ftf,O3,o031491=876eO3.O3,4rtl=876e8cf1=(1OOOO111)(O1IOl110)(10001100)(11110001)=(10010100
18、)=94(2)移位相加法计算025203a401c80194=0252q4024c894=(IolooloO)(10100100)。(OIOo100oOOOIlOI1)(IlOOlOOO)(100IOloO)=(00001111)=0表操作法计算025203a401c80194=03产)“03刚03“(Byc894=03117j03ij,03i,c894=4)7c8)94二(IoloOlOo)(UUoUl)(IlOolOoO)(IoOlOlOO)=(00001111)=04-12假设128比特种子密钥k为:k=ab7e151628aed2a6abf7158809cf4f3c试仿照表4-6列表给
19、出轮密钥字%的密钥扩展过程及结果。解轮密钥字WO%的密钥扩展过程及结果如题4-12表所示。/叫7RotWord()SubWord)RconjW-吗0ab7el516128aed2a62abf71588309ct4c409cf4i3ccf4f3c098a84ebOI010000008b84eb01ab7e151620fafel7520fafel728aed2a608542cbl608542cblabf71588a3a339397a3a3393909CMBCaa6c76058aa6c76056c7605aa50386bac0200000052386bac20fafel772c295bb972c29
20、5bb08542cbl7a96b90a4-20画出题4-20图所示4级序列产生器的全状态图,从最小的非0状态开始写出一个周期的输出序列,并说明它是否是m序列产生器。输出题4-20图4级序列产生器解:该4级序列产生器的全状态图如题4-20图2所示。由图可见,从最小的非0状态开始,一个周期的输出序列为100ollIIOIoIl00,其周期为15,因此它是m序列产生器。题4-20图24级序列产生器的全状态图423检验周期序列“1000KIlOlOllO0”的平衡特性、游程特性和自相关特性。其中,自相关特性直接通过(4-57)式和(4-58)式的计算来进行检验。解:(1)平衡特性检验。该序列的周期为1
21、5,且一个周期中有8个“1”、7个“0”,因此符合戈龙提出的随机性公设中的平衡特性。如用频数法检验,将吗=8、%=7代入(4.(59) 有d=UlLZ二,n1515显然,它远远小于1自由度的Y分布表中5%显著性水平值3.84,所以通过频数检验。(2)游程特性检验。该序列的一个周期中,有两个长度为1的“1”游程,有1个长度为2的“1”游程,有1个长度为4的“1”游程,“1”游程的总数为4。除了长度为4的“1”游程外,长度为1的“1”游程数为“1”游程总数的1/2,长度为2的“1”游程数为“1”游程总数的1/4,因此基本符合游程特性。同样,该序列的一个周期中,有两个长度为1的“0”游程,有1个长度
22、为2的“0”游程,有1个长度为3的“0”游程,“0”游程的总数为4。除了长度为3的“0”游程外,长度为1的“0”游程数为“0”游程总数的1/2,长度为2的“0”游程数为“0”游程总数的1/4,因此也基本符合游程特性。(3)自相关特性检验。检验结果见题4-23表。从该表可见:该序列的自相关函数值符合(4-58)式的特性,即汇=0时,C(T)=C(O)=I;r0时,C(T)=-I/15。因此该序列具有很好的自相关特性。自相关函数具有周期性,其周期与要检验序列的周期相同。题4-23表自相关特性检验序列相同位数A不同位数DA-DC(T)=P0100oiiiioioi100150110001I11010
23、1100178-1/15200111101011001078-1/15301111010110010078-1/15411IlOlOl100100078-1/155Iiioioi100100oi78-1/156I1010110010001178-1/15710101100100011178-1/15801011001000111178-1,I59101100100011I1078-1/151001100100011110178-1/15II1100100011110107S-1/1512100100oiiiioioi7S-1/151300100011110101178-1/1514010001
24、11101011078-1/1515100oiiiioioi1001501第5章:5-5在RSA体制中:(1)若=19,q=23,e=5,求、奴)和d。(2)若c=31,n=3599,求d0该计算结果说明了什么问题?解(1)=pg=19x23=437,()=(p-l)(q-l)=18x22=396d=emod(n)=5lmod396=317(2)由于x=3599=59x61=pg,因此p=59,g=61(n)=(p-l)-l)=5860=3480d=e,mod(n)=3lmod396=3031该结果说明,p、q太小是不安全的,攻击者容易通过因式分解从分解出p、q,并进而根据(n)和e计算出私钥
25、d。5-6使用快速计算法计算下列模指数,要求列表给出计算过程。(1) 1613mod4661(2)432159mod4661解(解b=13=(IlOl),a=16,n=4661,计算过程如下表所示ib.y(mod4661)3I1216=162116216=40961040962=16777216三2277012277216=82955664三3847因此,16,3mod4661=3847o(2) b=59=(111011),a=4321,n=4661,计算过程如下表所示。ibiy(mod4661)51124321=432141432124321=80677568161三221331221324
26、321=21161531449三41632041632=17330569三9711197124321=4074015961三365701365724321=57787537329三2551因此,432159mod4661=2551。5-7假设Alice和Bob采用RSA密码体制进行保密通信。已知Alice的公钥为(eA,nA)=(13,115),私钥为(dA,nA)=(62,115);Bob的公钥为(eB,nB)=(7,119),私钥为(dB,nB)=(55,119)o(1)若AliCe想将明文加=7加密后传送给Bob,试计算密文C。(2)若BOb要解密密文c=3,试计算明文加。解(1)C=m
27、odnli=Tmod119=823543mod119=63(2)m=cdf,modnB=355mod119=174449211009120179071170507mod119=455-8假设Alice和Bob采用RSA密码体制进行保密通信。己知Alice的公钥为Sa,恒)=(13,115),私钥为(dA,11a)=(62,115);BOb的公钥为(eB,nB)=(1223,2867),私钥为(dB,nB)=(167,2867)o字符代换规则为:字母az分别用0126表示,空格用00表示。(1)若Alice想将明文“rsaalgorithm”秘密地发送给Bob,帮Alice计算密文。(2)Bob
28、收到AIiCe发来的密文后,帮Bob计算明文,并将明文替换回英文字符。(3)若BOb想将明文“rs”秘密地发送给AliCe,帮BOb计算密文。解(1)由于BOb的模数11b=2867,因此Alice可以一次加密两个字符。将明文Osaalgorithm”替换为数字,并按两个字符分组为:1819010001120715180920081300o各组明文加密如下:G=So mod n = 1819,223mod 2867 = 2756c2=m/Bmod77=OlOO1223mod2867=2001c3=吗%mod=0112,223mod2867=0542c4=mJmod=0715,223mod286
29、7=0669c5=m;Bmod7=1809,223mod2867=2347modnB=2008,223mod2867=0408c1=mBmod=1300,223mod2867=1815因此,AliCe加密后的密文为:2756200105420669234704081815。(2)Bob收到AIiCe发来的密文后,分组解密得到各组明文:zM=c%modnR=2756l67mod2867=1819mz=c2,bmodnB=20011225mod2867=0100吗=q%modn=0542,67mod2867=0112In4=cfmodnB=0669,67mod2867=0715w5=cflmod=
30、2347,67mod2867=1809w6= ,5)2 + g35+45+Cg g=g5+gl3=(0110)e(1101)=(1011)=g7将4代人(5-67)和(5-68)式,得到+/1+”(gT+g+g=g+g+g4二(IoOl)(IOll)(X)Il)=(0001)=1=g%=Xp2+(t+l)%=(g+(g7+l)g=g)+g7+l=(OIlI)(IOll)(OOOD=(HOl)=g因此,有2P(g5,g3)=U(l,g3)(4)5P=V=2U+P=W+首先计算2t=W根据倍点规则,有=1+g】3=(OOol)(IIoI)=(HOO)=g6将4代入(5-67)和(5-68)式,得到
31、xvv=2+a=(g)2+g6+g4=gi2+g6+g二(IllD(IIOo)(OOll)=(0000)=0yvv=x2+(+1)=I2+(g6l)0=1=(0l)=80因此,有2U(Lg)=W(OJ)再计算52=丫=纪+P=W+P。因为XP%v,所以P、W是非互逆点。根据(5-65)式,有1W+%l+g(OoOl)(100O)(1001)婢4=KB=P丁Tg将一代入(5-63)(5-64)式,得到xv=2,+xp+xvv+a=U9)2+9+5+(g4=g%g9+g5+g4三g+r+gS+g=(100O)(IOIO)(OIIO)(OOlI)=(Olll)ClO=Syv=(p+xv)+xv+yp=gg5+g)+gK)+g3=gJg+gK)+g3=g+g+g+g3二(IOol)(OOll)(Olu)(1000)=(OlOl)=g8