sha-256 - implementacja

0

Witam,

jestem w trakcie implementacja sha-256 według pseudokodu z http://en.wikipedia.org/wiki/SHA-2#SHA-256_.28a_SHA-2_variant.29_pseudocode i stanąłem w jednym miejscu.

we fragmencie Extend the sixteen 32-bit words into sixty-four 32-bit words - przy rozszerzaniu słow 16-63 kolejne słowa są dłuższe nić 32 bity - w jaki sposób powinienem je skracać? Obcinać najmniej znaczące bity do długości 32 czy w inny sposób?

pozdrawiam
Antek

0

o czym ty piszesz? przecież robisz xor na 32 bitowych słowach więc otrzymujesz też słowa 32 bitowe, potem robisz ROL na 32 bitowym słowie, a ROL nie zmienia liczby bitów, więc też otrzymujesz słowo 32 bitowe - co chcesz ucinać?

poza tym czemu nie skorzystasz z jednej z miliona gotowych implementacji jakie znajdziesz w google tylko robisz milion pierwszą? i tak się niczego przy tym przecież nie nauczysz

0

a sorry, spojrzałem na inny fragment kodu SHA-1
w tym faktycznie mogą wyjść liczby większe niż te jakie mogłyby się zmieścić w 32 bitach, ale co się dzieje w takim przypadku? tak! występuje integer overflow i liczy się od nowa
czyli wystarczy że zastosujesz odpowiedni typ danych (unsigned int32), a wszystko rozwiąże się samo

0

dzięki za odpowiedź.

głupie pytanie to było w ogóle. na samym poczatku pseudokodu jest notka:
Note 1: All variables are unsigned 32 bits and wrap modulo 2^32 when calculating

pozdrawiam
Antek

1 użytkowników online, w tym zalogowanych: 0, gości: 1