RFC6070 中有 PBKDF2-HMAC-SHA1 的测试向量. RFC4231 中有 HMAC-SHA2 的测试向量.
但到目前为止,我还没有在任何地方找到 PBKDF2-HMAC-SHA2 的测试向量。
我对 SHA256 最感兴趣,所以我将发布一些我用我的实现计算的向量。如果有人可以验证/确认他们,或者贡献他们自己的,我会很高兴。
最佳答案
作为 RFC-7914 的一部分(scrypt 规范)为带有 HMAC-SHA-256 的 PBKDF2 提供了测试向量(因为 scrypt 在内部使用 PBKDF2)。
他们来了:
PBKDF2-HMAC-SHA-256 (P="passwd", S="salt",
c=1, dkLen=64) =
55 ac 04 6e 56 e3 08 9f ec 16 91 c2 25 44 b6 05
f9 41 85 21 6d de 04 65 e6 8b 9d 57 c2 0d ac bc
49 ca 9c cc f1 79 b6 45 99 16 64 b3 9d 77 ef 31
7c 71 b8 45 b1 e3 0b d5 09 11 20 41 d3 a1 97 83
PBKDF2-HMAC-SHA-256 (P="Password", S="NaCl",
c=80000, dkLen=64) =
4d dc d8 f6 0b 98 be 21 83 0c ee 5e f2 27 01 f9
64 1a 44 18 d0 4c 04 14 ae ff 08 87 6b 34 ab 56
a1 d4 25 a1 22 58 33 54 9a db 84 1b 51 c9 b3 17
6a 27 2b de bb a1 d0 78 47 8f 62 b3 97 f3 3c 8d
有趣的是,dkLen
越过 32
(SHA-256 block 的大小),因此它确实测试了中间散列 block 的串联是否有效。
关于cryptography - PBKDF2-HMAC-SHA2 测试向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130513/