Subject: [Cfrg] GOST hash function specification

From: Praveen Gauravaram <[email-masked]>
Date: Sat, 29 Jul 2006 13:25:37 +1000

Dear all,

John Kelsey and myself are in need of a definitive English reference for 
the GOST hash function, a Russian  34.11-94 standard hash function. We 
have a copy of partially translated English version of the document as 
attached. We are bit unclear with the high level working details of the 
algorithm.

Below I will write our understanding of the algorithm and things we are 
unsure. Any comments on this are very much appreciated.

_GOST specification. _

1. GOST is a 256-bit hash function.

2. It requires an initial state of 256 bits. A message of arbitrary 
length to be processed using GOST is split into 256-bit blocks.

3. To the incomplete last block, sufficient number of 0 bits are 
prepended as part of the padding functionality.

4.  In similar to hash functions like SHA-1 based on Merkle-Damgard 
iterative structure, it generates a 256-bit hash output by iterating a 
compression function which takes a message block of 256 bits and state 
of 256 bits.

5. After processing all the information blocks including the padded 
block (step 3) by iterating the compression function, a separate block 
containing the 256-bit binary representation of length of true 
information is processed using the 256-bit state obtained until then.

6. All blocks except the length block (step 5) are added over modulo 
2256 and this net result is processed along with the previous state 
using the compression function.

If anyone can tell us whether above steps are correct that would be 
great. Especially, the last step which we are not sure on whether GOST 
uses mod 2 addition or mod 256 addition.

Thanks,
Praveen Gauravaram

_______________________________________________
Cfrg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/cfrg