`
zhangxiang390
  • 浏览: 216678 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

PGP(Pretty Good Privacy)工作原理剖析

阅读更多

一、加密和解密(encryption & decryption)



二、传统密码学——加密解密使用同一个key

故key的安全性不言而喻,脑中闪现如下的画面:

a person with a locked briefcase handcuffed to his or her wrist. What is in the briefcase, anyway? It's probably not the missile launch code/ biotoxin formula/ invasion plan itself. It's the key that will decrypt the secret data.

一个行踪诡秘的男子,提着一只精致的手提箱,不,是“铐”着,密切注视周围的一切。手提箱中,可能并不是什么导弹发射代码,病毒公式,或是入侵计划,而是能够解开神秘数据的钥匙!

这种画面只能在《碟中谍》类似的老电影中出现,现在根本没有,原因是有人发明了:


三、公开密钥系统


在现代密码体制中加密和解密是采用不同的密钥(公开密钥),也就是非对称密钥密码 系统,每个通信方均需要两个密钥,即公钥和私钥,这两把密钥可以互为加解密。公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
公钥私钥的原则:

  • 一个公钥对应一个私钥。
  • 密钥对中,让大家都知道的是公钥,不告诉大家,只有自己知道的,是私钥。
  • 如果用其中一个密钥加密数据,则只有对应的那个密钥才可以解密。
  • 如果用其中一个密钥可以进行解密数据,则该数据必然是对应的那个密钥进行的加密。


常见的公开密钥体系:

Elgamal (named for its inventor, Taher Elgamal)

RSA (named for its inventors, Ron Rivest, Adi Shamir, and Leonard Adleman)

Diffie-Hellman (named, you guessed it, for its inventors)

DSA (the Digital Signature Algorithm invented by David Kravitz)


四、PGP的工作原理

PGP结合了传统和现代的密码学方法,是一种混合的密码体系。其工作过程如下:

1.发送端

(1)首先对明文进行压缩。压缩明文一来可以减少传输量,缩短传输时间,节约成本等;更重要是增加了加密解密的强度。因为解密算法一般是通过分析明文中的pattern(字符码出现的规律等),压缩明文会减少这种”相关性“,因此其”耐解“强度会提高。

(2)PGP产生一个”session key"(它是一个"one-time-only" key,有时效性),该key是根据你的鼠标的随机移动和键盘按键产生的一组随机数。接着该密钥对压缩后的明文进行加密,生成密文。接着,使用接收端传过来的“公开密钥”对“session key" 进行加密(理论上来将,从接收端的”公开密钥“无法计算出接收端的”秘密密钥“,但因为这两个密钥存在计算相关性,只要有足够的时间和计算能力,总会计算出结果),生成发送端的”公开密钥“。最后,将密文和发送端的”公开密钥“一起发给接收端。


2. 接收端

接收端用自己的”秘密密钥“对发送端的”公开密钥“进行解密,得到原来的”session key",用这个key来解密收到的密文,最后解压缩即可。

2
0
分享到:
评论

相关推荐

    PGP加密实验报告DOC版

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它结合了多种加密算法,如对称加密、非对称加密、哈希函数和数字签名,为用户提供了一种强大的数据保护手段。在网络安全领域,PGP扮演着至关重要的角色,确保...

    PGP原理分析

    PGP(Pretty Good Privacy)是一款基于RSA公钥加密体系的邮件加密软件。它不仅能够确保邮件内容的保密性,防止未经授权的第三方阅读,还提供了数字签名的功能,使收件人能够确认邮件的真实性及完整性。本文将深入...

    PGP.rar_PGP通信原理_pgp_pgp解密

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件的安全传输。它的核心是结合了非对称加密和对称加密技术,确保了数据在传输过程中的隐私性和完整性。本程序通过模拟PGP的部分基本原理,帮助...

    PGP 8.0.2 Source Cod

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它的8.0.2版本源代码的发布,对于开发者和安全研究人员来说具有重要的学习和研究价值。PGP最初由Phil Zimmermann在1991年开发,旨在提供电子邮件的安全传输,...

    PGP2.62i源码(C语言).rar

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件的安全传输、文件的加密以及数字签名。PGP2.62i是PGP的一个较早版本,由Phil Zimmermann开发,其源码采用C语言编写。这个压缩包包含了PGP2.62...

    PGP加密源程序C源码

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它的核心在于提供端到端的数据加密和数字签名服务。这个“PGP加密源程序C源码”是PGP 2.62i版本的源代码,对于想要深入理解PGP工作原理、学习加密算法或者进行...

    idea c语言 pgp 实现

    PGP(Pretty Good Privacy)则是一种强大的隐私保护工具,用于数据加密和数字签名,它使用了公钥加密技术。 描述中提到的“vc6.0工程文件”是指使用Visual C++ 6.0编译器创建的项目文件,这是一款经典的微软开发...

    PGP 加解密及签名验签示例

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件、文件的加密以及数字签名。它基于公开密钥加密算法,如RSA和IDEA,确保数据在传输过程中的安全性和完整性。在本示例中,我们将深入探讨PGP的...

    PGP2.62文档

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,由Phil Zimmermann在1991年开发。PGP2.62是该软件的一个较早版本,它提供了数据加密、数字签名以及电子邮件的安全功能。在IT行业中,了解PGP的基本原理和操作...

    PGP实验报告.doc

    实验报告涉及的知识点主要集中在网络安全领域,特别是加密技术的应用,主要使用了PGP(Pretty Good Privacy)这款软件作为工具。PGP是一种广泛使用的加密软件,它结合了多种加密技术,如对称加密、非对称加密、哈希...

    PGP加密

    PGP(Pretty Good Privacy)是一种广泛使用的数据加密和数字签名软件,由Phil Zimmermann在1991年开发。它主要用于保护电子邮件的隐私,但也适用于其他文件的加密。PGP的核心原理是结合了公钥加密和对称加密技术,以...

    PGP 8.0.2 Source Code for Windows.rar

    PGP(Pretty Good Privacy),是一款世界公认的顶级加密软件,其8.0.2版本的源代码对于深入理解信息安全技术,尤其是加密算法和数据保护机制,具有极高的研究价值。本文将详细探讨PGP 8.0.2的源代码,并结合Windows...

    顶级加密软件PGP_Desktop个人使用教程

    PGP (Pretty Good Privacy) 是一个可以让您的电子邮件 (E-Mail) 拥有保密功 能的程式。藉此您可以将您的邮件加密 (Encrypt) ,除了您希望的人看得到以外, 没有其它人可以解读。一但加密后,讯息看起来是一堆无意义...

    pgp2.6iC语言版本.rar

    PGP(Pretty Good Privacy)是一款著名的数据加密软件,其2.6i版本的源代码是用C语言编写的,这为我们提供了深入理解其内部工作原理和进行二次开发的机会。C语言作为底层编程的常用工具,具有高效、灵活的特点,使得...

    pgp-disk加密

    PGP(Pretty Good Privacy)是一种广泛使用的数据加密和签名软件,由Phil Zimmermann在1991年开发。它最初是为电子邮件通信设计的,但随着时间的发展,PGP的功能扩展到了文件和磁盘加密,其中PGP-Disk就是一种磁盘...

    密码学课程设计PGP

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,由Phil Zimmermann在1991年开发,用于实现端到端的电子邮件加密。PGP提供了数据加密、数字签名以及消息认证等功能,确保邮件的隐私性和完整性。 **PGP的工作...

    pgp 5.0 源代码开发工具(4030KB)

    PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于数据的加密和数字签名,确保信息在传输过程中的安全性和完整性。PGP 5.0 是该软件的一个早期版本,其源代码的提供对于开发者和安全研究者来说具有极高...

Global site tag (gtag.js) - Google Analytics