.


:




:

































 

 

 

 


-




 

64- - , . -, 128- -. , -, 264 , , , , . (Secure Hash Standard, SHS), 160- -. , 280 .

-, -, .

1. - -.

2. .

3. -.

4. - , - (1) - (3).

5. (1)-(4) -.

MD-

, , , . - . - . . - , . , - i,

h i, =f(i, h i -1)

- . - - .

3.1 -

 

. , , -. MD- (MD - Message Digest). -.

MD4

MD4 - -, , 128- -, .

, :

. -. .

. MD4 - , , .

. MD4 . 32- .

. MD4 , , .

. MD4 ( Intel), .

MD4

b , MD. b 0, 8.

:

MD 5 :

1:

, ( ) 448 512 .. 64 512 . , .

:

- 1, 0. 1 , 512.

2: :

64 b ( ) . 2^64 ( ), 64 .

, 512 (16 32 ), :

N- 16

3: MD

(A,B,C,D), MD. :

word A: 01 23 45 67word B: 89 ab cd efword C: fe dc ba 98word D: 76 54 32 10

4: 16

, 3 , .

F(X,Y,Z) = XY v not(X) ZG(X,Y,Z) = XY v XZ v YZH(X,Y,Z) = X xor Y xor Z

F X Y, Z

G X,Y,Z

H xor,

: /* 16 . */ For i = 0 to N/16-1 do /* i X. */ For j = 0 to 15 do X[j] = M[i*16+j]. end /* j */ /* A AA, B BB, C CC, D DD. */ AA = A BB = B CC = C DD = D /* 1. */ /* [abcd k s] a = (a + F(b,c,d) + X[k]) <<< s. */ /* 16 . */ [ABCD 0 3] [DABC 1 7] [CDAB 2 11] [BCDA 3 19] [ABCD 4 3] [DABC 5 7] [CDAB 6 11] [BCDA 7 19] [ABCD 8 3] [DABC 9 7] [CDAB 10 11] [BCDA 11 19] [ABCD 12 3] [DABC 13 7] [CDAB 14 11] [BCDA 15 19]

/* , ABCD , k 0 15, s {3,7,11,19}.*/

 

/* 2. */ /* [abcd k s] a = (a + G(b,c,d) + X[k] + 5A827999) <<< s. */ /* 16 . */ [ABCD 0 3] [DABC 4 5] [CDAB 8 9] [BCDA 12 13] [ABCD 1 3] [DABC 5 5] [CDAB 9 9] [BCDA 13 13] [ABCD 2 3] [DABC 6 5] [CDAB 10 9] [BCDA 14 13] [ABCD 3 3] [DABC 7 5] [CDAB 11 9] [BCDA 15 13]

/* , ABCD , k 0 15, s {3,5,9,13}.*/

/* 3. */ /* [abcd k s] a = (a + H(b,c,d) + X[k] + 6ED9EBA1) <<< s. */ /* 16 . */ [ABCD 0 3] [DABC 8 9] [CDAB 4 11] [BCDA 12 15] [ABCD 2 3] [DABC 10 9] [CDAB 6 11] [BCDA 14 15] [ABCD 1 3] [DABC 9 9] [CDAB 5 11] [BCDA 13 15] [ABCD 3 3] [DABC 11 9] [CDAB 7 11] [BCDA 15 15]

/* , ABCD , s {3,9,11,15}, k */

/* ABCD */ A = A + AA B = B + BB C = C + CC D = D + DD end /* i */: 5A..99 32 2 .

6E..A1 32 3 .

5:

MD A,B,C,D A D.

(128 )

MD4. , . MD5.

MD5

MD5 - MD4. MD4, , MD5 128- -.

MD5

MD5 512- , 16 32- . 32- , 128- -.

-, , 64 , 512. 1, , . , 64- (, ). , 512 ( ), , . :

= 0x01234567

= 0x89abcdef

= 0xfedcba98

D = 0x76543210

 

.

. , 512- .

: , b, D d.

. 16 . , b, d. , . , b, d. ,b, d. , ( - ).

 

3.2 - MD5

3.3 - MD5

, , X, Y Z , . F - : X, Y, Z. - .

Mj j- ( 0 15), a <s s , :

FF(a,b,c,d,Mj,s,ti) a = b + ((a + ¥(b,c,d) + ,- + tt) <s)

GG(a,b,c,dMj,s,ti) a = b + ((a + G(b,c,d) + Mj + tt) <s)

HH(a,b,c,d,Mj,s,ti) a = b + ((a + H(b,c,d) + M,- + tt) <s)

II{a,b,c,dMj,s,ti) a = b + ((a + I(b,c,d) + Mj + tt) <s)

.

1:

, ( ) 448 512 .. 64 512 . , . :

- 1, 0. 1 , 512.

2: :

64 b ( ) . 2^64 ( ), 64 .

, 512 (16 32 ), :

, N- 16

3: MD

(A,B,C,D), MD. :

word A: 01 23 45 67word B: 89 ab cd efword C: fe dc ba 98word D: 76 54 32 10

4: 16

, 3 , .

F(X,Y,Z) = XY v not(X) Z

G(X,Y,Z) = XZ v Y not(Z)

H(X,Y,Z) = X xor Y xor Z

I(X,Y,Z) = Y xor (X v not(Z))

F X Y, Z

G X,Y,Z

H xor,

T[1..64], . T[i]= 4294967296 * abs(sin(i)), i .

: 16 . */ For i = 0 to N/16-1 do /* i X. */ For j = 0 to 15 do X[j] = M[i*16+j]. end /* j */ /* A AA, B BB, C CC, D DD. */ AA = A BB = B CC = C DD = D /* 1. */

/* [abcd k s i]

a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */

/* 16 . */

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]

[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]

[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]

[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

 

/* 2. */

/* [abcd k s i]

a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */

/* 16 . */

[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]

[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]

[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]

[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

/* 3. */

/* [abcd k s t]

a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */

/* 16 . */

[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]

[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]

[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]

[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]

 

/* 4. */

/* [abcd k s t]

a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */

/* 16 . */

[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]

[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56]

[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60]

[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

/* ABCD */ A = A + AA B = B + BB C = C + CC D = D + DD end /* i */

5:

MD A,B,C,D A D (128 ).

MD5

MD5 MD4:

1. .

2. .

3. G 2 , G .

4. . .

5. , 2 3, .

6. . , , , .

MD2

MD2 - 128- -, . MD5 . MD2 . pi. So, S1, S2,, S255 .

:

1. i , i , 16 .

2. 16 .

3. 48- : , \, 2,..., 1. 16 X , 16 X 16 , 16 X XOR 16 X.

4. :
t = 0

For j = 0 to 17

For = 0 to 47

t = Xk XOR St,

Xk=t

t = (t +j) mod 256

5. 16 X 16 , 16 X XOR 16 X. (4). (3) (4) 16 .

6. 16 X.

MD2 , -.

(Secure Hash Algorithm, SHA)

(Secure Hash Algorithm, SHA), (Digital Signature Algorithm, DSA). 264 SHA 160- , . , DSA, . , , . , , SHA. SHA , , , . , , , . , SHA, . MD4. SHA .

SHA 160- -, , MD5

SHA

-, , 512 . , MD5: 1, , 64 , 512, 64- .

32- ( MD5 , 160- -):

= 0x67452301

= 0xefcdab89

= 0x10325476

D = 0x10325476

E = 0xc3d2elf0

. 512- , .

: , b, , D d .

20 ( MD5 16 ). , b, , d , MD5. SHA :

, t=0 19 , t=20 39

, t=40 59 , t=60 79 :

t = 05827999, t=0 19

t = 0x6ed9ebal, t=20 39

t = 0x8flbbcdc, t=40 59

t = 0xca62cld6, t=60 79

( , , :05827999 = 21/2/4, 0x6ed9ebal = 31/2/4, 0x8flbbcdc = 51/2/4, 0xca62cld6 = 101/2/4; 232)

16 32- ( 15) 80 32- (W0 no W79) :

Wt = Mt, t = 0 15

, t=16 79

t - ( 1 80), W, t- , <<< - s , :

FOR t = 0 to 79

TEMP = ( <<<5) +ft(b,c,d) + e+Wt + Kt

e = d

d = c

c = b <<< 30

b = a

a = TEMP

Ha 3.4 . , MD5 .

3.4 - SHA.

, b, , d , , D , , . , , D .

SHA

SHA MD4, 160- -. .

 

1. - :

- MD2 - < > MOD 4 =0;

- MD4 - < > MOD 4 =1;

- MD5 - < > MOD 4 =2;

- SHA - < > MOD 4 =0;

2. .

:

1. ?

2. -?

3. ?

4. -?

5. -?


4

: . RSA. - . RSA.

: . RSA, RSA.

, . , : , , .. , .

:

;

, , ;

, ( );

;

;

;

, , ;

;

, ;

;

, , .

- - . , , , - . .. - .

, , .

, , . , . , . .

. . , .

, : x f(x), y = f(x), x.

. .

. , , .

1. :

, :

k .

( k ).

 

4.1 -

 

:

1) :

- : k ;

- ( , , ).

2) :

- ;

- k, ( ) , . k .

: , ; .

, :

1. .

2. . ( ) .

. , RSA - .

:

1. .

2. .

3. .

, .

1. .

2. . , . , . .

3. (- ).

RSA.

, - RSA, 1977 : , .

, , . ( ), RSA . , .

RSA:

1. Q N=PQ M=(P-1)(Q-1).

2. D, , , DE = 1 MOD .

3. D N , .

4. S - , , , (1, N), D N S'=(S**D) MOD N.

5. , N, S =(S'**E) MOD N = (S**(D*E)) MOD N.

, N D, .

RSA . RSA , ( ).

RSA , SSL, S-HHTP, S-MIME, SWAN, STT PCT.

, .

1. ( .)

- ,

xp -1 = 1 (mod p) (1)

, ,

xp = (mod p) (2)

.

. (1) (2) ÎZ p. .

xp =(x -1+1) p = å C(p,j)(x -1)j=(x -1) p +1 (mod p),

0£j£ p

C(p,j)=0(mod p) 0<j< p. .

. j(n) , n n.

n                      
j(n)                      

2. n = pq, (p q - ),

j(n)=(p -1)(q -1).

3. n = pq, (p q - ) - q,

x j(n) = 1 (mod n).

. n = pq, (p q - ) j(n),

e,n: x x e (mod n)

Z n.

, - j(n), d, ,

ed = 1 (mod j(n)) (3)

RSA.

n = pq, p q - . e d (8.2.3), e,n d,n Zn. e,n, d,n , e, d, p, q. e n, p q , e,n ; d,n n n. p q - , n . RSA.

i p i q i (ei, di), j(ni), n i= p i q i. {(ei,ni)}.

,

x =(x 0, x 1,..., x n-1), x ÎZn, 0 £ i < n,

n i:

N = c0+ci n i+....

i j, n Edi,ni:

N Edi,ni n = n .

j n , Eei,ni:

N Eei,ni n = Eei,ni Edi,ni n = n.

, Edi,ni Eei,ni, n = p i q i. n =10100 .

, RSA.

: ”. ( ).

1. p =3 q =11.

2. n =3*11=33.

3. (p -1)(q -1)=20. , d, 20, , d =3.

4. . , (*3) (mod 20) = 1, 7.

5. : 1, ®2, Ѯ3. (3,1,2). {7,33}.

1 = (37) (mod 33) = 2187 (mod 33) = 9,

2 = (17) (mod 33) = 1 (mod 33) = 1,

3 = (27) (mod 33) = 128 (mod 33) = 29.

6. (9,1,29) {3,33}:

1 = (93) (mod 33) = 729 (mod 33) = 3,

2= (13) (mod 33) = 1 (mod 33) = 1,

3 = (293) (mod 33) = 24389 (mod 33) = 2.





:


: 2016-10-06; !; : 1136 |


:

:

, , .
==> ...

1709 - | 1410 -


© 2015-2024 lektsii.org - -

: 0.181 .