开放SSL

密码学和 SSL/TLS 工具包

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