PGP加密消息的算法是什么?

时间:2017-08-01 19:40:17

标签: public-key-encryption sign pgp encryption-asymmetric

  

是否有任何文档可以解释PGP中用于加密消息的数学算法(密钥生成,将消息转换为数字,签名等)?

例如,假设我有一个朋友正在使用第三方软件来加密和解密带有PGP的邮件,我想向他发送一条消息,例如"你好我的朋友!",我想在不使用第三方软件的情况下自己加密邮件。如何生成我的密钥对,以及如何计算签名加密的消息?

我知道不对称加密,DSA,RSA,SHA-1等...但我找不到任何关于PGP算法的文档。

1 个答案:

答案 0 :(得分:0)

PGP和其他一些衍生软件最初使用的是封闭文件格式。这是一个问题,因此P. Zimmermann(编写并首次发布了1991年名为PGP 的软件)写了一篇RFC(与合着者W. Stallings和D. Atkins合着),标题为 PGP消息交换格式:此RFC编号为...... 1991 (易记:PGP于1991年首次发布,RFC编号为1991,在我之后重复,...)。

请注意,此RFC 不是标准:它只是信息性文档。没有人应该声称符合它。它的发布只是因为正如Postel,Huitema和Crocker在RFC-1796中指出的那样:而不是文档而不是忽略

此RFC已被RFC-2440废弃,标题为 OpenPGP消息格式,此标准为。后者已被RFC-4880淘汰,具有相同的标题和相同的类别(标准轨道)。最后,RFC-5581在RFC-4880中添加了一些小的更新。这些规范说明了使用哪些算法以及如何使用它们来格式化消息。

此格式和加密操作有许多实现。您甚至可以找到JavaScript实现。这里提供了一个值得注意的在线服务,让您的浏览器使用JavaScript来管理Open PGP消息:https://keybase.io这不是协议的实现:您必须将编码的密文复制/粘贴到邮件用户代理,例如,如果您想发送借助此服务构建的OpenPGP消息。