信息安全技术PGP实验

一、实验过程

PGP的安装与设置(Mac版)

  1. 访问GPGTools网站,下载GPG Suite for OS X,下载完毕,双击dmg文件,运行安装操作。
  2. 创建PGP密钥(一定要记住)

    密匙类型可选项:

    长度可选项有:

  3. 设置PGP快捷键
    • 把OpenPGP: Decrypt设置为:control+option+command+minus(-)
    • 把OpenPGP: Encrypt设置为:control+option+command+equals(=)
    • 把OpenPGP: Sign设置为:control+option+command+open bracket([)
    • 把OpenPGP: Verify设置为:control+option+command+close bracket(])

      以及文件加密快捷键:

PGP安全通信

  1. 通信双方创建密钥(20155205郝博雅为A,20155218徐志瀚为B)

  2. 通信双方通过邮件互相发送自己的公钥,接收到后导入对方的公钥。

  3. A用明文写一封信,用自己的私钥签名,再用B的公钥加密后发送给B。(B收到后就可以用自己的私匙解密出A的原文。由于没别人知道B的私匙,所以即使是A本人也无法解密那封信,这就解决了保密性(Privacy)的问题。)

    • 签名:(信息摘要就是对信息用某种算法算出一个最能体现该信息的特征的数来,一旦信息有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在作者的密匙里)还有日期等等,就可以作为一个签名了。PGP是用一个128位的二进制数作为“信息摘要”的,用来产生它的算法叫MD5(message digest 5)。 MD5是一种单向散列算法,它不像CRC校验码,很难找到一份替代的信息与原件具有同样的MD5特征值。数字签名保证了认证性(Authentication)

    • 加密:

    • 得到密文:

  4. B接收后用自己的私钥解密,再用A的公钥检验签名。

二、实验结果

  • 成功安装并设置后,成功建立了自己的密钥,并发送给了通信对方。在经过上述步骤后B收到密文,解密后得到明文和签名,并对明文成功认证是A(郝博雅发送的)。

  • 若签名验证失败,出现下图情况。

三、实验分析

  1. 因为签名使用的是RSA加密,并且密钥长度选择了4096,所以签名很长。
  2. 在实验的过程中发现,不能对未加密的信息解密,会造成软件无反应甚至死机。

四、思考题

  • 问题:根据PGP的加密原理,说明为什么PGP要比RSA加密速度要快得多。
  • 回答:因为PGP用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法。而IDEA的加解密速度比rsa快的多,所以PGP是以一个随即生成的密钥,用IDEA算法进行明文加密,然后用RSA算法对该密钥进行加密,收件人同样用RSA对密钥解出这个密钥,然后用IDEA进行解密,所以,PGP的加密速度要比RSA快的多.

最新文章

  1. 掌握 tar 命令让你秒变大牛
  2. cocoapods 更新
  3. 【MySQL】MySQL无基础学习和入门大纲
  4. .net批量插入SqlServer数据库的方法:
  5. ASP.NET Web API模型验证以及异常处理方式
  6. ABK (枚举)
  7. jmeter随笔(9)--有两种编码风格,导致数据乱码
  8. ASP.NET 学习小记 -- “迷你”MVC实现(1)
  9. curl采集 根据关键词 获取雅虎竞价排名
  10. JavaScript-学习一_var
  11. Java中的修饰符
  12. 如何安装mysql
  13. C语言笔记1
  14. excel中如何隐藏列和取消隐藏列
  15. wampServer 安装 Redis 扩展
  16. c#如何调用另外一个项目的类
  17. JDK源码之HashSet
  18. Hadoop日记Day4---去除HADOOP_HOME is deprecated
  19. SIGTERM等信号含义【转】
  20. 很全的linux网络编程技巧

热门文章

  1. sqlserver使用SQL语句创建数据库登录对象、数据库用户以及对为该用户赋予操作权限
  2. [z] Git pull 强制覆盖本地文件
  3. webstorm打开一个门户工程流程
  4. VFIO简介 (转载)
  5. iOS.mach_absolute_time
  6. java性能优化之for循环
  7. Java界面编程—布局管理
  8. [Groovy] 创建Excel,追加Excel
  9. Spring 属性注入(一)JavaBean 内省机制在 BeanWrapper 中的应用
  10. jquery Nestable 获取改变排序后的json数据 拖动排序