Skip to content

Latest commit

 

History

History
27 lines (19 loc) · 1.86 KB

File metadata and controls

27 lines (19 loc) · 1.86 KB

P17 图 8-19 显示了 Alice 必须执行的 PGP 的操作,以提供机密性、鉴别和完整性。图示出当 Bob 接收来自 Alice 的包时必须执行的对应操作。

  • PGP 的加密过程如下:

    • 1、Alice 用对称密钥 Ks 加密报文 m 得到 Ks(m)
    • 2、Alice 用 Bob 的公钥 Kb+ 加密 Ks 得到 Kb+(Ks)
    • 3、Alice 组合 Ks(m) 和 Kb+(Ks) 得到 P1
    • 4、Alice 计算 P1 的 MAC,然后使用私钥 Ka- 加密该 MAC,将 P1 和 Ka-(MAC) 组合成 P2
  • Bob 收到该包后解密过程如下:

    • 1、Bob 使用 Alice 的公钥 Ka+ 解密得到 MAC
    • 2、Bob 计算 P1 的 MAC,并与解密得到的进行比较,如果不同则丢弃,相同继续。
    • 3、Bob 使用自己的私钥 Kb- 解密得到 Ks
    • 4、Bob 使用 Ks 解密 Ks(m) 得到原始报文 m

P18 假定 Alice 要向 Bob 发送电子邮件。Bob 具有一个公共-私有密钥对 (Kb+, Kb-),并且 Alice 具有 Bob 的证书。但 Alice 不具有公钥私钥对。Alice 和 Bob (以及全世界) 共享相同的散列函数 H(*)。

a. 在这种情况下,能设计一种方案使得 Bob 能够验证是 Alice 创建了报文吗?如果能,用方框图显示 Alice 和 Bob 如何做的。

b. 能设计一个对比 Alice 向 Bob 发送的报文提供机密性的方案吗?如果能,用方块图显示 Alice 和 Bob 是如何做的。

  • a.

    • Bob 选择一个鉴别密钥,用私钥加密然后发给 Alice,Alice 使用 Bob 的公钥解密后得到鉴别密钥,Alice 给 Bob 发送报文时,使用该密钥加密报文,Bob 没收到解密成功说明是 Alice 发送的报文
    • 上面的方法会收到中间人攻击而失效。如果 Alice 不具有公钥私钥对,则无法验证报文的确由 Alice 创建。
  • b.

    • Alice 用 Bob 的公钥加密报文即可提供机密性。