跳转到内容

Argon2

本页使用了标题或全文手工转换
维基百科,自由的百科全书
Argon2
概述
设计者
首次发布2015年,​10年前​(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]

这三种模式都允许通过三个参数进行配置,包括:

  • 执行时间
  • 所需内存
  • 并行度

参考文献

[编辑]
  1. ^ "Password Hashing Competition"
  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]. 

外部链接

[编辑]