Întrebarea lasă de ghicit ce este funcția de compresie și cum folosește rundele. Asta fiind nespecificat, Nu, creșterea numărului de runde în ultima funcție de compresie nu este garantată pentru a preveni atacul de extensie a lungimii, chiar dacă funcția de compresie este schimbată și mai degrabă îmbunătățită prin adăugarea mai multor runde la aceasta.
Dovada prin contraexemplu: modificați SHA-512 prin
- eliminând OR-ul exclusiv la sfârșitul fiecărei funcție de compresie, utilizând efectiv cifrul bloc al Davies-Meyer funcția de compresie direct ca funcție de compresie;
- și modificarea programului de cheie al acelui cifru, astfel încât acesta să se repete după numărul de runde utilizate în cifrul bloc al funcției de compresie (dar acel cifru bloc este altfel sigur)
- și dublarea numărului de runde din acel cifru bloc în ultima funcție de compresie, reutilizand aceleași constante ca în prima jumătate
Această combinație are efectiv de două ori ultimul bloc al mesajului extins și folosește o funcție de compresie reversibilă. Asta lasă hașul slăbit teoretic în fața unor atacuri, dar încă de neîntrucat din toate punctele de vedere practice. Și asta îl face vulnerabil la atacul de extindere a lungimii în unele cazuri. De exemplu, atunci când intrarea necunoscută este un bloc de mesaje (128 de octeți) și știm că este hash, putem calcula cu siguranță hash-ul unei intrări de 3 blocuri (384 de octeți) începând cu originalul, urmat de dublul celui cunoscut. bloc egal cu blocul de umplutură al SHA-512 pentru intrare de 128 de octeți.
Pe de altă parte, dacă modificarea pe care o facem în ultima funcție de compresie face ca aceasta să nu aibă nicio legătură cu compresia normală, da, suntem în mod demonstrat în siguranță de atacul de extensie a lungimii. Schimbarea constantelor utilizate la fiecare rundă a cifrului bloc al unui Davies-Meyer sau Matyas-Meyer-Oseas Funcția de compresie ca în SHA-2 (fără a schimba numărul de runde) ar face, dincolo de orice îndoială rezonabilă. La fel ar fi dublarea numărului de runde și utilizarea de noi constante în a doua jumătate. Nu fac nicio declarație despre dublarea numărului de runde cu aceleași constante.