![网络安全导论 实验 第8章 消息认证与数字签名 实验汇报_第1页](http://file4.renrendoc.com/view5/M01/3B/0D/wKhkGGZabSyADWeFAAFhaK5W5SQ071.jpg)
![网络安全导论 实验 第8章 消息认证与数字签名 实验汇报_第2页](http://file4.renrendoc.com/view5/M01/3B/0D/wKhkGGZabSyADWeFAAFhaK5W5SQ0712.jpg)
![网络安全导论 实验 第8章 消息认证与数字签名 实验汇报_第3页](http://file4.renrendoc.com/view5/M01/3B/0D/wKhkGGZabSyADWeFAAFhaK5W5SQ0713.jpg)
![网络安全导论 实验 第8章 消息认证与数字签名 实验汇报_第4页](http://file4.renrendoc.com/view5/M01/3B/0D/wKhkGGZabSyADWeFAAFhaK5W5SQ0714.jpg)
![网络安全导论 实验 第8章 消息认证与数字签名 实验汇报_第5页](http://file4.renrendoc.com/view5/M01/3B/0D/wKhkGGZabSyADWeFAAFhaK5W5SQ0715.jpg)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章实验消息认证与数字签名A
PGP软件的安装与使用B消息摘要与数字签名算法的实现目录contents
PGP软件的安装与使用实验目的:1.掌握PGP软件的安装方法2.掌握PGP软件的公钥与私钥生成方法,PGPKeys管理密钥的方法4.学会使用PGP软件收发加密邮件。PGP安装1.进入setup文件夹,双击PGP安装文件进行安装,安装完成后会问要不要重启,选择不要重启。2.进入Keygen文件夹,打开Keygen运行注册机(windows7必须选择使用管理员身份运行),点击path。PGP安装3.重启系统,运行认证程序(一般自动运行),填写用户名和公司名,邮件可以不填写:输入序列号。4.选择输入客服认证码,并输入注册机生成的认证码,然后点击完成PGP使用UserA先在PGPDesktop程序中新建一个密钥KeyA,然后UserA将KeyA的公钥导出并发送给UserB。UserB接收到KeyA将其命名为KeyB,接着UserB将KeyB导入到PGPDesktop10程序,并对密钥KeyB进行签名,签名之后到PGP压缩包中选择需要加密的UserB文件,利用KeyB将其加密成为.pgp文件,然后将其发送给UserA。UserA接收到UserB发送来的加密文件,利用KeyA之前生成的私钥对加密文件进行解密得到解密后的文件。PGP使用1.生成密钥-输入用户名、邮箱-输入口令-创建口令-完成密钥生成PGP使用2.在PGPdesktop中选择“工具“-选项”对话框,打开“PGP选项”对话框,选择“主密钥”选项卡3.选中用户A账户,点击右键,选中”导出“,选择好保存位置将密钥保存PGP使用4.将用户A导出的公钥发送而给用户B5.test2将要发送的文件利用PGP进行加密。选中文件-右键-PGPDesktop-使用密钥保护。PGP使用6.向test1用户发送加密文件7.test1用户接收文件,对加密附件右键选择-PGPDesktop,选择解密&校验选项进行解密,即可得到明文邮件。实验报告(1)PGP在进行消息签名时,为什么只对Hash值签名?如果用公钥对原文进行加密,如果原文很长的话,所需要的时间非常长,所得到的签名需要更长的时间进行验证,也占据了更到的空间,会造成空间的浪费。(2)PGP主要基于什么算法来实现加密和解密?PGP是个混合加密算法,它由一个对称加密算法(IDEA)、一个非对称加密算法(RSA)、与单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪随机数序列的种子)组成的,每种算法都是PGP不可分割的组成部分。(3)使用邮件加密时,对于收件人和发件人的使用环境有什么要求?双方都应该有电子邮件数字证书;发件人必须要有收件人的公开密钥并确定收件人公开密钥是有效的,而且认为他是具有一定的信任度;收件人必须要有发件人的公开密钥和会话密钥。实验报告(4)PGP如何配置用户的公钥及私钥?如何导入其他用户的公钥?PGP为用户生成一对密钥,一个公钥可以发给任何可信的用户进行加密使用;另一个私密保留给自己用来解密时使用。在需要加密时,PGP产生一个会话密钥,并加密,然后PGP用接收方从公钥环中获取其公钥,最后构造消息的会话密钥部分;在需要解密时,PGP用消息的会话密钥部分中的KeyID作为索引,从私钥环中获取私钥,然后PGP提示输入口令短语,恢复私钥,最后PGP恢复会话密钥,并解密消息。(5)PGP的“文件粉碎”功能有什么作用?永久的粉碎销毁文件、文件夹,并释放出磁盘空间。使用PGP粉碎工具来永久地删除那些敏感的文件和文件夹,而不会遗留任何的数据片段在硬盘上。这个工具是要确保您所删除的数据将永远不可能被别有用心的人恢复。(6)PGP的密钥是如何管理的?PGP使用了4种类型的密钥:会话密钥Ks
、公钥、私钥、私钥加密口令。KS是一个伪随机数密钥,是一次性会话密钥。PGP作为去中心化的分布式系统,显然不能利用信任CA机构的方法来进行公钥管理,这里PGP使用的是信任网络。当任何使用者使用了别人的公钥,他就会成为那把公钥的引荐者。当这样的程序被持续地进行着,就会形成一张信任网络问答题1.(1)什么是会话密钥?会话密钥是指当两个端系统希望通信,他们建立一条逻辑连接。在逻辑连接持续过程中,所以用户数据都使用一个一次性的会话密钥加密。在会话和连接结束时,会话密钥被销毁。(2)描述SHA-256算法的基本流程。常量初始化:SHA256算法中用到了8个哈希初值以及64个哈希常量,64个哈希常量参与到后面的哈希值计算。SHA256中用到了8个散列初始值,这些初值是对自然数中前8个质数的平方根的小数部分取前32bit而来。常量是对自然数中前64个质数的立方根的小数部分取前32bit而来。信息预处理:1.填充比特。在报文末尾进行填充,使报文长度=448(mod512),规则为先补第一个比特为1,然后都补0,若长度刚好为448也必须填充,此时需要增加512位,即填充的位数[1,512]。2.附加长度值附加长度值就是将原始数据的长度信息(无符号整数64bit)附加到已经填充消息的后面。前两个附加长度就构成了一个长度为512整数倍的消息结构。问答题基本流程:将消息M分解成n个512-bit大小的块一个256-bit的摘要的初始值H0,经过第一个数据块进行运算,得到H1,即完成了第一次迭代H1经过第二个数据块得到H2,……,依次处理,最后得到Hn。Hi是第i个消息分组处理的最后一轮的输出。H0[8]=[h0,h1,h2,h3,h4,h5,h6,h7]。Hi被描述8个小块,这是因为SHA256算法中的最小运算单元称为“字”(Word),一个字是32位。构造64个字,对于每一个512bit的块,将其分解为16个32bit的(big-endian)字,记为w[0],w[1],……,w[15]其余的字由如下迭代公式得到:Wt
=σ1(W
t−2
)+W
t−7
+σ
0
(W
t−15
)+W
t−16
然后进行64次加密循环,Hi按照一定规则不断更新问答题(3)描述PGP进行数字签名的工作流程。给出你对消息“informationsecurity”的签名和对应该签名的公、私钥。生成数字签名:送者输入签名时用的口令。求口令的散列值,生成用于解密私钥的密钥。将钥匙串中经过加密的私钥进行解密。用单项散列函数计算消息的散列值。对上一次操作中得到的散列值进行签名。将生成的数字签名与消息进行加密。将结果进行压缩。将上一步结果转换为文本数据。验证数字签名:将报文数据转换为二进制数据。将经过压缩的数据进行解压缩。将解压缩后的数据分解成经过签名的散列值和消息两部分。将经过签名的散列值用发送者的公钥进行解密,回复发送者发送的散列值。找到并计算散列值,与已有的散列值进行对比,结果相等则数字签名验证成功,否则失败。(4)GPG软件作为用于加密和数字签名的开放源码工具,许多Linux发行版本都自带了该软件。请简单描述该软件的使用方法。1生成密钥。2查看已有密钥。3对信息进行加密。4解密。5生成签名6验证签名消息摘要与数字签名算法的实现实验目的:1.熟练掌握消息摘要、认证码和数字签名的概念和作用。2.熟悉Java环境下实现上述算法的类和方法的使用。3.能够编程实现摘要、认证码和签名的计算。实验报告(1)说明实验内容(1)中代码的作用。//A使用私钥(n,d)对h(m)加密,生成签名
intc=1;for(inti=0;i<d;i++){c=c*m;c=c%n;}//A计算m的消息摘要
//B使用A的公钥(n,e)解密inte=1769;//A公钥m=1;for(inti=0;i<e;i++){m=m*c;m=m%n;}//B解密If(m=707)//B解密得到的m与A进行对比System.out.println("\nSignatureverificationOK")//如果一致,签名就验证成功elseSystem.out.println("\nSignatureverificationWrong");//不成功,输出wrong}}M为消息内容,(n,d)为A的私钥,(n,e)为A的公钥,第一个for循环是A用A的私钥对M进行签名的过程,第二个for循环是B用A的公钥对消息摘要进行解密的过程,验证B解密得到的消息摘要M与最初的M是否一致,如果一致,数字签名就验证成功,否者就不成功publicclassCheckSign{publicstaticvoidmain(){intm=707;//消息摘要
intd=425;//A私钥intn=3431;//A私钥/(2)实验内容(2)的输出是多少位?给出一个测试结果
(3)给出实验内容(3)的测试结果,为什么要先做摘要后签名?。从可行性上看:接收方需要通过摘要验证数据完整性,然而接收方无法对数据进行签名,因此无法验证数据摘要一致性。从时间效率看:对原始数据进行签名(加密)时间太长,而摘要算法本身是压缩映射,可以缩短签名消耗的时间。问答题(1)请描述SHA系列的摘要算法的安全性。SHA系列摘要算法是在MD4算法的基础上演进而来,通过SHA算法同样能够得到一个固定长度的摘要信息。与MD系列算法不同的是:若输入的消息不同,则与其相对应的摘要信息的差异概率很高。SHA算法是FIPS所认证的五种安全杂凑算法。SHA算法的安全性体现在:由消息摘要反推输入信息,从理论上来说是非常困难的。想要找到两组不同输入信息对应到相同的摘要信息,从理论上来说是非常困难的。输入信息任何变动,都有很高的几率导致其产生的摘要消息差异很大。问答题(2)常用的数字签名算法有哪些?Java的signature类提供了哪些算法?常见的数字签名算法主要有RSA、DSA、ECDSA三种。RSA是目前计算机密码学中最经典算法,也是目前为止使用最广泛的数字签名算法,密钥的产生和转换都是一样的,包括在售的所有SSL数字证书、代码签名证书、文档签名以及邮件签名大多都采用RSA算法进行加密。DSA只是一种算法,不能用于加密和解密,也不能进行密钥交换,只用于签名,所以它比RSA要快很多,其安全性与RSA相比差不多,DSA的一个重要特点是两个素数公开,当使用别人的p和q时,即使不知道私钥,也能确认它们是否是随机产生的。ECDSA用于数字签名是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 健康行业风险控制方法与操作规范
- 新能源汽车技术及应用创新开发方案
- 服装厂劳动合同
- 职业培训师培训教程
- 环境保护监测与污染控制作业指导书
- 国有企业合同管理制度
- 精装修战略合作框架协议书
- 家禽买卖合同集锦
- 委托采购协议书
- 三农产品国际贸易培训作业指导书
- 国际货物运输委托代理合同(中英文对照)全套
- 全面新编部编版四年级下册语文教材解读分析
- 《建筑工程质量检验评定标准》
- 教学能力大赛-教学实施报告《大学英语2c》
- 江苏农牧科技职业学院单招《职业技能测试》参考试题库(含答案)
- VDA6.3 2023过程审核教材
- 高职应用语文教程(第二版)教案 3管晏列传
- 高中物理《光电效应》
- 烹饪实训室安全隐患分析报告
- 《金属加工的基础》课件
- 运输行业春节安全生产培训 文明驾驶保平安
评论
0/150
提交评论