密码学大题九种题型.docx
一、计算题仿射变换(p9)加密公式:coEi.b(m)=anb(三od26)解密公式:m=b,.b(c)三a,(c-b)<od26)注;a,b是密钥,a'去示a的逆元,即a'a三lmod26,BPar三<26n+l)a,n<=26例遨:1、设仿射变换的加解密分别是:c=E,it(m)三7三+21(mod26)>=D?,8l(c>=7'(c-21)(mod26)对SeCUrity加密.对VlXijh解密.2,设仿射变换的加密是Enn<m>三Un+23(>d26)时明文THENATlONA1.sECURITYAGENcY加密,并使用解密变换m=Du.»(c)=U1(c-23)(mod26)险证你的加密结果。多表代换密码(PlO)Mj,对每个分组M1的多表代换率码首先将明文M分为由n个字母构成的分组M1,M2t加密为:C,三AM+B(modN),i=l,2j解密为:Mi-AT(C1B)(modN>.i=l.2i例题:1,设n*3.N=26.明文为YOURPINNOISFOURONETWOSIX2,设多表代换密码中加密为:C.三AM+B(modN)对明文P1.EASESENDMETHEBOOK,MYCREDITCARDNO1$SIXONETWOONETHREEEIGHTSIXZEROoNESlXElGHTFOURNlNESEVENZEROTWo,用解密变换M1=A,(C1-B)(modN)於证结果,其中欧拉函数(p89)设n是一正整数,小于n且与n互索的正整数的个数林为n的欧拉函数,记为(n>4定理:(1)若n是素数,M(n>=n-l:(2)若n是两个素数P和q的乘积,则Mn)=+(p)X(Hq)=(p-DX(q-l);(3)若n有标准分解式nB*.pj;则*(n)=n(1-<lp).<1-<lp.)>.例逆:1, =2-(7)=6,(8)=4.2, »(21)=(3×7)=(3)×(7)=2×6=12<72>=(2,3j)=72<1-<l2)(1-<13)=24综合题线性反馈移位寄存器输出序列(p17)例题:1'图2T1是个5级戕性反馈移位寄存器,其初始状态为*3>»a2,33»a,85)=*110»0<1»1),可求出输出序列为?周期为?是否为最大m序列?图2-111001101001000010101110110lllll(X)n.2、3级税性反馈移位寄存器在c,=1时可有4种线性反馈移位函数,谀其初始状态为(al,a2,a3)=(1.0.1),求各戏性反馈函数的输出序列及周期,3、设n=4,f(a1,a2.a1,ad)=aja41aa”初始状态为(a1.a2,a3.at)=(1,1,0.1>,求此非线性反馈移位寄存器的输出序列及周期。注;(1)相同相加等于0,不同相加等于1:(2) nR线性反愦移位寄存器的状态周期<w21M,周期达到版大值的序列粉:为m序列:(3) a=1+a.贪婪算法求二进制(p120)在得到B后,对明文分组X三(XlXj-Xr1)的加密运算为c=f(×)=BBj三tAIkmodk例题:kA=(l.3.5.11.21,44,87.175.349.701)是一个超递增背包向8bk=1590.t=43.Wt1三37sod1590.设用户收到的密文是(2942,3584,903,3326,215,2817,2629,819)。要求;用贪婪算法求明文的二进制。2,设背包密码系统的超递增序列为3,九9,17,35),乘数1=19,模数k=73,试对goodnightAlIiJfe3、设背包密码系统的超速增序列为3,4.8.17.33),乘数t-17,模数k-67.试对密文25、2,72、92解密.三、综合分析题Diffie-Hellman密钥交换(p144)公式:Ya=a'modp.Ye=a,Amodp;K=YsxAmOdp.K=YAXemOdP例遨:1,p=97.a=5.A和B分别秘密选Xa=36.Xb=58.并分别计算Y*=536mod97=50.Yb=5s8mod97=44*在交换Ya,Yb后分别计算K.2、在Diffie-Hellman依仍交换过程中,设大素数pTl,a=2是P的本原根.(1)用户A的公开钥Ya=9,求其秘密初×,(2)设用户B的公开钥Yb=3,求A和B的共享密钥KShamir门限方案(p152)例遨:1、设k=3.n=5.q=19.s=ll.Rfi机选取a2,a,=7,得多项式为f(X)=(7x2+2x+ll)mod19(1)求其子密钥:(2)知道子密钥后重构f(X):(3)求秘密数据s。注:(I)多项式里.必须都是正整数,如行位数,则用模数的整数倍加上式子中得负敷,葡提是怏数的整数倍式子中的负数,目模数的熔数信要求最接近负数数字:(2)k为门限值,k为多少,则用多少子密的求f(x).n表示有多少子密的.2,在Shamir秘密分割门限方案中,i殳k=3,n=S.q=17,5个子密钥分别是8.7.10.0.11.从中任选3个,构造插值多项式并求出秘密数据S注:(1)多项式里必须都是正整数.如有负数,则用模数的整数倍加上式子中得负数,前提是模数的整数倍式子中的负数.且模数的整数倍要求最接近负数数字:(2)k为“限做,k为多少,则用多少子诙钥求f(x),n衣示有多少子密钥.