ГОСТ Р 34.11-94
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Функция хэширования
Information technology.
Cryptographic Data Security.
Hashing function
ОКСТУ 5002
Дата введения 1995-01-01
Предисловие
1 РАЗРАБОТАН Главным управлением безопасности связи Федерального агентства правительственной связи и информации и Всероссийским научно-исследовательским институтом стандартизации
ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационная технология" и Федеральным агентством правительственной связи и информации
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 23.05.94 N 154
3 ВВЕДЕН ВПЕРВЫЕ
Расширяющееся применение информационных технологий при создании, обработке, передаче и хранении документов требует в определенных случаях сохранения конфиденциальности их содержания, обеспечения полноты и достоверности.
Одним из эффективных направлений защиты информации является криптография (криптографическая защита), широко применяемая в различных сферах деятельности в государственных и коммерческих структурах.
Криптографические методы защиты информации являются объектом серьезных научных исследований и стандартизации на национальных, региональных и международных уровнях.
Настоящий стандарт определяет процедуру вычисления хэш-функции для любой последовательности двоичных символов.
Функция хэширования заключается в сопоставлении произвольного набора данных в виде последовательности двоичных символов и его образа фиксированной небольшой длины, что позволяет использовать эту функцию в процедурах электронной цифровой подписи для сокращения времени подписывания и проверки подписи. Эффект сокращения времени достигается за счет вычисления подписи только под образом подписываемого набора данных.
Настоящий стандарт определяет алгоритм и процедуру вычисления хэш-функции для любой последовательности двоичных символов, которые применяются в криптографических методах обработки и защиты информации, в том числе для реализации процедур электронной цифровой подписи (ЭЦП) при передаче, обработке и хранении информации в автоматизированных системах.
Определенная в настоящем стандарте функция хэширования используется при реализации систем электронной цифровой подписи на базе асимметричного криптографического алгоритма по ГОСТ Р 34.10.
В настоящем стандарте использованы ссылки на следующие стандарты:
ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритмы криптографического преобразования.
ГОСТ Р 34.10-94 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.
В настоящем стандарте используются следующие обозначения:
- множество всех конечных слов в алфавите . Чтение слов и нумерация знаков алфавита (символов) осуществляются справа налево (номер правого символа в слове равен единице, второго справа - двум и т.д.).
- длина слова .
- множество всех бинарных слов длины .
- конкатенация слов - слово длины , в котором левые |А| символов образуют слово , а правые символов образуют слово . Можно также использовать обозначение .
- конкатенация экземпляров слова .
- слово длины , содержащее двоичную запись вычета неотрицательного целого числа .
- неотрицательное целое число, имеющее двоичную запись .
- побитовое сложение слов одинаковой длины по модулю 2.
- сложение по правилу , .
- последовательность двоичных символов, подлежащая хэшированию (сообщение в системах ЭЦП), .
- хэш-функция, отображающая последовательность в слово .
- результат зашифрования слова на ключе с использованием алгоритма шифрования по ГОСТ 28147 в режиме простой замены .
- стартовый вектор хэширования.
: = - присвоение параметру значения .
Под хэш-функцией понимается зависящее от параметра [стартового вектора хэширования , являющегося словом из ] отображение
-------.
Для определения хэш-функции необходимы:
- алгоритм вычисления шаговой функции хэширования , т.е. отображения
------- ;
- описание итеративной процедуры вычисления значения хэш-функции .
Алгоритм вычисления шаговой функции хэширования включает в себя три части, реализующие последовательно:
- генерацию ключей - слов длины 256 битов;
- шифрующее преобразование - зашифрование 64-битных подслов слова на ключах ( = 1, 2, 3, 4) с использованием алгоритма по ГОСТ 28147 в режиме простой замены;
- перемешивающее преобразование результата шифрования.
5.1 Генерация ключей
Рассмотрим .
Пусть |
| |
где ;
;
.
Обозначают .
Используют преобразование --------
слова в слово, ,
где
Для генерации ключей необходимо использовать следующие исходные данные:
- слова ;
- параметры: слова (=2, 3, 4), имеющие значения
и .
При вычислении ключей реализуется следующий алгоритм:
1 Присвоить значения
.