ГОСТ Р 34.10-94
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Процедуры выработки и проверки электронной цифровой подписи
на базе асимметричного криптографического алгоритма
Information technology. Cryptographic Data Security.
Produce and check procedures of Electronic Digital Signature based
on Asymmetric Cryptographic Algorithm
ОКСТУ 5002
Дата введения 1995-01-01
Предисловие
1 РАЗРАБОТАН Главным управлением безопасности связи Федерального агентства правительственной связи и информации и Всероссийским научно-исследовательским институтом стандартизации
ВНЕСЕН Техническим комитетом по стандартизации ТК 22 "Информационная технология" и Федеральным агентством правительственной связи и информации
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ постановлением Госстандарта России от 23.05.94 N 154
3 ВВЕДЕН ВПЕРВЫЕ
ВВЕДЕНИЕ
Расширяющееся применение информационных технологий при создании, обработке, передаче и хранении документов требует в определенных случаях сохранения конфиденциальности их содержания, обеспечения полноты и достоверности.
Одним из эффективных направлений защиты информации является криптография (криптографическая защита), широко применяемая в различных сферах деятельности в государственных и коммерческих структурах.
Криптографические методы защиты информации являются объектом серьезных научных исследований и стандартизации на национальных, региональных и международных уровнях.
Настоящий стандарт определяет процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма с применением функции хэширования.
Электронная цифровая подпись обеспечивает целостность сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, с гарантированной идентификацией ее автора (лица, подписавшего документ).
1 ОБЛАСТЬ ПРИМЕНЕНИЯ
Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе асимметричного криптографического алгоритма с применением функции хэширования.
Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает защиту передаваемых сообщений от подделки, искажения и однозначно позволяет доказательно подтвердить подпись лица, подписавшего сообщение.
2 НОРМАТИВНЫЕ ССЫЛКИ
В настоящем стандарте использованы ссылки на следующий стандарт:
ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функция хэширования.
3 ОБОЗНАЧЕНИЯ
В настоящем стандарте используются следующие обозначения.
- множество всех конечных слов в алфавите = {0,1}.
|А| - длина слова .
(2) - множество всех бинарных слов длины k.
z (mod n) - наименьшее по значению неотрицательное число, сравнимое с z по модулю числа n.
<N> - слово длины k, содержащее двоичную запись вычета N (mod 2) неотрицательного целого числа N.
- неотрицательное целое число, имеющее двоичную запись (под длиной числа будем понимать номер старшего значащего бита в двоичной записи числа).
А||В - конкатенация слов A, - слово длины |А|+|В|, в котором левые |А| символов образуют слово А, а правые |В| символов образуют слово В. Можно также использовать обозначение А||В=АВ.
A - конкатенация k экземпляров слова .
М - передаваемое сообщение, .
М - полученное сообщение, .
________________________
Отправляемые и получаемые последовательности, в том числе сообщения и подписи, могут отличаться друг от друга из-за случайных или преднамеренных искажений.
h - хэш-функция, отображающая сообщение М в слово (2).
р - простое число, 2 < p < 2 либо 2 < p < 2.
q - простое число, 2< q < 2 и q является делителем для (р - 1).
а - целое число, 1 < а < р - 1, при этом а(mod p) = 1.
k - целое число, 0 < k < q.
[d] - наименьшее целое число, не меньшее чем d.
[d] - наибольшее целое число, не большее чем d.
e: = g - присвоение параметру е значения g.
х - секретный ключ пользователя для формирования подписи, 0 < x < q.
у - открытый ключ пользователя для проверки подписи, у = a (mod р).
4 ОБЩИЕ ПОЛОЖЕНИЯ
Система ЭЦП базируется на методах криптографической защиты данных с использованием хэш-функции.
Алгоритм вычисления функции хэширования установлен в ГОСТ Р 34.11.
Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.
Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.
Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите , вычисляется с помощью определенного набора правил, изложенных в стандарте.
Числа р, q и а, являющиеся параметрами системы, должны быть выбраны (выработаны) по процедуре, описанной в пункте 7; числа р, q и а не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число k, которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число k снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.
5 ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ
Текст сообщения, представленный в виде двоичной последовательности символов, подвергается обработке по определенному алгоритму, в результате которого формируется ЭЦП для данного сообщения.
Процедура подписи сообщения включает в себя следующие этапы:
1 Вычислить h(M) - значение хэш-функции h от сообщения М.
Если (mod q) = 0, присвоить h(M) значение 01.
2 Выработать целое число k, 0 < k < q.
3 Вычислить два значения:
r = a(mod р) и r' = r (mod q).
Если r' = 0, перейти к этапу 2 и выработать другое значение числа k.
4 С использованием секретного ключа х пользователя (отправителя сообщения) вычислить значение
(mod q).
Если s = 0, перейти к этапу 2, в противном случае закончить работу алгоритма.
Подписью для сообщения М является вектор <r'> || <s>.
Отправитель направляет адресату цифровую последовательность символов, состоящую из двоичного представления текста сообщения и присоединительной к нему ЭЦП.
6 ПРОЦЕДУРА ПРОВЕРКИ ПОДПИСИ
Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).
Это возможно при наличии у получателя открытого ключа отправителя, пославшего сообщение.
Процедура проверки включает в себя следующие этапы:
1 Проверить условия:
0 < s < q и 0 < r' < q.
Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.
2 Вычислить h(M) - значение хэш-функции h от полученного сообщения M.
Если (M)(mod q) = 0, присвоить h(M) значение 01.