OpenSSL

密码学和 SSL/TLS 工具包

EVP_MAC-CMAC

名称

EVP_MAC-CMAC - CMAC EVP_MAC 实现

描述

通过EVP_MAC API 支持计算 CMAC MAC。

此实现使用 EVP_CIPHER 函数访问底层密码。

标识

此实现使用此名称和属性标识,用于与 EVP_MAC_fetch() 一起使用

"CMAC", "provider=default" 或 "provider=fips"

支持的参数

这些参数的通用描述可以在 "PARAMETERS" in EVP_MAC(3) 中找到。

以下参数可以使用 EVP_MAC_CTX_set_params() 设置

"key" (OSSL_MAC_PARAM_KEY) <八位字节字符串>

设置 MAC 密钥。设置此参数与向 EVP_MAC_init(3) 传递 key 相同。

"cipher" (OSSL_MAC_PARAM_CIPHER) <UTF8 字符串>

设置要使用的底层密码的名称。密码的模式必须为 CBC。

"properties" (OSSL_MAC_PARAM_PROPERTIES) <UTF8 字符串>

设置在尝试获取底层密码时要查询的属性。这必须与密码命名参数一起给出才能被视为有效。

以下参数可以使用 EVP_MAC_CTX_get_params() 检索

"size" (OSSL_MAC_PARAM_SIZE) <无符号整数>

"size" 参数也可以使用 EVP_MAC_CTX_get_mac_size() 检索。 "size" 参数的长度等于 unsigned int 的长度。

"block-size" (OSSL_MAC_PARAM_BLOCK_SIZE) <无符号整数>

获取 MAC 块大小。 "block-size" 参数也可以使用 EVP_MAC_CTX_get_block_size() 检索。

参见

EVP_MAC_CTX_get_params(3), EVP_MAC_CTX_set_params(3), "PARAMETERS" in EVP_MAC(3), OSSL_PARAM(3)

版权所有 2018-2021 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)许可。除非遵守许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。