我从NIST SHS规范(FIPS 140-4)中了解到,SHA-512和SHA-512/224之间的区别是初始哈希值和最终结果截断。
我将SHA-512的初始哈希值更改为SHA-512/224中在SHS规范中指定的那个哈希值,然后构建了CAVS测试。然后我开始针对复制CAVP测试向量进行测试。
让我们考虑第一种情况:
Len = 0
Msg = 00
MD = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f但就上述输入而言,我获得的结果是:
SHA512/224 digest
6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4让我们考虑第二种情况:
Len = 8
Msg = 84
MD = 3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a但就上述输入而言,我获得的结果是:
SHA512/224 digest
8f8fdcb3f617a2d809b3132860b02fee00bdd927d541d42073dd12e7我做错了什么?
发布于 2017-06-06 09:31:11
算法的实现似乎是正确的,但是在测试用例中,向量是SHA224的向量。以下是我的研究结果:
C:\TMP\0
SHA224: d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
SHA512: cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
SHA512/224: 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4
C:\TMP\8
SHA224: 3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a
SHA512: f180d4243a77ba2b31456286cb55ac765117bdac22b8c3d4f7cdc9dd5b7ba49222fc91da2cddcd81c6ad97d18d562a5727bc7660dc8b7ce05a06976e7ad10bbb
SHA512/224: 8f8fdcb3f617a2d809b3132860b02fee00bdd927d541d42073dd12e7https://crypto.stackexchange.com/questions/47996
复制相似问题