1Password是一个很好的密码管理软件。有了它,您可以轻松管理密码,因此您不再需要考虑密码泄漏的问题。根据1Password的官方介绍,底层使用PBKDF2算法来加密密码。
那么pbkdf2神圣在哪里?1Password的优点是什么?让我们一起看一下。
PBKDF的全名是基于密码的密钥推导功能。简而言之,PBKDF是密码导数的工具。由于有pbkdf2,必须有pbkdf1,那么两者之间有什么区别?
PBKDF2是PKCS系列的标准之一。具体来说,他是PKCS#5的2.0版本,也以RFC 2898的形式发布。它是PBKDF1的替代品。它为什么要替换PBKDF1?那是因为PBKDF1只能生成160位长度键。如今,计算机性能的快速开发不再满足我们的加密需求,因此由PBKDF2取代。
在2017年发布的RFC 8018(PKCS#5 V2.1)中,建议使用PBKDF2作为密码哈希的标准。
PBKDF2和PBKDF1主要用于防止密码瘀伤,因此已将计算能力的自动调整添加到了设计中,从而抵抗了BRUCH破解的可能性。
PBKDF2实际上应用于伪散布函数prf(伪和函数)到输入密码,盐,生成延迟,然后使用扩展值作为后续加密过程的加密键,从而增加加密开裂的困难。此过程也称为密码增强。
让我们看一下标准的PBKDF2工作流程图:
从图可以看出,初始密码和盐通过PRF的操作生成了一个键,然后由下一个加密输入和密码操作此键。关键是不同的或操作的,该键是生成最终t的,然后将这些最终t合并以生成最终密码。
根据2000年的提案,通常可以安全地达到1000次以上。当然,此数字也会随着CPU计算能力的加强而改变。可以根据安全要求调整此数字。
遍历遍历后,为什么您仍然需要添加盐?此外,盐是防止彩虹表攻击密码。换句话说,攻击者无法预先选择特定密码的哈希值。由于无法提前预测,因此安全性得到了改善。标准盐的长度为64位,国家标准和技术研究所推荐的盐长度为128位。
在上面的一节中,我们告诉您pbkdf2起作用。从本质上讲,这足以理解这一层,但是如果您想加深并了解PBKDF2关键一代的基本原则,请注意此部分。
我们上面介绍了PBKDF2是生成衍生键的函数。作为一个函数,然后有输入和输出。让我们首先看一下PBKDF2的定义:
PBKDF2具有5个功能。看到每个参数是什么意思:
在上一节中,我们可以看到最后一个衍生键由多个部分组成。上图中的每个t代表衍生键的一部分。最后,这些t合并了这些t,以获取最终的衍生键,该公式如下:
以上F是由C时间遍历的外星或链。该公式如下:
在:
如果PBKDF2的PRF使用HMAC,它将发送一些有趣的问题。对于HMAC,如果密码的长度大于可接受的HMAC范围,则密码将首先通过哈希操作完成,然后在哈希之后进行字符串,然后将密码完成。用作HMAC输入。
如果用户输入的密码是:
HMAC-SHA1操作后,获取:
将其转换为字符串以获取:
因此,如果使用PBKDF2-HMAC-SHA1的加密方法,则以下两个密码生成相同的派生键。
尽管PBKDF2可以通过调节周期穿越的次数来增加密码破解的难度。取决于大量的RAM加密算法,这导致那些廉价的ASIC处理器无用。
以上是PBKDF2的简要介绍。如果您想了解更多有关更多朋友的信息,则可以参考我有关密码学的其他文章。
最受欢迎的解释,最深的干货,最简单的教程,您不知道的许多技巧正在等待您发现!
欢迎注意我的公共帐户:“程序的事情”,了解技术并更好地了解您!