Sunteți pe pagina 1din 2

1

Semnatura El Gamal

Fie p = 97 un numar prim (pentru care problema logaritmilor discreti in Z este dificila) si Zp*=Zp\{0},

= 7 un element primitive. Se ia:

mod p
P=Zp*, A=Zp*xZp-1, K={(p, , a , = )}.

Valorile p, , sunt publice, iar a este secret.

a = 5.

5
= ( mod p )=7 mod 97=26.

i ci
2 11^2 mod 97 = 1 x 7 mod 97 = 7
1 07^2 mod 97 = 49
0 149^2 mod 97 = 73 x 7 mod 97 = 26
7^5 mod 97 = 26

Criptare:

Se ia mesajul x = U ASCII> 85.

Pentru K = (p, ,a, ), k = 11 Zp 1 (secret) se defineste:

sigK(x,k) = ( , ), unde

= mod p

=( x )k (mod p - 1).

= 7 mod 97 = 76.

i ci
3 11^2 mod 97 = 1 x 7 mod 97 = 7
2 07^2 mod 97 = 49
1 149^2 mod 97 = 73 x 7 mod 97 = 26
0 126^2 mod 97 = 94 x 7 mod 97 = 76
7^11 mod 97 = 76

= (85-5x76)11 mod 96=-295x35 mod 96=-10325 mod 96= 96 - (10325 mod 96)= 43

sigK(85,11)= (76,43)

Verificare:

Pentru a verifica semnatura, calculam:

verK(x, , )= T <=> mod p= mod p


2

mod p = 2676 mod 97 = 4 x 15 mod 97 = 60.

mod p = 7 mod 97 = 60.

Semnatura este deci valabila.

Descriptare:

Pentru , Zp se defineste:

dK(,) = x () mod p

dK(,) = 43 x (76) mod 97 = 85 ASCII> U

S-ar putea să vă placă și