One-way compression function: Difference between revisions

Content deleted Content added
The Merkle-Damgård structure: Back to the first image.
Line 25:
[[Image:Davies-Meyer hash.svg|thumb|230px|right|The Davies-Meyer hash construction]]
The Davies-Meyer hash compression function feeds each block of the message (m<sub>i</sub>) as the key to the block cipher. It feeds the previous hash value (H<sub>i-1</sub>) as the cleartext to be encrypted. The output ciphertext is then also [[exclusive-or|XORed]] (<math>\oplus</math>) with the previous hash value (H<sub>i-1</sub>) to produce the next hash value (H<sub>i</sub>). In the first round when there is no previous hash value it uses a constant pre-specified initial value (H<sub>0</sub>).
:<math>H_i = E_{m_i}{(H_{i-1})} \oplus {H_{i-1}}</math>
 
<math>H_i = E_{m_i}(H_{i-1})\oplus H_{i-1}</math>
 
If the block cipher uses for instance 256-bit keys then each message block (m<sub>i</sub>) is a 256-bit chunk of the message. If the same block cipher uses a block size of 128 bits then the input and output hash values in each round is 128 bits.
Line 35 ⟶ 34:
 
<br style="clear:both"/>
 
== Matyas-Meyer-Oseas ==
[[Image:Matyas-Meyer-Oseas hash.svg|thumb|230px|right|The Matyas-Meyer-Oseas hash construction]]