消息传递环境中的加密集成了许多概念,这些概念通常需要在不同的应用程序中单独编写。我们努力将这些概念分解成独立的规范,以便根据不同的项目进行适当的集成。
XEdDSA 和 VXEdDSA
本文档介绍了如何使用最初为 X25519 和 X448 椭圆曲线 Diffie-Hellman 函数定义的公钥和私钥格式创建和验证与 EdDSA 兼容的签名。本文档还介绍了“VXEdDSA”,它扩展了 XEdDSA,使其成为可验证随机函数 (VRF)。
X3DH
本文档描述了“X3DH”(即“扩展三重迪菲-赫尔曼”)密钥协商协议。X3DH 在双方之间建立共享密钥,双方基于公钥进行相互认证。X3DH 提供前向保密性和密码可否认性。
PQXDH
本文档描述了“PQXDH”(即“后量子扩展Diffie-Hellman”)密钥协商协议。PQXDH在基于公钥相互认证的双方之间建立共享密钥。PQXDH提供了后量子前向保密性和某种形式的密码学可否认性,但在此修订版协议中,仍然依赖于离散对数问题的难度来实现相互认证。
Double Ratchet
本文档描述了双棘轮算法,该算法由双方基于共享密钥交换加密消息。双方为每条双棘轮消息派生新的密钥,从而确保无法通过后续密钥推导出之前的密钥。双方还会将 Diffie-Hellman 公钥值附加到消息中。Diffie-Hellman 计算的结果会与派生密钥混合,从而确保无法通过之前的密钥推导出之后的密钥。这些特性可以在一方密钥泄露的情况下,为之前或之后的加密消息提供一定的保护。
Sesame
本文档描述了用于在异步和多设备设置中管理消息加密会话的 Sesame 算法。