EVP_MAC-BLAKE2
名称
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"
支持的参数
这些参数的通用描述可以在"EVP_MAC(3) 中的 PARAMETERS"中找到。
所有这些参数(除了“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 个字节。设置此参数等同于将key传递给EVP_MAC_init(3)。
- "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)、"EVP_MAC(3) 中的 PARAMETERS"、OSSL_PARAM(3)
历史
此处描述的宏和函数已添加到 OpenSSL 3.0 中。
版权
版权所有 2018-2021 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或https://www.openssl.org/source/license.html中获取副本。