рекламодателям фирмы/add расшифровка штрих-кодов links/add
http://kiev-security.org.ua
Содержание
ГОСТ Р 34.10-94.Информационная технология.криптографическая защита информации.процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма.Information technology.Criptographic Data Security.Produce and check procedures of Electronic Digital Signature based on Asymmetric Criptographic Algorithm
ГОСТ Р 34.10-94
СОДЕРЖАНИЕ
стр.
1 Область применения
2 Нормативные ссылки
3 Обозначения
4 Общие положения
5 Процедура выработки подписи
6 Процедура проверки подписи
7 Процедура получения чисел p,q и а
Приложение А Проверочные примеры
ГОСТ Р 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 ОБЛАСТЬ ПРИМЕНЕНИЯ
Настоящий стандарт устанавливает процедуры выработки и проверки электронной цифровой подписи (ЭЦП) сообщений (документов), передаваемых по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного
назначения, на базе асимметричного криптографического алгоритма с применеинем функции хеширования. Внедрение системы ЭЦП на базе настоящего стандарта обеспечивает защиту передаваемых сообщений то подделки, искажения и однозначно по- зволяет
доказательно подтвердить подпись лица, подписавшего сообщение.
Издание официальное
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) Отправляемые и получаемые последовательности, в том числе со-
общения и подписи, могут отличаться друг от друга из-за случайных
или преднамеренных искажений.
р- простое число, 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.
Процедуры цифровой подписи допускают как программную, так и
аппаратную реализацию. Система ЭЦП включает в себя процедуры
выработки и проверки подписи под данных сообщением. Цифровая
подпись, состоящая из двух целых чисел, представленных в виде
слов в алфавите ( , вычисляется с помощью определенного набора
правил, изложенных в тексте стандарта .
Числа р, q и а, являющиеся параметрами системы, должны
быть выбраны (выработаны) по процедуре, описанной в пункте 7.
Числа р, q и а не являются секретными. Конкретный набор их
значений может быть общим для группы пользователей. Целое чис-
ло k, которое генерируется в процедуре подписи сообщения ,
должно быть секретным и должно быть уничтожено сразу после
выработки подписи. Число k снимается с физического датчика
случайных чисел или вырабатывается псевдослучайным методом с
использованием секретных параметров.
5 ПРОЦЕДУРА ВЫРАБОТКИ ПОДПИСИ
Текст сообщения, представленный в виде двоичной
последова- тельности символов, подвергается обработке по
определенному ал- горитму, в результате которого формируется ЭЦП
для данного сооб- щения.
Процедура подписи сообщения включает в себя следующие этапы:
1. Вычислить h(M) -значение хеш-функции h от сообщения М.
Если h(M)(mod q)=0, присвоить h(M) значение 0255 1.
2. Выработать целое число k, 0(k ( 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 .
Отправитель направляет адресанту цифровую последовательность
символов, состоящую из двоичного представления текста сообщения
и присоединенной к нему ЭЦП.
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.
При совпадении значений 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 ) по правилу:
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.
14. Если m(0 , то перейти к шагу 5.
Если m < 0, то p0- искомое простое число р и р1- искомое простое
число q.
7.2 Процедура А'
Процедура позволяет получать простые числа р длины t(33 битов с
простым делителем 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.
Если ti(33, то 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.
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.
Задаются число х0 с условием 0 < x0 < 216 и нечетное число с
условием 0 < c < 216.
Процедура вычисления включает в себя следующие шаги:
1. По процедуре А получить простое число q длины tq битов.
2. По процедуре А получить простое число Q длины 512 битов, при
этом пункт 1 процедуры А не выполнять, а сохранить значение у0,
полученное в конце работы шага 1.
3. Вычислить последовательность (у1, ....,у64) по рекурсивному
правилу уi+1 = (19381 у1+ с) (mod 216)
4. Вычислить у =( у12161
5. у0 := у64
6. Вычислить
N =(2t -1 /(qQ)( + ((2t -1 у)/( qQ21024)(
Если N нечетно, то N := N+1
7. k := 0
8. Вычислить р = qQ(N + k) + 1
9/ Tckb p > 2t , то перейти к шагу 3.
10. Проверить условия:
2qQ(N+k)(mod p ) = 1,
2q(N+k)(mod p) (1
Если оба условия выполнены, то р и q - искомые простые числа.
Если хотя бы одно не выполнено. то k := k + 2 и перейти к шагу
8. последовательность шагов повторить до выполнения условий на
шаге 10.
7.4 Процедура В'
процедура позволяет получать простые числа р длины tp= 1021(
1024 битов с делителем q длины tq = 255 ( 256 битов числа р-1.
Задаются число х0 с условием 0 < x0 < 232 и нечетное число с с
условием 0 < c < 232.
Процедура вычисления включает в себя следующие шаги:
1. По процедуре А' получить простое число q длины tq битов.
2. По процедуре А' получить простое число Q длины 512 битов, при
этом пункт 1 процедуры А' не выполнять, а сохранить значение у0,
полученное в конце работы шага 1.
3. Вычислить последовательность (у1, ...,у32) по рекурсивному
правилу уi+1= (97781173 уi+ c) (ьщв 232)
4. Вычислить у= ( у1 2321
5. у0 := у32
6. Вычислить
N = (2t -1 /(qQ)( + ((2t -1 y) / ( qQ21024)(
Если N нечетно, то N := N + 1.
7. k := 0.
8. Вычислить р = qQ(N+k) + 1
9. Если р > 2t , то перейти к шагу 3
10. Проверить условия:
2qQ(N+k)(mod p ) = 1,
2q(N+k)(mod p) ( 1
Если оба условия выполнены , то р и q - искомые простые числа.
Если хотя бы одно из условий не выполнено, то k := k + 2 и
перейти к шагу 8.
Последовательность шагов повторить до выполнения условий на шаге 10.
7.5 Процедура С
Процедура позволяет получить число а при заданных р и q.
1. Произвольно выбирать число d, 1 < d < p-1.
2. Вычислить f = dp-1/q(mod p)
3. Если f = 1, то перейти к шагу 1.
Если f = 1, то а := f
Конец оаботы алгоритма.
Проверочные примеры для вышеизложенных процедур получение чисел
р,q и а , выработки и проверки подписи приведены в приложении А.
ПРИЛОЖЕНИЕ А
(справочное)
ПРОВЕРОЧНЫЕ ПРИМЕРЫ
Значение параметров х0, c, d, x, y, k, указанные в приложении,
рекомендуется использовать только в проверочных примерах для
настоящего стандарта.
А.1 Представление чисел и векторов
Длины чисел и векоров, а также элементы последовательности t
записывают в десятичной системе счисления. Последовательности
двоичных символов записывают как строки шестнадцатиричных цифр,
в которых каждая цифра соответствует четырем знакам ее двоичного
представления.
А.2 Примеры к процедурам получения чисел р, q и числа а для реализации ЭЦП
А.2.1 Процедура А
Необходимо получить простое число р длины 512 битов с простым
делителем q длины 256 битов числа р-1.
Задают числа х0 = 5EC9 и с = 7341
Вычисляют последовательность t = (512, 256, 128, 64, 32, 16)
Тогда в процессе выполнения процедуры будет получена
последовательность простых чисел :
t5 = 16, p5 = 8003
t4 = 32, p4 = AD4BOFAB
t3 = 64, p3 = B25D28A7 1A62D775
t2 = 128, p2 = 9C992766 8E6E4908 964A9AE1 3773AE75
t1 = 256, p1 = 98915E7E C8265EDF CDA31E88 F24809DD
B064BDC7 285DD50D 7289FOAC 6F49DD2D
t0 = 512, p0 = EE8172AE 8996608F B69359B8 9EB82A69
854510E2 977A4D63 BC97322C E5DC3386
EA0A12B3 43E9190F 23177539 84583978
6BB0C345 D165976E F2195EC9 B1C379E3
p1 и р0 - искомые числа q и р соответсвенно.
А.2.2 Процедура А'
Необходимо получить простое число р длины 512 битов с простым
делителем q длины 256 битов числа р-1.
Задаются числа х0 = 3DFC46F1 и c=D.
Вычисляют последовательность t = (512, 256, 128, 64, 32).
Тосда в процессе выполнения процедуры будет получена
последовательность простых чисел:
t4 = 32, p4 = 8000000B
t3 = 64, p3 = 9AAA6EBE 4AA58337
t2 = 128, p2 = C67CE4AF 720F7BBA B5FEBF37 B9E74807
t1 = 256, p1=
931A58FB
6F0DCDF2
FE7549BC
3F19F472
4B56898F
7F921A07
6601EDB1
8C93DC75
t0 = 512, p0=
8B08EB13
5AF966AA
B39DF294
538580C7
DA26765D
6D38D30C
F1C06AAE
0D1228C3
316A0E29
198460FA
D2B19DC3
81C15C88
8C6DFD0F
C2C565AB
B0BF1FAF
F9518F85
p1 и p0 - искомые числа q и p соответсвенно.
А.2.3 Процедура В
Необходимо получить простое число р длины 1024 битов с простым
делителем q длины 256 битов числа р-1.
Задают начальные значения х0 = A565 и с = 538B.
С помощью процедуры А получают простое число q длиной 1 = 256
битов:
BCC02CA0
CE4F0753
EC16105E
E5D530AA
00D39F31
71842AB2
C334A26B
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
C0F104B5
8D2E1497
0FCCB478
F98D01E9
75A1028B
9536D912
DE5236D2
DD2FC396
B7715359
4D417878
0E5F16F7
18471E21
11C8CE64
A7D7E196
FA57142D
А.2.4 Процедура B'
Необходимо получить простое число р длины 1024 битов с простым
делителем q длины 256 битов числа р-1.
Задают начальные значение х0 = 3DFC46F1 и c = D.
С помощью процедуры А получают простое число q длиной 1 = 256
битов:
931A58FB
6F0DCDF2
FE7549BC
3F19F472
4B56898F
7F921A07
6601EDB1
8C93DC75
Затем вновь с помощью процедуры А получают простое число Q
длиной 1 = 512 битов:
BB124D6C
255D373F
FA7D5DF5
5CE0DB44
96397506
6F8980B1
C7CB68DF
6C6E8D27
12D34BF3
3B536899
C7150C4D
F82FC171
D9529BC8
C9653929
D6682CF5
FBBA1B3D
И, наконец, получают простое число р длиной 1 = 1024 битов:
E2C4191C
4B5F222F
9AC27325
62F6D9B4
F18E7FB6
7A290EA1
E03D750F
0B980675
5FC730D9
75BF3FAA
606D05C2
18B35A6C
3706919A
AB92E0C5
8B1DE453
1C8FA8E7
AF43C2BF
F016251E
21B28708
97F6A27A
C4450BCA
235A5B74
8AD386E4
A0E4DFCB
09152435
ABCFE48B
D0B126A8
122C7382
F285A986
4615C66D
ECDDF6AF
D355DFB7
А.2.5 Процедура С
Пусть заданы числа р и q, полученные в А.2.1 по процедуре А:
p =
EE8172AE
8996608F
B69359B8
9EB82A69
854510E2
977A4D63
BC97322C
E5DC3386
EA0A12B3
43E9190F
23177539
84583978
6BB0C345
D165976E
F2195EC9
B1C379E3
q =
98915E7E
C8265EDF
CDA31E88
F24809DD
B064BDC7
285DD50D
7289F0AC
6F49DD2D
Выбирают число d = 2.
Вычисляют
f = dp-1/q(mod p)=
9E960315
00C8774A
86958D4
AFDE2127
AFAD2538
B4B6270A
6F7C8837
B50D50F2
06755984
A49E5093
04D648BE
2AB5AAB1
8EBE2CD4
6AC3D849
5B142AA6
CE23E21C
Так как f ( 1, то f - искомое число
a := f
А.3 Примеры процедур выработки и проверки ЭЦП на базе
асимметричного криптографического алгоритма Пусть по процедуре А
с начальными условиями х0 = 5EC9 и с = 7341 выработаны
числа р, q и а :
p =
EE8172AE
8996608F
B69359B8
9EB82A69
854510E2
977A4D63
BC97322C
E5DC3386
EA0A12B3
43E9190F
32177539
84583978
6BB0C345
D165976E
F2195EC9
B1C379E3
q =
98915E7E
C8265EDF
CDA31E88
F24809DD
B064BDC7
285DD50D
7289F0AC
6F49DD2D
a =
9E960315
00C8774A
86958D4
AFDE2127
AFAD2538
B4B6270A
6F7C8837
B50D50F2
06755984
A49E5093
04D648BE
2AB5AAB1
8EBE2CD4
6AC3D849
5B142AA6
CE23E21C
А.3.1 Процедура подписи собщения
Пусть х =
30363145
38303830
34363045
42353244
35324234
31413237
38324331
38443046
- секретный ключ, М - подписываемое сообщение, причем значение
хэш-функции h от сообщения М есть
h (M) = m =
35344541
32454236
44313445
34373139
43363345
37414342
34454136
31454230
Пусть целое число
k =
90F3A564
439242F5
186EBB22
4C8E2238
11B7105C
64E4F539
0807E636
2DF4C72A
Тогда
r=ak(mod p) =
47681C97
4373B065
3C6CA965
C8F86127
D07A7E02
E311846E
97A8C126
3F8A76AF
FF0AD188
02643B5C
6C998775
0C6B0458
98E4AD8C
FC689817
76BA8216
3ADBC988
r'=r(mod q)=
3E5F895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
s=xr'+km(mod q)=
3F0DD5D4
400D47C0
8E4CE505
FF7434B6
DBF72959
2E37C748
56DAB851
15A60955
Таким образом, цифровая подпись для сообщения М есть
<r'>256(( <s>256=
3E5F895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
3F0DD5D4
400D47C0
8E4CE505
FF7434B6
DBF72959
2E37C748
56DAB851
15A60955
А.3.2 Процедура проверки подписи
Пусть дано сообщение М1 (в данном случаи М! = М), его цифровая
подпись <r'>256(( <s>256=
3E5E895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
3F0DD5D4
400D47C0
8E4CE505
FF7434B6
DBF72959
2E37C748
56DAB851
15A60955
и открытый ключ подписавшего сообщение
y =
EE1902A4
0692D273
EDC1B5AD
C55F9112
8E35F9D1
65FA9901
CAF00D27
018BA6DF
324519C1
1A6E2725
26589CD6
E6A2EDDA
AFF1C308
1259BE9F
CEE667A2
701F4352
Замечание
Данный открытый ключ у соответсвует секретному ключу х,
использованному в примере подписи сообщения М y = ax(mod p)
Пусть
m =
35344541
32454236
44313445
34373139
43363345
37414342
34454136
31455430
- значение хэш-функции h для сообщения М1
Условия 0 < r' < q и 0 < s < q выполняются.
Вычисляют
v=mq-2(mod q)=
72515E01
DDFA6507
E3682C01
CD285CBF
89E462EE
E37B3865
918B6730
DEA77050
z1=sv(mod q)=
776DC3C6
4E83B73B
02B78826
6873EAFF
B87DAED5
8686009B
5D387CCA
EAF5B744
z2=(q-r')v(mod q)=
18B04C46
C1D9E875
571FDA9E
95354DDE
3AFD0A8D
FCADB67C
505C7F03
A5185DFD
u=(as1ys2(mod p))(mod q)
3E5F895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
Таким образом:
r'=
3E5F895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
u=
3E5F895E
276D81D2
D52C0763
270A4581
57B784C5
7ABDBD80
7BC44FD4
3A32AC06
Условие r' = u выполнено. Это означает, что подпись подлинная.
Содержание
HOME
Если у вас есть сайт или домашняя страничка - поддержите пожайлуста наш ресурс, поставьте себе кнопочку, скопировав этот код:
<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a> |
Идея проекта(C)Anton Morozov, Kiev, Ukraine, 1999-2022,

