EVP_CIPHER-AES
名称
EVP_CIPHER-AES - AES EVP_CIPHER 实现
描述
使用 **EVP_CIPHER** API 支持 AES 对称加密。
算法名称
以下算法在 FIPS 提供程序和默认提供程序中可用
- "AES-128-CBC", "AES-192-CBC" 和 "AES-256-CBC"
- "AES-128-CBC-CTS", "AES-192-CBC-CTS" 和 "AES-256-CBC-CTS"
- "AES-128-CFB", "AES-192-CFB", "AES-256-CFB", "AES-128-CFB1", "AES-192-CFB1", "AES-256-CFB1", "AES-128-CFB8", "AES-192-CFB8" 和 "AES-256-CFB8"
- "AES-128-CTR", "AES-192-CTR" 和 "AES-256-CTR"
- "AES-128-ECB", "AES-192-ECB" 和 "AES-256-ECB"
- "AES-192-OFB", "AES-128-OFB" 和 "AES-256-OFB"
- "AES-128-XTS" 和 "AES-256-XTS"
- "AES-128-CCM", "AES-192-CCM" 和 "AES-256-CCM"
- "AES-128-GCM", "AES-192-GCM" 和 "AES-256-GCM"
- "AES-128-WRAP", "AES-192-WRAP", "AES-256-WRAP", "AES-128-WRAP-PAD", "AES-192-WRAP-PAD", "AES-256-WRAP-PAD", "AES-128-WRAP-INV", "AES-192-WRAP-INV", "AES-256-WRAP-INV", "AES-128-WRAP-PAD-INV", "AES-192-WRAP-PAD-INV" 和 "AES-256-WRAP-PAD-INV"
- "AES-128-CBC-HMAC-SHA1", "AES-256-CBC-HMAC-SHA1", "AES-128-CBC-HMAC-SHA256" 和 "AES-256-CBC-HMAC-SHA256"
以下算法在默认提供程序中可用,但在 FIPS 提供程序中不可用
- "AES-128-OCB", "AES-192-OCB" 和 "AES-256-OCB"
- "AES-128-SIV", "AES-192-SIV" 和 "AES-256-SIV"
- "AES-128-GCM-SIV", "AES-192-GCM-SIV" 和 "AES-256-GCM-SIV"
参数
此实现支持 "EVP_EncryptInit(3) 中的 PARAMETERS" 中描述的参数。
注意
AES-SIV 和 AES-WRAP 模式实现不支持流式处理。这意味着为了获得正确的结果,在初始化上下文后只能调用一次 EVP_EncryptUpdate(3) 或 EVP_DecryptUpdate(3) 。
AES-XTS 实现允许执行流式处理,但每次 EVP_EncryptUpdate(3) 或 EVP_DecryptUpdate(3) 调用都需要每个输入是块大小的倍数。只有最终的 EVP_EncryptUpdate() 或 EVP_DecryptUpdate() 调用可以选择具有非块大小倍数但大于一个块的输入。在这种情况下,将使用密文窃取 (CTS) 来填充块。
参见
provider-cipher(7),OSSL_PROVIDER-FIPS(7),OSSL_PROVIDER-default(7)
历史
GCM-SIV 模式密码在 OpenSSL 版本 3.2 中添加。
版权
版权所有 2021-2023 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0 版 (the "License") 许可。除符合许可证条款外,您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。