OpenSSL

密碼學和 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) 中的「參數」 所述的參數。

注意事項

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(「授權條款」)授權。您只能在遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得一份副本,或在 https://www.openssl.org/source/license.html 取得。