习题第一章习题1.设仿射变换的加密是E11,23(m)≡11m+23(mod26),对明文“THENATIONALSECURITYAGENCY”加密,并使用解密变换D11,23(c)≡11-1(c-23)(mod26)验证你的加密结果。解:明文用数字表示:m=[19741301981413011184220178192406413224]密文C=E11,23(m)≡11*m+23(mod26)=[24221510232472110231413151992724123111510191]=YWPKXYHVKXONPTJCHYBXLPKTB习题∵11*19≡1mod26(说明:求模逆元可采用第4章的“4.1.7欧几里得算法”,或者直接穷举1~25)对密文C进行解密:m’=D(C)≡19*(c-23)(mod26)=[19741301981413011184220178192406413224]=THENATIONALSECURITYAGENCY习题2.设由仿射变换对一个明文加密得到的密文为edsgickxhuklzveqzvkxwkzukvcuh,又已知明文的前两个字符是“if”。对该密文解密。解:设加密变换为c=Ea,b(m)≡a*m+b(mod26)由题目可知明文前两个字为if,相应的密文为ed,即有:E(i)=e:4≡8a+b(mod26)E(f)=d:3≡5a+b(mod26)由上述两式,可求得a=9,b=10。习题因此,解密变换为m=D(c)≡9-1(c-10)(mod26)密文对应的数字表示为:c=[4318682102372010112521416252110232210252010212207]则明文为c=9-1(c-10)(mod26)=[85241420201317403197818197013100194072417]=ifyoucanreadthisthankateahcer习题3.设多表代换密码中3132191151062521,10174881237217AB加密为:明文为:PLEASESEND……解密变换:(mod26)iiCAMB1()(mod26)iiMACB习题解:将明文分组:……将明文分组带入加密变换:可得密文:NQXBBTWBDCJJ……解密时,先将密文分组,再将密文分组带入解密变换:可证得明文121518114,41804MM(mod26)iiCAMB1()(mod26)iiMACB习题4.设多表代换密码中,A是2×2矩阵,B是0矩阵,又知明文“dont”被加密为“elni”,求矩阵A。(mod26)iiCAMB解:设矩阵,dont=(3,14,13,19)elni=(4,11,13,8)解得:abAcd43(mod26)1114abcd1313(mod26)819abcd1013923A第二章流密码知识点1流密码:利用密钥k产生密钥流,明文与密钥流顺次对应加密2线性反馈移位寄存器:产生密钥流图2.1GF(2)上的n级反馈移位寄存器习题1.3级线性反馈移位寄存器在c3=1时可有4种线性反馈函数,设其初始状态为(a1,a2,a3)=(1,0,1),求各线性反馈函数的输出序列及周期。解:设反馈函数为f(a1,a2,a3)=a1⊕c2a2⊕c1a3当c1=0,c2=0时,f(a1,a2,a3)=a1,输出序列为101101…,周期为3。当c1=0,c2=1时,f(a1,a2,a3)=a1⊕a2,输出序列如下10111001011100…,周期为7。当c1=1,c2=0时,f(a1,a2,a3)=a1⊕a3,输出序列为10100111010011…,周期为7。当c1=1,c2=1时,f(a1,a2,a3)=a1⊕a2⊕a3,输出序列为10101010…,周期为2。习题2.设n级线性反馈移位寄存器的特征多项式为,初始状态为,证明输出序列的周期等于的阶。()px12(,,)(00)naaa…,…01()px定义2.2设p(x)是GF(2)上的多项式,使p(x)|(xp-1)的最小p称为p(x)的周期或阶。定理2.3若序列{ai}的特征多项式p(x)定义在GF(2)上,p是p(x)的周期,则{ai}的周期r|p。习题习题3.设n=4,n=f(a1,a2,a3,a4)=a1⊕a4⊕1⊕a2a3,初始状态为(a1,a2,a3,a4)=(1,1,0,1),求此非线性反馈移位寄存器的输出序列及周期。解:列出该非线性反馈移位寄存器的状态列表和输出列(如右图):……输出序列为1101111011…,周期为5。f(a1,a2,a3,a4)输出(1,1,0,1)11(1,0,1,1)11(0,1,1,1)10(1,1,1,1)01(1,1,1,0)11(1,1,0,1)11….….….511101a611101a习题6.已知流密码的密文串1010110110和相应的明文串0100010001,而且还已知密钥流是使用3级线性反馈移位寄存器产生的,试破译该密码系统。解:由已知可得相应的密钥流序列为1010110110⊕0100010001=1110100111,又因为是3级线性反馈移位寄存器,可得以下方程:123456321234345aaaaaacccaaaaaa321111010110101ccc将值代入得:习题1111110101AA1111101101A1111111110101101110,33122iiiiiacacaaa321111010101101110ccc由此可得密钥流的递推关系为:第三章分组密码体制习题2.证明DES的解密变换是加密变换的逆。明文分组、密钥加密阶段:初始置换、16轮变换、逆初始置换每轮迭代的结构和Feistel结构一样:),(111iiiiiiKRfLRRL习题习题3.在DES的ECB模式中,如果在密文分组中有一个错误,解密后仅相应的明文分组受到影响。然而在CBC模式中,将有错误传播。例如在图3-11中C1中的一个错误明显地将影响到P1和P2的结果。(1)P2后的分组是否受到影响?(2)设加密前的明文分组P1中有1比特的错误,问这一错误将在多少个密文分组中传播?对接收者产生什么影响?ECB模式:每个明文组独立地以同一密钥加密CBC模式:加密算法的输入是当前明文组与前一密文组的异或习题习题4.在8比特CFB模式中,如果在密文字符中出现1比特的错误,问该错误能传播多远。CFB模式:每次只处理输入的j比特,将上一次的密文用作加密算法的输入以产生伪随机输出,该输出再与当前明文异或以产生当前密文。习题习题5.在实现IDEA时,最困难的部分是模216+1乘法运算。以下关系给出了实现模乘法的一种有效方法,其中a和b是两个n比特的非0整数。 22()() 21 222()())1(nnnnnnabmodabdivabmodabmodabdiv()( 22) nnabmodabdiv()( 22) nnabmodabdiv,,注意:(abmod2n)相当于ab的n个有效最低位,(abdiv2n)是ab右移n位。IDEA:明文、分组、密钥、8轮迭代(不是传统的feistel)、输出变换习题习题习题第四章公钥密码习题1.证明以下关系:(1)(2)(3)(mod)(mod),modanbnabn则mod,modabnban则mod,mod,modabnbcnacn则(2)由,则存在整数k使a=b+kn,则b=a+(-k)nmodabnmodban解:(1)设,由题意得,且存在整数,使得可得即证得mod,modabanrbnrabrr,jk,,abajnrbknr(),abjkn|(),nabmodabn习题2.证明以下关系:(1)(2)(mod)(mod)mod()modanbnnabn(mod)(mod)mod()modanbnnabn习题3.用Fermat定理求3201mod11Fermat定理:若p是素数,a是正整数且gcd(a,p)=1,则ap-1≡1modp。解:p=11,a=3,gcd(3,11)=1由Fermat定理,可知310≡1mod11,则(310)k≡1mod11所以3201mod11=[(310)20×3]mod11=[((310)20mod11)×(3mod11)]mod11=3。习题4.用推广的Euclid算法求67mod119的逆元。167mod11916因此,Euclid算法(辗转相除法)推广的Euclid(P97)解:习题5.求gcd(4655,12075)。解:12075=2×4655+27654655=1×2765+18902765=1×1890+8751890=2×875+140875=6×140+35140=4×35+0所以gcd(4655,12075)=35。习题6.求下列同余方程组2mod31mod51mod7xxx(中国剩余定理)习题10.设通信双方使用RSA加密体制,接收方的公钥是(e,n)=(5,35),接收到的密文是C=10,求明文M解:(n)=35=5*7(n)=(5)*(7)=(=(5-1)*(7-1)=24因为d*e≡1mod(n),解得d=5M=cdmodn=105mod35=5RSA?密钥产生、加密、解密习题13.在ElGamal加密体制中,设素数p=71,本原根g=7,(1)如果接收方B的公开钥是yB=3,发送方A选择的随机整数k=2,求明文M=30所对应的密文。(2)如果A选择另一个随机整数k,使得明文M=30加密后的密文是C=(59,C2),求C2。Elgamal:y,p,g,x;密文对解:(1)C1≡gkmodp=72mod71=49,C2≡yBkMmodp=(32×30)mod71=57密文为C=(C1,C2)=(49,57)。(2)由C1≡7kmod71=59,解得k=3。所以C2=(3k×30)mod71=29。习题习题习题习题第五章密钥分配与密钥管理习题2.Diffie-Hellman密钥交换协议,中间人攻击,详细实施过程。习题3.在diffie-hellman密钥交换过程中,设大素数p=11,a=2为p的本原元根(1)用户A的公钥YA=7,求其私钥XA(2)用户B的公钥YB=3,求A和B的共享密钥K习题习题习题习题习题习题习题习题习题