# How different is SHA-512/224 when compared to SHA-512?

I understood from the NIST SHS specifications (FIPS 140-4) that the difference between SHA-512 and SHA-512/224 the two differences are the initial hash value and the final result truncation

I changed the initial hash value of SHA-512 to that one of SHA-512/224 as specified in the SHS specifications and then built the CAVS tests. Then I started testing against the copied CAVP test vector.

Lets consider the first case:

Len = 0
Msg = 00
MD = d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f


But the result I am obtaining for the above input is:

SHA512/224 digest
6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4


Lets consider the second case:

Len = 8
Msg = 84


But the result I am obtaining for the above input is:

SHA512/224 digest
8f8fdcb3f617a2d809b3132860b02fee00bdd927d541d42073dd12e7


What am I doing wrong?

Your implementation of the algorithms seems to correct, but in the test cases the vectors are those of SHA224. Here are my results:

C:\TMP\0
SHA224: d14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
SHA512: cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
SHA512/224: 6ed0dd02806fa89e25de060c19d3ac86cabb87d6a0ddd05c333b84f4

C:\TMP\8

As stated by FIPS 186-4 (6.6) The only two differences between SHA-512 and SHA-512/224 are the eight 64-bit words used for initialization, given by FIPS 186-4 (5.3.6.1); and result truncation to the first 224 bits of the 512-bit result: $H_0^{(N)}$, $H_1^{(N)}$, $H_2^{(N)}$ each 64-bit, and the high-order 32 bits of $H_3^{(N)}$.