Argon2
外觀

概述 | |
---|---|
設計者 |
|
首次發布 | 2015年 |
密碼細節 | |
摘要長度 | 變長 |
分組長度 | 變長 |
重複回數 | 變長 |
Argon2是一種金鑰衍生函式,是2015年口令雜湊競賽的獲勝者[1][2]。它由盧森堡大學的亞歷克斯·比留科夫、丹尼爾·迪努(Daniel Dinu)以及德米特里·霍夫拉托維奇設計[3]。Argon2的參考實現以創用CC許可協定CC0許可證(即公有領域)或Apache許可證2.0發布,並提供了三種相關版本:
- Argon2d最大化了對GPU口令破解攻擊的抵抗力。它以密碼依賴的順序訪問主記憶體陣列,這減少了時間-主記憶體權衡(TMTO)攻擊的可能性,但引入了可能的旁路攻擊。
- Argon2i最佳化以抵抗旁路攻擊。它以口令獨立的順序訪問主記憶體陣列。
- Argon2id是一個混合版本。它在主記憶體的第一次遍歷中採用Argon2i方法,隨後採用Argon2d方法。RFC 9106建議,如果開發者不了解這些類型之間的區別,或認為側信道攻擊是一個可行的威脅,應該使用 Argon2id[4]。
這三種模式都允許通過三個參數進行組態,包括:
- 執行時間
- 所需主記憶體
- 並列度
參考文獻
[編輯]- ^ "Password Hashing Competition". [2025-01-22]. (原始內容存檔於2019-04-07).
- ^ Jos Wetzels. Open Sesame: The Password Hashing Competition and Argon2. 2016-02-08. arXiv:1602.03097
[cs.CR].
- ^ Argon2: the memory-hard function for password hashing and other applications (頁面存檔備份,存於網際網路檔案館), Alex Biryukov, et al, October 1, 2015
- ^ Biryukov, Alex; Dinu, Daniel; Khovratovich, Dmitry; Josefsson, Simon. Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications. September 2021 [September 9, 2021]. (原始內容存檔於2025-01-20).
外部連結
[編輯]- Argon2 source code repository on Github (頁面存檔備份,存於網際網路檔案館)
- Argon2 specification (頁面存檔備份,存於網際網路檔案館)
- Password Hashing Competition (頁面存檔備份,存於網際網路檔案館)
- Uni.Lu Argon2 Page (頁面存檔備份,存於網際網路檔案館)
- Balloon Hashing: A Memory-Hard Function Providing Provable Protection Against Sequential Attacks (頁面存檔備份,存於網際網路檔案館)
- RFC 9106 Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications