密码学总复习.doc_第1页
密码学总复习.doc_第2页
密码学总复习.doc_第3页
密码学总复习.doc_第4页
密码学总复习.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密码学课程总复习部分题库1、(1 )画出保密通信系统模型;(2 )说明在私钥密码体制和公钥密码体制下,该保密通信系统模型的差别主要体现在什么方面?解:(1 )保密通信系统模型如下图所示:(2 )在私钥密码体制和公钥密码体制下,该模型的差别主要体现在加密密钥的分发或传递上(即虚线部分所体现的差别)。私钥密码体制下,接收方和发送方的共享密钥必须通过安全信道传递。而在公钥密码体制下,发送方只需要认证所使用的加密密钥是接收方的。2、设p=23 ,E 是由y 2 x 3 +x+1(mod 23)所确定的有限域Z23 上的椭圆曲线。(1 )设P=(x 1 ,y 1 ),Q=(x 2 ,y 2 ),P Q 是椭圆曲线E p (a,b)上的点,给出计算P+Q=(x 3 ,y 3 )的规则(提示:分成P Q 和P Q 两种情况)(2 )已知该椭圆曲线上有P=(13,7),Q=(3,10)两点,计算P+Q (3 )已知该椭圆曲线上有P=(13,7),计算2P 答案:略。3、简述密码体制的组成及其密码体制的分类。答:密码体制就是完成加密和解密功能的密码方案或密码算法。一个密码体制(Cryptosystem)或密码算法通常由以下5个部分构成: 明文空间(全体明文的集合); 密文空间(全体密文的集合); 密钥空间(全体密钥的集合); 加密器或加密变换(算法),由加密密钥控制的加密变换的集合,即; 解密器或解密变换(算法),由解密密钥控制的解密变换的集合,即。密码体制的分类:(1)根据密文数据段是否与明文数据段在整个明文中的位置有关否,可以将密码体制分为分组密码体制和序列密码体制。(2)根据加密变换是否可逆,可以将密码体制分为单向变换密码体制和双向变换密码体制。(3)根据在加密过程中是否引入客观随机因素,可以将密码体制分为确定型密码体制和概率密码体制。4、评价一个密码体制的安全性有哪些方法?一个密码体制是实际可用的(或安全的)必须满足那些条件?答:评价一个密码体制安全性的有以下三种方法: 无条件安全:即使破译者提供了无穷的资源,依然无法破译,则该密码体制是无条件安全的,也称为完善保密性(Perfect Secrecy)。 可证明安全性:该方法是将密码算法的安全性归结为某个经过深入研究的数学难题,而这个数学难题被证明在目前求解是困难的,因而密码算法在目前可证明是安全的。 计算安全性:是在目前的计算资源条件有限的情况下,或利用已有的最好的破译方法破译该密码算法所需要的努力超出了破译者的破译能力(诸如时间、空间、资金等资源),或破译该密码算法难度等价于某个数学难题,因此该密码算法的安全是暂时的,也称为实际安全性(Practical Secrecy)。一个密码体制要是实际可用的(或安全的)必须满足如下条件: 每一个加密函数和解密函数都能有有效的解; 破译者取得密文后将不能在有效的时间或成本范围内破译出密钥或明文; 一个密码体制是安全的必要条件:穷举破译将是不可行的,即密钥空间非常大。5、(1 )以DES 为例,画出分组密码的输出反馈(CFB )模式的加密解密示意图(反馈值可以设定为j 比特)(2 )在(1 )的题设下,假设反馈值设定为8 比特,则加密时明文的一个比特错误,对密文造成什么影响?(3 )在(1 )的题设下,假设反馈值设定为8 比特,在传输过程中,密文的一个比特发生错误,则对接收方解密会造成什么影响?解:(1 )输出反馈(CFB )模式的加密示意图如下:(2 )加密时明文的一个比特错误,会导致该组加密密文发生变化,然后会把这个错误反馈到移位寄存器中,再经过DES 加密变换。会导致后面的密文都受到影响。(3 )在传输过程中,密文的一个比特错误,反馈值设定为8 比特时,会导致明文的一个单独错误。此外,错误进入移位寄存器,导致后面部分密文成为无用信息,直到该错误从移位寄存器中移出。故反馈值设定为8 比特,在传输过程中,密文的一个比特发生错误,则会产生9 个字节不能正常解密。6、以DES为例,画出分组密码的输出反馈(OFB)模式的加密解密示意图(反馈值可以设定为j比特) ,假设反馈值设定为8比特,则加密时明文的一个比特错误,对密文造成什么影响?假设反馈值设定为8比特,在传输过程中,密文的一个比特发生错误,对接收方解密会造成什么影响? 解:(1)输出反馈(OFB)模式的加密示意图如下: (2)加密时明文的一个比特错误,只会导致该组加密密文发生变化,后面的密文不受到影响。(3)在传输过程中,密文的一个比特错误,反馈值设定为8比特时,会导致明文的一个单独错误,改组密文无法正确解密。但错误不会进入移位寄存器,导致后面部分密文可正常解密。7、以DES为例,画出分组密码的密码分组链接(CBC)模式的加密解密示意图,假设加密时明文一个比特错误,对密文造成什么影响,对接收方解密会造成什么影响?在传输过程中,密文的一个比特发生错误,对接收方解密会造成什么影响? 解:(1)输出反馈(CBC)模式的加密示意图如下: (2)加密时明文的一个比特错误,会导致该组加密密文发生变化,然后这个错误反馈值会作为下一次DES加密的输入值,再经过DES加密变换。会导致后面的密文都受到影响。(3)在传输过程中,密文的一个比特错误,会导致明文的一个单独错误。此外,错误进入作为反馈值会作为下一次DES解密过程的输入,导致后一组密文无法正常解密,导致后组明文的一个单独错,但后续密文能够正常解密,因此密文1比特出错,会导致两组密文无法解密,即128比特,16字节无法正常解密。8、 以DES为例,画出分组密码的密码本(ECB)模式的加密解密示意图,并简述一下ECB模式的优缺点解:ECB模式最大特点:每个分组用同一密钥加密,同样明文分组得相同密文优点: 模式简单,主要适用于内容较短的报文的加密传递;无差错传播缺点:文明相同,密文相同;容易受到重复和代换攻击; 9、简述密码体制的组成及其密码体制的分类。答:密码体制就是完成加密和解密功能的密码方案或密码算法。一个密码体制(Cryptosystem)或密码算法通常由以下5个部分构成: 明文空间(全体明文的集合); 密文空间(全体密文的集合); 密钥空间(全体密钥的集合); 加密器或加密变换(算法),由加密密钥控制的加密变换的集合,即; 解密器或解密变换(算法),由解密密钥控制的解密变换的集合,即。密码体制的分类:(1)根据密文数据段是否与明文数据段在整个明文中的位置有关否,可以将密码体制分为分组密码体制和序列密码体制。(2)根据加密变换是否可逆,可以将密码体制分为单向变换密码体制和双向变换密码体制。(3)根据在加密过程中是否引入客观随机因素,可以将密码体制分为确定型密码体制和概率密码体制。10、简述信息安全攻击的主要形式及其含义。答:(1)被动攻击:是未经用户同意和认可的情况下将信息或数据文件泄露给系统攻击者,但不对数据信息进行任何修改。通常包括监听未受保护的通信信息、流量分析,破解弱加密的数据流、获得认证信息(如密码等)。(2)主动攻击:主要涉及某些数据流的篡改或虚假数据流的产生。主动攻击常分为假冒(或伪造)、重放、篡改信息和拒绝服务四类。(3)物理临近攻击:是指未授权人以更改、收集或拒绝访问为目的而物理接近网络系统或设备。这种接近可以是秘密进入或公开接近,或两种方式同时使用。(4)内部人员攻击:可以是恶意的也可以非恶意的。恶意攻击是指内部人员有计划地窃听或损坏信息或拒绝其他授权用户的访问。(5)软硬件配装攻击:是指在软硬件生产的工厂内或在产品分发过程中恶意修改硬件或软件。11分析Vigenere密码体制的安全性,并编程实现Vigenere密码算法。解:Vigenere密码的强度在于对每个明文字母有多个密文字母对应,因此该字母的频率信息是模糊的。实际上,维吉尼亚(Vigenere)密码是一种多表加密算法,在密文的不同位置出现的字符通常不是以同样的方式加密的,但它是一种周期密码,如果两个同样的字符出现的间隔固定,并且为密钥长度的倍数,则它们将以同样的方法进行加密。Vigenere算法c语言的简单实现#includemain()int i,j,m,n,c,k,Ming_length,Key_length;char vigenere_table2626;char Key200,Ming500 ,Mi200,s2626;printf(Vigenere Table:n);for(j=0;j=25;j+)printf(%cn,a+j);for(i=0;i=25;i+)vigenere_tableij=A+(i+j)%26;printf(%c,vigenere_tableij);printf(n);for(i=0;i=25;i+)printf(%c,a+i);printf(n);printf(请输入明文:n);gets(Ming);printf(请输入密钥: n);gets(Key);Ming_length=strlen(Ming);Key_length=strlen(Key);printf(n);k=0;printf(明文是 n);dofor(j=k;jk+Key_length;j+)int m=Mingj;int n=Keyj-k;printf(%c,vigenere_tablem-97n-97);k+=Key_length;while(kMing_length);getch();12分析Hill密码体制的安全性,并编程实现Hill密码算法。解:Hill密码技术可以较好地抗击统计分析攻击,但在面对已知明文的攻击就很容易被破译,特别是在已知密钥矩阵行数的情况下。算法实现:#include #include #include #define NUM 20#define NUM2 1000int main()int i,j,k=0,n,pNUM;printf(阶数: );scanf(%d,&n);printf(n密钥: );int qNUMNUM;for(i=0;in*n;i+) scanf(%d,&pi);for(i=0;in;i+) for(j=0;jn;j+) qij=pj+k; /printf(%d ,qij); if(j+1)%n=0) k+=n; / printf(n); char wordNUM2;int length,word2NUM21; printf(明文: );scanf(%s,word);length=strlen(word);for(i=0;ilength;i+) /printf(word: %c,wordi); word2i0=wordi-97; /printf(word2:%d,word2i0);i=0,j=0,k=0;int count=0,tempNUM21,temp2NUM21;for(i=0;iNUM2;i+) for(j=0;j1;j+) tempij=0; temp2ij=0; k=strlen(word);/printf(K: %dn,k);int z=0;j=0;printf(密文: ); while(zk/n) tempj0=word2j+count0; /printf(temp:%dn,tempj0); j+=1; if(j%n=0) /printf(dffsf); int i,s; for(i=0;in;i+) for(int u=0;u1;u+) for(s=0;sn;s+) temp2i0+=qis*temps0; temp2i0=(temp2i0)%26; printf(%c,temp2i0+65); for(i=0;i 8 * (n) | (x) 8 * (n)#define bval(x,n) (byte)(x) 24 - 8 * (n)#define byte_swap(x) (upr(x,3) & 0x00ff00ff | upr(x,1) & 0xff00ff00)#define bytes2word(b0, b1, b2, b3) (word)(b0) 24 | (word)(b1) 16 | (word)(b2) 4, 2-3, 3-2,4-1的顺序进行换位; cany ouun ders tand ynac nuuo sred dnat (2) 首先将明文串转化为数字串,按6个一组分段,然后模26“加”上密钥字得: thiscr yptosy stemis not sec ure 相应的密文串将是:VPXZGIAXIVWPUBTTMJPWIZITWZT解密过程与加密过程类似,不同的只是进行模26减,而不是模26加。39、Hash函数在密码学中有什么作用?带密钥的Hash函数(即MAC)和不带密钥的Hash函数在保护数据完整性方面有什么不同?答:(1)Hash函数是密码学认证理论重要内容之一,利用Hash函数可以保证数据完整性,可用于数字签名、消息的完整性检测等方面。 (2)带密钥的单向散列函数也称为消息鉴别码MAC,MAC具有与不带密钥的散列函数相同的特性,但消息鉴别码使用了一个密码,只有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论