ДСТУ ISO/IEC 14888-3-2002 сторінка 6 з 8
а = 2866537b 67675263 6a68f565 54e12640 276b649e f7526267
b = 2e45ef57 1f00786f 67b0081b 9495a3d9 5462f5de 0aa185ec
Базова точка — це G = (Gx, Gy), де (в шістнадцятковій системі числення)
Gx = 36b3daf8 a23206f9 c4f299d7 Ь21а9с36 9137f2c8 4ae1aa0d
Gy = 765be734 33b3f95e 332932e7 0ea245ca 2418ea0e f98018fb
Порядок G дорівнює (в десятковій системі числення)
Q =1569275433846670190958947355803350458831205595451630533029.
-
Ключ підпису і перебірковий ключ алгоритму
Ключ підпису:
Х = 1275552191113212300012030439187146164646146646466749494799
Перевірковий ключ:
У = Gx = (Ух> Уу), де (в шістнадцятковій системі числення):
Ух = 5de37e75 6bd55d72 е3768сЬЗо 96ffeb96 2614dea4 се28а2е7
Уу = 55с0е0е0 2f5fb132 caf416ef 85b229bb Ь8е13520 03125ba1
-
Дані для алгоритму, пов’язані з повідомленням
М = ASCII form of «аЬс» = 616263
h(M) = а9993е36 4706816а ЬаЗе2571 7850с26с 9cd0d89d
перетворюється в ціле число згідно з додатком С і тоді
968236873715988614170569073515315707566766479517.
Значення рандомізатора інтерпретується як ціле число mod Q
К= 1542725565216523985789236956265265265235675811949404040041.
-
Підпис з використанням алгоритму
П = GK= (Пх, Пу), де (в шістнадцятковій системі числення)
Пх= 438е5а11 fb55e4c6 5471dcd4 9е266142 a3bdf2bf 9d5772d5
Пу= 2ad603a0 5bd1d177 649f9167 e6f475b7 e2ff590c 85af15da
R - Пх, перетворюється в ціле число по модулю Q згідно з додатком С.
R = 87194383164871543355722284926904419997237591535066528048 mod Q
S=308992691965804947361541664549085895292153777025772063598 mod Q
-
Перевіряння з використанням алгоритму
Повторно обчислений попередній підпис утворюється з повідомлення та перебіркового ключа згідно з А. 2.1.4.4.
П = (ПХ,ПУ )t де (в шістнадцятковій системі числення)
Пх = 438е5а11 fb55e4c6 5471dcd4 9е266142 a3bdf2bf 9d5772d5
Пу= 2ad603a0 5bd1d177 649f9167 _e6f475b7 e2ff590c 85af15da
Повторно обчислене свідоцтво R — це ПХ1 перетворене в ціле число mod Q
R = 87194383164871543355722284926904419997237591535066528048
-
Приклад 2: Поле Fp, просте число р має 192 біти
-
Параметри алгоритму DSA еліптичних кривих
-
Поле Fp, де
р = 6277101735386680763835789423207666416083908700390324961279.
Крива Е: У2 = X3 + аХ+ b над Fp, де (в шістнадцятковій системі числення)
а = ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc
b = 64210519 e59c80e7 0fa7e9ab 72243049 feb8deec с146Ь9Ы
Базова точка G - (GX1 Gy), де (в шістнадцятковій системі числення)
Gx= 188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82Я1012
Gy= 07192b95 ffc8da78 631011ec 6b24cdd5 73f977a1 1e794811
Порядок G (в десятковій системі числення) такий
0=6277101735386680763835789423176059013767194773182842284081.
-
Ключ підпису та перебірковий ключ алгоритму
Ключ підпису вибирається випадково і зберігається в секреті. Його значення — ціле число mod Q
Х=651056770906015076056810763456358567190100156695615665659.
Відповідний перевірковий ключ має вигляд:
Y = Gx~ (Yx, Yy), де (в шістнадцятковій системі числення)
Yx= 62b12d60 690cdcf3 ЗОЬаЬаЬб е69763Ь4 71f994dd 702d16a5
Yy = 63bf5ec0 8069705f fff65e5c a5c0d697 16dfcb34 74373902
E.3.2.3 Дані для алгоритму пов’язані з повідомленням
М = ASCII form of «аЬс» = 616263
h (М) = а9993е36 4706816а ЬаЗе2571 7850с26с 9cd0d89d
перетворюється в ціле число згідно з додатком С, і тоді
Н= 968236873715988614170569073515315707566766479517.
Значення рандомізатора Інтерпретується як ціле число mod Q
/<=614050706706500106306506556566740556000 6161556565665656654.
-
Підпис з використанням алгоритму
П = GK = (Пх, Пу), де (в шістнадцятковій системі числення)
Пх = 88505238 0ff147b7 34с330с4 3d39b2c4 a89f29b0 f749fead
Пу = 9cf9fa1c befefb91 7747a3bb 29c072b9 289c2547 884fd835
R дорівнює Пх, перетвореному в ціле число mod Q згідно з додатком С.
R=3342403536405981729393488334694600415596881826869351677613 mod Q
Підпис обчислюється за допомогою функції підпису, наведеній в А.2.1, і має значення
S=5735822328888155254683894997897571951568553642892029982342 mod Q.
-
Перевіряння з використанням алгоритму
Геш-код обчислюється з повторного повідомлення
М = ASCII form of «аЬс» = 616263
h (М ) = а9993е36 4706816а ЬаЗе2571 7850с26с 9cd0d89dt
а повторно обчислений геш-атрибут — це h (м ), перетворене в ціле число mod Q згідно з додатком С, тобто
Н = 968236873715988614170569073515315707566766479517.
Повторно обчислений-Попередній підпис отримується з повідомлення та перевіркового ключа згідно з А.2.1.4.4. П = (Пх, Пу), де (в шістнадцятковій системі)
Пх = 88505238 0ff147b7 34с330с4 3d39b2c4 a89f29b0 f749fead
Пу = 9cf9fa1c befefb91 7747a3bb 29c072b9 289c2547 884fd835
Повторно обчислене свідоцтво R із Пх, перетворене в ціле число mod Q
R = 3342403536405981729393488334694600415596881826869351677613.
Підпис має силу тоді, коли повторно обчислене свідоцтво дорівнює відновленому свідоцтву.
-
Цифрові підписи з перемішуванням, які базуються на ISO/IEC 9796
У цьому прикладі значення всіх величин подані в шістнадцятковій системі числення. Цей приклад наведений у стандарті США ANSI Standard Х9.31. Приклад в Х9.31 використовує нестандартне подання цілих чисел по mod /V. Відповідно до цього стандарту значення цілих чисел з Х9.31 модификовані.
-
Приклад, коли v непарне (V = 3)
-
Гоперування ключа підпису та перевіркового ключа
-
Відкритий показник степеня для перевіряння
-
v= ЗЕ.4.1.1.2 Особистий ключ підпису
Е.4.1.1.2.1 Особисті прості множники
|
Р1= |
d8cd81f0 |
35ec57ef |
Є8229551 |
49d3bff7 |
0c53520d |
|
769d6d76 |
646c7a79 |
2e16ebd8 |
9fe6fc5b |
6060bd97 |
|
|
8ed64a90 d987505f |
59c5b039 |
98a0e94c |
86d78b85 |
ba37b5af |
|
|
р2= |
cd 09249 |
5d867e64 |
065dee3e |
7955f2eb |
c7d47a2d |
|
7c995338 |
8f97dddc |
3e1ca19c |
35ca659e |
dc3d6c08 |
|
|
f64068ea b857caad |
fedbd911 |
27f9cb7e |
del74871 |
1b624e30 |
|
|
Е.4.1.1.2.2 Особистий показник степеня для підпису |
|||||
|
s = |
1ccda20b |
cffb8d51 |
7ee96668 |
66621Ы1 |
822c7950 |
|
d55f4bb5 |
bee37989 |
a7d17312 |
e326718b |
e0d62ccb |
|
|
11415178 |
b36be2e6 |
0d599d4e |
41346c82 |
d845498a |
|
|
81b2f663 |
2fd7d1cc |
efcabf74 |
17350238 |
109ec289 |
|
|
d5382762 |
Ь77а1с99 |
96dd1d2b |
71a52faf |
52aba9de |
|
|
d19f3f5d |
5d71d054 |
73ec9c79 |
92d84128 |
0bac72b8 |
|
|
7bf51eb1 |
ccb65c87 |
||||
|
Е.4.1.1.3 Відкритий модуль для перевіряння |
|||||
|
Л/ = |
acd1cc46 |
dfe54fe8 |
f9786672 |
664ca269 |
0d0ad7e5 |
|
003bc642 |
7954d939 |
eee8b271 |
52e6a947 |
45050cc2 |
|
|
67883cd4 |
34875164 |
5019afd5 |
873a8b11 |
119fb93f |
|
|
0a31c654 |
c3ecff07 |
3233530c |
79be90e0 |
26e2421d |
|
|
d378b88b |
40136c48 |
7d33075a |
1612ab90 |
C5b75d33 |
|
|
2659a5d0 |
b5c19576 |
102d3424 |
31ac3bbb |
a8f98449 |
|
|
bd58bc0b |
5e254633 |
||||
Е.4.1.2 Створювання підпису
М = ASCII form of «аЬс» = 616263
h (М) = а9993е36 4706816а ЬаЗе2571 7850с26с 9cd0d89d
Вираз х'ЗЗсс' в кінці значення h (М) показує на те, що використана геш-функція — це SHA-1. Доповнення, яке складається з повторювань півбайта х'Ь' передує значенню h (/W) та завжди відокремлюється від нього шістнадцятковим півбайтом х'а'. Цьому передує головний шістнадцятковий півбайт х'6'. Таким чином:
|
H = 6bbbbbbb bbbbbbbb |
bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb |
bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb |
bbbbbbbb bbbbbbbb bbbbbbbb bbbbbbbb |
|
bbbbbbbb bbbbbbbb |
|||
|
bbbbbbbb bbbbbbbb |
|||
|
bbbbbbbb bbbbbbbb |
|||
|
bbbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbaa999 c26c9cd0 d89d33cc |
3e364706 |
816aba3e |
25717850 |
|
Тепер обчислюється S = №mod N, яке набуває таке значення: |
|||
|
S = 500abdc2 48d78e2d |
b9182a98 |
7b296e93 |
53083435 |
|
070fbe16 M629a30 |
7cab53d3 |
c9b70611 |
bffa479e |
|
cb744397 b01c6f1c |
b4775051 |
1510005Є |
e9f83709 |
|
15788172 98db07fb |
b746c6d7 |
774bb069 |
64244463 |
|
3abc79c2 0cb81f8b |
df9ff07e |
eba2efc3 |
11a80438 |
|
622492c8 89fc0b17 5112f4d2 d8b53761 E.4.1.3 Перевіряння підпису Обчислюється значення Н = |
4681e5ce Sv mod (/V): |
427149c9 |
8fe34580 |
|
Н = 6bbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
bbbbbbbb |
|
bbbbbbbb bbbaa999 c26c9cd0 d89d33cc |
3e364706 |
816aba3e |
25717850 |
|
Оскільки H - H mod (Л7), підпис має силу |
|||
-
Приклад, копну— парне {у = 2)
Доповнення, використане у стандарті США ANSI Standard Х9.31, гарантує, що будь-яке правильне свідоцтво закінчується однією з двох шістнадцяткових цифр — х'с' або х’6'.
-
Гэнерування ключа підпису і перебіркового ключа
-
Відкритий показник степеня для перевіряння v-2
-
Особистий ключ підпису
-
Особисті прості множники
P1 =
dbb3cb4c
375c0ecd
2fd300db
4ГО85472
93ca004c
edd2019c
e79ca08a
15eefb25
dd3baf98
183b0c2f
01d7f8b4
d803be33
931856f6
dd3eba17
7d763c03
eldceabc
P2 =
eeaa4a53
47999fe7
6fb78760
64bbec66
cb409a77
39ef5a59
06613dc3
7225d41d
2beb1f9f
5ec77a85
38767a87 fff093a7
bb7015d6
07ff26de
61282753
9306ba1c
E.4.2.1.2.2 Особистий показник степеня для підпису
s =
199a6985
e9b2bff5
a2841ccc
d80fc73a
28a14266
0987eb12
3dbcaeb2
b8ee546d
2356a3a5
7d9c28ed
71e455c4
466cbe30
7787dc5a
9959b747
5a189a8f
038a4741
e4b10153
be08c26e
4401f7ab
6e7e9609
2caf07c0
870b13b6
4f669667
3029ec2c
77aabc39
7fa528a2
45d7073c
e69cc9bd
Cd7bef91
599dca48
4000c0bd
8ab0814e
Е.4.2.1.3 Відкритий модуль для перевіряння
/V =
ccd34c2f
4d95ffad
1420Є666
c07e39d1
450a1330
4c3f5891
ede57595
c772a369
1ab51d2b
ece1476b
8f22ae22
3365f183
bc3ee2d4
cacdba3a
d0c4d478
1c523a10
efe6203d
6f3bc226
bf9a4597
27b8f122
c482d8c8
6019f9a8
69329187
096430a6
c67cb103
742bcbc6
6906ad23
836ebabb
511d5d80
ab8cb599
74e9aac6
2d785c45
-
-
-
Гэнерування підпису
М = ASCII form of «аЬс» = 616263
Побачили розбіжність з офіційним текстом?
Дивіться також
Сборник ГОСТ ЕСКД
Збірник із 154 стандартів