În ordine:
- nespecificat, poate fi orice cifru bloc (cu blocul de ieșire și dimensiunea cheii dorite);
- nespecificat, poate fi orice constantă cu dimensiunea corectă a blocului;
- nespecificat, poate fi orice tip de umplutură care se potrivește cu dimensiunea cheii.
Davies-Meyer este un constructie pentru o funcție de compresie, nu un algoritm real care poate fi utilizat din cutie. De obicei, acești parametri ar fi descriși pentru un algoritm specific care utilizează construcția Davies-Meyer.
În principiu, aceștia ar putea fi lăsați și ca parametri de configurare (similar cu HMAC unde hash-ul este un parametru de configurare, de exemplu HMAC-SHA-256). Cu toate acestea, pentru funcțiile hash, acest lucru nu este obișnuit.
Una dintre utilizările acestui tip de abstracții este că este posibil să se creeze o dovadă pentru ele, independent de cifrul bloc utilizat - ar trebui să presupunem că cifrul bloc nu este rupt pentru cazul particular de utilizare, desigur.
Aici este partea relevantă a Articol Wikipedia despre funcțiile cu un singur sens:
Funcția hash poate fi considerată sigură doar dacă cel puțin
sunt îndeplinite următoarele condiții:
- Cifrul bloc nu are proprietăți speciale care să-l deosebească de cifrurile ideale, cum ar fi cheile slabe sau cheile care conduc la identice sau
criptări aferente (puncte fixe sau coliziuni de chei).
- Dimensiunea hash rezultată este suficient de mare. Conform atacului de naștere, un nivel de securitate de 280 (în general, se presupune că nu este fezabil pentru
calculează astăzi) [necesită citare] este de dorit, astfel încât dimensiunea hash ar trebui
să fie de cel puțin 160 de biți.
- Ultimul bloc este acoperit cu lungimea corectă înainte de hashing. (Consultați construcția MerkleâDamgÃ¥rd.) În mod normal, umplutura pe lungime este implementată
și gestionate intern în funcții hash specializate, cum ar fi SHA-1 etc.
Construcțiile prezentate mai jos: Davies... Meyer,
MatyasâMeyerâOseas, MiyaguchiâPreneel și Hirose s-au dovedit a fi
securizat în cadrul analizei cutiei negre.
Pentru o implementare specifică a funcției hash care folosește Davies-Meyer, puteți arunca o privire Familia hash SHA-2. Rețineți că SHA-2 nu folosește a numit cifru bloc; folosește un cifr specializat specific SHA-2. Modul de umplutură este biți, dar are o indicație de lungime. IV-urile sunt specificate pentru fiecare funcție hash separat, nu le pot rata.