а = 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