网络安全第九章密码学与信息加密教程.doc

网络安全第九章密码学与信息加密教程.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络安全第九章密码学与信息加密教程

第章 密码学与信息加密 1. 答:密码学(Cryptology)是研究信息系统安全保密的科学,密码编码学(Cryptography)主要研究对信息进行编码,实现对信息的隐藏。密码分析学(Cryptanalytics)主要研究加密消息的破译或消息的伪造。 密码学主要包含以下几个概念: 1)密码学的目标:保护数据的保密性、完整性和真实性。保密性就是对数据进行加密,使非法用户无法读懂数据信息,而合法用户可以应用密钥读取信息。完整性是对数据完整性的鉴别,以确定数据是否被非法纂改,保证合法用户得到正确、完整的信息。真实性是数据来源的真实性、数据本身真实性的鉴别,可以保证合法用户不被欺骗。 2)消息的加密与解密:消息被称为明文,用某种方法伪装消息以隐藏它的内容的过程称为加密,加了密的消息称为密文,而把密文转变为明文的过程称为解密。 3)密码学的功能:提供除机密性外,密码学还提供鉴别、完整性和抗抵赖性等重要功能。这些功能是通过计算机进行社会交流至关重要的需求。 鉴别:消息的接收者应该能够确认消息的来源;入侵者不可能伪装成他人。 完整性:消息的接收者应该能够验证在传送过程中消息没有被修改;入侵者不可能用假消息代替合法消息。 抗抵赖性:发送消息者事后不可能虚假地否认他发送的消息。 4)密码算法和密钥: 密码算法也叫密码函数,是用于加密和解密的数学函数。通常情况下,有两个相关的函数:一个用做加密,另一个用做解密。 密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的数据。基于密钥的算法通常有两类:对称算法和公开密钥算法。 对称密钥加密,又称公钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。 非对称密钥加密,又称私钥密钥加密。它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。私钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。 2. 简述对称加密算法的基本原理。 答:对称算法有时又称为传统密码算法,加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加解密的密钥是相同的。在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。对称算法要求发送者和接收者在安全通信之前,协商一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加解密。对称算法的加密和解密表示为: EK(M)=C DK(C)=M 3. 利用对称加密算法对“1234567”进行加密,并进行解密。 #includeiostream.h class SubKey{ public: int key[8][6]; }subkey[16]; class DES{ int encipher_decipher; int key_in[8][8]; int key_out[8][7]; int c0_d0[8][7]; int c0[4][7],d0[4][7]; int text[8][8]; int text_ip[8][8]; int A[4][8],B[4][8]; int temp[8][6]; int temp1[8][6]; int s_result[8][4]; int text_p[8][4]; int secret_ip[8][8]; public: void Key_Putting(); void PC_1(); int function(int,int); void SubKey_Production(); void IP_Convert(); void f(); void _IP_Convert(); void Out_secret(); }; void DES::Key_Putting() { cout请输入64位的密钥(8行8列且每行都得有奇数个1):\n;for(int i=0;i8;i++) for(int j=0;j8;j++){ cinkey_in[i][j]; if(j!=7) key_out[i][j]=key_in[i][j]; } } 4. 简述公开密钥算法的基本原理。 答:公开密钥算法,加密密钥能够公开,即陌生者能用加密密钥加密信息,但只有用相应的解密密钥才能解密信息。如果发信方想发送只有收信方才能解读的加密信息,发

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档