GOST3410 (ГОСТ Р 34.10-94. Выработка и проверка цифровой подписи на базе асимметричного криптографического алгоритма)
Описание файла
Файл "GOST3410" внутри архива находится в папке "ГОСТ Р 34.10-94. Выработка и проверка цифровой подписи на базе асимметричного криптографического алгоритма". Документ из архива "ГОСТ Р 34.10-94. Выработка и проверка цифровой подписи на базе асимметричного криптографического алгоритма", который расположен в категории "". Всё это находится в предмете "математические основы криптологии" из 6 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "математические основы криптологии" в общих файлах.
Онлайн просмотр документа "GOST3410"
Текст из документа "GOST3410"
ГОСТ Р 34.10-94
СОДЕРЖАНИЕ
стр.
1 Область применения
2 Нормативные ссылки
3 Обозначения
4 Общие положения
5 Процедура выработки подписи
6 Процедура проверки подписи
7 Процедура получения чисел p,q и а
Приложение А Проверочные примеры
ГОСТ Р 34.10-94
ВВЕДЕНИЕ
Расширяющееся применение информационных технологий при соз-
дании, обработке, передаче и хранении документов требует в определен-
ных случаях сохранения конфиденциальности их содержания, обеспечения
полноты и достоверности.
Одним из эффективных направлений защиты информации является
криптография (криптографическая защита), широко применяется в разли-
чных сферах деятельности в государственных и коммерческих структурах.
Криптографические методы защиты информации являются объек-
том серьезных научных исследований и стандартизации на национальных,
региональных и международных уровнях.
Настоящий стандарт определяет процедуры выработки и проверки
электронной цифровой подписи на базе асимметрического криптографичес-
кого алгоритма с применением функции хеширования.
Электронная цифровая подпись обеспечивает целостность сообще-
ний (документов), передаваемых по незащищенным телекоммуникацион-
ным каналам общего пользования в системах обработки информации раз-
личного назначения, с гарантированной индетификацией ее автора (лица,
подписавшего документ).
ГОСТ Р 34.10-94
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. КРИПТОГРАФИЧЕСКАЯ ЗА-
ЩИТА ИНФОРМАЦИИ. ПРОЦЕДУРЫ ВЫРАБОТКИ И ПРОВЕРКИ
ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ НА БАЗЕ АСИММЕТРИЧ-
НОГО КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА.
Information technology. Criptographic Data Security. Produce and check
procedures of Electronic Digital Signature based on Asymmetric Criptogra-
phic Algorithm.
Дата введения 1995-01-01
1 ОБЛАСТЬ ПРИМЕНЕНИЯ
Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе асимметричного криптографического алгоритма с применеинем функции хеширования.
Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает
защиту передаваемых сообщений то подделки, искажения и однозначно по-
зволяет доказательно подтвердить подпись лица, подписавшего сообщение.
Издание официальное
ГОСТ Р 34.10-94
2 НОРМАТИВНЫЕ ССЫЛКИ
В настоящем стандарте использованы ссылки на следующий стандарт:
ГОСТ Р 34.11-94 Информационная технология. Криптографическая за-
щита информации. Функция хеширования.
3 ОБОЗНАЧЕНИЯ
В настоящем стандарте используются следующие обозанчения:
*-множество всех конечных слов в алфавите
-длина слова *
Vk(2)-множество всех бинарных слов длины k
z (mod n)-наименование по значению неотрицательное число, срав-
нимое с z по модулю числа n.
k слово длины k, содержащее двоичную запись вычета N (mod 2k) неотрицательного целого числа N.
А-неотрицательное целое число, имеющее двоичную запись А (А* )
(под длиной числа будем понимать номер старшего значащего бита в
двоичной записи числа).
Аконкатенация слов А, В* - слово длины в кото-
ром левые символов образуют слово А, а правые симво-
лов образуют слово В. Можно также использовать обозначение
А
Аk - конкатенация k экземпляров слова А (А* ).
М - передаваемое сообщение, М* .
М1 -полученное сообщение, М1 * 1) .
h - хэш-функция, отображающая сообщение М в слово h(M)V256(2)
1) Отправляемые и получаемые последовательности, в том числе со- общения и подписи, могут отличаться друг от друга из-за случайных или преднамеренных искажений. |
ГОСТ Р 34.10-94
р- простое число, 2509 р 2512 либо 21020 р 21024 .
q- простое число, 2254 q 2256 и q является делителем для (p-1)
а- целое число, 1 а р-1, при этом аq (mod p)=1.
k- целое число, 0 k q.
dнаименьшее целое число, не меньше, чем d.
dнаименьшее целое число, не большее, чем d
е : = g - присвоение параметру е значения g.
х- секретный ключ пользователя для формирования подписи.
0 х q.
у-открытый ключ пользователя для проверки подписи.
у = аx (mod p).
4 ОБЩИЕ ПОЛОЖЕНИЯ
Система ЭЦП базируется на методах криптографической защиты данных с использованием хеш-функции.
Алгоритмы вычисления функции хэширования установлен в ГОСТ Р 34.11.
Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.
Система ЭЦП включает в себя процедуры выработки и проверки подписи под данных сообщением.
Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите , вычисляется с помощью определенного набора правил, изложенных в тексте стандарта .
ГОСТ Р 34.10-94
Числа р, q и а, являющиеся параметрами системы, должны быть выбраны (выработаны) по процедуре, описанной в пункте 7.
Числа р, q и а не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое чис-
ло k, которое генерируется в процедуре подписи сообщения , должно
быть секретным и должно быть уничтожено сразу после выработки
подписи. Число k снимается с физического датчика случайных чисел
или вырабатывается псевдослучайным методом с использованием
секретных параметров.
5 ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ
Текст сообщения, представленный в виде двоичной последова-
тельности символов, подвергается обработке по определенному ал-
горитму, в результате которого формируется ЭЦП для данного сооб-
щения.
Процедура подписи сообщения включает в себя следующие этапы:
1. Вычислить h(M) -значение хеш-функции h от сообщения М.
Если h(M)(mod q)=0, присвоить h(M) значение 0255 1.
2. Выработать целое число k, 0k q.
3. Вычислить два значения :
r=ak (mod p) и r’ = r (mod q).
Если r’ =0, перейти к этапу 2 и выработать другое значение числа k.
4. С использованием секретного ключа х пользователя (отправиетля
сообщения) вычислить значение
s= (xr’ + kh(M))(mod q).
Если s=0, перейти к этапу 2, в противном случае закончить работу алгоритма.
Подписью сообщения М является вектор r’ 256 s 256 .
ГОСТ Р 34.10-94
Отправитель направляет адресанту цифровую последовательность символов, состоящую из двоичного представления текста сообщения и присоединенной к нему ЭЦП.
6 ПРОЦЕДУРА ПРОВЕРКИ ПОДПИСИ
Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).
Это возможно при наличии у получателя открытого ключа отправи-
теля, пославшего сообщение,
Процедура проверки включает в себя следующие этапы:
1. Проверить условие:
0 s q и 0 r’ q.
Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.
2. Вычислять h(M1 )-значение хеш-функции h от полученного сообщения М1 .
Если H(M1 )(mod q)=0, присвоить h(M1 ) значение 0255 1.
3. Вычислить значение
v= (h(M1 ))q-2 (mod q)
4. Вычислить значения:
z1 = sv (mod q) и
z2 = (q-r’ ) v (mod q)
5. Вычислить значение
u = (as1 ys2 (mod p)) (mod q)
6. Проверить условие: r’ = u.
ГОСТ Р 34.10-94
При совпадении значений r и u получатель принимает решение о том, что полученное сообщение подписано данным отправителем и
в процессе передачи не нарушена целостность сообщения, т.е. М =М
В противном случае подпись считается недействительной.
7 ПРОЦЕДУРЫ ПОЛУЧЕНИЯ ЧИСЕЛ p, q И а
Получение простых чисел осуществляется с использованием линей-
ного конгруэнтного датчика по модулю 216 или по модулю 232
(xn = bxn-1 + с). При этом пользователь должен задать начальное
состояние х0 и параметр датчика с.
Заданные величины необходимо зафиксировать (запомнить) для
возможности проведения проверки того, что простые числа получены по установленной процедуре,
Ниже изложены процедуры получения параметров p, q и а.
7.1 Процедура А
Процедура позволяет получать простые числа p длины t 17 битов
с простым делителем q длины t/2 битов числа р-1.
Получеине чисел осуществляется с использованием линейного кон-груэнтного датчика хn = (19381 xn-1 + с) (mod 216 ) Задаются число х0 с условием 0 x0 216 и нечетное число с
с условием 0 с 216
Процедура вычисления включает в себя следующие шаги:
1. 0 : = X0
2. Вычислить последовательность чисел (t0 , t1 , ..., t5 ) по правилу:
ГОСТ Р 34.10-94
t0 := t.
Если ti 17, то ti+1 = ti /2
Если ti 17, то s := 1.
3. Найти наименьшее простое число р длины t битов.
4. m := s-1.
5. Вычислить rm = tm /16
6. Вычислить последовательность (y1 ,......,yrm ) по рекурсивному правилу yi+1 = (19381y1 + c) (mod 216 )
7. Вычислить ym = y1 2161
8. y0 := yrm
9. Вычислить N = 2t-1 / pm+1 t-1 ym )/(pm+1 216r ) Если N нечетно , то N := N+1
10. k := 0
11. Вычислить рm = pm+1 (N+k) + 1
12. Если рm 2t , то перейти к шагу 6
13. Проверить условия:
2p (N+k) (mod pm ) = 1,
2(N+k) (mod pm ) 1.
Если хотя бы одно из условий не выполнено , то k :=k + 2 и перейти к шагу 11.
Если оба условия выполнены, то m := m-1.
ГОСТ Р 34.10-94
14. Если m0 , то перейти к шагу 5.
Если m < 0, то p0- искомое простое число р и р1- искомое простое число q.
7.2 Процедура А’
Процедура позволяет получать простые числа р длины t33 битов с простым делителем q длины t/2 битов числа р-1.
Получение чисел осуществляется с использованием линейного конгруэнтного датчика хn = (97781173 xn-1 + c ) (mod 232)
Задаются число х0 с условием 0< x0 < 232 и нечетное число с условием 0< c < 232.
Процедура вычисления включает в себя следующие шаги:
1. у0 := x0
2. Вычислить последовательность чисел (t0, t1, ....., ts) по правилу:
t0 := t.
Если ti33, то ti+1= ti/2 ,
Если ti<33, то s := I
3. Найти наименьшее простое число ps длины ts битов.
4. m := s-1.
5. Вычислить rm= tm/32
6. Вычислить последовательность ( у1,.....,уrm) по рекурсивному правилу уi+1= (97781173 у1 + с) mod (232).
7. Вычислить уm= у1 2321.
ГОСТ Р 34.10-94
8. у0 := уr
9. Вычислить N = 2t -1/ pm+1 + (2t -1 ym)/(pm+1 232r )
Если N нечетно, то N := N + 1
10. k := 0
11. Вычислить рm = pm+1(N + k) + 1
12. Если рm > 2t , то перейти к шагу 6
13. Проверить условия :
2р (N+k) (mod pm) = 1,
2(N+k) (mod pm) 1
Если хотя бы одно из условий не выполнено, то k := k+2 и перейти к шагу 11.
Если оба условия выполнены, то m := m-1.
14. Если m 0, то перейти к шагу 5.
Если m < 0, то р0 - искомое простое число р и р1 - искомое простое число q.
7.3 Процедура В
Процедура позволяет получать простые числа р длины tp = 1021 1024 битов с делителем q длины tq = 255 256 битов числа р-1.