CyberGlossary

密码学

scrypt

别称: Percival scrypt, RFC 7914

定义

由 Colin Percival 于 2009 年设计、由 RFC 7914 标准化的基于口令的内存密集型 KDF,用于口令哈希,也作为部分加密货币的工作量证明算法。

scrypt 是 Colin Percival 于 2009 年发布、由 RFC 7914 标准化的基于口令的密钥派生函数,将 PBKDF2-HMAC-SHA-256 与一个内存密集型混合阶段 ROMix 相结合,而 ROMix 又建立在 Salsa20/8 核心之上。其三个可调参数为 N(内存/CPU 代价)、r(块大小)与 p(并行度);常见的交互式配置为 N=2^15、r=8、p=1,需要约 32 MiB 内存。内存密集型设计相比 PBKDF2 或 bcrypt 显著提升了 GPU 与 ASIC 攻击的成本。scrypt 在口令哈希和 KDF 场景下仍是安全的选择,但新系统通常优先选用 Argon2id;Litecoin 与 Dogecoin 将其用作工作量证明哈希函数。

示例

  • 使用 scrypt(N=16384,r=8,p=1)存储用户口令。
  • Litecoin 使用 scrypt 作为工作量证明哈希。

相关术语