life_cycle-cipher
名稱
life_cycle-cipher - 密碼演算法生命週期
說明
所有對稱式密碼 (CIPHER) 在其生命週期中會經歷許多階段
- 開始
-
此狀態代表 CIPHER 在分配之前。這是任何生命週期轉換的起始狀態。
- 新增
-
此狀態代表 CIPHER 在分配之後。
- 初始化
-
這些狀態代表 CIPHER 在設定並能夠處理輸入時。有三個可能的初始化狀態
- 使用 EVP_CipherInit 初始化
- 使用 EVP_DecryptInit 初始化解密
- 使用 EVP_EncryptInit 初始化加密
- 更新
-
這些狀態代表 CIPHER 在設定並能夠處理其他輸入或產生輸出的時候。三個可能的狀態直接對應於上述的初始化狀態。三個不同的串流不應混用。
- 已完成
-
此狀態代表 CIPHER 已產生輸出時。
- 已釋放
-
此狀態是在 CIPHER 釋放時進入。這是所有生命週期轉換的終端狀態。
狀態轉換圖
說明 CIPHER 的一般生命週期
正式狀態轉換
此區段定義所有合法的狀態轉換。這是標準清單。
函式呼叫 | 目前狀態 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
開始 | 新增 | 初始化 | 更新 | 已完成 | 初始化 解密 |
更新 解密 |
初始化 加密 |
更新 加密 |
已釋放 | |
EVP_CIPHER_CTX_new | 新增 | |||||||||
EVP_CipherInit | 初始化 | 初始化 | 初始化 | 初始化 | 初始化 | 初始化 | 初始化 | 初始化 | ||
EVP_DecryptInit | 初始化 解密 |
初始化 解密 |
初始化 解密 |
初始化 解密 |
初始化 解密 |
初始化 解密 |
初始化 解密 |
初始化 解密 |
||
EVP_EncryptInit | 初始化 加密 |
初始化 加密 |
初始化 加密 |
初始化 加密 |
初始化 加密 |
初始化 加密 |
初始化 加密 |
初始化 加密 |
||
EVP_CipherUpdate | 更新 | 更新 | ||||||||
EVP_DecryptUpdate | 更新 解密 |
更新 解密 |
||||||||
EVP_EncryptUpdate | 更新 加密 |
更新 加密 |
||||||||
EVP_CipherFinal | 已完成 | |||||||||
EVP_DecryptFinal | 已完成 解密 |
|||||||||
EVP_EncryptFinal | 已完成 解密 |
|||||||||
EVP_CIPHER_CTX_free | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | 已釋放 | |
EVP_CIPHER_CTX_reset | 新增 | 新增 | 新增 | 新增 | 新增 | 新增 | 新增 | |||
EVP_CIPHER_CTX_get_params | 新增 | 初始化 | 更新 | 初始化 解密 |
更新 解密 |
初始化 加密 |
更新 加密 |
|||
EVP_CIPHER_CTX_set_params | 新增 | 初始化 | 更新 | 初始化 解密 |
更新 解密 |
初始化 加密 |
更新 加密 |
|||
EVP_CIPHER_CTX_gettable_params | 新增 | 初始化 | 更新 | 初始化 解密 |
更新 解密 |
初始化 加密 |
更新 加密 |
|||
EVP_CIPHER_CTX_settable_params | 新增 | 初始化 | 更新 | 初始化 解密 |
更新 解密 |
初始化 加密 |
更新 加密 |
備註
在某個時間點,EVP 層會開始強制執行此處所述的轉換。
另請參閱
provider-cipher(7)、EVP_EncryptInit(3)
版權
Copyright 2021 The OpenSSL Project Authors。保留所有權利。
根據 Apache 授權條款 2.0(「授權條款」)授權。您只能在遵守授權條款的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案或 https://www.openssl.org/source/license.html 取得副本。