Dobry den,
vie mi niekto poradit s algoritmom pre SHA-256, mam tu specifikaciu od NIST a nieco mi nie je jasne.
1. Maximalna dlzka vstupnej spravy ma byt <2^64.
2. Vstupnu spravu treba vypnit "vatou" aby dlzka spravy bola nasobok 512 [pri SHA-256]
3. Ta vata je jedna 1 potom same 0 a posldnych 64 bitov je 64 bitove cislo s dlzkou spravy. Vzorec l + 1 + k = 448 mod 512. [l - dlzka spravy, k - pocet nul].
Moja otazka znie, co ked vstupna sprava ma o 1 az 64 bitov menej ako je maximum 2^64. Ako sa potom pridava tato vata "1000...+64-bit_cislo", vsak by sa celkova dlzka predlzila na 2^62+512 bitov.
Dakujem
P.S.: Samozrejme, ze tazko sa najde expert ci skor exprd, ktory vygeneruje vstupnu spravu dlzky 2^64. Ale ide mi o algoritmus [a aby to jedneho dna o 50 rokov nepadalo]
Vlákno názorů k článku
Nalézání kolizí MD5 - hračka pro notebook
JCC (neregistrovaný)
15. 3. 2005 16:20
SHA-256 "Padding the Message" ak ma sprava dlzku (-1+2^64)
15. 3. 2005 22:47
Re: SHA-256 "Padding the Message" ak ma sprava dlzku (-1+2^64)
Nejde o to, kolik bitu ma vysledna doplnena zprava, ale o to, kolik bitu ma nedoplnena zprava. Nedoplnena ma mit maximalne 2^64 - 1, aby se jeji delka vesla do 64 bitu. Doplnena zprava muze prekracovat 2^64. To prave nastene pri puvodni delce treba 2^64 - 12. Doplnena zprava ma pak (2^64 - 12) + 1 + (11 + 448) + 64= 2^64 +512.
JCC (neregistrovaný)
16. 3. 2005 10:21
Re: SHA-256 "Padding the Message" ak ma sprava dlzku (-1+2^64)
Aaa uz tomu asi rozumiem.
Lebo po doplneni sa sprava rozdeli na 512 bitove bloky M(1), M(2), .... az M(N).
A nie je obmedzeny maximalny pocet N blokov. Tie sa ajtak jeden po druhom spracuvavaju v hlavnej slucke "For i=1 to N"
Dakujem Vam a prajem vela uspechov.
Lebo po doplneni sa sprava rozdeli na 512 bitove bloky M(1), M(2), .... az M(N).
A nie je obmedzeny maximalny pocet N blokov. Tie sa ajtak jeden po druhom spracuvavaju v hlavnej slucke "For i=1 to N"
Dakujem Vam a prajem vela uspechov.

