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]
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.
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"