SHA-2(256) константы типа h0..h7 не 32 бита как указано в Википедии?
Имеем константы
h0 := 0x6a09e667
h1 := 0xbb67ae85
h2 := 0x3c6ef372
h3 := 0xa54ff53a
h4 := 0x510e527f
h5 := 0x9b05688c
h6 := 0x1f83d9ab
h7 := 0x5be0cd19
Википедия сообщает, что эти значения по 32 бита, однако h0=31; h2=30; h4=31; h6=29 бит.
Значит ли это, что дробные части квадратных корней для этих значений, просто сами по себе меньше 32 бит, или тут что то другое?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вы путаете количество битов в единице хранения, грубо говоря, и количество битов в представлении числа, начиная с первого ненулевого :)
По вашей логике, для хранения нуля память не нужна вообще, а для хранения 1 - один бит?
Минимальная адресуемая порция - байт, т.е. 8 бит, так что для хранения 29-битового числа все равно нужно 32 бита в памяти: меньше не получится...