一、加密和解密(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来解密收到的密文,最后解压缩即可。
分享到:
相关推荐
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它结合了多种加密算法,如对称加密、非对称加密、哈希函数和数字签名,为用户提供了一种强大的数据保护手段。在网络安全领域,PGP扮演着至关重要的角色,确保...
PGP(Pretty Good Privacy)是一款基于RSA公钥加密体系的邮件加密软件。它不仅能够确保邮件内容的保密性,防止未经授权的第三方阅读,还提供了数字签名的功能,使收件人能够确认邮件的真实性及完整性。本文将深入...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件的安全传输。它的核心是结合了非对称加密和对称加密技术,确保了数据在传输过程中的隐私性和完整性。本程序通过模拟PGP的部分基本原理,帮助...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它的8.0.2版本源代码的发布,对于开发者和安全研究人员来说具有重要的学习和研究价值。PGP最初由Phil Zimmermann在1991年开发,旨在提供电子邮件的安全传输,...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件的安全传输、文件的加密以及数字签名。PGP2.62i是PGP的一个较早版本,由Phil Zimmermann开发,其源码采用C语言编写。这个压缩包包含了PGP2.62...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,它的核心在于提供端到端的数据加密和数字签名服务。这个“PGP加密源程序C源码”是PGP 2.62i版本的源代码,对于想要深入理解PGP工作原理、学习加密算法或者进行...
PGP(Pretty Good Privacy)则是一种强大的隐私保护工具,用于数据加密和数字签名,它使用了公钥加密技术。 描述中提到的“vc6.0工程文件”是指使用Visual C++ 6.0编译器创建的项目文件,这是一款经典的微软开发...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于电子邮件、文件的加密以及数字签名。它基于公开密钥加密算法,如RSA和IDEA,确保数据在传输过程中的安全性和完整性。在本示例中,我们将深入探讨PGP的...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,由Phil Zimmermann在1991年开发。PGP2.62是该软件的一个较早版本,它提供了数据加密、数字签名以及电子邮件的安全功能。在IT行业中,了解PGP的基本原理和操作...
实验报告涉及的知识点主要集中在网络安全领域,特别是加密技术的应用,主要使用了PGP(Pretty Good Privacy)这款软件作为工具。PGP是一种广泛使用的加密软件,它结合了多种加密技术,如对称加密、非对称加密、哈希...
PGP(Pretty Good Privacy)是一种广泛使用的数据加密和数字签名软件,由Phil Zimmermann在1991年开发。它主要用于保护电子邮件的隐私,但也适用于其他文件的加密。PGP的核心原理是结合了公钥加密和对称加密技术,以...
PGP(Pretty Good Privacy),是一款世界公认的顶级加密软件,其8.0.2版本的源代码对于深入理解信息安全技术,尤其是加密算法和数据保护机制,具有极高的研究价值。本文将详细探讨PGP 8.0.2的源代码,并结合Windows...
PGP (Pretty Good Privacy) 是一个可以让您的电子邮件 (E-Mail) 拥有保密功 能的程式。藉此您可以将您的邮件加密 (Encrypt) ,除了您希望的人看得到以外, 没有其它人可以解读。一但加密后,讯息看起来是一堆无意义...
PGP(Pretty Good Privacy)是一款著名的数据加密软件,其2.6i版本的源代码是用C语言编写的,这为我们提供了深入理解其内部工作原理和进行二次开发的机会。C语言作为底层编程的常用工具,具有高效、灵活的特点,使得...
PGP(Pretty Good Privacy)是一种广泛使用的数据加密和签名软件,由Phil Zimmermann在1991年开发。它最初是为电子邮件通信设计的,但随着时间的发展,PGP的功能扩展到了文件和磁盘加密,其中PGP-Disk就是一种磁盘...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,由Phil Zimmermann在1991年开发,用于实现端到端的电子邮件加密。PGP提供了数据加密、数字签名以及消息认证等功能,确保邮件的隐私性和完整性。 **PGP的工作...
PGP(Pretty Good Privacy)是一种广泛使用的加密软件,主要用于数据的加密和数字签名,确保信息在传输过程中的安全性和完整性。PGP 5.0 是该软件的一个早期版本,其源代码的提供对于开发者和安全研究者来说具有极高...