【对称秘钥】PBKDF2秘钥派生函数
🏬【对称秘钥】PBKDF2秘钥派生函数
2022-3-1
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:42 AM
Parent item
领域
PBKDF2(Password-Based Key Derivation Function)是一个用来导出密钥的函数。其基本原理是通过一个伪随机函数(例如函数),把明文和一个盐值作为输入参数,然后重复进行运算,并最终产生密钥。如果重复的次数足够大,破解的成本就会变得很高,而盐值的添加也会增加“彩虹表”攻击的难度。
PBKDF2的算法流程如下:
  1. 定义DK表示最后产生的密钥,DK的值由一个以上的块拼接而成。 ,的数量是的值,其中DK的长度是的长度。就是说如果PRF输出的结果比期望得到的密钥长度要短,则要通过拼接多个结果以满足密钥的长度:
    1. 通过函数计算每个块的值。
      1. 函数的流程如下图所示:
        notion image
      2. 选取一个伪随机函数,例如函数,它会输出长度为的结果。
      3. 根据输入的密码盐值,把盐值拼接上块索引,通过PRF函数计算,其中表示32位有符号大端字节序的整形数据。
      4. 对于得到的结果,再次作为PRF函数的输入,迭代计算,一共迭代次:。注意迭代的次数为输入参数。
      5. 进行异或计算得到一个新的数字串= ^ ^ ... ^ ,作为第块的值。
    1. 拼接为最终秘钥:
    密码学
  2. 密码学算法
  3. 对称密钥
  4. 【Hash函数】MD5【对称秘钥】Diffie-Hellman秘钥交换算法
    目录