OpenSSL

密码学和SSL/TLS工具包

EVP_KEM-X448

名称

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