1. ЦИФРОВІ ПІДПИСИ НА ОСНОВІ ІДЕНТИФІКАТОРІВ, ЩО ВІДНОВЛЮЮТЬ ГЕШ-КОД ПОВІДОМЛЕННЯ

Цей варіант схеми Guillou-Quisquater має перевагу в тому, що геш-функцію можна обчислювати паралельно з іншою частиною кроків перевіряння. Процес підписування у цьому механізмі цифрового підписування на основі ідентифікаторів зображений на рисунку 1, а процес перевіряння — на рисунку 3. Свідоцтво є детермінованим. Цей механізм відрізняється від схеми Guillou-Quisquater такими процедурами:

  • обчислювання свідоцтва;

  • обчислювання першої частини підпису.

Також передбачається, що рандомізатор К, створений підписувачем, задовольняє mod Р і К * 0 mod Q, інакше можна здійснити фактори за цію N. Звідси можна також припустити, що попередній підпис П не буде кратним Рчи Q.

  1. Обчислювання свідоцтва

Свідоцтво обчислюють як геш-атрибут Н повідомлення М за допомогою стійкої до колізій геш- функції.

  1. Обчислювання першої частини підпису

Першу частину підпису обчислюють як

«=П -Hmod/V.

З огляду на повторно обчислене значення П попереднього підпису перевірювач одержує повторно обчислене значення свідоцтва Н, обчислюючи:

Н = П-1/? mod N.ДОДАТОКA
(довідковий)

ЧИСЛОВІ ПРИКЛАДИ

Числа подано в шістнадцятковій системі числення.

А.1 Числовий приклад процесу створювання перевіркоєого ключа

А. 1.1 Гоперування параметрів проблемної області

Модуль N є добутком двох різних простих чисел Р і Q, У цьому прикладі використовуються 512-бітові прості числа Р і Q, таким чином, N є 1024-бітовим числом.

р-

FFFFFFFF А07А2345 3CBF08EA 50948Е87

EA2DE66E 9B7956FB 3BC7A1BD

D3B1B7E9 1B9B16D7 541CB3A8

61B75DFC E1B6D59B

80E02E43

D9FAE2FF BDF45B85 87CA7DEF

Q =

FFFFFFFF

E275B7F4

98A3811D

E906ACF7

BFEB5CD6


A445AF09

D7906DE1

97CC2CCD

87614718

8C7C084F


CE9231CA

B7CFA113

13C3DDCF

F1B70A54

84494467


8FCEF193





N = PQ =

FFFFFFFF

CCA39E63

6ED9CF52

950C23A0

38AE0291


012B984A

964FFBBD

99E9DACB

91400431

0C5DD264


B1873126

44A725C5

D5BC73F4

97CFD100

89FD1342


656026BE

3FB583FE

B134FF43

6957A1E1

D975B5BE


DF1A9570

4C81A337

F06E5F9F

9388A7AC

5ABFD5CF


0356D91A

9861C69F

E50509C2

323E5270

F2015FBD


C08AA2C0

391CEE85






Показник степеня для перевіряння є непарним цілим числом взаємно простим з Р-1 і Q-1. У цьому прикладі Ує 279 + 1, тобто що довжина V дорівнює 80 бітам:

V = 8000 00000000 00000001.

Показник степеня генерування перевіркового ключа D це додатне ціле число, таке, що ОУ-1 є кратно Icm (Р-1, Q-1).

Icm (P-1, Q-1) =

7FFFFFFF 8095CC25 58C39893 32B0135E 229A2ACD

5C733AA2 DA3B7034

E651CF31 4B27FDDE 225392E2 1FDAC1FF 03E0E874 C68845F5 AC5CB736

B76CE7A9 CCF4ED65 EADE39FA 7248B06F 3EB24D61 78B6E378

4A8611D0 C8A00218 4BE7E880 FE81346D 7010B203 E52EE07C

1C570148 862EE932

44FE89A1

475BD565 78D3DC8D 3FB51392

D =

1BC6C0ED

36435CBF

A89C7A35

50CE3D54

C6ABC9F5


EE5E75C9

E458AADA

6178CB20

C7339C4E

F30413A6


586DA8B6

45A72BDF

291C9218

F0CA83EF

A4234FAD


8394B2BF

8F4A0EF9

61E098FC

2CC5AFAA

46CCC821


0427D3EE

3461AF0B

46895311

E1DAD21F

35217CBC


4FD1A5B9

62E01B8B

967F97E2

41ECF56E

DBF85278


EC058601

17D9A7B7




А.1.2 Створювання перебіркового ключа і ключа підпису

Перевірковий ключ Y це вихід функції для генерування відкритого ключа у, для якої входом є дані ідентифікації /, і він некратний Р чи Q. Цей приклад використовує 1024-бітозе число Y, менше ніж N.

Y =

С50ЕССС9

64443В0А

1C974F40

1С94Е500

FA8214FC


9В1В5ЕС5

2АА1201А

001ЕА099

FE90D01D

F32C6B43


323F0812

42АВЕ843

09F926BB

9338А841

5DEF2EF6


E709E3BD

515B5D86

C3ED4B7F

C15FA876

26Е8Е9С7


0E557D5B

A8E96D7C

B55FBF41

37F601FF

47В7СССВ


6BED4407

6F8E9805

42Е37105

522Е7184

42A717DF


Е89А6В62

7В6Е60В7






Третя довір на сторона обчислює особистий ключ підпису X як:

X = Y d mod N =

A763FA4

3895CFDD

D80627A6

А8271250

97С184Е5

10F0075C

48FCB0E7

F2885275

ААА32829

C08CF352

0F42F6FD

C296DCE1

F50FBDED

D5C33C7C

63298C4F

26C2CDEE

11D927BA

С6ЕС4А6А

С022С063

1F30E880

07452397

7F3ACA8C

422Е2461

3B7F3BB0

E61D04B8

0670А128

0ED7C8C1

A72D4B1C

С566381В

0665F83B

70FD7158

0В7А6ЕЕС






А.2 Числовий приклад механізму цифрового підписування Guillou-Quisquater, описаного в розділі 9

У цьому прикладі використовувана геш-функція фіксована, відома всім об’єктам проблемної об­ласті і, отже, геш-ідентифікатори не вимагаються. Геш-атрибут створюється за допомогою SHA-1.

Параметри проблемної області, особистий ключ підпису та перевірковий ключ ті самі, що й у А.1.

А.2.1 Процес підписування

А.2.1.1 Процедура попереднього підпису

Підписувач виробляє рандомізатор, що є випадковим чи псевдовипадковим цілим числом К, 0 < К < N. У цьому прикладі використовується 1024-бітовий рандомізатор К.


В2045А19

83150F5B

В04СВ524

2В566А37

6779F416


5C7F1673

029C1BFC

05А84С60

Е401897А

CEAD9DE5


C7D8108B

95943332

FF6B20D3

004CCD40

36BDBB7E


10DA755E

B03720F0

5A0CDC53

66ЕВ4374

ВЕ091А80


6D339190

D2ADE1CD

9E11EF4E

A5FF6969

3D0EB942


BFCC333D

F5FDD599

1D3B78A7

4868В0С6

381АЕА61


C24F3E05

2D8D9FFA




Попередній підпис П обчислюють як:




П-

Kv mod N =






15В35ВВ7

0DDD7ED8

0FAD7EDE

A80F828E

46B3F86D


4EFB7E84

58562B6D

6F1885D0

A02FD892

8838С128


В53ЕЕ703

FAC96534

6С18А714

17D12FD7

211С3956


B6AD1A15

F4399EB0

CC065E8F

CC0039F3

E13A8EFE


5FB384CC

D0190FA9

DC995DEC

BB07947F

72124D7B


90444ЗЗС

7А416В62

99297387

0174FB6A

94A8FA8B


1CBD7E0A

2780DFD8






А.2.1.2 Гэтування повідомлення

У цьому прикладі за повідомлення береться такий текст:

М: This is a test message!

А.2.1.3 Обчислювання свідоцтва

Свідоцтво в цьому прикладі утворить першу частину підпису. Перша частина R підпису: R = геш-атрибут для П || М ~

42AF9098 F1596D17 ЕАС6ЕА31 36E7D9F3 30F8E9FB

А.2.1.4 Обчислювання призначення

Призначення Тдорівнює R, що є цілим додатнім числом: Т = R.

А.2.1.5 Обчислювання другої частини підпису

Другу частину підпису S обчислюють у такий спосіб: S = K-XTmodN =

B1FAF642

59F99E7A

В32029А6

1FDEE247

F068853F

80C6FF87

9FB07983

А61С047В

34СЕЕ1С8

F69FF97B

020F0B6C

F37E4A85

05EAEF00

01Е825Е5

8B8F3438

0C332BF5

B3D47E5F

C654747F

E1289D61

061F124В

С19ЕВВ38

D466970C

39СЕС404

7O3FB359

А0019692

F968F760

72F2D6F5

0CD75C73

1D9EEE7F

EFFB6F98

E80BD095

5D00C051






Підпис S складається з двох частин (R, S).

А.2.2 Процес перевіряння

Перевірювачу доступні значення таких елементів даних:

N, V, Y, М, S = (R, S).

А.2.2.1 Відновлювання призначення

Призначення Т дорівнює першій частині підпису R:

Т = R.

А.2.2.2 Повторне обчислювання попереднього підпису

Перевірювач робить повторне обчислювання значення П = Y1 ■ Svmod N попереднього підпису.

П = YT-SvmodN.

Примітка. Якщо (YT mod N) і (Sy mod .V) обчислюють окремо, їх подають як:

Уг mod N =

ЗС18САА0

339ED6CA

6C80AF2C

201481C1

74054C22

А8314537

0B8C6DF1

92766BC4

C3FD8C14

76EDD630

Е02ЕЗЗЕ8

4F557C86

A51FE7B5

9769CF40

98E34D29

111E9BF0

82825727

85B047F3

82F51DB4

51558F87

FE5FAA6F

C1C45803

77AC051D

85A094BD

65472145

4618DECB

EC2B58FF

891DC06F

D202E815

1A39ACA5

8D5C60D9

419695E7




Sv mod N =





A8E6DDCF

74D3C94D

23F5FDE0

820431B4

FA51F3D9

150D5CDE

DB0692A0

735FD729

BCAC0825

7CA19BA1

565F03BA

7849B538

B9BF1797

5473FC28

299F0F3C

04C3EE35

E31BFA2C

A17F1781

0488F988

05439C3E

7B8BE70C

F027401D

786DAC48

AE2507F5

30EC01C7

1090504D

9BD82673

CD472405

8EF34697

21F90D3F

1E2DD798

50AC0090






А.2.2.3 Повторне обчислювання свідоцтва і перевіряння свідоцтва

Свідоцтво повторно обчислюють як геш-атрибут:

ГІ = YT ■ Sy mod N И М = R.

Повторно обчислене свідоцтво її = YT- Sv mod N збігається з відновленим свідоцтвом R.

А.З Числовий приклад цифрових підписів з коротким призначенням, описаним у розділі 10