PGP的简介
PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件,它提供了非对称加密和数字签名,是目前非常流行的公钥加密软件包。
PGP的功能
- 使用PGP对邮件加密,以防止非法阅读;
- 能给加密的邮件追加上数字签名,从而使收信人进一步确信邮件的发送者,而事先不需要任何保密的渠道用来传递密钥;
- 可以实现只签名而不加密,适用于发表公开声明时证实声明人身份,也可防止声明人抵赖,这一点在商业领域有很大的应用前景;
- 能够加密文件,包括图形文件、声音文件以及其它各类文件;
- 利用PGP代替Unicode生成RADIX64(就是MIME的BASE 64格式)的编码文件。
PGP的工作流程
假设:a想要对邮件明文m进行加密后发送给b,a知道b的公钥PKb,b知道a的公钥PKa
加密部分
- a用MD5算法对邮件明文m进行hash运算生成一个长度为128位二进制数的消息摘要m1,a在消息摘要m1的末尾加上a的用户名和日期等信息得到m2
- a用a的私钥SKa对m2进行加密(签名)运算得到签名s
- a用PKzip算法(一种压缩算法)对明文m和签名s进行压缩处理得到m3
- a用IDEA算法(一种对称密码算法)和随机密钥K对m3进行加密得到邮件密文c1
- a用RSA算法和b的公钥PKb对随机密钥K进行加密得到c2
a将邮件密文c1和c2通过公开信道发送给b
解密部分
- b用RSA算法和b的私钥SKb对c2进行解密得到随机密钥K
- b用IDEA算法和随机密钥K对邮件密文c1进行解密得到m3
- b用PKzip算法对m3进行解压缩得到明文m和签名s
- b用a的公钥PKa对签名s进行解密(验证签名)运算得到m2,进而得到m1和a的用户名和日期,这就证明邮件的发送者是a,起到了验证身份的目的
- b用MD5算法对邮件明文m进行hash运算生成一个长度为128位二进制数的消息摘要m3与m1进行比较,相同的话证明邮件明文m没有被篡改
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END