алгоритм заполнения более 512 бит в ша256 - PullRequest
0 голосов
/ 09 октября 2018

если бы кто-нибудь ответил на мой вопрос, я был бы очень признателен, мой вопрос в sha256, если у нас есть длина сообщения 512 бит, как я могу сделать заполнение, потому что в sha256 l + 1 + k = 448mod512, он переполнится 512 битблок, я хочу сказать, что для вычисления хэширования нам нужно разделить 512-битный блок на 16 x 32 блоков, и процесс - это длина сообщения бит (l) + k число '0' + двоичное представление l (длина сообщения).моя точка 512 бит после k числа 0f '0' и битового представления l (длина сообщения) мы получим более 512 бит, как мы собираемся разделить на 16 x 32 битных блоков.

1 Ответ

0 голосов
/ 09 октября 2018

Вам не нужно дополнять свои данные определенной длины, чтобы получить значение контрольной суммы sha256;алгоритм будет обрабатывать как несколько байтов, так и мегабайт данных:

Linux> echo 'hey' |  sha256sum
4e955fea0268518cbaa500409dfbec88f0ecebad28d84ecbe250baed97dba889  -
Linux> echo '' |  sha256sum
01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b  -
Linux> ls -oh L0_2018_08_28_Disk1_8mtbno4o_3_1.bkp 
-rw-r-----. 1 nfsnobody 348M Aug 28 23:48 L0_2018_08_28_Disk1_8mtbno4o_3_1.bkp
Linux> sha256sum L0_2018_08_28_Disk1_8mtbno4o_3_1.bkp
34438a1bc45f613b7be8797b1139aaa66a60d73844f2d7554184b17c621b4576  L0_2018_08_28_Disk1_8mtbno4o_3_1.bkp

Если вы хотите узнать о реальном алгоритме, одна реализация с открытым исходным кодом говорит

Спецификация алгоритма может быть найдена здесь: http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf

...