Hash

與 SHA-512 相比,SHA-512/224 有何不同?

  • January 9, 2021

我從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

引用自:https://crypto.stackexchange.com/questions/47996