密钥派生函数 编辑
密码学中,密钥派生函数使用伪随机函数从诸如主密钥或密码的秘密值中派生出一个或多个密钥。KDF可用于将密钥扩展为更长的密钥或获取所需格式的密钥,例如将作为迪菲-赫尔曼密钥交换结果的组元素转换为用于高级加密标准对称密钥。用于密钥派生的伪随机函数最常见的示例是密码散列函数
2
相关
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。
彩虹表是一个用于加密散列函数逆运算的预先计算好的查找表,常用于破解加密过的密码散列。 彩虹表常常用于破解长度固定且包含的字符范围固定的密码。这是时空权衡的典型实践,比暴力破解使用的时间更少,空间更多;但与储存密码空间中的每一个密码及其对应的哈希值实现的查找表相比,其花费的时间更多,空间更少。使用盐的密钥派生函数可以使这种攻击难以实现。

scrypt,是加拿大计算机科学家暨计算机安全研究人员科林·珀西瓦尔于2009年所发明的密钥派生函数,当初设计用在他所创立的Tarsnap服务上。设计时考虑到大规模的客制硬件攻击而刻意设计需要大量内存运算。2016年,scrypt算法发布在RFC https://tools.ietf.org/html/rfc7914|rfc:7914。scrypt的简化版被用在数个密码货币的工作量证明上。
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。
passwd 是一个用于 UNIX,贝尔实验室九号计划,Inferno 和大多数类Unix系统中用于更改用户密码的命令。用户输入的密码通过密钥派生函数运行,以创建新密码的散列函数,并将其保存。出于安全考虑,将不会保存输入的密码而仅保存生成的散列函数。