1
$\begingroup$

I am interested to know how an IV is used in this simple Merkle-Damgard construction. I am referring to this image from the associated Wikipedia page as I explain further.enter image description here

For the purpose of explanation, lets assume the following:

-We have a simple function: f(takes in 8 bits)= outputs 4 bits, or any similar simple function.(ex. f(a,b)= (a x a + b x b + 11) mod 15, where a,b are 4-bits)

-We have a 2 block message: M=101011110.

-The initial IV = 1111 or a similar simple IV

To my understanding, the first 8-bit block is 'a=1010 b=1111' and it would go through the function f(). I am unsure of how the IV would fit in to the process at this point, and how the IV would take action for the second block and so on. Any help is appreciated, and perhaps it may be the case that generalized variables as opposed to my specific numbers would make this example easier to explain in an answer.

$\endgroup$
1
$\begingroup$

If the function takes two inputs of 4-bits each, then yes, 4 of the bits would come from the IV.The output of the function would be used as the IV (although it is no longer initial) of the next iteration of the function with the next 4-bits of the message.

Since the function outputs 4-bits, the final digest would also output as a 4-bit digest.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.