Sunteți pe pagina 1din 8

Definitie 1 Se numeste criptosistem este un tuplu (P, C, K, E, D)

P este multimea finita a mesajelor originale.


C este multimea mesajelor criptate.
K este multimea finita a cheilor de criptare.
pentru orice k K, exista ek E si dk D. E se numeste spatiul
functiilor de criptare, iar D este spatiul functiilor de decriptare.
dk (ek (w)) = w, pentru orice k K si pentru orice mesaj original w.
Se numeste criptosistem simetric un criptosistem n care cheile de criptare,
respectiv de decriptare sunt identice, sau se deduc imediat una din alta.
Criptanaliza se ocupa cu gasirea cheilor de decriptare, sau a chilor de
criptare, sau cel putin cu producerea unei metode prin care sa se obtina
informatii despre mesajele criptate. Pot fi disponibile urmatoarele tipuri de
informatii
(CO) unele (aleator) mesaje criptate (cryptotext only).
(KP) unele (aleator) mesaje originale si mesajele criptate corespunzatoare
(known plaintext).
(CP) un mesaj original ales si criptotextul corespunzator (chosen plaintext).
(CK) un criptotext ales si mesajul original corespunzator (chosen cryptotext).

1
1.1

Criptosisteme clasice
Criptosistemul afin

Pentru a putea folosi rezultatele de teoria numerelor, textele si simbolurile


sunt codate ca numere si clase de resturi. Daca se doreste criptarea a M
simboluri, se pot folosi clasele de resturi modulo M.
Un mesaj simbol i (adica o clasa de resturi modulo M din sistemul de
clase de resturi pozitiv) este criptat astfel
ek1 (i) = (ai + b) mod M,
1

unde a, b sunt numere ntregi, gcd(a, M ) = 1. Cheia de criptare este


k1 = (a, b),
iar cheia de decriptare este
k2 = (c, b),

c = a1 mod M.

Functia de decriptare este


dk2 (j) = c(j b) mod M.
Situatia particulara cu a = 1 se numeste criptosistem CAESAR.

1.2

Criptosistemul Hill

S i n acest caz imbolurile sunt codate clasele de resturi modulo M. Un mesaj


este un dvector format din d clase de resturi modulo M,
i = (i1 , , id ).
Cheia de criptare este o d d matrice H care are inversa K modulo M .
Functia de criptare este
ek (i) = iH mod M,
iar functia de decriptare este
dk (j) = jK mod M.
Clasele de resturi sunt considerate n sistemul pozitiv de clase de resturi.

1.3

Criptosistemul afin-Hill

Pentru a putea folosi rezultatele de teoria numerelor, textele si simbolurile


sunt codate ca numere si clase de resturi. Daca se doreste criptarea a M
simboluri, se pot folosi clasele de resturi modulo M. Cheia de criptare este
k1 = (H, b),
iar cheia de decriptare este
k2 = (K, b),

K = H 1 mod M.
2

Functia de criptare este


ek1 (i) = (iH + b) mod M,
unde a, b sunt numere ntregi, gcd(a, M ) = 1. Functia de decriptare este
dk2 (j) = (j b)K mod M.
Situatia particulara cu H = Id se numeste criptosistem VIGENERE.

RSA

Cheia secreta k2 = (p, q, b) unde p, q sunt doua numere prime mari p, q


de lungime aproximativ egala si un numar ntreg b (numi exponent de decriptare) cu proprietatea
gcd(b, (p, q)) = gcd(b, (p 1)(q 1)) = 1.
Cheia publica k1 = (n, a), unde n = p q, iar a (exponentul de criptare) este
ntregul
ab 1 mod (n).
Functia de criptare este
ek1 (w) = wa mod n,
iar functia de decriptare este
ek2 (w) = cb mod n
si
0 w n 1.
Lem
a 2 x y mod n daca si numai daca au loc ambele relatii x y mod p
si x y mod q.
Constructie RSA
Se genereaza aleator numerele prime p si q de lungime dorita.
Se calculeaza n = p q si se calculeaza (n) = (p 1)(q 1).
3

Se determina b aleator n intervalul 1 b (n) 1 astfel ncat


gcd(b, (n)) = 1, generand numere aleator n acest interval si calculand
gcd.
Se calculeaza a = b1 mod (n).
Se publica k1 = (n, a).
Verificare decriptare
Daca gcd(w, n) = 1, cu teorema Euler
cb (wa )b = wab = w1+l(n) = w(w(n) )l w 1 = w mod n.
Daca gcd(w, n) 6= 1, avem urmatoarele trei situatii
w = 0. Atunci
cb (wa )b = 0b = 0 mod n.
p/w, dar w 6= 0. Atunci w = pt, gcd(q, t) = 1. Atunci
cb (wa )b w mod p.
Pe de alta parte, cu teorema lui Fermat, avem
wab = w1+l(n) = w(w(n) )l = w(wq1 )l(p1) w 1 = w mod q.
Folosind Lema rezulta ca
cb (wa )b w mod n.
q/w, dar w 6= 0. Se trateaza similar cu situatia precedenta.

Criptosistemul Elgamal

Se poate defini n orice grup finit G = (A, , 1) care are proprietatea ca n


grupul ciclic < a > G, logaritmul discret loga este dificil de calculat.
Grupul G poate fi, spre exemplu, Zp , mai general Fpn , n particular F2n
si curbe eliptice peste corpuri finite.
Cheia publica este tripletul k1 = (G, a, b), unde b = ay .
4

Cheia secreta este k2 = y. Se observa ca cheia publica contine informatii


despre cheia privata deoarece y = loga b, dar logaritmul discret este greu
de calculat.
Se alege x arbitrar, 0 x l 1, unde l este ordinul lui a. Daca nu
dorim sa pulicam l, sau nu se cunoaste, putem nlocui l, spre exemplu,
cu numarul de elemente al lui G, numar ce are ca factor pe l (conform
teoremei lui Lagrange). Functia de criptare este
ek1 (w, x) = (ax , w bx ) = (c1 , c2 ).
Functia de decriptare este
dk2 (c1 , c2 ) = c2 cy
1 .
Se verifica imediat ca
dk2 (ax , w bx ) = w bx (ax )y = w axy axy = w.
Spre exemplu, n grupul comutativ Zp , p prim, se considera a o radacina
primitiva modulo p. p trebuie ales astfel ncat p 1 sa aiba un factor prim
mare astfel ncat logaritmul discret sa nu poata fi usor calculat.
1. Se aleg aleator q numar prim mare si un numar mai mic r care poate
fi factorizat.
2. Daca 2qr + 1 este prim, atunci
p 2qr + 1.
In acest caz p 1 are factorul prim q mare. Altfel se revine la pasul 1.
3. Se alege aleator a n intervalul 1 a p 1.
4. Se testeaza cu criteriul lui Lucas daca a este rada cina primitiva modulo
p. Factorii primi ai lui p 1, de care avem nevoie, sunt 2, q si factorii
primi cunoscuti ai lui r.
5. Daca a este radacina primitiva modulo p, se alege aleator y n intervalul
1 y < p, se returneaza p, a, y si STOP. Altfel, se revine la pasul 3.
5

Criptosistemul Menzes-Vanstone (bazat pe


curbe eliptice)
Cheia publica este tripletul k1 = (E, , ), unde E este o curba eliptica
peste corpul finit Zp (p > 3), este un generator al unui subgrup al lui
E, iar = a.
Cheia secreta este k2 = a.
Functia de criptare este
ek1 ((w1 , w2 ), x) = (y0 , y1 , y2 ),
unde
y0 = x,

y1 = c1 w1 mod p,

y2 = c2 w2 mod p,

x aleator, iar c1 , c2 sunt obtinute reprezentand x = (c1 , c2 ) punct pe


curba eliptica n sistemul rezidual pozitiv. x trebuie ales astfel ncat
c1 , c2 6 0 mod p.
Functia de decriptare este
1
dk2 (y0 , y1 , y2 ) = (y1 c1
1 mod p, y2 c2 mod p).

Se verifica imediat ca
ay0 = a(x) = (ax) = x(a) = x = (c1 , c2 ).

Criptosistemul NTRU

Sistemul simetric de clase de resturi


, , 0, 1, , m2 .
m par: m2
2
m impar: m1
, , 0, 1, , m1
.
2
2
Fie a(x) Zp [X],
a(x) =

k
X

ai x i

(ai {0, 1, , p 1}).

i=0

Polinomul obtinut din a(x) reducandu-i coeficientii n sistemul simetric modulo p este polinomul a0 (x) Z[X], care satisface
a0 (x) mod p = a(x)
si ai carui coeficienti se afla n intervalul
p
p
< ai .
2
2
Se considera functiile secrete f, g Z[X], de grad n 1. Notam cu
f(p) , g(p) Zp [X]/(xn 1) polinoamele obtinute din f si g reducandu-le
coeficientii n sistemul simetric de clase de resturi modulo p, iar cu f(q) , g(q)
Zq [X]/(xn 1) polinoamele obtinute din f si g prin reducerea coeficientilor
n sistemul simetric de clase de resturi modulo q. Se cere, de asemenea, sa
existe polinoamele Fp (x) Zp [X], Fq (x) Zq [X], de grad cel mult n 1
astfel ncat
Fp (x)f(p) (x) 1 mod xn 1
si
Fq (x)f(q) (x) 1 mod xn 1.
Se calculeaza
h(x) Fq (x)g(q) (x) mod xn 1,
h Zq [X]/(xn 1).
Cheia publica este (n, p, q, h(x)).
Cheia privata este (f, g).
Un mesaj este un polinom w(x) Zp [X], de grad cel mult n 1. In
particular w este reprezentat utilizand sistemul simetric de clase de
resturi modulo p. Se alege polinomul aleator (cheia efemera) (x) de
grad maxim n 1.
Functia de criptare este
c(x) p(q) (x)h(x) + w(q) (x) mod xn 1.
Functia de decriptare este
a(x) f(q) (x)c(x) mod xn 1,
w0 (x) Fp (x)a(p) (x) mod xn 1.
7

Notatii
Fie
R = Z[X]/(xn 1),

Rq = Zq [X]/(xn 1),

Rp = Zp [X]/(xn 1).

Daca a, b R, definim convolutia polinoamelor a si b prin formula


X
a(x) ? b(x) = c(x), ck =
ai bki .
i+j(k mod n), 0i,jn1
Daca a, b Rq , atunci convolutia polinoamelor a si b se defineste
folosind aceeasi formula, reducand modulo q coeficientii ck ai polinomului c.
Pentru d1 , d2 numere ntregi pozitive, definim
P(d1 , d2 ) = {a R : polinomul a(x) are d1 coeficienti egali cu 1,
d2 coeficienti egali cu 1 si restul coeficientilor egali cu 0}.
Exemplu de criptosistem NTRU
Cheia publica este (n, p, q, d, h) N, p numere prime, (p, q) = (n, q) = 1,
q > (6d + 1)p.
Cheia privata este (f, g), unde f P(d + 1, d este inversabil n Zp [X]
si n Zq [X], iar g P(d, d). Se calculeaza
Fq = f 1 n Rq ,

Fp = f 1 n Rp ,

h = Fq ? g.

Se alege m(x) Rp si cheia efemera (x) P(d, d). Mesajul criptat


este
c(x) p ? h + m(mod q).
Pentru decriptare se calculeaza
a(x) f ? c(mod q),
se reduc coeficientii lui a n sistemul simetric modulo p si se calculeaza
m Fp (x) ? a(mod p).

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