PGP
编辑PGP 是由 Phil Zimmermann 开发的数据加密和签名程序。
PGP属性
编辑PGP 使用所谓的公钥程序,其中有一对xxx分配的密钥:
它使用一个公钥,任何人都可以使用它来为收件人加密数据并验证他们的签名,以及一个只有收件人拥有并且通常受密码保护的私钥。 发给收件人的消息使用他们的公钥加密,然后只能使用他们的私钥解密。 这些方法也称为非对称方法,因为发送方和接收方使用两个不同的密钥。
xxx个版本写于 1991 年,使用 RSA 算法对数据进行加密。 后来的版本使用了 Elgamal 算法。
但是,使用 PGP 时,不会对整个消息进行非对称加密,因为这样计算量太大,而且将同一消息发送给多个收件人是不切实际的。 相反,实际消息是对称加密的,只有使用的密钥是非对称加密的(混合加密)。 为此,每次都会随机生成一个对称密钥(会话密钥)。
这个对称密钥就是 z。 B. 使用 RSA 或 Elgamal 密码系统和收件人的公钥加密并添加到消息中。 这使得同时为多个收件人加密消息成为可能。 为多个收件人加密的消息如下所示:
PGP 基于所谓的 Web of Trust,其中没有中央认证机构,但信任由用户自己管理。
由于 PGP 旨在持久解密消息,如果攻击者设法获得私钥,则该密钥的整个通信历史将受到损害。 对于即时消息,开发了 Off-the-Record Messaging (OTR) 作为 PGP 的替代方案; 即使私钥后来被泄露,加密的通信对于攻击者(以及合法的密钥所有者)来说仍然是不可读的。
工作原理
编辑使用 PGP,您可以选择仅对消息进行签名、仅对消息进行加密或同时对消息进行签名和加密。 签名用于保证消息的真实性,即它来自声称的发件人(真实性)并且在签名后未被更改(完整性)。 实际上,如果消息被加密,它们通常也会被签名。
创建数字签名
为了稍后确保收到的消息没有被操纵或替换(完整性)并且也来自声称的发件人(真实性),发件人必须为消息(或其中的一部分)创建数字签名。密码哈希函数已应用(过去通常使用 SHA-1,但现在已过时并被 SHA-256 等取代)。 这会创建比消息本身短得多的消息摘要(xxx指纹),从而简化数字签名的生成。 然后使用发件人的私钥从消息摘要中生成签名。
加密
作为第二步(如果不进行签名,则为xxx步),发件人现在可以加密消息。 在这里,纯文本消息和来自xxx步的数字签名被组合成一个数据集并进行压缩以减小大小并使密码分析更加困难。 该压缩数据现在使用与密文对称的随机生成的会话密钥 KM 进行加密。 由于这是随机生成的一次性密钥,因此必须将此通知接收者。 为此,密钥 KM 使用接收方的公钥进行非对称加密,并放置在加密消息的前面。 因此,加密消息的安全性取决于由被加密的非对称密钥和会话密钥组成的较弱元素。 最后,密文和加密的密钥字节必须是电子邮件友好的。 为此,这些(就像电子邮件发送中的其他二进制数据一样)使用 Base64 变体 (Radix-64) 编码为某些可打印的 ASCII 字符。现在 PGP 消息可以发送给收件人。 除了用于电子邮件之外,PGP 还可以通过签名和/或加密文件或文本用于其他消息通道(由于操作之间的行尾编码不一致,因此有一个单独的签名程序)系统)。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/351325/