OpenSSL

密码学和 SSL/TLS 工具包

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 中获取一份副本。