Hash
與 SHA-512 相比,SHA-512/224 有何不同?
我從NIST SHS 規範(FIPS 140-4)中了解到,SHA-512 和 SHA-512/224 之間的區別在於初始雜湊值和最終結果截斷
我將 SHA-512 的初始雜湊值更改為 SHS 規範中指定的 SHA-512/224 之一,然後建構了 CAVS 測試。然後我開始對複制的 CAVP 測試向量進行測試。
讓我們考慮第一種情況:
Len = 0 Msg = 00 MD = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
但是我為上述輸入獲得的結果是:
SHA512/224 digest 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4
讓我們考慮第二種情況:
Len = 8 Msg = 84 MD = 3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a
但是我為上述輸入獲得的結果是:
SHA512/224 digest 8f8fdcb3f617a2d809b3132860b02fee00bdd927d541d42073dd12e7
我究竟做錯了什麼?
您對算法的實現似乎是正確的,但在測試案例中,向量是 SHA224 的向量。這是我的結果:
C:\TMP\0 SHA224: d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f SHA512: cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e SHA512/224: 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4 C:\TMP\8 SHA224: 3cd36921df5d6963e73739cf4d20211e2d8877c19cff087ade9d0e3a SHA512: f180d4243a77ba2b31456286cb55ac765117bdac22b8c3d4f7cdc9dd5b7ba49222fc91da2cddcd81c6ad97d18d562a5727bc7660dc8b7ce05a06976e7ad10bbb SHA512/224: 8f8fdcb3f617a2d809b3132860b02fee00bdd927d541d42073dd12e7