跳至內容

Argon2

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Argon2
概述
設計者
首次發布2015年,​11年前​(2015)
密碼細節
摘要長度變長
分組長度變長
重複回數變長

Argon2是一種金鑰衍生函數,是2015年密碼雜湊競賽(英語:Password Hashing Competition)的獲勝者[1][2]。它由盧森堡大學的亞歷克斯·比留科夫(英語:Alex Biryukov)、丹尼爾·迪努(Daniel Dinu)以及德米特里·霍夫拉托維奇(英語:Dmitry Khovratovich)設計[3]。Argon2的參考實現以共享創意許可協定CC0許可證(即公有領域)或Apache許可證2.0發布,並提供了三種相關版本:

  • Argon2d最大化了對GPU密碼破解(英語:Password cracking)攻擊的抵抗力。它以密碼依賴的順序訪問主記憶體陣列,這減少了時間-主記憶體權衡(TMTO)攻擊的可能性,但引入了可能的旁路攻擊。
  • Argon2i最佳化以抵抗旁路攻擊。它以密碼獨立的順序訪問主記憶體陣列。
  • Argon2id是一個混合版本。它在主記憶體的第一次遍歷中採用Argon2i方法,隨後採用Argon2d方法。RFC 9106建議,如果開發者不了解這些類型之間的區別,或認為側信道攻擊是一個可行的威脅,應該使用 Argon2id[4]。

這三種模式都允許通過三個參數進行組態,包括:

  • 執行時間
  • 所需主記憶體
  • 並列度

建議參數

[編輯]

RFC 9106為Argon2id給出兩組通用參數。第一組以2 GiB主記憶體、1次迭代及4個並列通道為首選;主記憶體受限環境可採用64 MiB主記憶體、3次迭代及4個並列通道。兩組均建議使用128位元鹽值和256位標籤。[5]這些參數是標準給出的通用組態,具體應用仍需依據可用主記憶體、延遲目標和威脅模型選擇。

參考文獻

[編輯]
  1. ^ "Password Hashing Competition". [2025-01-22]. (原始內容存檔於2019-04-07). 
  2. ^ Jos Wetzels. Open Sesame: The Password Hashing Competition and Argon2. 2016-02-08. arXiv:1602.03097 可免費查閱 [cs.CR]. 
  3. ^ Argon2: the memory-hard function for password hashing and other applications (頁面存檔備份,存於互聯網檔案館), Alex Biryukov, et al, October 1, 2015
  4. ^ 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). 
  5. ^ Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications, Section 4. RFC Editor. 2021-09 [2026-09-26] (英語). 

外部連結

[編輯]