Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение А
(справочное)
Проверочные примеры
Заполнение узлов замены , ,..., и значение стартового вектора хэширования Н, указанные в данном приложении, рекомендуется использовать только в проверочных примерах для настоящего стандарта.
А.1 Использование алгоритма ГОСТ 28147
В качестве шифрующего преобразования в приводимых ниже примерах используется алгоритм ГОСТ 28147 в режиме простой замены.
При этом заполнение узлов замены , ,..., блока подстановки следующее:
|
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
1 |
D |
4 |
6 |
7 |
5 |
Е |
4 |
1 |
F |
В |
В |
С |
D |
8 |
В |
А |
2 |
D |
4 |
А |
7 |
А |
1 |
4 |
9 |
3 |
0 |
1 |
0 |
1 |
1 |
D |
С |
2 |
4 |
5 |
3 |
7 |
5 |
0 |
А |
6 |
D |
5 |
7 |
F |
2 |
F |
8 |
3 |
D |
8 |
6 |
А |
5 |
1 |
D |
9 |
4 |
F |
0 |
7 |
4 |
9 |
D |
8 |
F |
2 |
А |
Е |
8 |
9 |
0 |
3 |
4 |
Е |
Е |
2 |
6 |
9 |
2 |
А |
6 |
А |
4 |
F |
3 |
В |
10 |
3 |
Е |
8 |
9 |
6 |
С |
8 |
1 |
11 |
Е |
7 |
5 |
Е |
С |
7 |
1 |
С |
12 |
6 |
6 |
9 |
0 |
В |
6 |
0 |
7 |
13 |
В |
8 |
С |
3 |
2 |
0 |
7 |
F |
14 |
8 |
2 |
F |
В |
5 |
9 |
5 |
5 |
15 |
С |
С |
Е |
2 |
3 |
В |
9 |
3 |
В столбце с номером j, , в строке с номером i, , приведено значение в шестнадцатеричной системе счисления.
А.2 Представление векторов
Последовательности двоичных символов будем записывать как строки шестнадцатеричных цифр, в которых каждая цифра соответствует четырем знакам ее двоичного представления.
А.3 Примеры вычисления значения хэш-функции
В качестве стартового вектора хэширования принимают, например, нулевой вектор
А.3.1 Пусть необходимо выполнить хэширование сообщения
Выполняют присвоение начальных значений:
текста
хэш-функции
суммы блоков текста
длины текста
Так как длина сообщения, подлежащего хэшированию, равна 256 битам (32 байтам),
нет необходимости дописывать текущий блок нулями,
Переходят к вычислению значения шаговой функции хэширования (М, Н). Вырабатывают ключи
Осуществляют зашифрование 64-битных подслов блока Н с помощью алгоритма по ГОСТ 28147.
Блок зашифровывают на ключе и получают .
Блок зашифровывают на ключе и получают .
Блок зашифровывают на ключе и получают .
Блок зашифровывают на ключе и получают .
Получают
Выполняют перемешивающее преобразование с применением регистра сдвига и получают
Полагают , вычисляют (L, Н):
Вновь полагают и вычисляют :
Таким образом, результат хэширования есть
А.3.2 Пусть необходимо выполнить хэширование сообщения
Так как длина сообщения, подлежащего хэшированию, равна 400 битам (50 байтам), то разбивают сообщение на два блока и второй (старший) блок дописывают нулями. В процессе вычислений получают:
ШАГ 1
ШАГ 2
ШАГ 3
ШАГ 4
Таким образом, результат хэширования есть
<< Назад |
||
Содержание Государственный стандарт РФ ГОСТ Р 34.11-94 "Информационная технология. Криптографическая защита информации. Функция хэширования"... |
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.