PGP在信息安全中使用哪些密钥?


PGP 使用四种类型的密钥,包括一次性会话对称密钥、公钥、私钥和基于密码的对称密钥。

  • 会话密钥生成 − 每个会话密钥都与单个消息相关,仅用于该消息的加密和解密。请记住,消息加密/解密是使用对称加密算法完成的。考虑到需要 128 位密钥,因此使用 CAST-128 生成随机的 128 位数字。

    随机数生成器的输入包括 128 位密钥(这是使用用户按键输入的随机数)和两个被视为要加密的明文的 64 位块。通过使用 CFB 模式,生成两个 64 位密文块并将其连接起来形成 128 位会话密钥。使用的算法基于 ANSI X12.17 中指定的算法。

  • 密钥标识符 − 每个用户可以拥有多个公钥/私钥对。每个都需要某种 ID。与每个公钥相关的密钥 ID 包括其最低有效的 64 位。也就是说,公钥 KUa 的密钥 ID 是 (KUa mod 264)。这是一个足够的长度,重复密钥 ID 的概率非常小。

    密钥 ID 也用于 PGP 数字签名,因为发送者可以使用多个私钥之一来加密消息摘要,而接收者应该知道使用了哪个私钥。

  • 密钥环 − 密钥 ID 对 PGP 的服务非常重要。可以看出,任何同时支持机密性和身份验证的 PGP 消息中都包含两个密钥 ID。

这些密钥需要以系统化的方式进行存储和组织,以便某些参与方能够高效有效地使用它们。PGP 中使用的设计是在每个节点提供一组数据结构,一个用于保存该节点拥有的公钥/私钥对,另一个用于保存该节点已知的其他用户的公钥。

可以将密钥环视为一个表,其中每一行定义此用户拥有的一个公钥/私钥对。每一行包括以下内容:

  • 时间戳 − 创建此密钥对的日期/时间。

  • 密钥 ID − 此条目公钥的最低 64 位。

  • 公钥 − 对的公钥部分。

  • 私钥 − 对的私钥部分。

  • 用户 ID − 通常是用户的电子邮件地址。

私钥环可以通过用户 ID、密钥 ID 或两者索引。但出于安全考虑,密钥的值不会保存在密钥环中,而是其加密版本,需要密码才能解密。

更新于:2022年3月7日

3K+ 浏览量

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.