口令与密钥派生:修订间差异
更多
重排科普目录与分类页面;保留工具索引和学习资源 |
重写科普正文:定义、结构、原理与资料表 |
||
| 第1行: | 第1行: | ||
口令是由用户记忆或输入的秘密文本;密钥派生函数将口令和其他参数转换为固定长度的密钥材料。口令验证、数据加密与密钥派生是相关但不同的用途。口令本身通常不直接具备随机密钥的熵。 | |||
== PBKDF2 | == PBKDF2 的组成 == | ||
PBKDF2 | PBKDF2 以口令、盐值、迭代次数、伪随机函数和输出长度为参数。盐值使相同口令在不同记录中产生不同输出;迭代次数增加每次猜测的计算成本。盐值不必保密,但应随验证记录保存。参数变化会改变派生结果。 | ||
= | {| class="wikitable" | ||
! 参数 !! 作用 | |||
|- | |||
| 口令 || 提供秘密输入。 | |||
|- | |||
| 盐值 || 区分不同记录或用途。 | |||
|- | |||
| 迭代次数 || 规定重复计算次数。 | |||
|- | |||
| 输出长度 || 规定派生材料的字节数。 | |||
|} | |||
普通快速散列函数与专用口令处理方法不能互换。[[MD5]] 或 SHA 摘要直接作用于口令时,缺少专门口令派生方案的成本参数;加密密钥和口令验证值也不应混作相同用途。 | |||
== 参考资料 == | == 参考资料 == | ||
* [https://csrc.nist.gov/pubs/sp/800/132/final NIST SP 800-132《基于口令的密钥派生》,英文,第 5 节] | |||
* [https://mirrors.nju.edu.cn/rfc/rfc8018.html IETF RFC 8018《PKCS #5 v2.1》,南京大学开源镜像,英文,第 5.2 节] | |||
[[工具和科普/文字与密码|返回文字与密码]] | [[工具和科普/文字与密码|返回文字与密码]] | ||
2026年10月14日 (三) 10:14的最新版本
口令是由用户记忆或输入的秘密文本;密钥派生函数将口令和其他参数转换为固定长度的密钥材料。口令验证、数据加密与密钥派生是相关但不同的用途。口令本身通常不直接具备随机密钥的熵。
PBKDF2 的组成
PBKDF2 以口令、盐值、迭代次数、伪随机函数和输出长度为参数。盐值使相同口令在不同记录中产生不同输出;迭代次数增加每次猜测的计算成本。盐值不必保密,但应随验证记录保存。参数变化会改变派生结果。
| 参数 | 作用 |
|---|---|
| 口令 | 提供秘密输入。 |
| 盐值 | 区分不同记录或用途。 |
| 迭代次数 | 规定重复计算次数。 |
| 输出长度 | 规定派生材料的字节数。 |
普通快速散列函数与专用口令处理方法不能互换。MD5 或 SHA 摘要直接作用于口令时,缺少专门口令派生方案的成本参数;加密密钥和口令验证值也不应混作相同用途。