开放SSL

密码学和 SSL/TLS 工具包

EVP_MAC-BLAKE2BMAC

名称

EVP_MAC-BLAKE2, EVP_MAC-BLAKE2BMAC, EVP_MAC-BLAKE2SMAC - BLAKE2 EVP_MAC 实现

描述

通过 EVP_MAC API 支持计算 BLAKE2 MAC。

标识

这些实现使用以下名称和属性进行标识,用于与 EVP_MAC_fetch() 一起使用

"BLAKE2BMAC", "provider=default"
"BLAKE2SMAC", "provider=default"

支持的参数

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

所有这些参数(除了 "block-size")都可以使用 EVP_MAC_CTX_set_params() 设置。此外,"size" 参数可以使用 EVP_MAC_CTX_get_params() 或 EVP_MAC_CTX_get_mac_size() 获取。 "size" 参数的长度不应超过 size_t。同样,"block-size" 参数可以使用 EVP_MAC_CTX_get_params() 或 EVP_MAC_CTX_get_block_size() 获取。

"key" (OSSL_MAC_PARAM_KEY) <字节串>

设置 MAC 密钥。对于 BLAKE2BMAC,它最多可以是 64 字节,对于 BLAKE2SMAC 最多可以是 32 字节,两种情况下至少为 1 字节。设置此参数与向 EVP_MAC_init(3) 传递 key 相同。

"custom" (OSSL_MAC_PARAM_CUSTOM) <字节串>

设置定制/个性化字符串。它是一个可选值,对于 BLAKE2BMAC 最多为 16 字节,对于 BLAKE2SMAC 最多为 8 字节,默认情况下为空。

"salt" (OSSL_MAC_PARAM_SALT) <字节串>

设置盐值。它是一个可选值,对于 BLAKE2BMAC 最多为 16 字节,对于 BLAKE2SMAC 最多为 8 字节,默认情况下为空。

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

设置 MAC 大小。对于 EVP_MAC_BLAKE2S,它可以是 1 到 32 之间的任何数字,对于 EVP_MAC_BLAKE2B,它可以是 1 到 64 之间的任何数字。默认情况下分别为 32 和 64。

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

获取 MAC 块大小。对于 EVP_MAC_BLAKE2S 为 64,对于 EVP_MAC_BLAKE2B 为 128。

参见

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

历史

此处描述的宏和函数已添加到 OpenSSL 3.0 中。

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

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