OpenSSL

密码学和SSL/TLS工具包

EVP_KEM-EC

名称

EVP_KEM-EC - EVP_KEM EC 密钥类型和算法支持

描述

EC 密钥类型及其参数在 EVP_PKEY-EC(7) 中描述。有关更多信息,请参阅 EVP_PKEY_encapsulate(3)EVP_PKEY_decapsulate(3)

EC KEM 参数

"operation" (OSSL_KEM_PARAM_OPERATION)<UTF8 字符串>

OpenSSL EC 密钥封装机制仅支持以下操作

"DHKEM" (OSSL_KEM_PARAM_OPERATION_DHKEM)

封装函数生成一个短暂密钥对。它通过使用短暂私钥和提供的接收方公钥进行 ECDH 密钥交换来生成密钥材料。然后,使用密钥材料和 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) <八位字节串>

用于指定用于生成短暂密钥的密钥材料。此值不应重复用于其他目的。它只能用于曲线“P-256”、“P-384”和“P-521”,并且长度应至少为编码私钥的大小(即列出曲线的 32、48 和 66)。如果未设置此值,则使用随机 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 中获取副本。