密钥拉伸 / 密码拉伸:一种密码学技术,把较弱或较短的密码/密钥(常见是用户密码)通过重复哈希、加盐与大量迭代等方式“变慢并变强”,从而提高暴力破解与字典攻击的成本。常见实现包括 PBKDF2、bcrypt、scrypt、Argon2 等。(在不同语境下也可写作 key stretching。)
/ˈkiː ˌstrɛtʃɪŋ/
Key-stretching makes password guessing much slower.
密钥拉伸会让猜密码的速度变得慢得多。
By applying key-stretching with a salt and many iterations, the system reduces the risk of offline brute-force attacks after a database leak.
通过加入盐并进行大量迭代的密钥拉伸,即使数据库泄露,系统也能降低离线暴力破解的风险。
由 key(密钥) + stretching(拉伸、延展)构成,是一种比喻性的说法:把“短/弱”的输入通过计算“拉长、加固”,得到更适合用于加密或验证的派生密钥。该说法在现代密码学与工程实践中广泛使用,尤其与“从口令导出密钥(KDF)”密切相关。