Pbkdf-2
scrypt 是散列函式、加密還是 PBKDF?
我已經安裝了 scrypt 的 python 實現,並註意到它有幾個函式,包括加密和散列函式。然而 Wikipedia 將其列為用於 PBKDF 而不是 PBKDF2。scrypt 是 PBKDF2 的散列函式還是它自己的替代方案?
Scrypt 肯定是一個基於密碼的密鑰派生函式。PBKDF2 也是如此,儘管它可能會令人困惑,因為 PBKDF2 是同名詞。更令人困惑的是,Scrypt 內部使用了 PBKDF2(可能是您所指的散列函式),以及 Salsa20/8 Core 函式(可能是您所指的加密函式)。進一步閱讀這裡。
PBKDF2 和 scrypt 都是基於密碼的密鑰派生函式 (PBKDF)。scrypt 的不同之處在於它具有很大的內部狀態。這意味著很難為其創建硬體加速器。這意味著攻擊者無法使用硬體實現來獲得優於合法使用者的優勢。
有關更多資訊,請參閱有關 scrypt 的相當廣泛的 Wikipedia 頁面。