密钥延伸

编辑
本词条由“匿名用户” 建档。

密匙延伸,英文keystretching,是一种密码学的密钥推导操作,旨在通过确保需要更多的资源(时间、内存)来尝试所有的可能性,从而使弱密钥(通常是密码)更加安全。最先进的是Argon2。PBKDF2、bcrypt或scrypt也符合公认的技术规则,尽管它们有众所周知的缺点。 拉伸技术通常按如下方式工作:将初始密钥输入算法,生成改进的拉伸密钥。这必须足够大,以至于无法通过暴力攻击找到它(128位...

目录

密钥延伸

编辑

延伸,英文key stretching,是一种密码学的密钥推导操作,旨在通过确保需要更多的资源(时间、内存)来尝试所有的可能性,从而使弱密钥(通常是密码)更加安全。 最先进的是 Argon2。 PBKDF2、bcrypt 或 scrypt 也符合公认的技术规则,尽管它们有众所周知的缺点。

拉伸技术通常按如下方式工作:将初始密钥输入算法,生成改进的拉伸密钥。 这必须足够大,以至于无法通过暴力攻击找到它(128 位的长度通常就足够了)。 拉伸算法必须是安全的,也就是说,必须没有已知的方法可以更轻松地从初始密钥计算出改进的密钥。

想要找到拉伸密钥的攻击者有两个选择:要么尝试改进密钥的所有可能性(如果密钥足够长,几乎不可能),要么通过拉伸每个字符来尝试原始密钥的所有可能字符组合。 当初始密钥是密码时,攻击者通常会进行如下操作:首先他将尝试常用密码列表中的每个单词,然后是字典中的每个单词,最后是每个可能的字符组合,长度递增,直到在他的计算能力和时间允许的情况下。 拉伸密钥并不能阻止这种方法,但攻击者必须在每个试用密码上花费更多时间,因为他必须拉伸它。

密钥推导操作

如果攻击者使用与用户相同级别的硬件,则每次尝试将花费与用户延长密钥相同的时间(这个时间通常是一秒的数量级)。 即使攻击者拥有更多的计算资源,密匙延伸也会显着减慢攻击速度,因为用户的计算机只需计算一次拉伸函数来处理密码,而攻击者必须为他们尝试的每个可能的密码计算它。

有几种方法可以执行密匙延伸。 除了上面提到的算法,例如 Argon2,还可以重复使用加密哈希函数或分组密码。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/335713/

(2)
词条目录
  1. 密钥延伸

轻触这里

关闭目录

目录