您好,欢迎访问三七文档
2.5题:解决密钥分配问题的一个办法是使用收发双方都有的一本书中的某行文字。至少在某些侦探小说中经常把一本书的第一句话作为密钥。这里就从一本富于悬念的侦探小说——RuthTendell的《与陌生人的谈话》中找到一个例子给定下列消息:SIDKHKDMAFHCRKIABIESHIMCKDLFEAILA这段密文是用《沉默的背后》一书的第一句话和单表代换方法产生的,这句话是ThesnowlaythickonzhestepsandthesnowflakesdrivenbythewindLookedblackintheheadlightsofthecars.使用的是简单的代换密码a.加密算法是什么样的?b.它的安全性怎么样?c.为了是密钥分配问题简单化,通信双方都同意使用一本书的第一句话或最后一句话作为密钥。要想改变密钥,他们只需更换一本书就行了,使用第一句话为什么比使用最后一句话要好,为什么?答案:(1).由于《沉默的背后》一书的第一句话是密钥。并且知道该加密方法是单表代换,即密钥中的所有字母对应着密文中的26个大写的字母。因此对应关系如下:密钥:thesnowlaythickonthestepsandthesnowflakes代换表:ABCDEFGHIJKLMNOP密钥:drivenbythewindlookedblackintheheadlightsof代换表:QRSTthecars.因此:密文为:SIDKHKDMAFHCRKIABIESHIMCKDLFEAILA明文为:basilisktoleviathanblakeiscontact(2).他的安全性比较差。容易被破译。(3).使用最后一句作为密钥可能不会包含所有26个英文字母。如果使用的第一句话时,如果没有包含26个字母或想用的字母,可以拿出第二句和随后的句子找出剩余的字母,直到筹齐所有26个字母。2.10题:a.用密钥largest构造一个Playfair矩阵b.用密钥occurrence构造一个Playfair矩阵,对密钥里冗余字母的处理方法做出合理假设。答案:(1)用密钥largest构造Playfair矩阵LARGESTBCDFHI/JKMNOPQUVWXYZ(2)用密钥Occurrence构造Playfair矩阵OCURENABDFGHI/JKLMPQSTVWXYZ对于密钥中冗余的字母,保留最先出现的字母,舍去后出现的重复字母,这样occurrence就变成了ocuren2.11题:a.使用下述Playfair矩阵加密消息:mustseeyouovercadoganwest.comingatonce.MFHI/JKUNOPQZVWXYELARGDSTBCb.使用习题2.10(a)中的Playfair矩阵解习题2.11(a)c.对这个习题的结果你如何解释?所得的结论能做一般性推广吗?答案:(1)根据下表:MFHI/JKUNOPQZVWXYELARGDSTBC明文:MustseeyouoverCadoganWest.Comingatonce.明文分组:mu,st,se,ey,ou,ov,er,ca,do,ga,nw,es,tc,om,in,ga,to,nc,ex(X为补位)密文:UZTBDLGZPNNWLGTGTUEROVLDBDUHFPERHWQSRZ(2)根据2.10的表一:用密钥largest构造Playfair矩阵LARGESTBCDFHI/JKMNOPQUVWXYZ求明文:MustseeyouoverCadoganWest.Comingatonce.明文分组:mu,st,se,ey,ou,ov,er,ca,do,ga,nw,es,tc,om,in,ga,to,nc,ex(X为补位)密文:UZTBDLGZPNNWLGTGTUEROVLDBDUHFPERHWQSRZ(3)解释:两个Playfair矩阵求出的密文是相同的。原因是2.10题表一的矩阵经几次变换后会得到2.11题的矩阵。变换过程:将2.10题的表一的第一行换到第四行,将第二行换到第五行。然后将第五列和第一列对换后,得到的矩阵相同。根据行列式的性质,如此更换不会改变行列式的结果,即如此更换是等效更换。因此,两个矩阵得出的密文结果相同。2.14题:a.用Hill密码揭秘消息YITJPGWJOWFAQTQXCSMAETSOUSQAPUSQGKCPQTYJ,逆密钥为7215,说明计算过程。b.用hill密码解密消息MWALOLIAIWWTGBHJNTAKQZJKAADAWSAKQKUAYARNCSODNIIAESOQKJYB,逆密钥为721232,说明计算过程及结果。答案:找出26个字母与数字的对应关系表。ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567891011121314151617181920212223242526根据Hill密码的解密方法:P=K-1Cmod26因此:将密文两两分组为:YITJPGWJOWFAQTQXCSMAETSQUSQAPUSQGKCPQTYJ明文破译方法为:例如:Y对应25;I对应9;(25,9)7215mod26=(4,9)=的,d,i依次类推:破译后的明文为:Difficultiesarethingsthatshowwhatmenare.(2)算法同上:例如:密文中的M为13;W为23;(13,23)721232mod26=(9,18)=I,r依次类推:破译后的明文为:Irrationallyheldtruthsmaybemoreharmfulthanreasonederrors.2.15题:a.用hill加密消息meetmeattheusualplaceatrenratherthaneightoclock,密钥为7549,要求写出计算过程和结果b.写出从密文恢复明文所做的解密计算答案:(1)找出26个字母与数字的对应关系表。ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567891011121314151617181920212223242526根据Hill密码的加密方法:C=KPmod26将明文两两分组为:meetmeattheusualplaceattenratherthaneightoclockx明文加密方法为:例如:m对应13;e对应5;(13,5)7549mod26=100137mod26=(7,22)=G,V依次类推:最终密文为:GVUIGVKODZYPUHEKJHUZWFZFWSJSDZMUDZMYCJQMFWWUQRKR(2)求密钥K7549的逆矩阵K-1[K-1]ij(−1)i+j(Dij)/detA求出:251512526mod91159216126mod95472326mod954743175491K-12515125然后通过K-1和密文可以破译出明文。2.21在多罗西的怪诞小说中,有一个故事是这样的:地主彼得遇到了图2.9所示的消息,他咋厚道了密钥,是一段整数:7876565434321123434565678788787656543432442343456567878878765654433211234a.破译这段消息。提示最大的整数是什么?b.如果只知道算法而不知道密钥,这种加密方案的安全性怎么样?c.如果只知道密钥而不知道算法,这中加密的方案安全性怎么样?a.观察到最大的整数是8,将消息按8个字母一组划分按密钥所给数字按顺序去字母即可得明文:Hesittethbetweenthecherubims,theislesmaybegladthereof,astheriversinthesouth.b.很安全,在每一行有8种可能所以如果加密8n字母长度则有8n种可能。c.不是很安全。3.9证明DES解密算法的确是DES加密算法的逆证明:DES加密过程说明:64位明文经过初始值换IP重新排列,然后进行16轮函数作用,每轮都有置换和代换,最后一轮64位输出是明文和密钥的函数,左右互换后产生预输出最后输出经逆置换IP–1产生64位密文,除了初始置换和末尾置换DES结构和Feistel结构相同,IP和IP–1互逆所以只需证明16轮解密可逆按P(48)图3.3所示K对于加密有LE16=LE15RE16=LE15F(RE15,K16)DES加密过程说明:64位明文经过初始值换IP重新排列,然后进行16轮函数作用,每轮都即有:LEi=LEi-1;REi=LEi-1F(REi-1,Ki)对于解密则有:LD1=RD0=LE16=RE15RD1=LD0F(RD0,K16)RE16F(RE0,K16)LE15F(RE15,K16)F(RE15,K16)XOR(异或运算有性质)(AB)C=A(BC);DD=0;E0=E因此有LD1=RE15和RD1=LE15所以解密过程的第一轮输出为LE15||RE15正是加密过程第16轮输入左右不分32比特互换值,对于其他轮亦是如此,所以DES解密算法是DES加密算法的逆。3.10DES算法第16轮之后的32比特互换使得DES的解密过程与加密过程一样,只是密钥的使用不同。然而,为什么需要这32比特的互换,你可能并不非常清楚,所以看下面的联系,首先给出一些记号:A||B=将串A和串B连接起来Ti(R||L)=加密过程第i轮迭代所定义的变换(1≠i≠16)TDi(R||L)=解密过程第i轮迭代所定义的变换(1≠i≠16)T17(R||L)=L||R,加密过程第16轮迭代之后的变换a.证明下式:TD1(IP[IP–1(T17(T16(L15||R15)))])=R15||L15b.假设我们去掉了加密算法最后的32比特的变换,请判断下式时候成立:TD1(IP[IP–1(T16(L15||R15))])=L15||R15解答:a.T16(L15||R15)=L16||R16T17(L16||R16)=R16||L16IP[IP–1(R16||L16)]=R16||L16TD1(R16||L16)=R15||L15即TD1(IP[IP–1(T17(T16(L15||R15)))])=R15||L15b.T16(L15||R15)=L16||R16IP[IP–1(L16||R16)]=L16||R16TD1(R16||L16)=R16||L16f(R16,K16)≠L15||R15即TD1(IP[IP–1(T16(L15||R15))])=L15||R15不成立。6.10对于RC4的密钥值为什么的时候,使得S在初始化过程中没有变化?即在对S进行初始置换后,S的元素的值按肾虚分别等于0到255.解答:根据RC4初始化S可知之后当keylen=256时才能存在此中情况当i=0,1,……255,有S[0]=0,S[1]=1,…………S[255]=255T[i]=K[imod256]当i,j=0时j=(j+S[0]+T[i]mod256),若S[i];S[j]交换后不变,则S[0]=0,j=0有0=(0+0+T[i]))mod256所以T[1]=0,K(1)=0当i=2,j=2时2=(2+3+T[3])mod256所以T[3]=254,K(3)=254即当K(0)=K(i)=0,K(2)=255,K(3)=254……K(255)=2时初始化过程无变化6.11RC4有秘密的内部状态,用于对向量S和两个索引i和j进行置换。a.使用直接存储的方法保存内部状态,共需要多少位?b.假设我们从多少信息被状态所表示的角度考虑,需要判断共有多少种不同的状态,用该方法表示状态共需要多少位?解答:a.i,j两个索引共需8+8bits:向量S共需256*8bits所以直接存储I,j,s共需8+8+256*8=206
本文标题:作业答案
链接地址:https://www.777doc.com/doc-7094892 .html