EVP_KDF-PBKDF2
名稱
EVP_KDF-PBKDF2 - PBKDF2 EVP_KDF 實作
說明
透過 EVP_KDF API 支援運算 PBKDF2 基於密碼的 KDF。
EVP_KDF-PBKDF2 演算法實作 PBKDF2 基於密碼的密鑰導出函數,如 SP800-132 所述;它使用鹽和反覆運算次數從密碼導出密鑰。
身分
「PBKDF2」是此實作的名稱;它可用於 EVP_KDF_fetch() 函數。
支援的參數
支援的參數為
- 「pass」 (OSSL_KDF_PARAM_PASSWORD) <八位元組字串>
- 「salt」 (OSSL_KDF_PARAM_SALT) <八位元組字串>
- 「iter」 (OSSL_KDF_PARAM_ITER) <無符號整數>
-
此參數的預設值為 2048。
- 「properties」 (OSSL_KDF_PARAM_PROPERTIES) <UTF8 字串>
- 「digest」 (OSSL_KDF_PARAM_DIGEST) <UTF8 字串>
-
這些參數的運作方式如 EVP_KDF(3) 中的「PARAMETERS」 所述。
- 「pkcs5」 (OSSL_KDF_PARAM_PKCS5) <整數>
-
此參數可用於啟用或停用 SP800-132 相符性檢查。將模式設定為 0 會啟用相符性檢查。
執行的檢查為
- - 反覆運算次數至少為 1000。
- - 鹽長度至少為 128 位元。
- - 導出的密鑰長度至少為 112 位元。
預設提供者使用 1 的預設模式以維持向下相容性,而 FIPS 提供者使用 0 的預設模式。
值字串預期為十進位數字 0 或 1。
注意事項
此演算法的典型應用是從「pass」中的密碼、「salt」中的鹽和反覆運算次數導出加密演算法的密鑰資料。
增加「iter」參數會減緩演算法速度,讓攻擊者更難使用大量候選密碼執行暴力攻擊。
不對給定的密碼做任何假設;它僅視為位元組序列。
遵循
SP800-132
另請參閱
EVP_KDF(3)、EVP_KDF_CTX_new(3)、EVP_KDF_CTX_free(3)、EVP_KDF_CTX_set_params(3)、EVP_KDF_derive(3)、EVP_KDF(3) 中的「PARAMETERS」
歷史
此功能在 OpenSSL 3.0 中新增。
版權
版權所有 2018-2020 The OpenSSL Project Authors。保留所有權利。
根據 Apache License 2.0(「授權」)授權。您不得在不遵守授權的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案中取得副本,或至 https://www.openssl.org/source/license.html 取得。