allgosts.ru35.040 Кодирование информации35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

ГОСТ 34.310-95 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма

Обозначение:
ГОСТ 34.310-95
Наименование:
Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма
Статус:
Утратил силу в РФ
Дата введения:
04.16.1998
Дата отмены:
Заменен на:
-
Код ОКС:
35.040

Текст ГОСТ 34.310-95 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма

ГОСТ Р 34.10—94

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

ПРОЦЕДУРЫ ВЫРАБОТКИ И ПРОВЕРКИ ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ НА БАЗЕ АСИММЕТРИЧНОГО КРИПТОГРАФИЧЕСКОГО АЛГОРИТМА

Издание официальное

04/130


ГОССТАНДАРТ РОССИИ

Москва

Предисловие

  • 1 РАЗРАБОТАН Главным управлением безопасности связи Феде-* рального агентства правительственной связи и информации И Всероссийским научно-исследовательским институтом стандарт тизации

ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационная технология» и Федеральным агентством правительственной связи и информации

  • 2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 23.05.94 № 154

  • 3 ВВЕДЕН ВПЕРВЫЕ

© Издательство стандартов, 1994

Настоящий стандарт не может быть полностью или частично воспроизведен, 1иражирован и распространен в качестве официального издания без разрешения Госстандарта России

СОДЕРЖАНИЕ

  • 1 Область применения

  • 2 Нормативные ссылки.......... . , .

  • 3 Обозначения . . .............

  • 4 ОбгЦис положения .

  • 5 Процедура выработки подписи

  • 6 Процедура проверки подписи

  • 7 Процедуры получения чисел р, q и а

Приложение А Проверочные примеры

ВВЕДЕНИЕ

Расширяющееся применение информационных технологий при создании, обработке, передаче и хранении документов требует в определенных случаях сохранения конфиденциальности их содержания, обеспечения полноты и достоверности.

Одним из эффективных направлений защиты информации является криптография (криптографическая защита), широко применяемая в различных сферах деятельности в государственных и коммерческих структурах.

Криптографические методы защиты информации являются объектом серьезных научных исследований и стандартизации на национальных, региональных и международных уровнях.

Настоящий стандарт определяет процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма с применением функции хэширования.

Электронная цифровая подпись обеспечивает целостность сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, с гарантированной идентификацией ее автора (лица, подписавшего документ).

ГОСТ Р 34.10—94

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология. КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.

Information technology.

Cryptographic Data Security.

Produce and check procedures of Electronic Digital Signature based on Asymmetric Cryptographic Algorithm.

Дата введения 1995—01—01

  • 1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения, на базе асимметричного криптографического алгоритма с применением функции хэширования.

Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает защиту передаваемых сообщений от подделки, искажения и однозначно позволяет доказательно подтвердить подпись лица, подписавшего сообщение.

  • 2 НОРМАТИВНЫЕ ССЫЛКИ

В настоящем стандарте использованы ссылки на следующий стандарт:

ГОСТ Р 34.11—94 Информационная технология. Криптографическая защита информации. Функция хэширования.

  • 3 ОБОЗНАЧЕНИЯ

В настоящем стандарте используются следующие обозначения.

Р* — множество всех конечных слов в алфавите р = {0,1}.

|А| — длина слова А^р*.

Vr(2) — множество всех бинарных слов длины к.

z(mod n) — наименьшее по значению неотрицательное число, сравнимое с z по модулю числа п.

<N>k — слово длины к, содержащее двоичную запись вычета N(mod 2к) неотрицательного целого числа N.

А — неотрицательное целое число, имеющее двоичную запись А (А ер*) (под длиной числа будем понимать номер старшего значащего бита в двоичной записи’числа).

А||В — конкатенация слов А, Вер* — слово длины | А| + | В |, в котором левые |А| символов образуют слово А, а правые |В| символов образуют слово В. Можно также использовать обозначение A|jB=AB.

Ak — конкатенация к экземпляров слова А(Аер*).

М — передаваемое сообщение, Мёр*.

М| — полученное сообщение, Л^ер*.^

h — хэш-функция, отображающая сообщение М в слово h(M)eV256(2).

р — простое число, 2°09<р<2512 либо 21020<р<21024.

q — простое число, 2254<q<2256 и q является делителем для (р—1).

а — целое число, 1 <а<р—1, при этом a<’(mod р) = 1.

к — целое число, 0<k<q.

[d] — наименьшее целое число, не меньшее чем d.

[d] — наибольшее целое число, не большее чем d.

e: = g — присвоение параметру е значения g.

х — секретный ключ пользователя для формирования подписи, 0<x<q.

у — открытый ключ пользователя для проверки подписи, y=ax(mod р).

  • 4 ОБЩИЕ ПОЛОЖЕНИЯ

Система ЭЦП базируется на методах криптографической защиты данных с использованием хэш-функции.

Алгоритм вычисления функции хэширования установлен в ГОСТ Р 34.11.

Процедуры цифровой подписи допускают как программную, так и аппаратную реализацию.

Система ЭЦП включает в себя процедуры выработки и проверки подписи под данным сообщением.

1) Отправляемые и получаемые последовательности, в том числе сообщения и подписи, могут отличаться друг от -друга из-за случайных или преднамеренных искажений.

Цифровая подпись, состоящая из двух целых чисел, представленных в виде слов в алфавите 0, вычисляется с помощью определенного набора правил, изложенных в стандарте.

Числа р, q и а, являющиеся параметрами системы, должны быть выбраны (выработаны) по процедуре, описанной в пункте 7. числа р, q и а не являются секретными. Конкретный набор их значений может быть общим для группы пользователей. Целое число к, которое генерируется в процедуре подписи сообщения, должно быть секретным и должно быть уничтожено сразу после выработки подписи. Число 1< снимается с физического датчика случайных чисел или вырабатывается псевдослучайным методом с использованием секретных параметров.

  • 5 ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ

Текст сообщения, представленный в виде двоичной последовательности символов, подвергается обработке по определенному алгоритму, в результате которого формируется ЭЦП для данного сообщения.

Процедура подписи сообщения включает в себя следующие этапы:

  • 1 Вычислить h(M)-—значение хэш-функции h от сообщения М. Если h(M) (mod q) =0, присвоить h(M) значение 02551.

  • 2 Выработать целое число k, 0<k<q.

  • 3 Вычислить два значения: r = ak(mod р) и r'=r(mod q).

Если-г' = 0, перейти к этапу 2 и выработать другое значение числа к.

  • 4 С использованием секретного ключа х пользователя (отправителя сообщения) вычислить значение

$= (xr'4-kh(M) (modq).

Если s = 0, перейти к этапу 2, в противном случае закончить работу алгоритма.

Подписью для сообщения М является вектор <г'>256||<$>2.w.

Отправитель направляет адресату цифровую последовательность символов, состоящую из двоичного представления текста сообщения и присоединительной к нему ЭЦП.

  • 6 ПРОЦЕДУРА ПРОВЕРКИ ПОДПИСИ

Получатель должен проверить подлинность сообщения и подлинность ЭЦП, осуществляя ряд операций (вычислений).

Это возможно при наличии у получателя открытого ключа отправителя, пославшего сообщение.

Процедура проверки включает в себя следующие этапы:

  • 1 Проверить условия:

0<s<q и 0<r'<q.

Если хотя бы одно из этих условий не выполнено, то подпись считается недействительной.

  • 2 Вычислить h(Mj) — значение хэш-функции h от полученного сообщения Mi.

Если h(M|) (mod q)=0, присвоить h(M|) значение 02531,

  • 3 Вычислить значение

v= (h(MI))(»-2(mod q).

  • 4 Вычислить значения:

Z| = sv (mod q) и z2 = (q—г') v(mod q).

  • 5 Вычислить значение

u = (az,yx2(mod p))(mod q)

  • 6 Проверить условие: r'=u.

При совпадении значений rz и и получатель принимает решение о том, что полученное сообщение подписано данным отправителем и в процессе передачи не нарушена целостность сообщения, т. е. Mi=M. В противном случае подпись считается недействительной.

  • 1 Уо: = хо

  • 2 Вычислить последовательность чисел (to, ti, ...» ts) по правилу:

t0: = t.

Если tf>17, то t|-H=[ti/2j,

Если tj <17, то s: = i.

  • 3 Найти наименьшее простое число р3 длины ts битов,

  • 4 m: = s—1

  • 5 Вычислить г=rtinxi/16].

  • 6 Вычислить последовательность (уь ...» у||п) по рекурсивному правилу yi <! = (19381 yi +с) (mod 216).

rin“l

  • 7 Вычислит# Ym= S vf2161.

i-0 '

  • 8 Уо: = Угт-

  • 9 Вычислить N=^-‘ pm+l]+f(2f;-'Ym)/(pin+12'erm)J.

Если N нечетно, то N: = N+1,

10k: = 0.

  • 11 Вычислить pm =Pm+i (N + k) + 1.

  • 12 Если pm >2Х то перейти к шагу 6.

  • 13 Проверить условия:

2Pm+l<N+k) (mod pm)_ J*

2(N+k) (mocj pm

Если хотя бы одно из условий не выполнено, то k: = k + 2 и перейти к шагу 11.

Если оба условия выполнены, то m: = m—1.

  • 14 Если т^О, то перейти к шагу 5.

Если т<0, то ро — искомое простое число р и pi — искомое простое число q.

  • 7.2 Процедура А'

Процедура позволяет получать простые числа р длины t^33 битов с простым делителем q длины lt/2] битов числа р-1.

Получение числа осуществляется с использованием линейного конгруэнтного датчика хп — (97781173 хп-г +с) (mod 232).

Задаются число Хо с условием 0<х0<232 и нечетное число с с условием 0<с<232.

Процедура вычисления включает в себя следующие шаги:

  • 1 Уо- = хо

  • 2 Вычислить последовательность чисел (to, th..., t8)no правилу: t0: = t.

Если ti>33, то t|+i =[ti/2J,„

Если tj <33, то s: = i

  • 3 Найти наименьшее простое число р3длины ts битов.

  • 4 m: = s—1.

  • 5 Вычислить гш =Пт/32Т.

  • 6 Вычислить последовательность (уь ...» уГ(П ) по рекурсивному правилу уц-! = (97781173 yt 4-с) mod (232).

rm-'

  • 7 Вычислить Yme 2 v^321.

i-0"

  • 8 Уо: = Угт-

  • 9 Вычислить N = f2nl J+l(2 m 1Ym)/(pm.H232rm)|.

Если N нечетно, то N :==N+1.

  • 10 k: = 0.

  • 11 Вычислить pm =Pm-rl (N + k) + 1.

  • 12 Если pm>2tfn , то перейти к шагу 6.

  • 13 Проверить условия:

2">+i(N+k) (mod p,n) = l,

2<N+k)(mod p„,)#=!.

Если хотя бы одно из условий не выполнено, то k: = k + 2 и

перейти к шагу 11.

Если оба условия выполнены, то m: = m—1.

  • 14 Если гп^О, то перейти к шагу 5.

Если т<0, то ро — искомое простое число р и pi — искомое простое число q.

  • 7.3 Процедура В

Процедура позволяет получать простые числа р длины tp = 1021 4-1024 битов с делителем q длины tq =2554-256 битов числа р-1.

Задаются число х0 с условием 0<х0<216 и нечетное число с с условием 0<с<216.

Процедура вычисления включает в себя следующие шаги:

  • 1 По процедуре А получить простое число q длины tq битов.

  • 2 По процедуре А получить простое число Q длины 512 битов, при этом пункт 1 процедуры А не выполнять, а сохранить значение у0, полученное в конце работы шага L

  • 3 Вычислить последовательность (у...... уб«) по рекурсив

ному правилу уНл = (19381 yj +с) (mod 216).

63

  • 4 Вычислить Y= 2 Vi2lbl,

l-o'

  • 5 Уо:“Уб4.

  • 6 Вычислить

N = [2,p-,/(qQ)|x[(2tp-1Y)/(qQ2^)|.

Если N нечетно, то N: = N+1.

  • 7 к: = 0.

  • 8 Вычислить p = qQ(N + k) + l.

  • 9 Если р>2 р , то перейти к шагу 3.

  • 10 Проверить условия:

2qQ<N+k)(mod р) = 1,

24(N+k) (mod р)=^1.

Если оба условия выполнены, то р и q — искомые простые числа.

Если хотя бы одно из условий не выполнено, то k: = k+2 и перейти к шагу 8.

Последовательность шагов повторить до выполнения условий на шаге 10.

  • 7.4 Процедура В'

Процедура позволяет получать простые числа р длины tp= 1021-г-1024 битов с делителем q длины tq =255-^256 битов числа р—1.

Задаются число х0 с условием 0<хо<232 и нечетное число с с условием 0<с<232.

Процедура вычисления включает в себя следующие шаги:

  • 1 По процедуре А' получить простое число q длины tq битов.

  • 2 По процедуре А' получить простое число Q длины 512 битой, при этом пункт 1 процедуры А' не выполнять, а сохранить значение уо, полученное в конце работы шага 1.

  • 3 Вычислить последовательность (у(, . . . , узг) по рекурсивному правилу yI+i = (97781173 yi+c) (mod 232).

31

  • 4 Вычислить Y= S v(2321,

i-0’

  • 5 Уо-=У32-

  • 6 Вычислить

N = [2 / (qQ) ] — | (2^ Y) / (qQ21024) |.

Если N нечетно, то N: = N+1.

  • 7 k: = 0.

  • 8 Вычислить p = qQ(N + k) + l.

  • 9 Если р>2*Р, то перейти к шагу 3.

  • 10 Проверить условия:

2qQ(N+k) (mod р) = 1,

2<i(N+k) (mod р)=^=Е

Если оба условия выполнены, то р и q — искомые простые числа.

Если хотя бы одно из условий не выполнено, то k: = k + 2 и перейти к шагу 8.

Последовательность шагов повторить до выполнения условий на шаге 10.

  • 7.5 Процедура С

Процедура позволяет получить число а при заданных р и q.

  • 1 Произвольно выбрать число d, l<d<p—1.

p-i

  • 2 Вычислить f = d4 (mod p).

3'Если f=l, то перейти к шагу 1.

Если f#=l, то a : = f.

Конец работы алгоритма.

Проверочные примеры для вышеизложенных процедур получения чисел р, q и а, выработки и проверки подписи приведены з приложении А.»

Приложение А

(справочное)

ПРОВЕРОЧНЫЕ ПРИМЕРЫ

Значения параметров хо, с, d, х, у, к, указанные в приложении, рекомендуется использовать только в проверочных примерах для настоящего стандарта.

А1 Представление чисел и векторов

Длины чисел и векторов, а также элементы последовательности t записывают в десятичной системе счисления.

Последовательности двоичных символов записывают как строки шестнадцатеричных цифр, в которых каждая цифра соответствует четырем знакам ее двоичного представления.

А.2 Примеры к процедурам получения чисел р, q и числа а для реализации ЭЦП

А.2.1 Процедура А

Необходимо получить простое число р длины 512 битов с простым делителем q длины.256 битов числа р—1.

Задают числа Хо=5ЕС9 и с—7341.

Вычисляют последовательность (=(512, 256, 128, 64, 32, 16).

Тогда в процессе выполнения процедуры будет получена последовательность

простых чисел:

t5= 16,

h=32,

t3=64,

p5= 8003

рч= AD4B0FAB

p3= B25D28A7

1A62D775

t2=128,

p2= 9C992766

8E6E4908

964A9AE1

3773AE75

ti = 256,

pt= 98915E7E

B064BDC7

C8265EDF

285DD50D

CDA3-1E88

7289F0AC

F24809DD

6F49DD2D

t0=5l2,

p() = EE8172AE 854510E2 EA0A12B3 6BB0C345

8996608F

977A4D63 43E9190F D165976E

B69359B8

BC97322C 231177539

F2195EC9

9EB82A69

E5DC3386 84583978

BIC379E3

pi и ро — искомые числа q и р соответственно.

А.2.2 Процедура А'

Необходимо получить простое число р длины 512 битов с простым делителем q длины 256 битов числа р—1.

Задают числа x0=3DFC46Fl и c=D. * .

Вычисляют последовательность (=(512, 256, 1<2«8, 64, 32).

Тогда в процессе выполнения процедур будет получена последовательность простых чисел:

t4»32,

p4= 8000000B

t3=64,

p3= 9AAA6EBE

4AA58337

t2=128,

p2= C67CE4AF

720F7BBA

B5FEBF37

B9E74807

t(=256,

Pl= 931A58FB

4B56898F

5F0DCDF2

7F921A07

FE7549BC 6601EDB1

3F19F472

8C93DC75

to-512,

p0= 8B08EB13

DA26765D 316A0E29 8C6DFD0F

5AF966AA

6D38D30C 198460FA

C2C565AB

B39DF294

F1C06AAE

D2B19DC3

B0BF1FAF

538580C7 0Dil228C3 81C15C88 F9518F85

Pi и po -

— искомые числа q

и p соответственно.

А.2.3 Процедура В

Необходимо получить простое число р длины <1024 битов с простым делителем q длины 256 битов числа р—1.

Задают начальные значения х0=А565 и с=538В.

С помощью процедуры А получают простое число q длиной 1 = 256 битов:

ВСС02СА0 CE4F0753 ЕС16105Е E5D530AA

00D39F31 71842АВ2 С334А26В 5F576E0F

Затем вновь с помощью процедуры А получают простое число Q длиной 1=512 битов:

CCEF6F73

87B6417E

C67532A1

86EC619C

A4DB132F

CA02621A

DE216F1D

F6F8114C

DB3D9209

7D978C6F

583C3301

4174AA1C

1AFCCEB2

843B1D35

0D2E5D16

855A7477

И, наконец, получают простое число р длиной 1=1024 битов:

AB8F3793

8356529E

871514C1

F48C5CBC

E77B2F4F

C9A2673A

C2C1653D

A8984090

C0AC7377

5159A26B

EF59909D

4C984663

1270E166

53A62346

68F2A52A

01A39B92

1490E694

C0F404B5

8D2E1497

0FCCB478

F98D01E9

75A1028B

9536D9.12

DE5236D2

DD2FC396

B7715359

4D417878

0E5F16F7

18471E21

11C8CE64

A7D7E196

FA57142D

А.2.4 Процедура В'

Необходимо получить простое число р длины 1024 битов с простым делителем q длины 256 битов числа р— I.

Задают начальные значения xo=3DFC46Fil и c=D.

С помощью процедуры А получают простое число q длиной 1=256 битов:

931A58FB 6F0DCDF2 FE7549BC 3F-19F472

4B56898F 7F921A07 6601Et)Bl 8C93DC75

Затем вновь с помощью 1=512 битов:


процедуры А получают простое число Q длиной

BB124D6C 96397506 1-2D34BF3 D9529BC8


255D373F 6F8980B1 3B536899 С9653929


FA7D5DF5

C7CB68DF C7H50C4D D6682CF5


5CE0DB44

6C6E8D27

F82FC171»

FBBA1B3D


И, наконец, получают простое число р


длиной 1=1024 битов:


Е2С4191С F18E7FB6 5FC730D9 3706919А AF43C2BF С4450ВСА 09152435 F285A986


4B5F222F 7А290ЕА1 75BF3FAA АВ92Е0С5 FQ16251E 235А5В74 ABCFE48B 4615C66D


9АС27325 E03D750F 606D05C2 8B1DE453

2UB28708

8AD386E4

D0BH26A8 ECDDF6AF


62F6D9B4 0В980675 18В35А6С 1C8FA8E7 97F6A27A A0E4DFCB 122С7382 D355DFB7


А.2.5 Процедура С

Пусть заданы числа р


98915Е7Е C8265EDF

B064BDC7 285DD50D


CDA31E88 F24809DD

7289F0AC 6F49DD2D


Выбирают число d=2. Вычисляют р-1

f=d (mod р) = 9Е960Э15

AFAD2538 06755984 8EBE2CD4


00С8774А

В4В6270А

А49Е5093 6AC3D849


869582D4

6F7C8837 O4D648BE 5В142АА6


AFDE2127 B50D50F2 2АВ5ААВ1 СЕ23Е21С


и q, полученные в А.2,1 по процедуре А:

ЕЕЭ172АЕ

8996608F

В69359В8

9ЕВ82А69

854510Е2

977A4D63

ВС97322С

E5DC3386

ЕА0А12ВЗ

43E9190F

23177539

84583978

6ВВ0С345

D165976E

R2195EC9

B1C379E3

Так как f^l, то f — искомое число a:=f

А.З Примеры процедур выработки и проверки ЭЦП на базе асимметричного криптографического алгоритма

Пусть по процедуре А с начальными условиями х0=5ЕС9 и с=7341 выработаны числа р, q и а:

p=r ЕЕ8172АЕ 854510Е2 ЕА0А12ВЗ 6ВВ0С345

8996608F 977A4D63 43E9190F D165976E

В69359В8

ВС97322С 23177539

F2195EC9

9ЕВ82А69

E5DC3386 84583978 B1C379E3

q« 989>15Е7Е

B064BDC7

C8265EDF

285DD50D

CDA31E88 7289F0AC

F24809DD 6F49DD2D

а» 9Е960315 AFAD2538 06755984 8EBE2CD4

00С8774А

B4B62I70A

А49Е5093 6AC3D849

869582D4

6F7C8837 04D648BE 5В142АА6

AFDE2127 B50D50F2 2АВ5ААВ1

СЕ23Е21С

А.3.1 Процедура подписи сообщения

Пусть х- 30363145 38303830

34363045

38324331


42353244

38443046


35324234 31413237

причем значение


хэш


— секретный ключ, М — подписываемое сообщение, функции h от сообщения М есть

h(M)-m== 35344541

43363345


32454236

37414342


44313445

34454il36


34373139

31454230


Пусть целое число, к» 90F3A564 11В7105С


439242F5 64E4F539


186ЕВВ22

0807Е636


4С8Е2238 2DF4C72A


Тогда

r=a*(mod р)-


47681С97

D07A7E02

FF0AD188 98E4AD8C


4373В065 E3H846E О2643В5С FC689317


ЗС6СА965 97А8С126 6С998775 76ВА8216


C8F86I27 3F8A76AF 0С6В0458 3ADBC988


г'—г (mod q)e 3E5F895E

57В784С5


276О8»Ю2 7ABDBD80


D52C0763 7BC44FD4


270А4581 3A32AC06


s«xr'+km(mod q)-= 3F0DD5D4 DBF72959


400D47C0

2E37C748


8E4CE505

56DAB851


FF7434B6 15A60955


Таким образом, цифровая подпись для сообщения М есть

<r,>2wf|<S>2Mw


3E5F895E 57В784С5 3F0DD5D4 DBF72959


276D81D2 7ABDBD80 400D4I7C0 2Е37С743


D52C0763 7BC44FD4 8Е4СЕ505 56DAB851


270А4581 3A32AC06 FF7434B6 15А60955


А.3.2 Процедура проверки подписи

Пусть дано сообщение Mi (в данном случае М(=М), его цифровая подпись

< г'>25$|| <*s>256s 3E5F895E

276D81D2

D52C0763

270А4581

57В784С5

7ABDBD80

7BC44FD4

3A32AC06

3F0DD5D4

400D47C0

8Е4СЕ505

FF7434B6

DBF72959

2Е37С748

56DAB851

15А60955

и открытый ключ подписавшего сообщение

ЕЕ1902А4

0692D273

EDC1B5AD

C55F9112

8E35F9D1

65FA9901

CAF00D27

018BA6DF

324510С1

1А6Е2725

26589CD6

E6A2EDDA

AFE1C308

1259BE9F

СЕЕ667А2

701F4352

Замечание

Данный открытый ключ -у соответствует секретному ключу х, использованному в примере подписи сообщения М

y=ax(mod- р).

Пусть

т— 35344541 32454236

44313445

34454136


34373139

31454230


43363345 37414342

— значение хэш-функции h для сообщения Мь Условия 0<r'<q и 0<s<q выполняются. Вычисляют

v-mq-2(mod q)« 72515E01

89E462EE

DDFA6507

E37B3865

E3682CO1

918B6730

CD285CBF

DEA77050

Zi—sv(mod q)- 776DC3G6

4E83B73B

02B78826

6873EAFF

B87DAED5

8686009B

5D387CC4

EAF5B744

za=(q~г') v(mod q)= 18В04С46 G1D9E875 5ZJFDA9E

95364DDE A5185DFD


3AFD0A8D FCADB67C 505C7F03

u=(aZtyZ1 (mod p))(mod q)= 3E5F895E

57B784C5

276D81D2

7ABDBD80

D52C0763 270A4581

7BC44FD4 3A32AC06

Таким образом:

r'- 3E5F895E

276D81D2

D52C0763

270А45Э1

57B784C6

7ABDBD80

7BC44FD4

3A32AC06

u- 3E5F895E

276D81D2

D52C0763

27OA4581

57B784C5

7ABDBD80

7BC44FD4

3A32AC06

Условие rz—и выполнено. Это означает, что подпись подлинная.

УДК 681.3.06:006.354 П85 ОКСТУ 5002

Ключевые слова: информационная технология, криптографическая защита информации, электронная цифровая подпись, ассим-метричный криптографический алгоритм, системы обработки Ии-формации, защита сообщений, подтверждение подписи, хэш-функ-ция, функция хэширования

14

Превью ГОСТ 34.310-95 Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе ассиметричного криптографического алгоритма