Stavba Merkle-Damgård

Konstrukce Merkle - Damgardův je algoritmické konstrukce, která řeší problém kryptografický hash přebírající jakoukoli velikost zprávy zatímco produkuje výstup pevné velikosti a splňuje bezpečnostní požadavky související s kryptografie:

Konstrukce Merkle-Damgård využívá kompresní funkci se vstupem a výstupem pevné velikosti a rozděluje zprávu, která má být hašována, do bloků pevné velikosti. Bloky se poté posílají jeden po druhém ve funkci komprese. Výsledek každé komprese je poté přenesen do dalšího bloku podle několika diagramů:

První blok používá konstantní inicializační vektor, protože jej předchází žádný jiný blok.

Konstrukce Merkle-Damgård produkuje nárazuvzdorné sekání, pokud je použitá funkce komprese také nárazuvzdorná. Kvalita funkce komprese bude záviset na odolnosti algoritmu vůči dešifrování . Princip Merkle-Damgård se používá zejména v MD5 a SHA-1 .