www.docload.spb.ru

, , .
. .
. !
- ! !

 

 

12 2001 . N 380-

 

-

1 2002

 

 

 

 

 

INFORMATION TECHNOLOGY.

CRYPTOGRAPHIC DATA SECURITY. FORMATION AND VERIFICATION

PROCESSES OF [ELECTRONIC] DIGITAL SIGNATURE

 

34.10-2001

 

 

1. - ().

.

2. 12 2001 . N 380-.

3. 2382-2-76 " . . 2. ", / 9796-91 " . . ", / 14888 " . . " / 10118 " . . -".

4. 34.10-94.

 

 

(), , .

34.10-94. . , - 34.11.

2382-2 [1], / 9796 [2], / 14888 [3] - [5] / 10118 [6] - [9].

. :

- - ;

- - ;

- - () .

 

1.

 

() ( - ), (), .

, , .

, .

 

2.

 

:

34.11-94. . . .

 

3.

 

3.1. .

:

3.1.1. (appendix): , (/ 14888-1 [3]).

3.1.2. (signature key): , (/ 14888-1 [3]).

3.1.3. (verification key): , (/ 14888-1 [3]).

3.1.4. (domain parameter): , , (/ 14888-1 [3]).

3.1.5. (signed message): , , .

3.1.6. (pseudo-random number sequence): , () , ( 2382-2 [1]).

3.1.7. (random number sequence): , () ( 2382-2 [1]).

3.1.8. (verification process): , , (/ 14888-1 [3]).

3.1.9. (signature process): , , , (/ 14888-1 [3]).

3.1.10. (witness): , () (/ 14888-1 [3]).

3.1.11. (random number): , , ( 2382-2 [1]).

3.1.12. (message): (/ 9796 [2]).

3.1.13. - (hash-code): , - (/ 14888-1 [3]).

3.1.14. - (hash-function): , :

1) , ;

2) , ;

3) - -.

. 1 , ; 2 , () , , 3 , - , .

 

3.1.15. [] (digital signature): , . , .

. - , " " " ()" .

 

3.2. .

:

V - 256 ;

256

V -

;

Z - ;

- , > 3;

F - ,

{0, 1,..., - 1};

b (mod p) - , b

;

- , V ;

_ _

(h ||h ) - ()

1 2

;

, b - ;

m - ;

q - ;

- ;

- q;

d - - ;

Q - - ;

- .

 

4.

 

() (. 6 / 14888-1 [3]) :

- ( );

- ;

- .

( ) . , .

(. 6):

- (. 6.1);

- (. 6.2).

, . , :

- ;

- , ;

- .

1.

 

_________ ________

/ \

┌────────────┐ ┌──────────────────────┬ - - ─┐

│ ├─────┤ │

└────────────┘ └──────────────────────┴─ - - ┘

 

1.

 

"", " ", , , , , / .

, , -.

, -. - 34.11.

, , 5.2.

. () - , .

, 512 , , 6.1.

, , , 6.2.

 

5.

 

, . , .

5.1. .

> 3.

, F ,

p

(, y), , y F ,

p

:

 

2 3

y = x + ax + b (mod p), (1)

 

3 2

a, b F 4 + 27b

p

.

J(E),

:

 

3

4a

J(E) = 1728 ---------- (mod p). (2)

3 2

4a + 27b

 

a, b ,

J(E), :

 

a = 3k (mod p),

{ (3)

b = 2k (mod p),

 

J(E)

k = ----------- (mod p), J(E) /= 0 1728.

1728 - J(E)

(, y), (1),

; y - - y-

.

Q(x, y)

Q. ,

- y-.

, "+".

Q (x , y ) Q (x , y )

1 1 1 2 2 2

.

Q Q /= .

1 2 1 2

Q (x , y ),

3 3 3

:

 

2

x = - x - x (mod p),

3 1 2

{ (4)

y = (x - x ) - y (mod p),

3 1 3 1

 

y - y

2 1

= ------- (mod p).

x - x

2 1

= y = y /= 0,

1 2 1 2

Q :

3

 

2

x = - 2x (mod p),

3 1

{ (5)

y = (x - x ) - y (mod p),

3 1 3 1

 

2

3x + a

1

= ------- (mod p).

2y

1

, = x

1 2

y = -y (mod p), Q Q

1 2 1 2

, - y-.

Q Q .

2 1

:

 

Q + = + Q = Q, (6)

 

Q - .

E, ,

() m,

:

 

_ _

p + 1 - 2\/p <= m <= p + 1 + 2\/p. (7)

 

 

Q k

,

:

 

 

Q = P + ... + P = kP. (8)

\___ ___/

k

 

5.2. .

:

- - ,

255

> 2 .

;

- , J(E)

a, b F ;

p

- m - ;

- q -

, :

 

m = nq, n Z, n >= 1

{ ; (9)

254 256

2 < q < 2

 

- /= ,

( , y ), q = ;

p p

- - h():V ---> V ,

256

,

, 256 . -

34.11.

:

- - d,

0 < d < q;

- - Q

(x , y ), dP = Q.

q q

:

t

- /= 1 (mod q),

t = 1, 2,..., >= 31;

- m /= p;

- J(E) /= 0

1728.

5.3. .

256 .

256 ,

, - .

 

_ _

h = ( ,..., ), h V , (10)

255 0 256

 

, i = 0,..., 255 1, 0.

i

, Z

_

h, :

 

255 i

= SUM 2 . (11)

i=0 i

 

_ _

h h ,

1 2

, ()

. :

 

_

h = ( ,..., ),

1 255 0

_ (12)

h = ( ,..., ),

2 255 0

 

:

 

_ _

h ||h = ( ,..., , ,..., ) (13)

1 2 255 0 255 0

 

512 ,

_ _

h h .

1 2

,

_

h 512

256 , .

 

6.

 

.

, , 5.2.

, d

Q(x , y ),

q q

5.2.

6.1. .

V

() I.

_

1 - - M:h = h(M). (14)

 

2 - ,

_

h, :

 

= (mod q). (15)

 

= 0, = 1.

3 - ()

k, :

 

0 < k < q. (16)

 

4 - = k

:

 

r = x (mod q), (17)

c

 

- - . r = 0,

c

3.

5 - :

 

s = (rd + ke)(mod q). (18)

 

s = 0, 3.

_ _

6 - r s, r

_ _

s, = (r||s)

.

d , - .

2.

 

┌────────────────────────┐

(

d)

┌──────────────────────┴───────────┬────────────┴────────────────┐

\/

┌─────────────────────────────────────────────┐

1 - -

└───────────────────────┬─────────────────────┘

\/

┌─────────────────────────────────────────────┐

2 -

└───────────────────────┬─────────────────────┘

\/

┌──────────────────────────────────────────────┐

3 - k │<──┐

└───────────────────────┬──────────────────────┘

\/

┌──────────────────────────────────────────────┐

│ 4 - │

= kP, r = x (mod q)

c

└───────────────────────┬──────────────────────┘

\/

┌─────────┐

r = 0 ├─────────────────────┤

└────┬────┘

\/

┌─────────────────────────────────────────────┐

5 - s

└───────────────────────┬─────────────────────┘

\/

┌─────────┐

s = 0 ├─────────────────────┘

└────┬────┘

\/

┌─────────────────────────────────────────────┐

6 - │

└───────────────────────┬─────────────────────┘

\/

└──────────────────────┬────────────────────────┬────────────────┘

( )

└────────────────────────┘

 

2.

 

6.2. .

() II.

1 - r s. 0 < r < q, 0 < s < q, . .

2 - - :

 

_

h = h(M). (19)

 

3 - ,

_

h, :

 

e = (mod q). (20)

 

= 0, = 1.

-1

4 - = (mod q). (21)

5 - :

 

z = s (mod q),

1

(22)

z = -r (mod q).

2

 

6 - = z P + z Q

1 2

:

R = x (mod q), (23)

c

- x- .

c

7 - R = r, , .

, Q, - .

3.

 

┌──────────────────────────────┐

│ ( -│

│ , -│

│ Q)

┌──────────┴───────────────┬──────────────┴───────┐

\/

┌─────────────────────────────┐

│ 1 - r s

└──────────────┬──────────────┘

\/

┌───────────┐

│ 0 < r < q ├─────────────────┼───>┐

│ 0 < s < q │ │

└─────┬─────┘

\/

┌─────────────────────────────┐

│ 2 - -- │

└──────────────┬──────────────┘

\/

┌─────────────────────────────┐

│ 3 -

└──────────────┬──────────────┘

\/

┌─────────────────────────────┐

4 -

└──────────────┬──────────────┘

\/

┌─────────────────────────────┐

5 - z z

1 2 │

└──────────────┬──────────────┘

\/

┌─────────────────────────────┐

│ 6 - - │

= z P + │

1

│z Q R

│ 2

└──────────────┬──────────────┘

\/

┌───────────┐

R = r ├────────────────┼───>│

└────┬──────┘ │

\/

└─────────────┬───────────────────────┬───────────┘

( )

└───────────────────────┘ \/

┌──────────────────────┐

-│

└──────────────────────┘

 

3.

 

 

 

 

 

()

 

 

, .

.1. (padding): (/ 10118-1 [6]).

.2. (identification data): , , (/ 14888-1 [3]).

.3. (signature equation): , (/ 14888-1 [3]).

.4. (verification function): , , (/ 14888-1 [3]).

.5. (signature function): , . , , (), .

 

 

 

 

 

()

 

 

. , a, b, m, q, P, d Q , .

. . "\\" . , :

 

12345\\

67890

10

499602D2

16

 

1234567890, , .

.1. .

(. 5.2).

.1.1. .

:

 

= 57896044618658097711785492504343953926\\

634992332820282019728792003956564821041

10

= 8000000000000000000000000000000000000000000000000000000000000431 .

16

 

.1.2. .

b :

 

= 7

10

a = 7

16

b = 43308876546767276905765904595650931995\\

942111794451039583252968842033849580414

10

b = 5FBFF498AA938CE739B8E022FBAFEF40563F6E6A3472FC2A514C0CE9DAE23B7E .

16

 

.1.3. .

m :

 

m = 5789604461865809771178549250434395392\\

7082934583725450622380973592137631069619

10

m = 8000000000000000000000000000000150FE8A1892976154C59CFC193ACCF5B3 .

16

 

.1.4. .

q :

 

q = 5789604461865809771178549250434395392\\

7082934583725450622380973592137631069619

10

q = 8000000000000000000000000000000150FE8A1892976154C59CFC193ACCF5B3 .

16

 

.1.5. .

:

 

= 2

10

x = 2

16

y = 40189740565390375033354494229370597\\

75635739389905545080690979365213431566280

10

y = 8E2A8A0E65147D4BD6316030E16D19\\

p

C85C97F0A9CA267122B96ABBCEA7E8FC8 .

16

 

.1.6. .

, d:

 

d = 554411960653632461263556241303241831\\

96576709222340016572108097750006097525544

10

d = 7A929ADE789BB9BE10ED359DD39A72C\\

11B60961F49397EEE1D19CE9891EC3B28 .

16

 

.1.7. .

, Q, :

 

= 57520216126176808443631405023338071\\

q

176630104906313632182896741342206604859403

10

x = 7F2B49E270DB6D90D8595BEC458B5\\

q

0C58585BA1D4E9B788F6689DBD8E56FD80B

16

y = 17614944419213781543809391949654080\\

q

031942662045363639260709847859438286763994

10

y = 26F1B489D6701DD185C8413A977B3\\

q

CBBAF64D1C593D26627DFFB101A87FF77DA .

16

 

.2. ( I).

1 - 3 I (6.1) :

 

= 2079889367447645201713406156150827013\\

0637142515379653289952617252661468872421

10

= 2DFBC1B372D89A1188C09C52E0EE\\

C61FCE52032AB1022E8E67ECE6672B043EE5

16

k = 538541376773484637314038411479966192\\

41504003434302020712960838528893196233395

10

k = 77105C9B20BCD3122823C8CF6FCC\\

7B956DE33814E95B7FE64FED924594DCEAB3 .

16

 

= k :

 

= 297009809158179528743712049839382569\\

c

90422752107994319651632687982059210933395

10

= 41AA28D2F1AB148280CD9ED56FED\\

c

A41974053554A42767B83AD043FD39DC0493

16

y = 328425352786846634770946653225170845\\

c

06804721032454543268132854556539274060910

10

y = 489C375A9941A3049E33B34361DD\\

c

204172AD98C3E5916DE27695D22A61FAE46E .

16

 

r = (mod q) :

c

 

r = 297009809158179528743712049839382569\\

90422752107994319651632687982059210933395

10

r = 41AA28D2F1AB148280CD9ED56FED\\

A41974053554A42767B83AD043FD39DC0493 .

16

 

s = (rd + ke) (mod q) :

 

s = 57497340027008465417892531001914703\\

8455227042649098563933718999175515839552

10

s = 1456C64BA4642A1653C235A98A60249BCD6D3F746B631DF928014F6C5BF9C40 .

16

 

.3. ( II).

1 - 3 II (6.2) :

 

= 2079889367447645201713406156150827013\\

0637142515379653289952617252661468872421

10

= 2DFBC1B372D89A1188C09C52E0EE\\

61FCE52032AB102286766720435 .

16

 

-1

= e (mod q) :

 

= 176866836059344686773017138249002685\\

62746883080675496715288036572431145718978

10

= 271A4EE429F84EBC423E388964555BB\\

29D3BA53C7BF945E5FAC8F381706354C2 .

16

 

z = s (mod q) z = -r (mod q)

1 2

:

 

z = 376991675009019385568410572935126561\\

1

08841345190491942619304532412743720999759

10

z = 5358F8FFB38F7C09ABC782A2DF2A\\

1

3927DA4077D07205F763682F3A76C9019B4F

16

z = 141719984273434721125159179695007657\\

2

6924665583897286211449993265333367109221

10

z = 3221B4FBBF6D101074EC14AFAC2D4F7\\

2

EFAC4CF9FEC1ED11BAE336D27D527665 .

16

 

= z P + z Q :

1 2

 

x = 2970098091581795287437120498393825699\\

c

0422752107994319651632687982059210933395

10

x = 41AA28D2F1AB148280CD9ED56FED\\

c

A41974053554A42767B83AD043FD39DC0493

16

y = 3284253527868466347709466532251708450\\

c

6804721032454543268132854556539274060910

10

y = 489C375A9941A3049E33B34361DD\\

c

204172AD98C3E5916DE27695D22A61FAE46E .

16

 

R = x (mod q) :

c

 

R = 2970098091581795287437120498393825699\\

0422752107994319651632687982059210933395

10

R = 41AA28D2F1AB148280CD9ED56FED\\

A41974053554A42767B83AD043FD39DC0493 .

16

 

R = r, .

 

 

 

 

 

()

 

<*>

 

--------------------------------

<*> / - .

 

[1] 2382-2-76. . . 2.

[2] / 9796-91. . .

[3] / 14888-1-98. . . . 1.

[4] / 14888-2-99. . . . 2.

[5] / 14888-3-99. . . . 3.

[6] / 10118-1-94. . . -. 1.

[7] / 10118-2-94. . . -. 2. - n-

[8] / 10118-3-98. . . -. 3. -

[9] / 10118-4-98. . . -. 4. -,

 

 

?????? ??????????? ?????????????-?????????? ??????? ????????.??
  Copyright 2008 - 2017, www.docload.spb.ru