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

  1. Ключ підпису і перебірковий ключ алгоритму

Ключ підпису:

Х = 1275552191113212300012030439187146164646146646466749494799

Перевірковий ключ:

У = Gx = (Ух> Уу), де (в шістнадцятковій системі числення):

Ух = 5de37e75 6bd55d72 е3768сЬЗо 96ffeb96 2614dea4 се28а2е7

Уу = 55с0е0е0 2f5fb132 caf416ef 85b229bb Ь8е13520 03125ba1

  1. Дані для алгоритму, пов’язані з повідомленням

М = ASCII form of «аЬс» = 616263

h(M) = а9993е36 4706816а ЬаЗе2571 7850с26с 9cd0d89d

перетворюється в ціле число згідно з додатком С і тоді

968236873715988614170569073515315707566766479517.

Значення рандомізатора інтерпретується як ціле число mod Q

К= 1542725565216523985789236956265265265235675811949404040041.

  1. Підпис з використанням алгоритму

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

  1. Перевіряння з використанням алгоритму

Повторно обчислений попередній підпис утворюється з повідомлення та перебіркового ключа згідно з А. 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

  1. Приклад 2: Поле Fp, просте число р має 192 біти

    1. Параметри алгоритму 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.

  1. Ключ підпису та перебірковий ключ алгоритму

Ключ підпису вибирається випадково і зберігається в секреті. Його значення — ціле число 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.

  1. Підпис з використанням алгоритму

П = 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.

  1. Перевіряння з використанням алгоритму

Геш-код обчислюється з повторного повідомлення

М = 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.

Підпис має силу тоді, коли повторно обчислене свідоцтво дорівнює відновленому свідоцтву.

  1. Цифрові підписи з перемішуванням, які базуються на ISO/IEC 9796

У цьому прикладі значення всіх величин подані в шістнадцятковій системі числення. Цей приклад наведений у стандарті США ANSI Standard Х9.31. Приклад в Х9.31 використовує нестандартне подання цілих чисел по mod /V. Відповідно до цього стандарту значення цілих чисел з Х9.31 модификовані.

  1. Приклад, коли v непарне (V = 3)

  1. Гоперування ключа підпису та перевіркового ключа

    1. Відкритий показник степеня для перевіряння

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), підпис має силу



  1. Приклад, копну парне = 2)

Доповнення, використане у стандарті США ANSI Standard Х9.31, гарантує, що будь-яке правиль­не свідоцтво закінчується однією з двох шістнадцяткових цифр — х'с' або х’6'.

  1. Гэнерування ключа підпису і перебіркового ключа

    1. Відкритий показник степеня для перевіряння v-2

    2. Особистий ключ підпису

      1. Особисті прості множники

        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




  2. Гэнерування підпису

М = ASCII form of «аЬс» = 616263