EVP_KEM-X25519
名称
EVP_KEM-X25519, EVP_KEM-X448 - EVP_KEM X25519 和 EVP_KEM X448 密钥类型和算法支持
描述
X25519 和 <X448> 密钥类型及其参数在 EVP_PKEY-X25519(7) 中描述。有关更多信息,请参见 EVP_PKEY_encapsulate(3) 和 EVP_PKEY_decapsulate(3)。
X25519 和 X448 KEM 参数
- "operation" (OSSL_KEM_PARAM_OPERATION)<UTF8 字符串>
-
OpenSSL X25519 和 X448 密钥封装机制仅支持以下操作
- "DHKEM" (OSSL_KEM_PARAM_OPERATION_DHKEM)
-
封装函数生成一个短暂密钥对。它通过使用短暂私钥和提供的接收者公钥进行 X25519 或 X448 密钥交换来生成密钥材料。然后,使用密钥材料和 KEM 上下文进行的 HKDF 操作会生成一个共享密钥。共享密钥和短暂公钥将被返回。解密函数使用接收者私钥和短暂公钥生成相同的密钥材料,然后可以使用该材料生成相同的共享密钥。请参见 https://www.rfc-editor.org/rfc/rfc9180.html#name-dh-based-kem-dhkem
这可以通过使用 EVP_PKEY_CTX_set_kem_op() 或 EVP_PKEY_CTX_set_params() 来设置。
- "ikme" (OSSL_KEM_PARAM_IKME) <八位字节字符串>
-
用于指定用于生成短暂密钥的密钥材料。此值不应重复用于其他目的。对于 X25519,它应该至少有 32 个字节长,对于 X448 应该至少有 56 个字节长。如果未设置此值,则会使用随机 ikm。
符合
- RFC9180
另请参见
EVP_PKEY_CTX_set_kem_op(3), EVP_PKEY_encapsulate(3), EVP_PKEY_decapsulate(3) EVP_KEYMGMT(3), EVP_PKEY(3), provider-keymgmt(7)
历史
此功能是在 OpenSSL 3.2 中添加的。
版权
版权所有 2022 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0(“许可证”)授权。除遵守许可证外,您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取一份副本。