加载中...

| 中文名 | Argon2 |
| 类型 | 密码哈希函数 |
| 竞赛 | 2015 密码哈希竞赛冠军 |
| 标准 | RFC 9106 |
| 推荐变体 | Argon2id |
Argon2是一种现代的密码哈希函数,于 2015 年赢得密码哈希竞赛(PHC),专门设计用于安全地存储用户口令。它属于内存困难型算法,通过强制占用大量内存来削弱攻击者利用 GPU、FPGA 或 ASIC 进行大规模并行暴力破解的优势。
传统哈希算法计算极快,反而让攻击者能每秒尝试数十亿次口令。Argon2 与 bcrypt、scrypt 一样属于慢哈希,但更进一步:它同时具备可调的时间成本、内存成本和并行度三个参数,使防御者能随硬件进步不断提高破解难度。它已被写入 RFC 9106,并成为 OWASP 推荐的口令哈希首选之一。
Argon2 提供三种变体以适应不同威胁模型:
其安全性来自可配置的内存占用(如数十至数百 MB)、迭代次数和并行线程数。攻击者若想并行破解,必须为每次尝试都配备相应内存,大幅抬高硬件成本。
Argon2 主要用于网站和应用的用户口令存储,取代已显陈旧的 MD5、SHA 加盐方案。它也用于从口令派生加密密钥的场景,如密码管理器、加密文件和磁盘加密的口令保护。许多主流编程语言都提供了成熟的 Argon2 实现库。
问:已有 bcrypt 了,还需要换 Argon2 吗?答:bcrypt 至今仍然安全可用,但它内存占用固定较小。对新系统,内存可调的 Argon2id 抗专用硬件破解能力更强,是更前瞻的选择。
问:参数越大越安全吗?答:是,但需权衡登录响应速度和服务器负载。通常将单次哈希耗时调到几百毫秒,并在硬件允许下尽量提高内存成本。

| 中文名 | Argon2 |
| 类型 | 密码哈希函数 |
| 竞赛 | 2015 密码哈希竞赛冠军 |
| 标准 | RFC 9106 |
| 推荐变体 | Argon2id |
登录 后参与讨论
暂无讨论,来发表第一条评论吧