Matematici ^ n Criptogra e - MTA

178
Matematici ˆ ın Criptografie Adrian Atanasiu

Transcript of Matematici ^ n Criptogra e - MTA

Page 1: Matematici ^ n Criptogra e - MTA

Matematici ın Criptografie

Adrian Atanasiu

Page 2: Matematici ^ n Criptogra e - MTA
Page 3: Matematici ^ n Criptogra e - MTA

3

PrefataIn era digitala – cum este si firesc – criptografia este omniprezenta. Tehnicile crip-

tografice sunt folosite pentru a securiza comunicatiile derulate prin intermediul retelelor decalculatoare, pentru a efectua plati on-line, pentru a implementa scheme de vot electronic,ın cadrul telefoanelor mobile sau cardurilor bancare. In viitorul apropiat se prefigureazanoi aplicatii ale criptografiei ın domenii precum Cloud Computing, Internet of Things(IoT ), vehicule inteligente sau telemedicina.

Daca ın trecut, criptografia era utilizata de un numar restrans de specialisti ce lucraupentru armata, guvern sau ın cadrul bancilor, astazi, un numar tot mai mare de persoanetrebuie sa ınteleaga cum functioneaza algoritmii criptografici si cum pot fi acestia folositiın practica pentru a asigura confidentialitatea, integritatea si autenticitatea datelor.

Algoritmii criptografici au la baza ınsa o serie de concepte matematice. Prin urmare,pentru a ıntelege criptografia, trebuie, mai ıntai, stapanite aceste concepte. Rolul acesteicarti este de a familiariza cititorul cu fundamentele matematice ale criptografiei.

Cartea debuteaza cu prezentarea structurilor algebrice de grup, inel si corp, continuacu elemente de divizibilitate si congruenta, polinoame si extensii Galois, aritmetica pecurbe eliptice, probabilitati si se ıncheie cu analiza complexitatii algoritmilor.

“Matematici ın criptografie” ınglobeaza o experienta didactica de peste 40 de ani aautorului ın domeniul matematicii si criptografiei, domnul prof. dr. Adrian Atanasiu1

fiind titularul mai multor cursuri de specialitate la universitati de prestigiu din tara.Conceptele matematice sunt prezentate de autor progresiv, ıntr-un mod accesibil pentruorice student sau specialist IT interesat sa patrunda tainele criptografiei moderne. Pentrua usura ıntelegerea notiunilor teoretice expuse, autorul vine cu o serie de exemple sugestivesi exercitii la fiecare final de capitol.

Cartea a luat nastere ca suport de curs pentru disciplina Matematici aplicate ın in-gineria securitatii informatiilor predata ın cadrul programului de masterat Securitateatehnologiei informatiei din Academia Tehnica Militara. Aceasta disciplina a fost intro-dusa pentru a asigura studentilor background-ul matematic necesar pentru a ıntelege

1Autorul roaga pe cei care s-au lasat sedusi de domeniul acesta fascinant, au citit cartea de fata siau de facut observatii, corecturi sau sugestii sa i se adreseze direct pe adresa [email protected]. Oricepropunere constructiva este bine venita.

Page 4: Matematici ^ n Criptogra e - MTA

4

tehnologiile criptografice si de securitate prezentate pe parcursul programului de mas-terat sau pentru a putea formaliza din punct de vedere matematic modelele si solutiilepropuse ın cadrul lucrarilor de disertatie. Prin modul ın care a fost structurata si tinandcont de subiectele abordate, consider ca aceasta carte este utila tuturor celor care vor saexploreze lumea incitanta a criptografiei.

Prof. dr. ing. Ion Bica

Academia Tehnica Militara

Page 5: Matematici ^ n Criptogra e - MTA

Capitolul 1

Structuri algebrice

1.1 Multimi

In general vom considera cunoscute elementele fundamentale de teoria multimilor. Totusi,pentru uniformizarea notatiilor, trecem ın revista principalele notiuni:

• O multime este o colectie de elemente notata de obicei cu litere latine mari: A,B,X . . . .

• Principalele multimi de numere sunt N (multimea numerelor naturale 0, 1, 2, . . . ), Z(multimea numerelor ıntregi . . . ,−2,−1, 0, 1, 2, . . . ), Q (multimea numerelor rationale),R (multimea numerelor reale), C (multimea numerelor complexe).Toate aceste multimi sunt infinite (au un numar infinit de elemente).

• Daca multimea A este finita, notam cu |A| numarul elementelor ei.

• Multimea fara nici un element se numeste “multime vida” si se noteaza ∅. Altfel,daca se doreste listarea elementelor unei multimi finite A, ele se scriu ıntre acolade.De exemplu A = x, y, 7, z.

Observatia 1.1. Elementele unei multimi sunt distincte si nu sunt ordonate. Ast-fel, 0, 1 si 1, 0 reprezinta aceeasi multime, iar 1, 0, 1 = 0, 1, 1, 0, 1 = 0, 1.

• O multime se defineste prin listarea elementelor sau printr-o proprietate P , folosindnotatia standard A = x ∈ B | P (x), sau A = x | P (x) daca multimea B reieseclar din context.

De exemplu

- A = x ∈ Z | x se divide cu 2 este multimea (infinita a) numerelor ıntregi pare;

- A = x ∈ R | x2 ≤ 1 este intervalul real [−1, 1]. Atentie: B = x ∈ Z | x2 ≤1 = −1, 0, 1; si daca prima multime A era infinita, B se retsrange la o multimecu numai trei elemente.

5

Page 6: Matematici ^ n Criptogra e - MTA

6 CAPITOLUL 1. STRUCTURI ALGEBRICE

• Pentru o multime finita nevidaA, 2A = X | X ⊆ A este multimea partilor(submulti-milor) multimii A. Uneori se noteaza si P(A).

• Daca un element x este ın multimea A vom scrie x ∈ A. In caz contrar se scriex 6∈ A.

• Daca A si B sunt doua multimi, atunci

– A = B daca A si B sunt formate din aceleasi elemente. Sau, formalx ∈ A ⇐⇒ x ∈ B.

– A ⊆ B daca toate elementele lui A se afla si ın B. Este relatia de incluziune.De exemplu N ⊆ Z ⊆ Q ⊆ R ⊆ C.

Uneori se foloseste A ⊂ B (incluziune stricta) pentru cazul A ⊆ B dar A 6= B.Astfel, toate incluziunile din secventa anterioara sunt de fapt incluziuni stricte.

– A ∪B = x | x ∈ A sau x ∈ B este “reuniunea” lui A cu B;

– A ∩B = x | x ∈ A si x ∈ B este “intersectia” lui A cu B;

– A = x ∈ B | x 6∈ A este “complementara” multimii A fata de multimea B.Se mai noteaza si CB(A).

– A \ B = A ∩ B este “diferenta” a doua multimi si contine toate elementeledin A care nu sunt ın multimea B. Daca se solicita simultan si multimeaelementelor din B care nu sunt ın A, atunci se obtine “diferenta simetrica”A∆B = (A ∩B) ∪ (B ∩ A).

– A × B = (x, y) | x ∈ A, y ∈ B este produsul cartezian al multimii A cu B.Daca A = B, atunci pentru A×A se foloseste notatia A2, care se poate extinde(pentru n ≥ 2) la An = A×A×· · ·×A = (x1, x2, . . . , xn) | xi ∈ A, 1 ≤ i ≤ n.Multimea ∆A = (x, x) | x ∈ A se numeste “diagonala” multimii A.

1.2 Functii

Definitia 1.1. O functie (sau aplicatie) este un triplet (A,B, f) unde A si B sunt douamultimi, iar f este o corespondenta care asociaza fiecarui element x ∈ A un element(unic) f(x) ∈ B.

Uzual, o functie se noteaza prin f : A −→ B. A se numeste “domeniul de definitie”al functiei f , iar B este “codomeniul” lui f . Notam

Im(f) = y ∈ B | ∃x ∈ A, f(x) = y, f−1(y) = x ∈ A | f(x) = y.Daca f(x) = y, atunci y este “imaginea” lui x prin aplicatia f , iar x este o “preimagine”

a lui y prin f . De remarcat ca daca imaginea unui element din A este unica, preimagineanu verifica aceasta conditie. Astfel, pentru f : R −→ R definita f(x) = x2 avem f(2) = 4,dar preimaginea lui 4 prin f este f−1(4) = −2, 2.

Page 7: Matematici ^ n Criptogra e - MTA

1.2. FUNCTII 7

• Daca I ⊆ A se noteaza f(I) = f(x) | x ∈ I. In particular f(x) = f(x) si –prin conventie, f(∅) = ∅ = ∅.Similar, daca J ⊆ B se noteaza f−1(J) = x ∈ A | f(x) ∈ J. Evident, f(A) =Im(f).

• Doua functii (f, A,B), (g, A,B) sunt egale daca ∀x ∈ A, f(x) = g(x).

• Fie functiile f : A −→ B, g : B −→ C. Functia h : A −→ C definita ∀x ∈A, f(x) = g(f(x)) se numeste “compunerea” lui f cu g si se noteaza h = g f .

Definitia 1.2. O functie f : A −→ B este “injectiva” daca∀x1, x2 ∈ A [x1 6= x2 =⇒ f(x1) 6= f(x2)]

sau – echivalent: f(x1) = f(x2) =⇒ x1 = x2.

Exemplul 1.1.

1. Fie f : R −→ R definita f(x) = a · x + b, unde a, b ∈ R, a 6= 0. Aceasta functieeste injectiva. Intr-adevar, din f(x1) = f(x2) avem a · x1 + b = a · x2 + b decia · (x1 − x2) = 0 si cum a 6= 0 ramane x1 = x2.

2. Functia f : R −→ R definita f(x) = x2 nu este injectiva pentru ca f(−x) = f(x)pentru orice x 6= 0. In schimb, daca notam R+ = x ∈ R | x ≥ 0, functiaf : R+ −→ R definita f(x) = x2 este injectiva. In ambele cazuri Im(f) = R+.

Propozitia 1.1. Daca f : A −→ B, g : B −→ C sunt doua functii, atunci:

1. Daca f si g sunt injective, atunci g f este injectiva;

2. Daca g f este injectiva, atunci f este injectiva.

Demonstratie.

1. Fie x1, x2 ∈ A cu x1 6= x2. Cum f este injectiva avem f(x1) 6= f(x2), apoi dininjectivitatea lui g rezulta g(f(x1) 6= g(f(x2)).

2. Fie x1, x2 ∈ A, x1 6= x2. Din injectivitatea lui g f avem g(f(x1)) 6= g(f(x2)).Presupunem prin absurd ca f(x1) = f(x2). Aplicand functia g ambilor membrise obtine g(f(x1)) = g(f(x2)), ceea ce contrazice relatia anterioara. Deci f(x1) 6=f(x2), adica f este injectiva.

Definitia 1.3. O functie f : A −→ B este “surjectiva” daca pentru orice y ∈ B existacel putin un x ∈ A cu f(x) = y.

Observatia 1.2. Din Definitia 1.1 avem f(A) ⊆ B. Surjectivitatea functiei f se poateexprima formal prin egalitatea Im(f) = B.

Orice functie (f, A,B) poate fi transformata ıntr-o surjectie (f, A, Im(f)).

Page 8: Matematici ^ n Criptogra e - MTA

8 CAPITOLUL 1. STRUCTURI ALGEBRICE

Exemplul 1.2.

1. Functia f : R −→ R definita f(x) = a · x+ b cu a 6= 0 este surjectiva. Intr-adevar,daca y ∈ R, ecuatia y = a · x + b are solutia x = (y − b)/a si se verifica imediatf(y−ba

)= y.

2. Functia f : R+ −→ R definita f(x) = x2k unde k > 0 este numar ıntreg, nu estesurjectiva. Intr-adevar, Im(f) = R+ ⊂ R (nici o valoare reala negativa nu esteimaginea prin f a unui element din R+).Pe de alta parte, se verifica usor ca aceasta functie este injectiva.

Propozitia 1.2. Fie f : A −→ B, g : B −→ C doua functii. Atunci

1. Daca g si f sunt surjective, atunci g f este surjectiva;

2. Daca g f este surjectiva, atunci g este surjectiva.

Demonstratie.

1. Din ipoteza avem Im(f) = B, Im(g) = C; deci g(B) = g(f(A) = C, adicaIm(g f) = C.

2. Fie z ∈ C arbitrar. Cum g f este surjectiva, exista x ∈ A cu z = g(f(x)); notandy = f(x), obtinem z = g(y), deci g este surjectiva.

Definitia 1.4. O functie este “bijectiva” daca este injectiva si surjectiva.

Exemplul 1.3. Cateva functii bijective importante ın criptografie:i) f : R∗+ −→ R definita f(x) = logax unde a > 0, a 6= 1. S-a notat R∗+ = R+ \ 0.ii) f : R −→ R∗+ definita f(x) = ax, unde a > 0, a 6= 1.iii) f : A −→ A definita f(x) = x. Este “functia identica” si se noteaza adesea 1A.

Propozitia 1.3. Fie f : A −→ B, g : B −→ C doua functii. Atunci

1. Daca g si f sunt bijective, atunci g f este bijectiva;

2. Daca g f este surjectiva, atunci f este injectiva si g este surjectiva.

Demonstratie. Rezulta imediat din Propozitiile 1.1 si 1.2.

Definitia 1.5. O functie f : A −→ B este “inversabila” daca exista o functie g : B −→ Aastfel ıncat g f = 1A si f g = 1B.

Teorema 1.1. Fie f : A −→ B o functie. Atunci f este inversabila daca si numai dacaf este bijectiva.

Page 9: Matematici ^ n Criptogra e - MTA

1.3. RELATII 9

Demonstratie. Este lasata ca exercitiu.

Propozitia 1.4. Daca f : A −→ B este inversabila, atunci functia inversa este unica.

Demonstratie. Sa presupunem prin absurd ca exista doua functii g1 : B −→ A, g2 :B −→ A cu g1 f = 1A, f g1 = 1B, g2 f = 1A, f g2 = 1B.

Fie y ∈ B arbitrar. Cum f este inversabila, f este bijectiva (Teorema 1.1); deci∃x ∈ A cu y = f(x). Din g1 f = 1A, g2 f = 1A deducem g1(f(x)) = x si g2(f(x)) = x,deci g1(y) = x, g2(y) = x. Prin urmare g1(y) = g2(y), deci g1 = g2.

Din Definitia 1.5 si Propozitia 1.4 rezulta ca f−1 : B −→ A este o functie, anumefunctia inversa lui f .

Corolarul 1.1. (f−1)−1

= f .

In criptografie, una din cele mai importante probleme este ca – plecand de la o functieinversabila f – sa gasim o forma pentru f−1. Desi existenta ei este asigurata matematicde rezultatele de mai sus, exprimarea matematica a functiei inverse este uneori imposibila.

Astfel, este simplu de vazut ca functia f(x) = logax (din Exemplul 1.3) are ca inversape g(x) = ax si reciproc.

Dar functia f : R −→ R definita f(x) = x7 este bijectiva (lucru usor de demonstrat),ınsa nu exista nici o formula matematica care sa exprime f−1(x).

1.3 Relatii

O relatie binara ρ este o corespondenta ıntre elementele unei multimi A. Poate fi conside-rata ca o submultime a produsului cartezian: ρ ⊆ A× A.

• Orice functie f : A −→ A poate fi privita ca o relatie binara f ⊆ A×A. Reciprocanu este ınsa adevarata. De exemplu, relatia binara ρ = (a, b), (a, c), (a, d), (b, d)definita pe A = a, b, c, d nu este o functie.

• Cand pe o multime A s-a definit o relatie binara ρ, spunem ca “multimea A esteınzestrata cu operatia binara ρ”.

• Daca ρ ⊆ A × A este o relatie binara, atunci si ρ−1 = (b, a) | (a, b) ∈ ρ este deasemenea o relatie binara pe A.

• Se noteaza cu ρ2 = ρ ρ relatia binara definitaρ2 = (a, c) | ∃b ∈ A, (a, b) ∈ ρ, (b, c) ∈ ρ.

• Notatia uzuala pentru apartenenta (a, b) ∈ ρ este aρb.

Page 10: Matematici ^ n Criptogra e - MTA

10 CAPITOLUL 1. STRUCTURI ALGEBRICE

1.3.1 Relatii de echivalenta

Definitia 1.6. Fie A o multime ınzestrata cu relatia binara ρ.

1. Relatia ρ este reflexiva daca aρa, ∀a ∈ A;

2. Relatia ρ este simetrica daca ∀a, b ∈ A, aρb =⇒ bρa (sau, altfel spus, ρ ⊂ ρ−1);

3. Relatia ρ este tranzitiva daca ρ2 ⊂ ρ: ∀a, b, c ∈ A, aρb & bρc =⇒ aρc.

O relatie binara reflexiva, simetrica si tranzitiva se numeste “relatie de echivalenta”.

Intr-o relatie de echivalenta ρ, pentru aρb spunem ca “a este echivalent cu b”.

Exemplul 1.4. Fie R ınzestrata cu relatia binara ρ = (a, b) | a− b ∈ Z. Sa aratam caaceasta este o relatie de echivalenta.

- Reflexivitatea: ∀a ∈ R, a− a = 0 ∈ Z, deci aρa.- Simetria: ∀a, b ∈ R daca a−b ∈ Z, atunci si b−a = −(a−b) ∈ Z, deci aρb =⇒ bρa.- Tranzitivitatea: Fie a, b, c ∈ R cu a−b ∈ Z, b−c ∈ Z. Atunci a−c = (a−b)+(b−c) ∈

Z (suma a doua numere ıntregi este numar ıntreg), deci aρc.

Exemplul 1.5. Fie A = 1, 2, 3 si relatia ρ = (1, 1), (2, 2), (3, 3), (1, 2). Se verificausor ca ρ este reflexiva si tranzitiva dar nu este simetrica.

Definitia 1.7. Fie A o multime arbitrara. Relatia de echivalenta ∆A = (a, a) | a ∈ Ase numeste “egalitate” si se noteaza =.

Relatia de egalitate formalizeaza ideea de identitate: a = b ınseamna ca a si b reprezintaacelasi obiect. In anumite situatii ea se noteaza si cu ≡.

Cel mai important concept legat de relatia de echivalenta este cel de “clasa de echivalenta”.

Definitia 1.8. Fie A o multime ınzestrata cu relatia de echivalenta ρ. Daca a ∈ A, vomnumi “clasa de echivalenta” a lui ”a” multimea

[a]ρ = x ∈ A | xρa.

Cand nu exista pericol de confuzie, ın loc de [a]ρ se foloseste [a] sau a.

Definitia 1.9. Fie A o multime ınzestrata cu relatia de echivalenta ρ. Se numeste“multime factor” sau “multime cat” a lui A prin relatia ρ multimea (de multimi)

A/ρ = [a]ρ | a ∈ A.

Teorema 1.2. Fie A o multime si ρ o relatie de echivalenta pe ea. Atunci:

1. ∀a ∈ A, a ∈ [a]ρ;

2. [a]ρ = [b]ρ ⇐⇒ aρb;

Page 11: Matematici ^ n Criptogra e - MTA

1.3. RELATII 11

3. [a]ρ⋂

[b]ρ = ∅ ⇐⇒ (a, b) 6∈ ρ;

4. A =⋃

X∈A/ρ

X.

Teorema 1.2 spune ın esenta ca orice element din A apartine unei clase de echivalentasi numai uneia.

Demonstratie.

1. Rezulta din reflexivitatea lui ρ : aρa pentru orice a ∈ A.

2. Sa presupunem ıntai ca [a]ρ = [b]ρ. Cum a ∈ [a]ρ rezulta a ∈ [b]ρ, deci aρb.

Invers, fie aρb. Daca x ∈ [a]ρ atunci xρa si – prin tranzitivitate – xρb. Deci x ∈ [b]ρ.Am obtinut incluziunea [a]ρ ⊆ [b]ρ. Cum avem si bρa (comutativitatea), ın modanalog se arata [b]ρ ⊆ [a]ρ, deci egalitate.

3. Daca [a]ρ⋂

[b]ρ = ∅, cum [a]ρ 6= ∅ si [b]ρ 6= ∅, vom avea [a]ρ 6= [b]ρ si cu (2) se obtineca elementele ”a” si ”b” nu sunt echivalente.

Invers, sa presupunem ca (a, b) 6∈ ρ. Daca, prin absurd, [a]ρ∩ [b]ρ 6= ∅, fie un elementx ∈ [a]ρ ∩ [b]ρ. Din x ∈ [a]ρ si x ∈ [b]ρ avem xρa, xρb deci aρb, contradictie.

4. Pentru orice X ∈ A/ρ avem X ⊆ A, deci⋃

X∈A/ρ

X ⊆ A.

Fie acum a ∈ A un element arbitrar. Din (1) rezulta a ∈ [a]ρ ∈ A/ρ, deci a ∈⋃X∈A/ρ

X. Astfel este verificata si incluziunea inversa A ⊆⋃

X∈A/ρ

X, deci egalitate.

Exemplul 1.6. Fie p > 1 un numar ıntreg si sa consideram relatia definita pe Z prin:aρb ⇐⇒ p|(a− b) (p este un divizor al lui a− b).

De obicei aceasta se mai scrie a ≡ b (mod p) si ınseamna ”a congruent cu b modulo p”.Se verifica imediat ca ≡ este o relatie de echivalenta si sa vedem care este multimea

factor Z/ ≡.Pentru a ∈ Z avem [a]≡ = b | p|(a− b) = a+ k · p | k ∈ Z.In particular, aplicand relatia de ımpartire a lui a la p avem a = q ·p+r cu 0 ≤ r < p.

Evident a ≡ r, deci r ∈ [a]≡.Mai mult, r este singurul numar pozitiv mai mic decat p care se afla ın multimea

(infinita) [a]≡. Intr-adevar, daca ar mai exista un r1 ∈ [a]≡, r1 ∈ [0, p), atunci r − r1 ∈[a]≡ si |r− r1| < p. Vom avea p|(r− r1), lucru posibil numai daca r− r1 = 0 deci r = r1.

Page 12: Matematici ^ n Criptogra e - MTA

12 CAPITOLUL 1. STRUCTURI ALGEBRICE

Conform Teoremei 1.2 avem [a]≡ = [r]≡ si unicitatea restului1 asigura ca aceasta clasade echivalenta poate fi reprezentata ın mod neambiguu prin r. Vom nota clasa [r]≡ cu r.Ea contine toate numerele ıntregi care dau restul r la ımpartirea cu p.

De exemplu 0 = 0, p, 2p, 3p, . . . , 1 = 1, p+ 1, 2p+ 1, 3p+ 1, . . . etc.

Multimea factor Z/ ≡ se noteaza Z/pZ = 0, 1, . . . , p− 1 si se numeste “multimeaclaselor de resturi modulo p”.

Pe ea se pot defini ın mod natural operatiile de adunare si ınmultire astfel:

a+ b = a+ b, a · b = a · b.Daca nu exista ambiguitate (vezi si Exercitiul 1.5) semnul de clasa ˆ se poate omite.

1.3.2 Relatii de ordine

Definitia unei relatii de ordine seamana foarte mult cu cea a unei relatii de echivalenta,singura modificare fiind negarea uneia din proprietati.

Definitia 1.10. Fie A o multime ınzestrata cu relatia binara ρ. Spunem ca ρ este “an-tisimetrica” daca

∀a, b ∈ A, (aρb)&(bρa) =⇒ a = b.

Sau, sub o notatie formala: ρ ∩ ρ−1 ⊂ ∆A.

Exemplul 1.7. Fie relatia ρ = (a, a2) | a ∈ R definita pe multimea numerelor reale.Inversa acestei relatii este ρ−1 = (a2, a) | a ∈ R. Daca (a, b) este un element dinintersectia ρ ∩ ρ−1 atunci vom avea simultan a = b2, b = a2 deci a = a4 cu singurelesolutii reale a = 0 si a = 1. Deci ρ ∩ ρ−1 = (0, 0), (1, 1). In concluzie, relatia ρ esteantisimetrica.

Definitia 1.11. Fie A o multime. O relatie binara, notata ≤, pe aceasta multime senumeste “relatie de ordine” (partiala) daca este reflexiva, antisimetrica si tranzitiva.

Daca detaliem cele trei proprietati, o relatie de ordine partiala este definita prin:

1. ∀a ∈ A, a ≤ a;

2. ∀a, b ∈ A, (a ≤ b)&(b ≤ a) =⇒ a = b;

3. ∀a, b, c A (a ≤ b)&(b ≤ c) =⇒ a ≤ c.

O multime A pe care s-a definit o relatie de ordine ≤ cu proprietatile de mai sus senumeste “multime partial ordonata” si se noteaza (A,≤).

1Proprietatea de unicitate a restului se va demonstra ın Capitolul 2.

Page 13: Matematici ^ n Criptogra e - MTA

1.3. RELATII 13

Exemplul 1.8. Pe multimea N a numerelor naturale definim relatia binara ≤ astfel:∀x, y ∈ N, x ≤ y ⇐⇒ ∃a ∈ N \ 0, y = a · x.

Sa verificam ca aceasta este o relatie de ordine.Daca x ∈ N atunci x = x · 1 deci x ≤ x (reflexivitatea).Daca x, y ∈ N cu x ≤ y, y ≤ x, atunci exista a, b ∈ N cu y = a · x, x = b · y. Rezulta

x = x · (a · b) si y = y · (a · b). Daca x = 0 si y = 0 atunci x = y. Daca cel putin unuldin numere este nenul, atunci a · b = 1, singurele numere naturale care verifica aceastarelatie fiind a = b = 1. Deci x = y (antisimetria).

Daca x, y, z ∈ N verifica x ≤ y, y ≤ z atunci exista numerele naturale nenule a, bastfel ıncat y = a ·x, z = b · y. De aici obtinem z = (a · b) ·x, deci x ≤ z (tranzitivitatea).

Exemplul 1.9. Fie A o multime nevida si 2A multimea submultimilor ei. Pe 2A definimrelatia ≤ astfel:

∀X, Y ∈ 2A, X ≤ Y ⇐⇒ X ⊆ Y .Bazandu-ne pe proprietatile incluziunii de multimi, aceasta este o relatie de ordine pe 2A.

Definitia 1.12. Fie (A,≤) o multime partial ordonata. Spunem ca relatia de ordine ≤este “totala” daca pentru orice a, b ∈ A avem cel putin una din situatiile a ≤ b sau b ≤ a.

Relatiile de ordine din Exemplele 1.8 si 1.9 nu sunt totale. Astfel, ın Exemplul 1.8ıntre numerele 2 si 3 nu exista relatie de ordine, iar ın Exemplul 1.9, ıntre submultimile1, 2 si 2, 3 ale multimii A = 1, 2, 3 nu exista relatie de ordine.

In schimb, pe multimile N,Z,Q,R, relatia ≤ definita natural∀(a, b), a ≤ b ⇐⇒ a este cel mult egal cu b,

este relatie de ordine totala.

Teorema 1.3. Fie (A,≤) o multime ordonata. Definim pe A relatia binara notata < ınfelul urmator:

a < b ⇐⇒ (a ≤ b)&(a 6= b).Relatia < are proprietatile:

1. ∀a ∈ A, a 6< a;

2. a < b si b < a nu pot avea loc simultan;

3. ∀a, b, c ∈ A, (a < b)&(b < c) =⇒ a < c (tranzitivitate).

Demonstratie.

1. Din definitia relatiei <.

2. Daca am avea simultan a < b si b < a atunci ar fi adevarate si relatiile a ≤ b, b ≤ a,deci a = b, ceea ce este o contradictie. Deci cele doua relatii nu pot fi adevaratesimultan.

Page 14: Matematici ^ n Criptogra e - MTA

14 CAPITOLUL 1. STRUCTURI ALGEBRICE

3. Cum a < b si b < c, vom avea a ≤ b, b ≤ c. Tranzitivitatea relatiei de ordine ≤ daa ≤ c. Presupunem acum ca a = c; ınlocuind ın relatia b < c vom obtine simultana < b, b < a, imposibil. Deci a 6= c, adica a < c.

Relatia < se numeste “relatie de ordine stricta” asociata relatiei de ordine ≤.

Definitia 1.13. Fie (A,≤) o multime ordonata. Definim relatia ≥ prin:∀a, b ∈ A, a ≥ b ⇐⇒ b ≤ a.

Se verifica usor ca ≥ este de asemenea o relatie de ordine. Mai mult, daca ≤ este orelatie de ordine totala, atunci si ≥ are aceasta proprietate.

1.4 Grupuri

Definitia 1.14. Se numeste grup perechea (G, ) unde G este o multime nevida, iar : G×G −→ G este o “lege de compozitie” (operatie binara) care verifica axiomele:

1. (Asociativitate) ∀a, b, c ∈ G, a (b c) = (a b) c;

2. (Element neutru) ∃e ∈ G astfel ıncat ∀a ∈ G, a e = e a = a;

3. (Invers) ∀a ∈ G ∃b ∈ G cu a b = b a = e.

In practica se folosesc frecvent doua notatii pentru operatia :- notatia +; atunci grupul se numeste “aditiv” iar elementul neutru este 0 (sau similar),

iar inversul lui a este notat −a si se numeste “opusul lui a”.- notatia ·; atunci grupul se numeste “multiplicativ” si elementul neutru este 1 (sau

similar), iar inversul lui a este notat a−1.O structura care verifica numai axioma (1) se numeste “monoid”. Ea spune ca operatia

se poate executa ın orice ordine, asa ca parantezele se pot omite.

Lema 1.1.

1. Elementul neutru este unic.

2. Elementul invers este unic.

Demonstratie.

1. Sa presupunem prin absurd ca exista doua elemente neutre e1 si e2. Atunci vomavea

e1 e2 = e2 e1 = e1 (deoarece e1 este element neutru), dar si

e1 e2 = e2 e1 = e2 (deoarece e2 este element neutru).

Deci e1 = e2.

Page 15: Matematici ^ n Criptogra e - MTA

1.4. GRUPURI 15

2. Sa presupunem ca b1 si b2 sunt inversele lui a; deci a b1 = b1 a = e si a b2 =b2 a = e.

Vom avea b2ab1 = (b2a)b1 = eb1 = b1, dar si b2ab1 = b2(ab1) = b2e = b2.Deci b1 = b2.

Daca grupul (G, ) are si proprietatea4. (Comutativitate) ∀a, b ∈ G, a b = b a,

atunci se numeste grup comutativ sau “abelian”.Cateva exemple de grupuri uzuale (vom omite verificarea axiomelor din Definitia 1.14).

• (Z,+) este grupul aditiv al ıntregilor. El este si comutativ, iar orice element diferitde 0 se poate obtine din 1 (care se numeste “generator”). Intr-adevar orice ıntregpozitiv n = 1 + 1 + · · · + 1 unde suma are n operanzi, −1 este opusul lui 1 (cf.axiomei 2), iar orice ıntreg negativ −n = (−1) + (−1) + · · ·+ (−1).

De remarcat ca (N,+) si (Z, ·) nu sunt grupuri deoarece nu este verificata axioma 3(element invers).

• Daca M(Q) este multimea matricilor patrate nesingulare de ordin 2 cu elementedin Q, atunci (M,+) si (M, ·) sunt grupuri cu adunarea respectiv ınmultirea de

matrici. Elementele neutre sunt matricea nula O2 =

(0 00 0

)pentru primul grup,

respectiv matricea unitate I2 =

(1 00 1

)pentru al doilea grup. Primul grup este

comutativ (A+B = B+A pentru orice A,B ∈M), dar al doilea nu este: ın generalA ·B 6= B · A.

• Grupul simetric (Sn, ) al permutarilor de n elemente (n ≥ 2) cu operatia de com-

punere de permutari. Permutarea identica I =

(1 2 . . . n1 2 . . . n

)este elementul

neutru, iar pentru fiecare permutare σ exista o permutare inversa σ−1. Pentrun ≥ 3 nici acest grup nu este abelian.

• Grupul (Zp,+) al claselor de resturi modulo p si – pentru p prim, (Z∗p, ·), undeZp = 0, 1, . . . , n−1 si Z∗p = Zp \0 sunt grupuri abeliene (Exercitiul 1.5) folositeın extenso ın criptografie si vor fi discutate detaliat ın capitolul urmator.

Sa demonstram cateva proprietati ale structurii de grup. Pentru usurinta prezentarii vomfolosi notatia multiplicativa.

Propozitia 1.5. Inversul lui a−1 este a.

Page 16: Matematici ^ n Criptogra e - MTA

16 CAPITOLUL 1. STRUCTURI ALGEBRICE

Demonstratie. Din axioma 2 a Definitiei 1.14 avem a · a−1 = a−1 · a = 1. Aceeasi relatiescrisa pentru a−1 este (a−1)

−1 · a−1 = a−1 · (a−1)−1

= 1. Cu unicitatea inversului (Lema1.1) va rezulta (a−1)

−1= a.

Propozitia 1.6. Daca notam an = a · a · · · · · a unde numarul operanzilor este n sia−n = (an)−1, atunci (a−1)

n= a−n.

Demonstratie. Se calculeaza a−n · (a−1)n

si se folosesc axiomele grupului pentru a arataca rezultatul este 1.

1.4.1 Homomorfisme si izomorfisme de grupuri

Definitia 1.15. Fie (G,+) si (H, ·) doua grupuri cu notatie aditiva respectiv multiplica-tiva. Se numeste homomorfism de grupuri o aplicatie φ : G −→ H cu proprietatea

∀a, b ∈ G, φ(a+ b) = φ(a) · φ(b).Daca φ este o aplicatie bijectiva, atunci ea este un izomorfism de grupuri. In plus, un

izomorfism ıntre doua grupuri identice se numeste automorfism.

Evident, un homomorfism ψ de la (H, ·) la (G,+) ar fi definit prin ψ(a·b) = ψ(a)+ψ(b).iar ψ ar fi izomorfism daca ψ−1 = φ.

Teorema 1.4. Daca folosim notatiile din Definitia 1.15, φ(0) = 1 si φ(−a) = φ(a)−1.

Demonstratie. Vom avea φ(0) = φ(0 + 0) = φ(0) · φ(0). Inmultind cu φ(0)−1 obtinemφ(0)−1 · φ(0) = φ(0). Dar φ(0)−1 · φ(0) = 1 deci φ(0) = 1.

Pentru a doua relatie vom arata ca φ(−a) este inversul lui φ(a) ın grupul (H, ·). Intr-adevar, φ(a) · φ(−a) = φ(a− a) = φ(0) = 1 si analog φ(−a) · φ(a) = 1.

Exemplul 1.10.

1. Fie grupurile (R,+), (R∗+, ·) si a ∈ R∗+ \ 1 ales arbitrar. Functia logaritmicaloga : R∗+ −→ R este un homomorfism de grupuri, deoarece loga(xy) = logax+logay.

De asemenea, functia exponentiala expa : R −→ R∗+ definita expa(x) = ax este totun homomorfism de grupuri deoarece ax+y = ax · ay.In plus avem loga(a

x) = x si alogax = x deci functiile logaritmica si exponentialasunt izomorfisme de grupuri.

2. Functia φ : G −→ H definita ∀x ∈ G, φ(x) = 1 este hmomorfism de grupuri; senumeste “homomorfismul nul”.Similar functia identica 1G : G −→ G definita 1G(x) = x.

3. Fie n > 0 un numar natural arbitrar fixat. Aplicatia fn : Z −→ Z definita ∀x ∈Z, fn(x) = n · x este un automorfism2 al grupului (Z,+). Intr-adevar, fn(x+ y) =n · (x+ y) = n · x+ n · y = fn(x) + fn(y).

2Formal, n ·x nu este considerat ca un produs, operatie nedefinita ıntr-un grup aditiv, ci ca o adunarede n termeni egali: n · x = x+ x+ · · ·+ x.

Page 17: Matematici ^ n Criptogra e - MTA

1.4. GRUPURI 17

1.4.2 Subgrupuri

Definitia 1.16. Fie (G, ·) un grup (cu notatie multiplicativa) si H ⊆ G o submultimenevida. H este subgrup al lui G daca pentru orice a, b ∈ H avem a · b−1 ∈ H.

Daca H este subgrup al lui G atunci pentru orice a ∈ H avem a · a−1 = 1 ∈ H. DeciH contine elementul neutru al lui G. Pentru 1, a ∈ H elementul 1 · a−1 = a−1 ∈ H. DeciH contine inversul oricarui element din H.

Fie acum a, b ∈ H; conform afirmatiei precedente, si b−1 ∈ H; folosind Definitia 1.16,din a, b−1 ∈ H avem a · b = a · (b−1)−1 ∈ H. Deci produsul a doua elemente din H estetot ın H.

Sa consideram functia φ : G × G −→ G care defineste structura de grup a lui G :φ(x, y) = x ·y. Daca (x, y) ∈ H×H atunci, conform celor de mai sus, φ(x, y) = x ·y ∈ H.Deci daca definim o functie ψ : H ×H −→ H prin ψ(x, y) = φ(x, y) = x · y, ea va asigurao structura de grup pentru H (axiomele de grup se verifica imediat). Aceasta operatie senumeste “restrictia la H a operatiei binare din G”.

Am demonstrat astfel teorema:

Teorema 1.5. Daca G este un grup si H ⊆ G este un subgrup al sau, atunci H este grupın raport cu operatia obtinuta prin restrictia la H a operatiei din G.

Aceasta justifica si denumirea de “subgrup”.

Exemplul 1.11. Daca (G, ) este un grup, atunci e si G sunt subgrupuri ale sale.

Teorema 1.6. Fie n ∈ Z. Atunci nZ = n · k | k ∈ Z este subgrup al grupului (Z,+).Reciproc, pentru orice subgrup H al grupului aditiv (Z,+) exista un n ∈ H astfel ca

H = nZ.

Demonstratie. Prima parte se arata imediat prin verificarea axiomelor de grup conformDefinitiei 1.14. Sa demonstram a doua parte a teoremei.

Daca H = 0, luam n = 0 si evident H = nZ.Altfel exista ın H un numar ıntreg m > 0 (daca m < 0 atunci −m ∈ H pentru ca H

este subgrup). Fie n cel mai mic astfel de numar pozitiv. Orice multiplu al lui n este deforma k · n = n+ n+ · · ·+ n sau k · n = −(n+ n+ · · ·+ n), deci apartine lui H. AsadarnZ ⊆ H. Mai ramane de aratat ca orice numar din H este multiplu de n. Daca x ∈ H,se aplica formula de ımpartire la n si obtinem x = n · q + r cu 0 ≤ r < n. Daca r 6= 0avem r = x − n · q ∈ H, ceea ce contrazice faptul ca n este cel mai mic element pozitivnenul din H. Deci r = 0, adica x = n · q ∈ nZ. In consecinta H = nZ.

Sa ne restrangem atentia asupra grupurilor finite notate multiplicativ (deci nu vommai specifica legea de compozitie). Daca G este un grup finit, |G| se numeste “ordinul”grupului si se noteaza cu ord(G).

Page 18: Matematici ^ n Criptogra e - MTA

18 CAPITOLUL 1. STRUCTURI ALGEBRICE

Aici, pentru orice a ∈ G exista un ıntreg pozitiv n astfel ca an = 1. ıntr-adevar,calculand a2, a3, . . . , toate sunt elemente din G. Cum G are un numar finit de elemente,la un moment vor apare doua numere naturale distincte m, p (m > p) cu am = ap.Inmultind cu inversul a−p vom avea am−p = 1 si notam n = m− p.

Cel mai mic numar pozitiv n cu proprietatea an = 1 se numeste “ordinul” lui a.

Propozitia 1.7. Multimea < a >= 1, a, a2, . . . , an−1 este un grup abelian multiplicativ.

Demonstratie. Se verifica axiomele Definitiei 1.14.

Grupul H =< a > se numeste “grupul generat de a”, iar a este un generator algrupului.

Putem da acum una din cele mai importante teoreme referitoare la grupurile finite:

Teorema 1.7. (Lagrance) Daca G este un grup finit, atunci ordinul oricarui subgrup Hdivide ord(G).

Demonstratie. Trebuie aratat ca multimea elementelor lui G poate fi partitionata ın clase,fiecare clasa avand ord(H) elemente.

Partitionarea este definita printr-o relatie de echivalenta definita astfel:

x ≡ y ⇐⇒ ∃h ∈ H, x = y · h.

Se poate verifica usor ca aceasta este o relatie de echivalenta. Putem acum scriex ≡ y daca si numai daca x ∈ yH = y · a | a ∈ H adica daca si numai daca y ∈ xH.Asadar, clasa tuturor elementelor echivalente cu x este xH, care poate fi notata la fel

de bine cu yH, pentru orice element y echivalent cu x.Sa aratam ca orice clasa de echivalenta aH are acelasi numar de elemente cu H.Pentru aceasta, pentru un ”a” fixat arbitrar, definim aplicatia φ : H −→ aH prin

φ(x) = a · x.Se verifica usor ca functia φ astfel definita este o bijectie.In particular H, ca multime, este tot o clasa de echivalenta: H = 1H.In concluzie, toate clasele H, a1H, a2H, . . . au acelasi numar de elemente, deci ordinul

lui G trebuie sa fie un multiplu al ordinului lui H.Numarul de clase se numeste “indicele” lui H ın G.

In finalul acestui paragraf vom mentiona o teorema cu multe implicatii ın studiul secu-ritatii (ın special pentru curbele eliptice). Vom omite demonstratia datorita complexitatiisale.

Teorema 1.8. Fie G un grup finit abelian. Atunci exista o secventa unica de numerenaturale n1, n2, . . . , nr astfel ca:

1. n1 > 1;

2. ni este factor al lui ni+1, (1 ≤ i < r);

3. G este izomorf cu Zn1 × Zn2 × · · · × Znr .

Page 19: Matematici ^ n Criptogra e - MTA

1.5. INELE 19

1.5 Inele

Definitia 1.17. Fie R o multime ınzestrata cu doua legi de compozitie, notate de obiceiaditiv respectiv multiplicativ. Structura (R,+, ·) (sau R daca operatiile sunt subıntelese)este inel daca:

1. (R,+) este grup abelian;

2. (R, ·) este monoid;

3. Inmultirea este distributiva fata de adunare.

Dintre cele doua operatii, ınmultirea este prioritara. Deci a · b+ c = (a · b) + c.Daca detaliem cele trei axiome din Definitia 1.17, acestea sunt:

1. ∀a, b, c ∈ R, (a+ b) + c = a+ (b+ c);

2. ∀a, b ∈ R, a+ b = b+ a;

3. ∃0 ∈ R cu 0 + a = a+ 0 = a pentru orice a ∈ R;

4. ∀a ∈ R, ∃(−a) ∈ R cu a+ (−a) = (−a) + a = 0;

5. ∀a, b, c ∈ R, (a · b) · c = a · (b · c);

6. ∀a, b, c ∈ R, (a+ b) · c = a · c+ b · c, (a+ b) · c = a · c+ b · c.

Exemplul 1.12.

1. Fiecare din multimile Z,Q,R,C formeaza inele cu operatiile aritmetice obisnuite deadunare si scadere.

2. Daca n ∈ Z este arbitrar fixat, atunci nZ este inel cu adunarea si ınmultireaobisnuita. Pentru n = 1 el coincide cu inelul (Z,+, ·).

3. Multimea Mn(Z) a matricilor patrate de ordin n cu elemente ıntregi formeaza inelcu operatiile de adunare respectiv ınmultire de matrici, elementul neutru fata deadunare fiind matricea nula.

Definitia 1.18. Un inel comutativ este un inel (R,+, ·) ın care ınmultirea este comutativa(∀a, b ∈ R, a · b = b · a).

Un inel (R,+, ·) este unitar daca exista element neutru fata de ınmultire: ∃1 ∈ R, 1 ·a = a · 1 = a.

Reluand Exemplul 1.12, ın (1) toate inelele sunt comutative si unitare, inelul din (2)este comutativ dar nu este unitar pentru n 6= 1, iar inelul din (3) nu este comutativ darare element unitate fata de ınmultire (matricea unitate In cu 1 pe diagonala si 0 ın rest).

Page 20: Matematici ^ n Criptogra e - MTA

20 CAPITOLUL 1. STRUCTURI ALGEBRICE

Exemplul 1.13. Multimea B = 0, 1 poate fi structurata ca inel cu operatiile +, · definiteastfel:

+ 0 10 0 11 1 0

· 0 10 0 01 0 1

Axiomele de inel se verifica direct, analizand toate cazurile posibile.De fapt ın acest inel adunarea coincide cu operatia booleana XOR, iar ınmultirea –

cu operatia AND. In literatura de specialitate, acesta este numit “inel boolean”.

Cateva proprietati imediate ale inelelor:

Propozitia 1.8. Pentru orice elemente a, b ale unui inel R:

1. a · 0 = 0 · a = 0;

2. (−a) · b = a · (−b) = −(a · b);

3. (−a) · (−b) = a · b.

Demonstratie.

1. Din a = a + 0 rezulta a · a = a · (a + 0) = a · a + a · 0. Din unicitatea elementuluineutru fata de adunare se obtine a · a = 0.

2. Se observa ca (−a) · b+ a · b = ((−a) + a) · b = 0 · b = 0 si similar a · b+ (−a) · b = 0,ceea ce ınseamna ca (−a) · b este opusul elementului a · b, iar unicitatea asigura(−a) · b = −(a · b).Analog se arata a · (−b) = −(a · b).

3. Din relatiile precedente putem deduce (−a) ·(−b) = −(a ·(−b)) = −(−a ·b) = −a ·b.

Propozitia 1.8 permite sa scriem fara nici o ambiguitate −a · b pentru oricare dinelementele (−a) · b + a · (−b) = −(a · b). De asemenea se poate scrie simplu a − b ın locde a+ (−b) si −a+ b ın loc de (−a) + b.

Corolarul 1.2. Inmultirea este distributiva fata de scadere:∀a, b, c ∈ R, a · (b− c) = a · c− b · c, (a− b) · c = a · c− b · c.

Demonstratie. Aplicand proprietatea de distributivitate si Propozitia 1.8 avem a·(b−c) =a · b+ a · (−c) = a · b− a · c. A doua relatie este similara.

Corolarul 1.3. Daca inelul R este unitar si |R| > 1, atunci 0 6= 1.

Demonstratie. Daca 0 = 1, atunci pentru orice a ∈ R vom avea a = a · 1 = a · 0 = 0.

Page 21: Matematici ^ n Criptogra e - MTA

1.5. INELE 21

Exemplul 1.14. Fie R un inel arbitrar si X o variabila. Atunci multimea R[X] =p(X) = a0 + a1X + · · · + anX

n | ai ∈ R, 0 ≤ i ≤ n formeaza o structura de inelcomutativ si unitar cu operatiile de adunare si ınmultire de polinoame. Acesta este “ine-lul polinoamelor de variabila X”. Elementul unitate fata de adunare este polinomul nulp(X) = 0, iar unitatea fata de ınmultire este polinomul constant p(X) = 1.

1.5.1 Subinele

Definitia 1.19. Fie R un inel si H ⊆ R o submultime nevida. H este “subinel” al lui Rdaca:

1. (H,+) este subgrup al grupului aditiv (R,+);

2. ∀a, b ∈ H avem a · b ∈ H (H este ınchisa fata de operatia multiplicativa din R).

Teorema 1.9. Daca R este un inel si H ⊆ R este un subinel al sau, atunci H este inelın raport cu operatiile obtinute prin restrictiile la H ale operatiilor din R.

Demonstratie. Din Definitia 1.19 este limpede ca restrictiile la H ale operatiilor din Rsunt operatii binare definite pe H; le vom nota tot cu + respectiv ·. Se arata apoi ca(H,+, ·) verifica axiomele din Definitia 1.17.

Exemplul 1.15. Pentru orice ıntreg n, inelul nZ este subinel al lui Z. In particular,0Z = 0 si 1Z = Z.

Definitia 1.20. Fie R un inel. Un element a ∈ R, a 6= 0 este “divizor al lui zero” dacaexista b ∈ R, b 6= 0 astfel ca a · b = 0.

Exemplul 1.16.

• Inelele Z,R,C cu operatiile obisnuite de adunare si ınmultire nu au divizori ai luizero.

• Fie inelul Mn al matricilor patrate de ordin n definit ın Exemplul 1.12 (3). El

are divizori ai lui zero. De exemplu, pentru n = 2, matricile A =

(1 00 0

)si

B =

(0 00 2

)sunt diferite de O2 =

(0 00 0

)dar A · B = O2 (exemplul se poate

extinde usor pentru orice n ≥ 2 si orice valori nenule a, b ın locul lui 1 respectiv 2).

Page 22: Matematici ^ n Criptogra e - MTA

22 CAPITOLUL 1. STRUCTURI ALGEBRICE

1.5.2 Ideale

Conceptul de “ideal” a fost definit prima oara de Richard Dedekind ın 1876, ca o genera-lizare a notiunii de numar ideal, introdus de Ernst Kummer. El a fost extins si a capatatforma actuala ın lucrarile lui David Hilbert si Emmy Noether.

Definitia 1.21. I este un ideal al inelului (R,+, ·) daca:

1. (I,+) este subgrup al grupului aditiv (R,+);

2. ∀x ∈ I,∀r ∈ R, x · r ∈ I;

3. ∀x ∈ I,∀r ∈ R, r · x ∈ I.

Daca se elimina una din axiomele (2) sau (3) se obtine definitia pentru “idealul lastanga/dreapta”.

Prima axioma se poate rescrie, reformuland aditiv Definitia 1.16:

1. I 6= ∅ si ∀x, y ∈ I, x− y ∈ I.

Exemplul 1.17.

1. Orice inel (R,+, ·) este un ideal. La fel, daca 0 ∈ R este elementul unitate fata deadunare, atunci 0 este ideal. R si 0 se numesc idealele “triviale” ale ineluluiR.

2. Multimea 2Z a numerelor pare formeaza un ideal ın Z. Rezultatul este evidentdeoarece suma si produsul a doua numere pare este un numar par. Similar pentruorice n natural pozitiv, nZ formeaza idealul ıntregilor divizibili cu n.

3. Multimea polinoamelor cu coeficienti reali divizibile prin polinomul x2 + 1 este unideal ın inelul R[X].

Fie (R,+, ·) un inel. Orice intersectie de ideale din R este de asemenea un ideal (se spuneca multimea idealelor lui R este ınchisa la intersectie).

Daca A ⊆ R este o multime nevida, atunci intersectia tuturor idelalor lui R care continA este un ideal care contine A. El se numeste “idealul generat de A”.

Daca (R,+, ·) este un inel unitar, atunci idealul generat de A ⊆ R ester1x1 + · · ·+ rnxn | n ∈ N, ri ∈ R, xi ∈ A.

Se arata imediat ca exista o corespondenta biunivoca ıntre ideale si congruente (veziExemplul 1.6). Mai exact:

Lema 1.2.

• Fiind dat un ideal I al unui inel R, fie x ≡ y ⇐⇒ x−y ∈ I. Atunci ≡ este o relatiede congruenta pe R.

• Daca ≡ este o relatie de congruenta pe R, atunci multimea I = x | x ≡ 0 este unideal al lui R.

Page 23: Matematici ^ n Criptogra e - MTA

1.6. CORPURI 23

1.6 Corpuri

Definitia 1.22. Fie K o multime ınzestrata cu doua operatii binare notate + respectiv ·.(K,+, ·) este “corp” daca:

1. K are cel putin doua elemente distincte;

2. (K,+, ·) este inel unitar;

3. ∀a ∈ K∗ = K \ 0 admite invers.

Daca operatia de ınmultire este comutativa, atunci corpul se numeste “comutativ”.

Cele trei axiome din Definitia 1.22 se detaliaza astfel:

1. |K| ≥ 2;

2. ∀a, b, c ∈ K, (a+ b) + c = a+ (b+ c);

3. ∀a, b ∈ K, a+ b = b+ a;

4. ∃0 ∈ K (elementul zero) astfel ca ∀a ∈ K, a+ 0 = 0 + a = a;

5. ∀a ∈ K, ∃(−a) ∈ K cu a+ (−a) = (−a) + a = 0;

6. ∀a, b, c ∈ K, (a · b) · c) = a · (b · c);

7. ∀a, b, c ∈ K, a · (b+ c) = a · b+ a · c, (a+ b) · c = a · c+ b · c;

8. ∃1 ∈ K (elementul unitate) astfel ca ∀a ∈ K, a · 1 = 1 · a = a;

9. ∀a ∈ K∗, ∃a−1 ∈ K∗ cu a · a−1 = a−1 · a = 1.

Cateva proprietati imediate:

Propozitia 1.9. Fie K un corp si a ∈ K∗. Atunci a−1 este unic.

Demonstratie. Presupunem ca a mai admite un invers a1 6= a−1. deci a · a1 = a1 · a = 1.Atunci a−1 · (a · a1) = a−1, dar si a−1 · (a · a1) = (a−1 · a) · a1 = a1, deci a−1 = a1,contradictie.

Propozitia 1.10. Un corp K nu are divizori ai lui zero.

Demonstratie. Fie a ∈ K∗ un element arbitrar. Atunci exista a−1 ∈ K∗. Daca pre-supunem ca a este divizor al lui zero, atunci exista b ∈ K∗ cu a · b = 0. Vom aveaa−1 · (a · b) = a−1 · 0 = 0, dar si a−1 · (a · b) = (a−1 · a) · b = b, deci b = 0.

Page 24: Matematici ^ n Criptogra e - MTA

24 CAPITOLUL 1. STRUCTURI ALGEBRICE

Teorema 1.10. Fie n ≥ 0 un ıntreg si inelul (Zn,⊕,) definit ın Exercitiul 1.8. AtunciZn este corp daca si numai daca n este prim.

Demonstratie. Fie n numar prim si k ∈ Z∗n = Zn \ 0. Deci k nu este multiplu de n si,deoarece n este prim, cel mai mare divizor comun dintre n si k este 1.

Fie multimea A = a · k+ b ·n | a, b ∈ Z si d cel mai mic numar ıntreg pozitiv din A.Deci exista doua numere ıntregi a0, b0 cu d = a0 · k + b0 · n. Impartim n la d si obtinemdoua numere ıntregi q (catul) si r (restul) pentru care n = d · q + r, unde 0 ≤ r, d. Darr = n− d · q = n− q · (a0 · k + b0 · n) = (−a0 · q) · k + (1− q · b0) · n, adica r ∈ A.

Sunt posibile doua cazuri: r = 0 sau r > 0.Daca r > 0, cum r < d obtinem o contradictie deoarece d era cel mai mic element

pozitiv din A. Deci r = 0. In acest caz n = d · q.Cum n este prim, singurele posibilitati sunt d = 1 sau d = n.Daca d = n, atunci – folosind d = a0 · k + b0 · n – va rezulta ca n este divizor al lui k,

imposibil deoarece k < n.Deci d = 1, adica 1 = a0 · k + b0 · n.Scriind aceasta relatie modulo n (deci pastrand numai resturile la ımpartirea cu n) va

ramane 1 = a0 k, deci k este inversabil ın Zn. Cum el a fost ales arbitrar ın Z∗n rezultaca inelul unitar (Zn,⊕,) este corp.

Invers, sa presupunem acum ca n nu este prim, deci n = k ·p cu k si p numere pozitivesupraunitare. Trecand la calcule modulo n vom avea k p = 0. Cu Propozitia 1.10 varezulta k = 0 sau p = 0, contradictie deoarece ambele numere sunt ın intervalul (0, n).

In multe lucrari, un corp arbitrar finit cu n elemente se noteaza Fn sau Kn. Daca sepresupune ca elementele sale sunt numere ıntregi, atunci notatia folosita este Zn.

Definitia 1.23. Caracteristica unui corp finit K este cel mai mic numar de termeni aisumei S = 1 + 1 + · · ·+ 1 cu proprietatea S = 0.

Propozitia 1.11. Caracteristica unui corp finit este numar prim.

Demonstratie. Sa consideram elementele Si = 1 + 1 + · · · + 1 de cate i termeni fiecare.Deoarece nu pot fi o infinitate de valori distincte, fie p minim cu proprietatea∃ i, Si = Si+p. Rezulta Sp = Si+p − Si = 0. Deci K are caracteristica p.

Presupunem p = j · t cu 1 ≤ j < p. Evident 0 = Sjt = Sj + Sj + · · ·+ Sj (t termeni).

Deoarece j < p avem Sj 6= 0. Impartind relatia cu Sj se obtine 0 = 1 + 1 + · · ·+ 1 = St.Deci t = p.

Propozitia 1.12. Fie K un corp de caracteristica p. Atunci ∀a ∈ K,p∑i=1

a = 0.

Demonstratie. Inlocuim

p∑i=1

a =

p∑i=1

a∑j=1

1 =a∑j=1

p∑i=1

1 =a∑j=1

0 = 0.

Page 25: Matematici ^ n Criptogra e - MTA

1.7. EXERCITII 25

Propozitia 1.13. Orice corp care are un subcorp de caracteristica p este de asemenea decaracteristica p.

Demonstratie. Exercitiu.

Propozitia 1.14. Intr-un corp de caracteristica p avem (a+ b)p = ap + bp.

Demonstratie. Se foloseste binomul lui Newton, ın care Ckp = 0, ∀ k, 0 < k < p.

Exemplul 1.18.

• Zp (p prim) este un corp de caracteristica p. In particular Z2 este un corp decaracteristica 2, deoarece 1 + 1 = 0.

• Multimea M2(Zp) a matricilor patrate de ordin 2 cu elemente din Zp formeaza un

inel comutativ, unitar de caracteristica p. Intr-adevar, daca I2 este matricea unitate,atunci I2 + I2 + · · ·+ I2 = O2, unde suma este formata din p termeni.

1.7 Exercitii

Exercitiul 1.1. Fie f : A −→ B o functie. Sa se arate ca functia g : 2A −→ 2A definita∀X ∈ 2A, g(X) = f−1(f(X)) are proprietatea (de idempotenta) g g = g.

Exercitiul 1.2. Fie functia f : R −→ R definita f(x) = a · x2 + b · x+ c, a, b, c ∈ R.Sa se determine f(R). Discutie.

Exercitiul 1.3. Fie A,B doua multimi finite nevide, |A| = m, |B| = n. Sa se arate ca

1. Conditia necesara si suficienta ca sa existe o bijectie ıntre A si B este ca m = n.

2. In cazul de mai sus, numarul functiilor bijective de la A la B este n!.

Exercitiul 1.4. Fie Z ınzestrata cu relatia ρ = (a, b) | 3|(a− b) (a− b se divide cu 3).Sa se arate ca ρ este relatie de echivalenta.

Exercitiul 1.5. Fie p > 1 un ıntreg. Construim multimea Zp = 0, 1, . . . , p− 1 pe caredefinim operatia de adunare ⊕ astfel: ∀a, b ∈ Zp, a ⊕ b = a + b (mod p). Sa se arate ca(Zp,⊕) este grup abelian, izomorf cu Z/pZ definit ın Exemplul 1.6.

Exercitiul 1.6. Sa se arate ca orice grup de p = 2, 3 elemente este izomorf cu (Zp,⊕).

Exercitiul 1.7. Sa se arate ca multimea M = a, b, c, d ınzestrata cu operatia ∗ definitaprin tabela

∗ a b c da a b c db b a d cc c d a bd d c b a

este un grup abelian (numit grupul Klein). Este acest grup izomorf cu (Z4,⊕) ?

Page 26: Matematici ^ n Criptogra e - MTA

26 CAPITOLUL 1. STRUCTURI ALGEBRICE

Exercitiul 1.8. Pe multimea Zp definita ın Exercitiul 1.5 definim si operatia de “inmultiremodulara” a b = a · b (mod p). Sa se construiasca tabele de operatii pentru Z3 si Z5.Sa se arate ca (Zp,⊕,) este inel comutativ si unitar.

Exercitiul 1.9. Fie M o multime nevida. Sa se arate ca multimea 2M a tuturor partilorlui M formeaza un inel comutativ unitar fata de operatiile ∆ (diferenta simetrica) si

⋂.

Elementul zero este ∅, opusul unei multimi X ∈ 2M este tot X, iar elementul unitate esteM .

Exercitiul 1.10. Sa se arate ca Z6 este inel comutativ, unitar si cu divizori ai lui zero.Care sunt divizorii lui zero ?

Exercitiul 1.11. Sa se arate ca Z5 nu are divizori ai lui zero.

Exercitiul 1.12. Fie multimea Q(√

2) = a + b ·√

2 | a, b ∈ Q. Sa se arate ca Q(√

2)formeaza corp cu operatiile obisnuite de adunare si ınmultire.

Page 27: Matematici ^ n Criptogra e - MTA

Capitolul 2

Divizibilitate si congruenta

2.1 Factorizare si primalitate

2.1.1 Factorizare

In acest capitol vom lucra ın principal pe inelul numerelor ıntregi (Z,+, ·) si pe diversestructuri incluse ın el.

Daca a, b ∈ Z, spunem ca “b divide a” (sau “a este divizibil cu b”) – notam b|a – dacaexista x ∈ Z astfel ca a = b · x. In caz contrar vom nota b 6 |a faptul ca a nu este divizibilcu b.

Consecinte imediate:

• x este unic si se noteaza x = a/b.

• b 6= 0. Diviziunea prin zero este nedefinita.

Daca x ∈ R vom nota bxc acel numar ıntreg n cu proprietatea n ≤ x < n + 1. Acestn ∈ Z se numeste “partea ıntreaga a lui x”.

Teorema 2.1. (Impartirea cu rest) Fie a ∈ N∗ = N \ 0, b ∈ Z. Atunci exista q, r ∈ Zunici cu

1. b = a · q + r,

2. 0 ≤ r < a.

Demonstratie.(i) Existenta: Avand a ∈ N, b ∈ Z, putem determina bb/ac = q ∈ Z. Atunci

b = a · q + r cu q, r ∈ Z.- Daca r ≥ a atunci b = a · bb/ac + r ≥ a · bb/ac + a > a · (b/a − 1) + a = b (ultima

inegalitate rezulta din relatia evidenta x− 1 < bxc ≤ x), contradictie. Deci r < a.

27

Page 28: Matematici ^ n Criptogra e - MTA

28 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

- Daca r < 0 atunci b = a·bb/ac+r ≤ a·(b/a)+r = b+r < b, din nou contradictie.Deci,ın final 0 ≤ r < a.

(ii) Unicitatea: Daca b = a · qi + ri (i = 1, 2) cu 0 ≤ ri < a, atunci prin scadereacelor doua relatii obtinem a · (q1 − q2) = r2 − r1. Din −a < −r1 < 0 < r2 < a rezultar2−a < r2− r1 < a− r1. Impartim aceasta inegalitate cu a; atunci −1 < (r2− r1)/a < 1.Deoarece (r2 − r1)/a = q1 − q2 ∈ Z, q1 − q2 = 0. Cu alte cuvinte q1 = q2, din care sededuce imediat si r1 = r2.

Terminologie: Se poate spune “b divide a” sau “a este multiplu de b” sau “b este undivizor al lui a”; toate aceste afirmatii sunt echivalente cu faptul ca restul ımpartirii lui ala b este zero. Orice divizor b ∈ (−a, a) al lui a se numeste “divizor propriu al lui a”.Pentru doua numere a, b ∈ Z, un “divizor comun” este un numar natural n care dividesimultan pe a si pe b.

Definitia 2.1. Daca a, b ∈ Z∗, atunci “cel mai mare divizor comun” al lui a si b este acelnumar (unic) g ∈ N cu proprietatile:

1. g|a, g|b;

2. ∀c ∈ N [(c|a)&(c|b) =⇒ c|g].

Acest numar se noteaza g = cmmdc(a, b) sau – daca nu exista confuzie, g = (a, b).Daca (a, b) = 1, atunci numerele a si b se numesc “prime ıntre ele” (sau “coprime”).

Corolarul 2.1. Fie a, b ∈ Z si b = a · q + r, 0 ≤ r < a. Atunci (a, b) = (a, r).

Demonstratie. Este lasata ca exercitiu.

Teorema 2.2. (Algoritmul lui Euclid)Fie a, b ∈ Z, (a ≥ b > 0) si notatia (de initializare) a = r−1, b = r0. Aplicand ın modrepetat algoritmul de ımpartire dat de Teorema 3.12, vom obtine

rj−1 = rj · qj+1 + rj+1 cu 0 < rj+1 < rjpentru toate valorile 0 ≤ j < n, unde n este primul numar cu proprietatea rn+1 = 0.

Atunci (a, b) = rn.

Demonstratie. Secventa ri produsa de aplicarea repetata a Teoremei 3.12 este strictdescrescatoare si se opreste dupa un numar finit de pasi la un numar n cu rn+1 = 0.Folosind Corolarul 2.1, (a, b) = (ri, ri+1) pentru orice i ≥ 0. Deci ın particular (a, b) =(rn, rn+1) = rn.

Se poate deduce usor ca orice divizor comun al lui a, b ∈ Z este de asemenea divizoral unei combinatii liniare de forma a ·x+ b · y cu x, y ∈ Z arbitrari1. Cel mai mare divizor

1Pentru facilitarea notatiei vom nota frecvent operatia de ınmultire a · b cu simpla alaturare ab.

Page 29: Matematici ^ n Criptogra e - MTA

2.1. FACTORIZARE SI PRIMALITATE 29

comun este un caz particular de astfel de expresie. Se poate arata (exercitiu) ca cea maimica valoare pozitiva a unei combinatii liniare ax+ by pentru orice x, y ∈ Z este (a, b).

O valoare strans legata de (a, b) este “cel mai mic multiplu comun”: cmmmc(a, b).Acesta este cel mic numar natural care se divide atat cu a cat si cu b. De exemplu, dacaa = 22, b = 14, atunci (a, b) = 2 si cmmmc(a, b) = 154.

2.1.2 Primalitate

In continuare vom considera numai divizorii pozitivi ai oricarui numar ıntreg.

Definitia 2.2. Un numar n ∈ N este “prim” daca are doi si numai doi divizori distincti.Un numar care are mai mult de doi divizori se numeste “compus”.

Observatia 2.1.

• Divizorii unui numar prim n sunt 1 si n.

• Numarul 1 nu este prim (are un singur divizor!).

• Numarul 2 este singurul numar prim par.

Lema 2.1. Daca n este prim si n|ab, atunci n|a sau n|b.

Demonstratie. Exercitiu.

Problema factorizarii consta ın determinarea tuturor divizorilor primi ai unui numarn ∈ N.

Teorema 2.3. (Teorema fundamentala a aritmeticii) Fie n ∈ N, n > 1. Atunci n admiteo descompunere unica ın produs de factori primi (ridicati la diverse puteri).

Demonstratie.Existenta: Sa presupunem prin absurd ca ar exista un numar n > 1 care nu se poate scrieca produs de numere prime. Deoarece multimea numerelor naturale este total ordonata,fie acest n cel mai mic posibil. n nu este prim (orice numar prim se descompune banal ınprodus de numare prime – cu un singur factor !), deci putem scrie n = pq cu 1 < p, q < n.Deoarece n este cel mai mic numar, rezulta ca p si q se pot descompune ın produse denumere prime. Se ajunge la faptul ca n = pq este si el descompus ın produs de numereprime, contradictie.

Unicitatea: Tot prin absurd, sa consideram n > 1 ca fiind cel mai mic numar care

admite doua descompuneri distincte ın produse de factori primi: n =t∏i=1

pi =s∏i=1

qi.

Sa presupunem ca exista doi factori egali; deoarece ordinea lor ın produse nu esteimportanta, putem alege p1 = q1. Daca n = p1, atunci totul este gata. Daca n > p1

Page 30: Matematici ^ n Criptogra e - MTA

30 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

atunci, deoarece 1 < n/p1 < n, n/p1 admite o descompunere unica ın produs de factori

primi: n/p1 =t∏i=2

pi =s∏i=2

qi cu t = s si pi = qi, 1 ≤ i ≤ t.

Atunci n = p1

t∏i=2

pi = q1

s∏i=2

qi este o factorizare unica a lui n, contradictie cu ipoteza.

Deci pi 6= qj pentru toti i, j. Dar, cu Lema 2.1, deoarece p1|s∏i=1

qi, atunci exista

un indice j astfel ca p1|qj. Cum ambele numere sunt prime, rezulta p1 = qj, din noucontradictie.

Teorema 2.4. (Euclid) Multimea numerelor prime este infinita.

Demonstratie. Sa presupunem ca M = p1, p2, . . . , pn ar fi toate numerele prime. Con-struim numarul N = 1 + p1p2 . . . pn. Deoarece N > pj ∀j, rezulta ca N 6∈ M, deci nueste numar prim. Conform Teoremei 2.3, exista un pj ∈ M cu pj|N . Cum pj|p1p2 . . . pn(este unul din factori) va trebui ca pj|1, contradictie deoarece toate numerele prime suntsupraunitare.

Teorema 2.5. (Algoritmul lui Euclid extins). Fie a, b ∈ N si qi (1 ≤ i ≤ n + 1) caturileobtinute prin aplicarea Algoritmului Euclid (Teorema 2.2) pentru a calcula g = (a, b) (neste primul indice nenegativ cu rn+1 = 0). Daca s1 = 1, s0 = 0 si

si = si−2 − qn−i+2si−1, 1 ≤ i ≤ n+ 1,atunci g = sn+1a+ snb.

Demonstratie. Vom arata ıntai prin inductie ca resturile obtinute prin aplicarea Algorit-mului Euclid satisfac relatia

rn = sirn−i+1 + si−1rn−i, unde i = 0, 1, . . . , n+ 1.Daca i = 0 atunci sirn−i+1 + si−1rn−i = s0rn+1 + s−1rn = rn.Pentru pasul doi al inductiei, presupunem ca rn = sirn−i+1 + si−1rn−i pentru un i > 0.

Din definitia lui si+1

rn−isi+1 + sirn−i−1 = rn−i(si−1 − siqn−i+1) + sirn−i−1 = si(rn−i−1 − rn−iqn−i+1) + si−1rn−i.Cu algoritmul lui Euclid, expresia este egala ın continuare cu sirn−i+1 + si−1rn−i = rn

(cf. ipotezei de inductie),In particular, daca i = n+ 1, atunci g = rn = sn+1r0 + snr−1 = sn+1a+ snb.

2.2 Congruente si inelul ZnConceptul de “congruenta” a fost introdus de Gauss si constituie modalitatea principalade calcul ın aritmetica unui mediu electronic (o aritmetica finita, din cauza restrictiilorde constructie).

Page 31: Matematici ^ n Criptogra e - MTA

2.2. CONGRUENTE SI INELUL ZN 31

Definitia 2.3. Daca a, b ∈ Z, n ∈ N∗, spunem ca “a este congruent cu b modulo n” dacan|(a− b) (a se vedea si Exemplul 1.6). Aceasta relatie se noteaza a ≡ b (mod n).In caz contrar, daca n 6 |(a− b), atunci a 6≡ b (mod n) (a nu este congruent cu b modulon).

Evident, ∀a, b ∈ Z a ≡ b (mod 1) deoarece 1|(a− b).

Exemplul 2.1. Deoarece

• 3|(82− 1), vom avea 82 ≡ 1 (mod 3).

• 11|(16− (−6)) =⇒ 16 ≡ −6 (mod 11).

• 7 6 |(10− 2) =⇒ 10 6≡ 2 (mod 7).

Teorema 2.6. Congruenta este o relatie de echivalenta.

Demonstratie. Proprietatile de reflexivitate, simetrie si tranzitivitate se arata imediat(vezi Exemplul 1.6).

Numarul n se numeste modul, iar multimea a = b | b ≡ a (mod n) se numeste “clasade echivalenta a lui a modulo n”.

Definitia 2.4. Un sistem complet de resturi modulo n este o multime finita de ıntregiastfel ıncat orice a ∈ Z este congruent modulo n cu un singur ıntreg din multime.

In particular, Zn = 0, 1, 2, . . . n−1 este multimea celor mai mici resturi (nenegative)modulo n.

Lema 2.2. Daca A = r1, r2, . . . , rn este un sistem complet de resturi modulo n iar aeste un numar natural cu (a, n) = 1, atunci A1 = ar1 + b, ar2 + b, . . . ., arn + b este unsistem complet de resturi modulo n pentru orice ıntreg b .

Demonstratie. Cum ın multimea A sunt n numere ıntregi, este suficient sa aratam caoricare doua nu sunt congruente modulo n. Daca ari + b ≡ arj + b (mod n) pentru uni 6= j, atunci a · (ri − rj) ≡ 0 (mod n) deci ri ≡ rj (mod n), contradictie, deoarece A esteun sistem complet de resturi modulo n.

Propozitia 2.1. Fie n ∈ N∗ si a, b, c, d ∈ Z. Daca a ≡ b (mod n), c ≡ d (mod n) atuncia± c ≡ b± d (mod n) si ac ≡ bd (mod n).

Demonstratie. Din ipoteza, exista k, s ∈ Z astfel ca a = b+ kn, c = d+ sn. Atuncia± c = b+ kn± (d+ sn) = b± d+ (k ± s)n, deci a± c ≡ b± d (mod n).

Similar, ac ≡ (b+ kn)(d+ sn) ≡ bd (mod n).

Page 32: Matematici ^ n Criptogra e - MTA

32 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Propozitia 2.2. Daca g = (c, n) atunci

ac ≡ bc (mod n) ⇐⇒ a ≡ b (mod n/g).

Demonstratie. Daca ac − bc = kn pentru un k ∈ Z, atunci (a − b)c/g = kn/g. CuExercitiul 2.8, (c/g, n/g) = 1, deci n/g divide a− b, adica a ≡ b (mod n/g).

Invers, daca a ≡ b (mod n/g) atunci ∃d ∈ Z astfel ca a = b + d · n/g. Deci ac =bc+ d(c/g)n, sau ac ≡ bc (mod n).

Acest rezultat atentioneaza ca ıntr-o congruenta nu se poate simplifica cu o valoare cdaca (c, n) = g > 1. Acest lucru este posibil numai ın cazul (extrem de) particular candg = 1.

Propozitia 2.3. Fie a, b ∈ Z,m, n ∈ N∗ si a ≡ b (mod n). Atunci:

1. am ≡ bm (mod n).

2. am ≡ bm (mod n).

3. Daca m|n atunci a ≡ b (mod m).

Demonstratie.

1. Din a ≡ b (mod n) rezulta a−b = kn pentru un anumit ıntreg k. Inmultim egalitateacu m si obtinem (a− b)m = knm, adica am− bm = (km)n sau am ≡ bm (mod n).

2. Deoarece n|(a − b), avem n|(a − b)(am−1 + am−2b + · · · + bm−1) = am − bm. Altfelspus, am ≡ bm (mod n).

3. Din ipoteza a = b + kn pentru un k ∈ Z si n = sm pentr un un s ∈ N. Atuncia = b+ ksm sau a− b = (ks)m, deci a ≡ b (mod m).

Propozitiile de mai sus permit stabilirea unei aritmetici de calcul modular.Sa fixam un n ∈ N, n > 1 si sa luam arbitrar a ∈ Z. Pentru un b ∈ a vom avea

evident si a ∈ b (deoarece a ≡ b, relatie simetrica). Deci orice element din a poate fi luatca reprezentant al clasei. Vom alege un anumit reprezentant, care sa aiba si proprietateade unicitate.

Folosind algoritmul Euclid, ∃(q, r) cu a = qn+r si 0 ≤ r < n. Cum a−r = qn rezultaa ≡ r deci r ∈ a.

r este si unicul element din a cu proprietatea 0 ≤ r < n. Intr-adevar, daca ar fi sir1 ∈ a cu 0 ≤ r1 < n, atunci r ≡ r1, adica r− r1 = sn. Dar −n < r− r1 < n, deci singuraposibilitate este r − r1 = 0, adica r = r1.

Page 33: Matematici ^ n Criptogra e - MTA

2.2. CONGRUENTE SI INELUL ZN 33

Putem alege atunci ca reprezentant al clasei a restul ımpartirii lui a la n. MultimeaZ/nZ = 0, 1, . . . n− 1 formeaza2 astfel o partitie a lui Z (a se vedea si Teorema 1.2 (4)).

Exemplul 2.2. Exista patru congruente modulo 4; anume:0 = . . . ,−4, 0, 4, 8 . . . , 1 = . . . ,−3, 1, 5, . . . ,2 = . . . ,−2, 2, 6, . . . , 3 = . . . ,−1, 3, 7, . . . .

Fiecare numar ıntreg (element din Z) se afla ın exact una din aceste multimi.

Pentru doua multimi A,B ⊆ Z definim operatiileA±B = x± y | x ∈ A, y ∈ B, AB = x · y | x ∈ A, y ∈ B.

Teorema 2.7. (Aritmetica modulara). Fie n ∈ N. Atunci pentru orice a, b, c ∈ Z/nZ auloc egalitatile:

1. a± b = a± b (ınchiderea fata de adunarea/scaderea modulara)

2. a · b = a · b (ınchiderea fata de ınmultirea modulara)

3. a+ b = b+ a (comutativitatea adunarii modulare)

4. (a+ b) + c = a+ (b+ c) (asociativitatea adunarii modulare)

5. 0 + a = a+ 0 = a (0 este element neutru la adunare)

6. a+ −a = −a+ a = −a+ a = 0 (inversul la adunarea modulara)

7. a · b = b · a (comutativitatea ınmultirii modulare)

8. (a · b) · c = a · (b · c) (asociativitatea ınmultirii modulare)

9. 1 · a = a · 1 = a (1 este element neutru la ınmultire)

10. a · (b+ c) = a · b+ a · c (distributivitatea modulara)

Demonstratie. Exercitiu.

Corolarul 2.2. Z/nZ este inel unitar, numit “inelul claselor de resturi” modulo n.

Pentru usurinta notatiei, daca nu exista ambiguitate de ıntelegere, vom nota claselede resturi a fara a mai pune semnul de clasa, ceea ce duce la posibilitatea de a ınlocuiZ/nZ cu Zn = 0, 1, . . . , n − 1. Deci multimea celor mai mici resturi modulo n poatefi structurata (si numita) ca inel al claselor de resturi modulo n (fapt demonstrat si ınExercitiul 1.8).

2Notatia matematica Z/nZ reprezinta faptul ca aceasta este multimea cat obtinuta din Z prin relatiade congruenta modulo n (Exemplul 1.6).

Page 34: Matematici ^ n Criptogra e - MTA

34 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

2.2.1 Inversa, algoritmul lui Euclid extins

Pentru operatia de ımpartire (simplificare) ın Zn lucrurile sunt ceva mai dificile, deoareceaceasta nu este totdeauna posibila ıntr-un inel.

Definitia 2.5. Fie a ∈ Z si n ∈ N∗. Inversul multiplicativ al lui a modulo n este unıntreg pozitiv x < n cu proprietatea ax ≡ 1 (mod n). Se noteaza x = a−1.

Exemplul 2.3. Sa rezolvam sistemul de congruente liniare2x ≡ 1 (mod 3), 3x ≡ 1 (mod 5), 3x ≡ 2 (mod 7).

Deoarece 2−1 ≡ 2 (mod 3), 3−1 ≡ 2 (mod 5) si 3−1 ≡ 5 (mod 7), sistemul devinex ≡ 2 (mod 3), x ≡ 2 (mod 5), x ≡ 3 (mod 7).

si se poate verifica usor ca x = 17 este cea mai mica solutie nenegativa modulo 105 asistemului.

Exemplul 2.4. Sa consideram n = 11, a = −3 si vrem sa aflam inversul multiplicatival lui a modulo 11. Deoarece −3 · 7 ≡ 1 (mod 11) si nici un alt numar natural mai micdecat 7 nu satisface aceasta congruenta, avem (−3)−1 = 7 modulo 11.

Exemplul 2.5. Daca n = 22, a = 6, un astfel de invers nu exista. Motivul este acela ca(a, n) = (22, 6) = 2. In acest caz, a cere existenta unui invers este similar cu a cere caımpartirea cu zero sa fie posibila.

Sa reluam Definitia 1.20 ın cazul inelului Zn. Doua numere a, b ∈ Zn se numesc“divizori ai lui zero” daca:

1. a 6= 0, b 6= 0;

2. a · b = 0.

De exemplu, ın Z6 avem 2 · 3 = 0, deci 2 si 3 sunt divizori ai lui zero ın acest inel.Stim (Exemplul 1.16) ca inelul Z nu are divizori ai lui zero. Pentru Zn, daca n este

numar compus, atunci exista n1, n2 ∈ (1, n) astfel ca n = n1n2. Deci, daca facem calculeleın Zn vom avea n1n2 = 0. In concluzie, Zn nu are divizori ai lui zero daca si numai dacan este prim. Atunci (Z∗n, ·) se poate structura ca un grup multiplicativ, ceea ce duce larezultatul

Teorema 2.8. Fie n ∈ N∗. Atunci (Zn,+, ·) este corp daca si numai daca n este numarprim3.

Inversul unui numar ın corpul Zn se poate calcula pe baza Algoritmului lui Euclidextins (Teorema 2.5).

Sa consideram n prim si b ∈ Zn. Aplicam algoritmul lui Euclid extins pentru perechea(b, n) si gasim g = sp+1b + spn, unde p este primul indice nenegativ cu rp+1 = 0. Dar

3Afirmatia este valabila pentru orice inel Fn cu n elemente.

Page 35: Matematici ^ n Criptogra e - MTA

2.2. CONGRUENTE SI INELUL ZN 35

g = 1 (pentru ca n este prim), iar daca luam aceasta relatie ca o congruenta modulo n,se obtine

1 ≡ sp+1 · b (mod n)

Deci sp+1 = b−1 (mod n).Se poate da acum algoritmul extins al lui Euclid care, pentru un ıntreg arbitrar n > 1

si b ∈ Z∗n, va determina b−1 mod n (daca exista).

1. n0 ←− n, b0 ←− b, s0 ←− 0, s←− 1

2. q ←−[n0

b0

], r ←− n0 − q · b0

3. while r > 0 do3.1. temp←− s0 − q · s3.2. if temp ≥ 0 then temp←− temp (mod n)

else temp←− n− ((−temp) (mod n))3.3. n0 ←− b0, b0 ←− r, s0 ←− s, s←− temp

3.4. q ←−[n0

b0

], r ←− n0 − q · b0

4. if b0 6= 1 then b nu are inversa mod nelse b−1 (mod n) = s.

Exemplul 2.6. Sa calculam 28−1 (mod 75), folosind algoritmul lui Euclid extins. Vomavea pe rand:

n0 b0 q r s0 s temp75 28 2 19 0 1 7328 19 1 9 1 73 319 9 2 1 73 3 679 1 9 0 3 67

Deci 28−1 (mod 75) = 67.

2.2.2 Teorema chineza a resturilor

Teorema 2.9. Se dau numerele p1, p2, . . . , pr prime ıntre ele si fie n = p1p2 . . . pr. Atuncisistemul de ecuatii

x ≡ ai (mod pi), 1 ≤ i ≤ r

are solutie comuna ın intervalul [0, n− 1].

Demonstratie. Pentru fiecare i, (pi, n/pi) = 1; deci exista numerele yi astfel ıncat

n

pi· yi ≡ 1 (mod pi).

Page 36: Matematici ^ n Criptogra e - MTA

36 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

De asemenea, pentru j 6= i, deoarece pj

∣∣∣∣ npi , avemn

pi· yi ≡ 0 (mod pj).

Construim

x =r∑i=1

n

pi· yi · ai (mod n).

Pentru orice i, x este o solutie a ecuatiei x ≡ ai (mod pi) deoarece ın Zpi avem

x =n

pi· yi · ai = ai.

Exemplul 2.7. Fie r = 3, p1 = 7, p2 = 11, p3 = 13, deci n = 1001. Notand mi =n

pi,

avem m1 = 143, m2 = 91 si m3 = 77. Folosind algoritmul lui Euclid, se obtine y1 =5, y2 = 4, y3 = 12. Solutia generala este atunci

x = 715a1 + 364a2 + 924a3 (mod 1001).De exemplu, pentru sistemul

x ≡ 5 (mod 7), x ≡ 3 (mod 11), x ≡ 10 (mod 13)formula de sus da solutiax = 715 · 5 + 364 · 3 + 924 · 10 (mod 1001) = 13907 (mod 1001) = 894.Verificarea se realizeaza reducand x modulo 7, 11, 13.

2.3 Teoremele lui Euler, Fermat, Wilson

In aceasta sectiune prezentam trei teoreme cu impact deosebit ın construirea de protocoalede securitate.

Teorema 2.10. (Wilson) Daca p este numar prim atunci

(p− 1)! ≡ −1 (mod p).

Demonstratie. Afirmatia este banala pentru p ≤ 3, asa ca ın continuare vom considerap > 3. Facem urmatoarele observatii (usor de verificat):

• ∀a ∈ Z, 2 ≤ a ≤ p− 2, exista a−1 ∈ Z unic cu a · a−1 ≡ 1 (mod p).Mai mult, 2 ≤ a−1 ≤ p− 2.

• a = a−1 daca si numai daca a = 1 sau a = p− 1.

Deci produsul

p−2∏a=2

a−1 coincide cu

p−2∏a=2

a (se schimba doar ordinea factorilor).

Asta ınseamna ca ın produsul (p− 2)! =

p−2∏a=2

a pentru fiecare factor a exista si inversul

sau modulo p.

Page 37: Matematici ^ n Criptogra e - MTA

2.3. TEOREMELE LUI EULER, FERMAT, WILSON 37

Deci (p− 2)! ≡ 1 (mod p), sau – dupa ınmultirea cu (p− 1):(p− 1)! ≡ p− 1 ≡ −1 (mod p).

Exemplul 2.8. Daca luam p = 17, atunci pentru fiecare a ∈ Z ∩ [2, 15], avem2 · 9 ≡ 3 · 6 ≡ 4 · 13 ≡ 5 · 7 ≡ 8 · 15 ≡ 10 · 12 ≡ 11 · 14 ≡ 1 (mod 17).

Deci 16! ≡ 16 ≡ −1 (mod 17).

Primul care a demonstrat Teorema 2.10 a fost Lagrance. Acesta a demonstrat sireciproca teoremei. Anume:

Teorema 2.11. (Reciproca Teoremei lui Wilson) Daca n ∈ N si (n− 1)! ≡ −1 (mod n),atunci n este numar prim.

Demonstratie. Presupunem ca n nu este prim si fie p < n un divizor supraunitar al sau.Atunci p|(n− 1)!. Cum prin ipoteza (n− 1)! ≡ −1 (mod n), vom avea0 ≡ (n− 1)! ≡ −1 (mod p), contradictie.

Teorema 2.12. (Mica teorema a lui Fermat) Daca a ∈ Z si p este numar prim, atunciap−1 ≡ 1 (mod p).

Demonstratie. Consideram numerele ıntregi a, 2a, . . . , (p − 1)a. Ele formeaza un sistemcomplet de resturi modulo p, mai putin 0. Afirmatia rezulta din observatia ca p 6 |s·a, ∀s ∈1, p− 1] si din Propozitia 2.2: sa ≡ ta (mod p) implica s = t (deoarece (a, p) = 1).

Deci toate aceste numere reduse modulo p dau multimea Z∗p = 1, 2, . . . , p−1. Atuncip−1∏j=1

j · a ≡p−1∏j=1

j (mod p) adica ap−1 · (p− 1)! ≡ (p− 1)! (mod p). Simplificand cu (p− 1)!

(numar prim cu p) se obtine ap−1 ≡ 1 (mod p).

Observatia 2.2.

1. Cand p > 2 si p 6 |a ∈ Z, atunci b = a(p−1)/2 are ca invers tot pe b. Intr-adevarb2 = ap−1 ≡ 1 (mod p).

2. Daca p 6 |a, atunci a−1 ≡ ap−2 (mod p), ceea ce da posibilitatea unui alt mod de acalcula inversul unui numar ın Z∗p (ınafara de Algoritmul lui Euclid extins).

Teorema 2.12 a fost generalizata de Euler, care a introdus un concept nou:

Definitia 2.6. (Functia Euler)4 Pentru orice n ∈ N, functia Euler φ(n) este definita canumarul valorilor m ∈ N cu m < n si (m,n) = 1 (numarul numerelor mai mici decat nsi prime cu n).

4De fapt Gauss a introdus simbolul φ(n), Euler notand aceasta valoare prin πn. Abia mai tarziu s-atrecut la notatia φ(n).

Page 38: Matematici ^ n Criptogra e - MTA

38 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Exemplul 2.9.Daca p este prim, atunci (p, k) = 1 pentru orice 1 ≤ k < p; ın acest caz φ(p) = p− 1.

Teorema 2.13. Fie n = pa11 . . . pakk o descompunere ın factori primi a lui n ∈ N∗. Atunci

φ(n) =k∏j=1

(pajj − p

aj−1j

)=

k∏j=1

φ(pajj ).

Demonstratie. Inductie dupa k.k = 1: Toate numerele naturale ≤ pa si divizibile cu p sunt de forma j = rp unde

r = 1, 2, . . . , pa−1; numarul lor este pa−1, deci φ(pa) = pa − pa−1.

Sa presupunem acum k > 1 si φ(M) =k−1∏j=1

(pajj − p

aj−1j

)unde M = pa11 . . . p

ak−1

k−1 .

Afirmatia 2.1. Daca n ∈ N∗ si p este prim, atunci

φ(pn) =

pφ(n) daca p|n(p− 1)φ(n) altfel

Pentru a determina valoarea φ(p · n) vom cerceta domeniile de valori ale numerelori · n+ 1, i · n+ 2, . . . , i · n+ n pentru i = 0, 1, . . . , p− 1.

Daca eliminam din aceste intervale toate valorile r cu (n, r) > 1, vom ramane p · φ(n)ıntregi.

- Daca p|n, atunci acestea sunt toate valorile prime cu p · n.- Daca p 6 |n, atunci trebuie scoase si acele valori i ·p cu i = 1, 2, . . . , n. Din ele, valorile

i · p cu (i, n) > 1 au fost deja eliminate; deci mai trebuie scoase exact φ(n) valori. Anumeφ(pn) = pφ(n)− φ(n) = (p− 1)φ(n),

adica Afirmatia 2.1.Revenind la demonstratia Teoremei 2.13, vom aveaφ(pakk M) = pkφ(pak−1

k M) = p2kφ(pak−2

k M) = · · · = pak−1k φ(pkM) = pak−1

k (pk − 1)φ(M).Cu ipoteza de inductie, ea este egala ın continuare cu

pak−1k (pk − 1)

k−1∏j=1

(pajj − p

aj−1j

)=

k∏j=1

(pajj − p

aj−1j

)=

k∏j=1

φ(pajj ).

Exemplul 2.10. Daca n = p · q unde p si q sunt numere prime, atunciφ(n) = (p1 − p0)(q1 − q0) = (p− 1)(q − 1).

Pentru a obtine generalizarea lui Euler a Micii Teoreme a lui Fermat, este necesar ıncaun concept nou.

Definitia 2.7. Daca n ∈ N∗, atunci multimeaR = mj ∈ N∗ | (mj, n) = 1, mj 6≡ mk (mod n), 1 ≤ j 6= k ≤ φ(n)

se numeste “sistem redus de resturi modulo n” (a nu se confunda cu “sistem completde resturi modulo n” din Definitia 2.4).

Page 39: Matematici ^ n Criptogra e - MTA

2.4. RADACINI PRIMITIVE 39

Propozitia 2.4. Daca R = r1, . . . , rφ(n) este un sistem redus de resturi modulo n,atunci la fel este si R1 = mr1, . . .mrφ(n), unde m ∈ N∗, (m,n) = 1.

Demonstratie. Deoarece (m,n) = (rj, n) = 1, avem (mrj, n) = 1 pentru toate numerelenaturale j ≤ φ(n).

Daca mrj ≡ mrk (mod n) pentru un j 6= k cu 1 ≤ j, k ≤ φ(n), atunci rj ≡ rk (mod n),contradictie

Teorema 2.14. (Generalizarea lui Euler) Daca n ∈ N si m ∈ Z astfel ca (m,n) = 1,atunci

mφ(n) ≡ 1 (mod n).

Demonstratie. Din Propozitia 2.4, fiecare element din R este congruent cu un elementunic din R1 modulo n. Deci

φ(n)∏j=1

rj ≡φ(n)∏j=1

mrj ≡ mφ(n)

φ(n)∏j=1

rj (mod n).

Cum si

φ(n)∏j=1

rj, n

= 1, avem – dupa simplificare – mφ(n) ≡ 1 (mod n)

Exemplul 2.11. Cu Teorema lui Euler, 3φ(7)−1 ≡ 36−1 ≡ 35 ≡ 5 (mod 7), iar 5 esteinversul multiplicativ al lui 3 modulo 7.

2.4 Radacini primitive

Ca o prima consecinta a rezultatelor anterioare, putem pune problema determinarii celuimai mic exponent e ∈ N astfel ca me ≡ 1 (mod n).

Definitia 2.8. Fie m ∈ Z si n ∈ N cu (m,n) = 1. Se numeste “ordinul lui m modulon” ca fiind cel mai mic e ∈ N astfel ca me ≡ 1 (mod n). Vom nota aceasta valoare cue = ordn(m).

Exemplul 2.12. Evident 2 are ordinul 2 modulo 3, asa ca ord3(2) = 2 = φ(3). In schimb7 are ordinul 1 modulo 3, deci ord3(7) = 1.

Pentru n = 3677, avem 71838 ≡ 1 (mod n) dar 7e 6≡ 1 (mod p) pentru nici un e < 1838;asa ca ord3677(7) = 1838.

De remarcat ca ın acest exemplu, toate ordinele gasite divid φ(n).

Propozitia 2.5. Daca m ∈ Z, d, n ∈ N astfel ca (m,n) = 1, atunci md ≡ 1 (mod n)daca si numai daca ordn(m)|d. In particular ordn(m)|φ(n).

Page 40: Matematici ^ n Criptogra e - MTA

40 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Demonstratie. Daca δ = ordn(m) si d = δx pentru un x ∈ N, atuncimd = (mδ)x ≡ 1 (mod n).

Invers, daca md ≡ 1 (mod n), atunci d ≥ δ asa ca exista ıntregii q, r cu d = qδ + runde 0 ≤ r < δ.

Deci 1 ≡ md ≡ (mδ)q · mr ≡ mr (mod n). Din conditia ca δ este minim cu aceastaproprietate rezulta r = 0. Cu alte cuvinte, δ|d.

In particular (vezi si Exercitiul 2.24) vom avea δ|φ(n).

Ca o observatie, toate calculele din Propozitia 2.5 se fac ın Z∗n, considerat ca monoidmultiplicativ unitar.

Corolarul 2.3. Daca d, n ∈ N si m ∈ Z cu (m,n) = 1, atunci

ordn(md) =ordn(m)

(d, ordn(m)).

Demonstratie. Cu δ definit mai sus, notam f = ordn(md) si g = (d, δ). Din Propozitia2.5 avem δ|df , deci (δ/g)|fd/g.

De aici rezulta ca (δ/g)|f . In plus, pentru ca (mδ)d/g = (md)δ/g = 1, putem aplica dinnou Propozitia 2.5 pentru md si obtinem f |(δ/g). Deci f = δ/g.

Definitia 2.9. Daca m ∈ Z, n ∈ N si ordn(m) = φ(n), atunci m se numeste “radacinaprimitiva” modulo n (a unitatii).

Exemplul 2.13. ord37(2) = 36; deci 2 va fi radacina primitiva modulo 37.ord1777(5) = 1776, deci 5 este o radacina primitiva modulo 1777. Similar, ord3677(2) =

3676.

Din Definitia 2.9 rezulta cateva consecinte importante:

Propozitia 2.6.

1. Fie m ∈ Z, e, n ∈ N si (m,n) = 1. Atunci ordn(me) = ordn(m) daca si numai daca(e, ordn(m)) = 1.

In particular, daca m este o radacina primitiva modulo n, atunci me este o radacinaprimitiva modulo n daca si numai daca (e, φ(n)) = 1.

2. Fie m ∈ Z si n ∈ N cu (n,m) = 1. Daca m este o radacina primitiva modulo n,

atunci mjφ(n)j=1 este un sistem redus de resturi modulo n.

3. Daca n ∈ N are o radacina primitiva, atunci exista φ(φ(n)) radacini primitivenecongruente modulo n.

4. Fie t, n ∈ N, unde n > 1 are o radacina primitiva, si t|φ(n). Atunci xt ≡ 1 (mod n)are exact t radacini necongruente modulo n.

Page 41: Matematici ^ n Criptogra e - MTA

2.4. RADACINI PRIMITIVE 41

Demonstratie.

1. Din Corolarul 2.3 obtinem ordn(me) = ordn(m)/(e, ordn(m)).Deci ordn(me) = ordn(m) daca si numai daca (e, ordn(m)) = 1. In particular, dacam este o radacina primitiva modulo n, atunci ordn(me) = ordn(m) daca si numaidaca (e, φ(n)) = 1.

2. Este suficient sa aratam ca mi 6≡ mj (mod n) pentru orice i 6= j.

Prin absurd, sa presupunem ca exista 1 ≤ i < j ≤ φ(n) astfel ca mi ≡ mj (mod n);atunci mi−j ≡ 1 (mod n), deci i = j deoarece φ(n) este minim cu aceasta proprie-tate.

3. Fie m o radacina primitiva modulo n. Din (2), alta radacina primitiva trebuie safie de forma me cu 1 ≤ e ≤ φ(n). Deci, cu (1), ordn(m) = ordn(me) daca si numaidaca (e, φ(n)) = 1. Sunt exact φ(φ(n)) astfel de ıntregi e.

4. Fie a o radacina primitiva modulo n. Folosind (1), a, a2, . . . , at sunt necongruentemodulo n pentru orice t|φ(n). Daca as ≡ x (mod n) pentru un x ∈ Z si xt ≡1 (mod n), atunci 1 ≡ ast ≡ xt (mod n).

Dar cu Propositia 2.5, φ(n)|st, asa ca s este un multiplu al lui φ(n)/t. Deci suntexact t solutii necongruente modulo n.

Practic, este necesara o modalitate de a calcula radacinile primitive. Prezentam aicivarianta originala data de Gauss ([11]) pentru determinarea radacinilor primitive moduloun numar prim p.

(1) Fie m ∈ N cu 1 < m < p. Se calculeaza mt pentru t = 1, 2, . . . , pana se ajunge lamt ≡ 1 (mod p).Daca t = ordp(m) = p− 1, atunci m este o radacina primitiva, STOP.(2) Se alege b ∈ N cu 1 < b < p si b ≡ mj (mod p) pentru toti j = 1, 2, . . . , t.Fie u = ordp(b). Daca u 6= p − 1, atunci fie v = cmmmc(t, u). Deci v = ac undea|t, c|u cu (a, c) = 1. Fie m1, b1 cele mai mici resturi nenegative ale lui mt/a modulop, respectiv bu/c modulo p. Atunci g = m1b1 are ordinul ac ≡ v (mod p).Daca v = p− 1, atunci g este o radacina primitiva, STOP.(3) Se repeta pasul (2) cu t← v, m← m1b1.

Observatia 2.3.- La pasul (2) avem u 6 |t. Daca ar fi posibil ca u|t, atunci bt ≡ 1 (mod p). dar –

din pasul (1) si Propozitia 2.6 (4) – se obtine ca valorile mj (0 ≤ j ≤ t − 1) sunt toatesolutiile (necongruente ale) ecuatiei xt ≡ 1 (mod p), deci b ≡ mj (mod p) pentru un astfelde j, ceea ce contrazice alegerea lui b.

Page 42: Matematici ^ n Criptogra e - MTA

42 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

- Deoarece v > t la fiecare trecere prin pasul (3), procedura se termina dupa un numarfinit de pasi cu gasirea unei radacini primitive modulo p prim.

Exemplul 2.14. (Gauss) Fie p = 73. Sa alegem m = 2 la pasul (1) si calculamt = ordp(m) = 9, obtinut din

mj ≡ 1, 2, 4, 8, 16, 32, 64, 55, 37, 1 (mod p)pentru j = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 = t = ordp(m).

Deoarece 2 nu este radacina primitiva modulo p = 73, mergem la pasul (2).Pentru ca 3 6≡ 2j (mod 73) pentru nici o valoare j ≤ 9, alegem b = 3. Calculam bj

pentru j = 1, 2, . . . , u, unde 3u = 312 ≡ 1 (mod 73), obtinut prin3j ≡ 3, 9, 27, 8, 24, 72, 70, 64, 46, 65, 49, 1 (mod p)

pentru j = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 = u = ordp(b) = ord73(3).Deoarece u 6= p−1, calculam v = cmmmc(t, u) = 36 = a·c = 9·4. Apoi, m1 = 2t/a = 2

si b1 = 3u/c = 33 = 27, asa ca m1b1 = 54. Dar v = ord73(54) = 36 6= p− 1, deci repetampasul (2) cu v = 36 ın locul lui t. Alegem o valoare pentru b neechivalenta cu nici o puterea noului m = 54 = m1b1 (mod 73). Valoarea b = 5 este acceptabila pentru calcule si varezulta ca ea este o radacina primitiva modulo 73, ceea ce ıncheie algoritmul.

Conjectura 2.1. (Artin) Orice ıntreg m 6= −1 care nu este patrat perfect poate fi radacinaprimitiva modulo o infinitate de numere prime.

Desi conjectura ramane ınca deschisa, Heath-Brown a demonstrat ın 1986 ca, ex-ceptand eventual cel mult doua numere prime, este adevarat ca pentru orice numar primp exista o infinitate de numere prime q astfel ca p sa fie o radacina primitiva modulo q.De exemplu, exista infinit de multe numere prime q astfel ca una din valorile 2, 3 sau 5 safie o radacina primitiva modulo q.

In finalul acestei sectiuni vom prezenta o teorema care stabileste ce ıntregi admitradacini primitive. Pentru aceasta avem nevoie de un rezultat preliminar:

Propozitia 2.7. Pentru orice n ∈ N,∑d|n

φ(d) = n

unde d parcurge toti divizorii lui n.

Demonstratie. Se arata imediat (vezi si Exercitiul 2.8) ca (m,n) = d daca si numai daca(m/d, n/d) = 1. De aici rezulta ca φ(n/d) da numarul de elemente al multimii

Td = m ∈ N | m ≤ n, (m,n) = d.Deoarece 1, 2, . . . , n =

⋃d|n

Td, va rezulta

n =

∣∣∣∣∣∣⋃d|n

Td

∣∣∣∣∣∣ =∑d|n

|Td| =∑d|n

φ(n/d) =∑d|n

φ(d),

Page 43: Matematici ^ n Criptogra e - MTA

2.4. RADACINI PRIMITIVE 43

unde a doua egalitate rezulta din faptul ca toate multimile Td sunt disjuncte, iar ultimaegalitate – din faptul ca n/d parcurge divizorii lui n exact ca si d.

Lema 2.3. Fie p un numar prim si e ∈ N cu e|(p− 1). In orice sistem redus de resturimodulo p exista 0 sau φ(e) valori distincte m ∈ Zp cu ordp(m) = e.

In particular exista φ(p− 1) radacini primitive modulo p.

Demonstratie. Sa presupunem ca exista un ıntreg de ordin e modulo p si fie r(e) numarulıntregilor necongruenti care apartin exponentului e modulo p. Deoarece orice numarnatural e < p trebuie sa apartina unui anumit exponent modulo p, vom avea∑

e|(p−1)

r(e) = p− 1.

Din Propozitia 2.6 (4), congruenta xe ≡ 1 (mod p) admite exact e solutii necongruentemodulo p, iar cu aceeasi Propozitie partea (2), aceste solutii sunt m,m2, . . . ,mp−1, undem este o radacina primitiva modulo p. Dintre acestea, ordp(m

j) = e au acele solutiipentru care (j, e) = 1 (partea (1) din Propozitia 2.6) – deci numarul lor este φ(e). CuPropozitia 2.7, ∑

e|(p−1)

φ(e) = p− 1.

Dar∑e|(p−1)

r(e) = p− 1 si r(e) ≤ φ(e), asa ca r(e) = φ(e) pentru toti e|(p− 1).

Utima afirmatie a lemei rezulta din faptul ca p are o radacina primitiva si din Propozitia2.6 (3) care asigura ca exista φ(p− 1) ıntregi necongruenti de ordin p− 1 modulo p.

Teorema 2.15. Un ıntreg m > 1 admite o radacina primitiva daca si numai daca m = 4sau m este de forma 2apb unde p este numar prim impar si a ∈ 0, 1, b ≥ 0.

In plus, daca m are o radacina primitiva, atunci are φ(φ(m)) astfel de radacini.

Demonstratie. Sa presupunem ca m > 1 are o radacina primitiva si fie pb|m, unde p esteprim iar b este cel mai mare exponent al lui p cu aceasta proprietate (bp+1 6 |m). Cu Lema2.3 si Exercitiul 2.25, daca g este o radacina primitiva modulo p, atunci g sau g + p esteo radacina primitiva modulo pb. Daca g este radacina primitiva modulo pb, atunci g saug + p este impar – deci avem o radacina impara modulo pb. Fie h o astfel de radacina; htrebuie sa fie de asemenea o radacina primitiva modulo 2pb. Pentru a arata aceasta, fieord2pb(h) = c; atunci c|φ(2pb) = φ(pb) – vezi Propozitia 2.5. Deci c = φ(pb) = φ(2pb).

Am demonstrat ca pentru m = 2, 4 sau m = 2apb – unde p este un numar primimpar, a ∈ 0, 1 si b ≥ 0 – exista o radacina primitiva. Pentru a arata ca acesteasunt singurele module care admit radacini primitive, sa presupunem ca m = m1m2, undem1 > 2, m2 > 2 si (m1,m2) = 1.

Cu Exercitiul 2.22, φ(mj) (j = 1, 2) este par; deci pentru orice n ∈ N, n · φ(m)/2 ≡(n · φ(m1))φ(m2)/2 ≡ 1 (mod m1), si similar n · φ(m)/2 ≡ 1 (mod m2). Va rezultan · φ(m)/2 ≡ 1 (mod m), deci nici un n ∈ N nu poate fi radacina primitiva modulo m.

Page 44: Matematici ^ n Criptogra e - MTA

44 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Ultimul tip de modul ramas de analizat este m = 2a. Pentru a ≥ 3, n2a−2 ≡1 (mod 2a) pentru orice n ∈ Z impar (exercitiu !).

In final, partea (3) a Propozitiei 2.6 asigura ca exista exact φ(φ(m)) radacini primitivemodulo m.

Exemplul 2.15. Daca m = 22, atunci 7, 13, 17, 19 sunt cele patru radacini primitivenecongruente modulo 22. De remarcat ca φ(φ(22)) = 4.

2.5 Logaritm discret si resturi de puteri

Urmatorul concept introdus are aplicatii largi ın criptografie. Daca n ∈ N are o radacinaprimitiva, am vazut (Propozita 2.6 (2)) ca valorile 1,m,m2, . . . ,mφ(n)−1 formeaza unsistem redus de resturi modulo n. Cu partea (3) a aceleiasi propozitii, rezulta ca pentruun b ∈ N exista un ıntreg nenegativ unic e ≤ φ(n) pentru care b ≡ me (mod n). El areun nume distinct, specificat de urmatoarea definitie:

Definitia 2.10. Fie n ∈ N cu radacina primitiva m si b ∈ N cu (b, n) = 1. Atunci relatiab ≡ me (mod n) este adevarata pentru exact una din valorile e ∈ 0, 1, . . . , φ(n) − 1,valoare care se numeste “logaritmul lui b ın baza m modulo n”5 si se noteaza logmb.

Exemplul 2.16. Daca n = 29, atunci m = 2 este o radacina primitiva modulo n. Aicilog25 = 22 deoarece 5 ≡ 222 (mod 29).

Definitia 2.10 genereaza o aritmetica proprie, numita “index calculus” similara calcu-lului cu logaritmi. Cateva din proprietatile sale sunt:

Teorema 2.16. Daca n ∈ N si m este o radacina primitiva modulo n, atunci pentruorice c, d ∈ Z:

1. logm(c · d) ≡ logmc+ logmd (mod φ(n)).

2. ∀t ∈ N, logmct ≡ t · logmc (mod φ(n)).

3. logm1 = 0.

4. logmm = 1.

5. ∀n > 2, logm(n− 1) = φ(n)/2.

6. lognm(n− c) ≡ φ(n)/2 + logmc (mod φ(n)).

Demonstratie. Sa notam logm(c · d) = x, logmc = y si logmd = z.

5In matematica se foloseste frecvent termenul de “indexul lui b ın baza m modulo n”, cu notatiaindnm(b).

Page 45: Matematici ^ n Criptogra e - MTA

2.5. LOGARITM DISCRET SI RESTURI DE PUTERI 45

1. Pentru ca cd ≡ mx (mod n), c ≡ my (mod n), d ≡ mz (mod n), rezulta imediatmy+z ≡ cd ≡ mx (mod n) si se aplica Teorema 2.14 (Euler).

2. Din c ≡ my (mod n) rezulta ct ≡ myt (mod n) si se aplica logm ın ambele parti.

3. Daca logm1 = w, atunci 1 ≡ mw (mod n). Cum m este o radacina primitiva modulon si 0 ≤ w < φ(n), cu Definitia 2.10 rezulta w = 0.

4. Fie logmm = v. Pentru ca m ≡ mv (mod n), avem v = 1, conform Definitiei 2.10.

5. Se foloseste faptul ca mφ(n)/2 ≡ −1 (mod n) pentru orice n > 2 si n − 1 ≡−1 (mod n).

6. Deoarece mφ(n)/2 ≡ −1 (mod n), avem n − c ≡ −c ≡ −my ≡ mφ(n)/2 · my ≡mφ(n)/2+y (mod n), si rezultatul se obtine cu Teorema 2.14 (Euler).

Folosind Teorema 2.16 (1) se poate construi un algoritm de calcul al logaritmuluidiscret (index calculus) prin rezolvarea congruentelor liniare de forma

c · x ≡ b (mod n)pentru x ∈ Z. Daca o astfel de congruenta are loc, atunci

logmc+ logmx ≡ logmb (mod φ(n)),pentru orice radacina primitiva m modulo n.

Exemplul 2.17. Sa rezolvam congruenta 7x ≡ 3 (mod 29).Deoarece 2 este o radacina primitiva modulo 29, avem

log27 + log2x ≡ log23 (mod φ(29)),deci log2x ≡ log23− log27 = 5− 12 = −7 ≡ 21 (mod 28).

De aici, trecand la exponenti, obtinem x ≡ 221 ≡ 17 (mod 29).

Partea (2) a Teoremei 2.16 ofera un mecanism pentru rezolvarea congruentelor deforma cx ≡ b (mod n) pentru x ∈ Z.

Intr-adevar, daca o asemenea congruenta este verificata, atuncix · logmc ≡ logmb (mod φ(n)).

Exemplul 2.18. Sa rezolvam congruenta 3x ≡ 7 (mod 29).Deoarece x · log23 ≡ log27 (mod 28), vom avea 5x ≡ 12 (mod 28).Deci x ≡ 5−1 · 12 ≡ 17 · 12 ≡ 8 (mod 28).

Pe baza acestor considerente putem da urmatoarea definitie:

Definitia 2.11. (Radacini modulare) Daca m,n ∈ N, c ∈ Z, (c, n) = 1, atunci c este unm-rest (reziduu) modulo n daca ecuatia

xm ≡ c (mod n)are solutii ın Z. Daca exista solutie, ea se numeste “radacina de ordin m modulo n”.

Page 46: Matematici ^ n Criptogra e - MTA

46 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

De exemplu, daca m = 2, atunci x este o radacina patrata modulo n, iar c este un rest(sau “reziduu”) patratic modulo n. Daca m = 3, atunci c este un rest (reziduu) cubicmodulo n, iar x – o radacina cubica modulo n.

Daca stim o descompunere a lui n ın factori primi, putem gasi radacinile de ordinm ale fiecarui factor (ridicat la puterea ın care apare ın descompunere), iar apoi – cuTeorema Chineza a Resturilor – se poate recompune o radacina de ordin m modulo n.

Este foarte important sa avem un algoritm de rezolvare a unor astfel de congruente,fapt asigurat de urmatoarea teorema:

Teorema 2.17. (Criteriul lui Euler pentru resturi de puteri) Fie e, c ∈ N, b ∈ Z cu e ≥ 2si p un numar prim impar astfel ca p 6 |b si g = (e, φ(pc)), g|b. Atunci congruenta

xe ≡ b (mod pc)

are solutie daca si numai daca bφ(pc)/g ≡ 1 (mod pc).

Demonstratie. Sa presupunem xe ≡ b (mod pc). Atunci, folosind Teorema lui Euler,

bφ(pc)/g ≡ (xe)φ(pc)/g ≡(xe/g

)φ(pc) ≡ 1 (mod pc).

Invers, sa presupunem bφ(pc)/g ≡ 1 (mod pc). Cu Exercitiul 2.25, exista o radacinaprimitiva m modulo pc. Deci ∃n ∈ N cu b ≡ mn (mod pc) (Propozitia 2.6 (2)).

De aici rezulta 1 ≡ bφ(pc)/g ≡ mn·φ(pc)/g (mod pc).Din faptul ca m este o radacina primitiva modulo pc se deduce φ(pc)|nφ(pc)/g, deci

g|n.Rezulta ca exista k ∈ N astfel ca n = kg. O consecinta a Teoremei 3.12 (ımpartirea cu

rest) este aceea ca exista x, y ∈ Z astfel ca ye− xφ(pc) = g, sau n = kg = kye− kxφ(pc).

Aplicand din nou Teorema 2.14, mkxφ(pc) ≡(mkx

)φ(pc) ≡ 1 (mod pc),si tinand cont de rezultatele obtinute mai sus,

b ≡ bmkxφ(pc) ≡ mn+kxφ(pc) ≡ mkye−kx·φ(pc)+kxφ(pc) ≡ mkye ≡(mky

)e(mod pc).

Deci b este un e-reziduu modulo pc, adica b ≡ xe (mod pc) cu x = mky.

Exemplul 2.19. Daca x5 ≡ 5 (mod 27), cu g = (e, φ(pc)) = (5, 18) = 1, avemlog25 = 5 si 5 · log2x ≡ log25 ≡ 5 (mod 18), pentru ca m = 2 este o radacina primitiva

modulo 33.Deci log2x ≡ 1 (mod 18) si avem fie log2x ≡ 1 (mod 27), fie log2x ≡ 19 (mod 27).Rezulta ca x ≡ 2 (mod 27) este singura clasa care satisface congruenta data, deoarece

satisface relatia 219 ≡ 2 (mod 27).

Exemplul 2.20. Fie congruenta x3 ≡ 4 (mod 27). Atunci, deoarece 3 · log2x ≡ log24 ≡2 (mod 27) si (3, 2) = 1, congruenta considerata nu are solutii.

Aceste exemple sugereaza o consecinta importanta a Teoremei 2.17

Corolarul 2.4. Fie p un numar prim impar, b ∈ Z, p 6 |b si e ∈ N. Daca xe ≡ b (mod p)are solutie, atunci va avea solutie si xe ≡ b (mod pc) pentru orice c ∈ N.

Page 47: Matematici ^ n Criptogra e - MTA

2.6. SIMBOLURILE LEGENDRE SI JACOBI 47

Demonstratie. Prin ipoteza fie xe ≡ b (mod p); vom demonstra prin inductie dupa c cadaca xe ≡ b (mod pc) are solutie, atunci si xe ≡ b (mod pc+1) are o solutie.

Daca notam g = (e, φ(pc)), atunci bφ(pc)/g ≡ 1 (mod pc) — conform Teoremei 2.17.Deci exista f ∈ Z astfel ca bφ(pc)/g = 1 + fpc.

Cu Afirmatia 2.1 putem scrie (1 + fpc)p = bpφ(pc)/g = bφ(pc+1/g.Dar reprezentarea binomiala a membrului stang este

(1 + fpc)p =

p∑j=0

Cjpp

cjf j = 1 + pc+1h, cu h ∈ Z, deoarece cj ≥ c+ 1 ∀j ≥ 2.

Deci bφ(pc+1)/g ≡ 1 (mod pc+1) si – cu Teorema 2.17 – congruenta xe ≡ b (mod pc+1)admite solutie.

Corolarul 2.5. In ipotezele Teoremei 2.17, exista φ(pc)/g resturi necongruente nenulemodulo pc.

Demonstratie. Teorema 2.17 solicita numarul de solutii necongruente ale ecuatiei xφ(pc)/g ≡1 (mod pc). Partea (4) a Propozitiei 2.6 arata ca aceasta congruenta are exact φ(pc)/gsolutii distincte modulo pc.

Exemplul 2.21. Sa determinam numarul solutiilor b ∈ N ale congruentei x4 ≡ b (mod 27).Deoarece g = (φ(27), e) = (18, 4) = 2 si log27 = 16, stim ca astfel de solutii exista.

Numarul lor este φ(pc)/g = 18/2 = 9. Ele sunt b ∈ 1, 4, 7, 10, 13, 16, 19, 22, 25 daterespectiv de x ∈ 1, 5, 11, 10, 4, 2, 8, 13, 7.

2.6 Simbolurile Legendre si Jacobi

Dupa ce pana acum am folosit diverse puteri de congruente, vom restrange totul la resturi(reziduuri) patratice modulo p ∈ N∗: acei ıntregi c pentru care ecuatia

x2 ≡ c (mod p)admite solutii.

Daca nu exista nici un x care sa verifice aceasta congruenta, atunci c este numit“non-reziduu patratic”.

Se pot defini similar non-reziduuri cubice, cuatrice etc. Deoarece multe problemefolosite ın criptografie se bazeaza pe aceasta problema a resturilor patratice:

Fiind dat un c ∈ Z este acesta un rest patratic sau nu ?vom folosi un simbol specific, anume simbolul Legendre.

Definitia 2.12. Daca c ∈ Z si p > 2 este prim, atunci(c

p

)=

0 daca p|c1 daca c este un rest patratic modulo p−1 altfel

se numeste simbolul Legendre al lui c ın raport cu p.

Page 48: Matematici ^ n Criptogra e - MTA

48 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Observatia 2.4. Folosind criteriul lui Euler (Teorema 2.17), se poate stabili imediaturmatorul rezultat:

Fie p > 2 prim. Atunci

- Daca c(p−1)/2 ≡ 1 (mod p) atunci

(c

p

)= 1,

- Daca c(p−1)/2 ≡ −1 (mod p) atunci

(c

p

)= −1.

Acesta este “criteriul lui Euler pentru reziduuri patratice”.

Teorema 2.18. Daca p > 2 este prim si b, c ∈ Z cu p 6 |bc, atunci

1.

(c

p

)≡ c(p−1)/2 (mod p).

2.

(b

p

)(c

p

)=

(bc

p

).

3. Daca b ≡ c (mod p) atunci

(b

p

)=

(c

p

).

Demonstratie.

1. Rezulta imediat din Observatia 2.4.

2.

(b

p

)(c

p

)≡ b(p−1)/2c(p−1)/2 ≡ (bc)(p−1)/2 ≡

(bc

p

)(mod p).

3. Este o consecinta imediata a definitiei resturilor patratice.

Pentru a demonstra unul din cele mai importante rezultate necesare ın calculul sim-bolului Legendre, sunt necesare cateva leme tehnice.

Lema 2.4. (Lema lui Gauss) Fie p > 2 prim si c ∈ Z cu p 6 |c. Notam cu C numarul deelemente din multimea

jc | 1 ≤ j ≤ (p− 1)/2, jc > p/2,

unde s-a notat jc = j · c (mod p). Atunci

(c

p

)= (−1)C.

Demonstratie. Pentru fiecare numar natural j ≤ (p− 1)/2 definim

cj =

jc daca jc < p/2,p− jc daca jc > p/2.

Daca 1 ≤ j, k ≤ (p − 1)/2 totul se reduce la o simpla verificare ca cj ≡ ck (mod p)daca si numai daca j = k.

Page 49: Matematici ^ n Criptogra e - MTA

2.6. SIMBOLURILE LEGENDRE SI JACOBI 49

Sa consideram acum cj 6≡ ck (mod p) pentru toti j 6= k, (1 ≤ j, k ≤ (p− 1)/2). Avem

deci (p− 1)/2 numere naturale necongruente mai mici decat p/2. In acest caz

(p−1)/2∏j=1

cj ≡(p− 1

2

)! (mod p).

De asemenea, deoarece p− jc ≡ (−1)(jc) (mod p),

(p−1)/2∏j=1

cj ≡ (−1)C · c(p−1)/2

(p− 1

2

)! (mod p).

Din aceste doua relatii se obtine – dupa simplificari:c(p−1)/2 ≡ (−1)C (mod p),

si folosind Teorema 2.18(1) se ajunge la rezultatul scontat.

O consecinta importanta a Lemei lui Gauss este

Corolarul 2.6. Fie c ∈ Z impar si p > 2 prim, cu p 6 |c. Atunci(c

p

)= (−1)M ,

unde M =

(p−1)/2∑j=1

bj · c/pc.

Demonstratie. Pentru fiecare numar natural j ≤ (p − 1)/2 avem – cu algoritmul deımpartire: j · c = qjp+ rj, rj ∈ N, rj < p. Conform notatiei din demonstratia Lemei 2.4,aceasta ınseamna r · j = jc, asa ca

cj =

rj daca rj < p/2,p− rj daca rj > p/2,

si qj = bj · c/pc. Rearanjam valorile rj astfel ca rj > p/2 pentru j = 1, 2, . . . , C sirj < p/2 pentru j = C + 1, C + 2, . . . , (p− 1)/2. Atunci avem

(p−1)/2∑j−1

j · c =

(p−1)/2∑j−1

pbj · c/pc+

p−1)/2∑j=1

rj.

De asemenea, deoarece cj formeaza de fapt o rearanjare a numerelor 1, 2, . . . , (p −1)/2, avem

p−1)/2∑j=1

j =C∑j=1

(p− rj) +

(p−1)/2∑j=C+1

rj = p · C −C∑j=1

rj +

(p−1)/2∑j=C+1

rj

Din cele doua relatii se obtine prin scadere

(c− 1)

(p−1)/2∑j=1

j = p

(p−1)/2∑j=1

bj · c/pc − C

+ 2C∑j=1

rj.

Page 50: Matematici ^ n Criptogra e - MTA

50 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Reducand modulo 2 se ajunge la

0 ≡

(p−1)/2∑j=1

bj · c/pc − C

(mod 2),

sau C ≡(p−1)/2∑j=1

bj · c/pc (mod 2)

Se aplica din nou Lema 2.4 (Gauss) si se ajunge la rezultatul final.

Putem acum demonstra rezultatul lui Gauss, celebru prin consecintele sale privindnumerele prime:

Teorema 2.19. (Legea reciprocitatii patratice) Daca p si q sunt numere prime imparedistincte, atunci (

p

q

)(q

p

)= (−1)

p−12· q−1

2 .

O forma echivalenta a acestui rezultat este:

(q

p

)=

−(pq

)daca p ≡ q ≡ 3 (mod 4),(

pq

)altfel.

Demonstratie. Sa stabilim ıntai egalitatea

p− 1

2· q − 1

2=

(p−1)/2∑k=1

bk · q/pc+

(q−1)/2∑j=1

bj · p/qc. (1)

Fie S = (jp, kq) | 1 ≤ j ≤ (q − 1)/2; 1 ≤ k ≤ (p− 1)/2.Multimea S are

p− 1

2· q − 1

2elemente. De asemenea se verifica imediat jp 6= kq

pentru toate valorile 1 ≤ j ≤ (q − 1)/2, 1 ≤ k ≤ (p − 1)/2. Partajam multimea S ınS = S1 ∪ S2 unde

S1 = (jp, kq) ∈ S | jp < kq, S2 = (jp, kq) ∈ S | jp > kq.Daca (jp, kq) ∈ S1 atunci j < kq/p. In plus, kq/p ≤ (p − 1)q/(2p) < q/2. Deci

bkq/pc < q/2, ceea ce conduce la bk · q/pc ≤ (q − 1)/2.

Deci |S1| =

(p−1)/2∑k=1

bkq/pc. Similar, |S2| =

(q−1)/2∑j=1

bjp/qc. Aceasta ıncheie demonstrarea

egalitatii (1).

Sa notam acum M =

(p−1)/2∑k=1

bkq/pc, N =

(q−1)/2∑j=1

bjp/qc. Daca ın Corolarul 2.6 dam lui

c valoarea q, atunci (q

p

)= (−1)M .

Page 51: Matematici ^ n Criptogra e - MTA

2.6. SIMBOLURILE LEGENDRE SI JACOBI 51

Similar (p

q

)= (−1)N .

Deci

(p

q

)·(q

p

)= (−1)M+N .

Rezultatul final se obtine acum din (1).

Exemplul 2.22. Fie p = 7, q = 991. Atunci, cu Teorema 2.19 avem(p

q

)(q

p

)=

(7

991

)(991

7

)= (−1)3·495 = −1, deci(

7

991

)= −

(991

7

)= −

(4

7

)= −

(2

7

)2

= −1.

Rezulta ca congruenta x2 ≡ 7 (mod 991) nu are solutii x ∈ Z.

Legea reciprocitatii patratice este completata de urmatoarele doua rezultate:

Propozitia 2.8. Fie p un numar prim impar. Atunci simbolul Legendre verifica urmatoareaegalitate: (

2

p

)= (−1)(p2−1)/8.

Demonstratie. Sa notam M =

(p−1)/2∑j=1

bjc/pc unde c ∈ Z astfel ca p 6 |c.

Se calculeaza imediat

(p−1)/2∑j=1

j =p2 − 1

8.

Din demonstratia Corolarului 2.6 se deduce relatia

(c− 1)p2 − 1

8= p(M − C) + 2

C∑j=1

rj.

Deci C ≡M +p2 − 1

8(c− 1) (mod 2).

Daca c = 2 atunci M = 0 pentru ca b2c · j/pc = 0 pentru toti j ∈ N cu j < p/2.Ramane

C ≡ p2 − 1

8(mod 2).

Rezultatul final se obtine din aceasta relatie si Lema 2.4 (Gauss).

Corolarul 2.7. Fie p > 2 numar prim. Atunci(2

p

)=

1 daca p ≡ ±1 (mod 8),−1 daca p ≡ ±3 (mod 8).

Page 52: Matematici ^ n Criptogra e - MTA

52 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Demonstratie. Cu Propozitia 2.8, 2 este rest patratic modulo p daca si numai daca (p2−1)/8 este par, adica p2 ≡ 1 (mod 16). Acest lucru este echivalent cu p ≡ ±1 (mod 8).Similar, 2 este non-reziduu patratic modulo p cand (p2 − 1)/8 este impar, adica p2 ≡9 (mod 16), iar aceasta conditie apare cand p ≡ ±3 (mod 8).

O generalizare a simbolului Legendre este simbolul Jacobi.

Definitia 2.13. Fie n > 1 un numar natural impar si n = pe11 . . . pekk descompunerea saın factori primi. Simbolul Jacobi al lui a ın raport cu n este(a

n

)=

k∏j=1

(a

pj

)ejpentru orice a ∈ Z, unde simbolurile din membrul drept sunt simboluri Legendre.

Simbolul Jacobi satisface cateva proprietati importante:

Teorema 2.20. Fie m,n ∈ N,cu n impar, si a, b ∈ Z. Atunci

1.

(ab

n

)=(an

)( bn

).

2.(an

)=

(b

n

)daca a ≡ b (mod n).

3. Daca m este impar, atunci( a

mn

)=( am

)(an

).

4.

(−1

n

)= (−1)(n−1)/2.

5.

(2

n

)= (−1)(n2−1)/8.

6. Daca (a, n) = 1 unde a ∈ N este impar, atunci(an

)(na

)= (−1)

a−12·n−1

2 (Legea

reciprocitatii patratice pentru simbolul Jacobi).

Demonstratie. Primele doua proprietati rezulta imediat din Teorema 2.18.Proprietatea (3) este o consecinta simpla a Definitiei 2.13.(4) Daca avem o descompunere n = p1 . . . pt, ın factori primi impari (nu neaparat

distincti), atunci

n =t∏

j=1

(pj − 1 + 1) ≡ 1 +t∑

j=1

(pj − 1) (mod 4),

deoarece toti pj − 1 sunt valori pare. Deci

n− 1

2≡

t∑j=1

pj − 1

2(mod 2).

Page 53: Matematici ^ n Criptogra e - MTA

2.6. SIMBOLURILE LEGENDRE SI JACOBI 53

Sa notam cu S membrul drept al acestei relatii. Cu partea (3) si Teorema 2.18 (1)ımpreuna cu relatia de mai sus, putem scrie(

−1

n

)=

t∏j=1

(−1

pj

)=

t∏j=1

(−1)pj−1

2 = (−1)S = (−1)n−12 .

(5) Sa observam ıntai ca

n2 =t∏

j=1

p2j =

t∏j=1

(p2j − 1 + 1) ≡ 1 +

t∑j=1

(p2j − 1) (mod 16),

deoarece ∀j, p2j ≡ 1 (mod 8). Deci

n2 − 1

8≡ 1

t∑j=1

(p2j − 1) (mod 2)

si sa notam T =t∑

j=1

p2j − 1

8.

Cu Propozitia 2.8,(2

n

)=

t∏j=1

(2

pj

)=

t∏j=1

(−1)p2j−1

8 = (−1)T = (−1)n2−1

8 .

(6) Fie a = q1 . . . qs o descompunere ın factori primi (nu neaparat distincti). Deoarece(a, n) = 1, atunci pj 6= qk pentru orice j, k.

Cu proprietatile (1) si (3) de mai sus,(an

)·(na

)=

t∏j=1

(a

pj

) s∏k=1

(n

qk

)=

t∏j=1

s∏k=1

(qkpj

) s∏k=1

t∏j=1

(pjqk

)=

t∏j=1

s∏k=1

(pjqk

)(qkpj

).

si – cu Teorema 2.19 – ea este egala ın continuare cut∏

j=1

s∏k=1

(−1)pj−1

2· qk−1

2 = (−1)U

unde

U =t∑

j=1

s∑k=1

pj − 1

2· qk − 1

2=

t∑j=1

pj − 1

2

s∑k=1

qk − 1

2.

Cum am aratat mai sus pentru pj, avem si egalitateas∑

k=1

qk − 1

2≡ a− 1

2(mod 2),

ceea ce conduce ın final la egalitatea solicitata.

Pe baza acestor rezultate se poate da un algoritm de calcul pentru simbolul Jacobi:

Page 54: Matematici ^ n Criptogra e - MTA

54 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

SimbolJacoby(n, a) :Intrare: n ≥ 3 ıntreg impar, a ∈ [0, n) ıntreg.

Iesire: Simbolul Jacobi(an

).

1. Daca a ≤ 1 atunci output a, Stop.

2. a = 2ma1, unde a1 este impar.

3. Daca m este par, atunci s←− 1

altfel daca n ≡ ±1 (mod 8) atunci s←− 1

altfel s←− −1;

4. n1 ←− n (mod a1);

5. Output s · SimbolJacobi(n1, a1).

Utilizarea unui astfel de algoritm este extrem de necesara ın unele teste de primalitate.

2.7 Exercitii

Exercitiul 2.1. Daca a, b ∈ Z si ab = 1, atunci a = b = 1 sau a = b = −1.

Exercitiul 2.2. Daca a, b ∈ Z \ 0 si a|b, b|a atunci a = ±b.

Exercitiul 2.3. Gasiti numerele ıntregi x, y astfel ca 3x+ 7y = 1.

Exercitiul 2.4. Calculati (15, 113), (4136, 7739).

Exercitiul 2.5. Calculati cmmmc(15, 385), cmmmc(28, 577), cmmmc(73, 561), cmmmc(110, 5005).

Exercitiul 2.6. Demonstrati ca daca n ∈ N, x ∈ R atunci bbxc/nc = bx/nc.

Exercitiul 2.7. (Lema lui Euclid) Fie a, b, c ∈ Z. Demonstrati ca daca c|ab si (b, c) = 1atunci c|a.

Exercitiul 2.8. Daca a, b ∈ Z si g = (a, b) atunci (a/g, b/g) = 1.

Exercitiul 2.9. Daca p, k, n ∈ N si n > 1 atunci (np − 1, nk − 1) = n(p,k) − 1.

Exercitiul 2.10. Fie a, b ∈ N, x = cmmmc(a, b), y = (a, b) Aratati ca xy = ab.

Exercitiul 2.11. Demonstrati ca daca n ∈ N nu este prim, atunci admite un divizorp ≤√n.

Page 55: Matematici ^ n Criptogra e - MTA

2.7. EXERCITII 55

Exercitiul 2.12. Demonstrati ca toate numerele prime impare sunt de forma 4n±1 (n ∈N).

Exercitiul 2.13. Pentru n ∈ N vom nota cu σ(n) suma diviziorilor pozitivi ai lui n.Aratati ca daca p este prim si k ∈ N, atunci σ(pk) = (pk+1 − 1)/(p− 1).

Exercitiul 2.14. Calculati σ(n) pentru fiecare din numerele urmatoare:(a) 69. (b) 96 (c) 100 (d) 64 (e) 10000.

Exercitiul 2.15. Fie n = pq unde p > q > 2 sunt numere prime. Demonstrati ca existaexact doua perechi ordonate de numere naturale (x, y) pentru care n = x2 − y2; anume

(x, y) ∈ ((p+ q)/2, (p− q)/2), ((pq + 1)/2, (pq − 1)/2).

Exercitiul 2.16. Rezolvati sistemele de congruente:1. x ≡ 2 (mod 3), x ≡ 3 (mod 5), x ≡ 1 (mod 11).2. x ≡ 1 (mod 7), x ≡ 2 (mod 13), x ≡ 3 (mod 17).3. x ≡ 1 (mod 3), x ≡ 5 (mod 7), x ≡ 1 (mod 10).

Exercitiul 2.17. Fie a, b ∈ Z, n ∈ N. Demonstrati ca ecuatia ax ≡ b (mod n) are solutiedaca si numai daca (a, n)|b.

Exercitiul 2.18. Rezolvati ecuatiile:(a) 5x ≡ 1 (mod 9); (b) 4x ≡ 5 (mod 27); (c) 10x ≡ 3 (mod 11);(d)− x ≡ 9 (mod 49); (e) 3x ≡ 17 (mod 103); (f) 103x ≡ 3 (mod 211).

Exercitiul 2.19.(a) Gasiti x, y ∈ Z astfel ca 19x+ 31y = 1.(b) Gasiti 19−1 (mod 31).

Exercitiul 2.20. Fie m ∈ Z, n ∈ N si (m,n) = 1. Demonstrati ca mφ(n)−1 este uninvers multiplicativ al lui m modulo n.

Exercitiul 2.21. Demonstrati ca φ(m · n) = φ(m) · φ(n) pentru orice doua numerem,n ∈ N prime ıntre ele.

Deduceti de aici ca daca m,n ∈ N cu (m,n) = g, atunci φ(m·n) = g ·φ(m)·φ(n)/φ(g).

Exercitiul 2.22. Demonstrati ca daca d|n atunci φ(d)|φ(n).

Exercitiul 2.23. Fie n ∈ N∗. Aratati ca pentru ∀a ∈ Z ∃b ∈ N cu bb ≡ a (mod n) dacasi numai daca (n, φ(n)) = 1.

Exercitiul 2.24. Fie a ∈ Z, n > 1 un numar natural prim cu a si fie r cel mai micıntreg pozitiv cu ar ≡ 1 (mod n). Aratati ca r|φ(n).

Exercitiul 2.25. Fie g o radacina primitiva modulo un numar prim p > 2. Demonstratica ∀a ∈ N, sau g sau g + p este o radacina primitica modulo pa.

Page 56: Matematici ^ n Criptogra e - MTA

56 CAPITOLUL 2. DIVIZIBILITATE SI CONGRUENTA

Exercitiul 2.26. Fie p un numar prim, p ≡ 3 (mod 4). Sa se arate ca daca a ∈ Zp esterest patratic, atunci ecuatia x2 ≡ a (mod p) are solutiile ±a(p+1)/4.

Exercitiul 2.27. Care din urmatoarele module admit radacini primitive ? Dati un exem-plu daca o asemenea radacina exista, sau justificati teoretic daca raspunsul este negativ.

(a) 49, (b) 85, (c) 14, (d) 29, (e) 202, (f) 3677.

Exercitiul 2.28. Gasiti toate radacinile primitive necongruente pentru modulele(a) 5, (b) 11, (c) 10, (d) 19.

Exercitiul 2.29. Calculati(a) log27 (mod 13), (b) log211 (mod 13), (c) log25 (mod 19),(d) log210 (mod 19), (e) log36 (mod 17), (f) log38 (mod 17).

Exercitiul 2.30. Folosind calculul cu logaritmi discreti gasiti solutii pentru congruenteleurmatoare:(a) 3x4 ≡ 4 (mod 7), (b) x3 − 5 ≡ 0 (mod 49), (c) 3x5 ≡ 4 (mod 11),(d) 2x3 ≡ 5 (mod 11), (e) 5x5 ≡ 3 (mod 7), (f) 3x7 ≡ 5 (mod 11).

Exercitiul 2.31. Aratati ca congruenta xe ≡ b (mod pc) are g = (e, φ(pc)) solutii dis-tincte modulo pc daca g|logab pentru orice radacina primitiva a modulo pc, si niciuna ıncaz contrar.

Page 57: Matematici ^ n Criptogra e - MTA

Capitolul 3

Polinoame si extensii Galois

3.1 Algebra polinoamelor de o nedeterminata

Sa consideram un corp1 (K,+, ·) si o variabila nedeterminata X care poate fi instantiatacu valori din K.

Definitia 3.1. Un polinom de o nedeterminata peste corpul K este o expresie formala

f(X) = a0 + a1X + · · ·+ anXn + · · · =

∞∑i=0

aiXi. (2)

unde a0, . . . , an, · · · ∈ K se numesc “coeficienti”.

Observatia 3.1. Daca se iau drept coeficienti polinoame a0(Y ), . . . , an(Y ) de nedetermi-

nata Y , se obtine un polinom de doua nedeterminate f(X, Y ) =∑i,j

ai,jXiY j.

Notatia (2) reprezinta forma algebrica a unui polinom f , ordonat crescator dupa pute-rile nedeterminatei X. Multimea polinoamelor de nedeterminata X cu coeficienti ın Kse noteaza K[X]. Pentru n = 0, polinoamele de forma f(X) = a0 se numesc polinoame“constante”, iar ın cazul cand a0 = 0 avem polinomul “identic nul”2.

Monoamele aiXi (i ≥ 0) se numesc “termenii” polinomului.

Exemplul 3.1. Pentru K = Q, K = R, K = C se obtin: Q[X] –multimea polinoamelorde nedeterminata X cu coeficienti ın Q (respectiv R[X] –multimea polinoamelor de nede-terminata X cu coeficienti ın R etc.)

Au loc incluziunile evidente Q[X] ⊂ R[X] ⊂ C[X].

Pe multimea K[X] a polinoamelor se pot defini urmatoarele operatii:Fie f, g ∈ K[X], f(X) = a0+a1X+· · ·+anXn+. . . , g(X) = b0+b1X+· · ·+bmXm+. . . .

1Constructiile din acest paragraf sunt valabile ıntr-un cadru mai larg, pentru un inel comutativ unitar.2Pentru a nu confunda cu ecuatia polinomiala f(X) = 0, de obicei polinomul identic nul se noteaza

f(X) ≡ 0.

57

Page 58: Matematici ^ n Criptogra e - MTA

58 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

• Egalitatea a doua polinoame:

f(X) = g(X) ⇐⇒ ai = bi, ∀i ≥ 0.

• Adunarea a doua polinoame:

f(X) + g(X) =∞∑i=0

(ai + bi)Xi.

• Inmultirea a doua polinoame:

f(X) · g(X) =∞∑i=0

(∑k+p=i

ak · bp

)X i.

• Inmultirea cu scalari a polinoamelor:

kf(X) = ka0 + ka1X + · · ·+ kanXn + . . . unde k ∈ K este o constanta arbitrara.

Teorema 3.1. (K[X],+, ·) este inel comutativ si unitar numit “inelul polinoamelor denedeterminata X cu coeficienti ın corpul K” sau – pe scurt – “inelul polinoamelor pestecorpul K”.

Demonstratie. Se verifica imediat axiomele de inel (vezi sectiunea 1.5 din Capitolul 1).

Operatia de ınmultire cu scalari este de asemenea verificata ın inelul (K[X],+, ·). Da-torita acestui fapt, structura nou obtinuta se numeste “algebra polinoamelor peste corpulK”.

Definitia 3.2. Fie f ∈ K[X], f(X) = a0 + a1X + · · ·+ anXn + . . .

Se numeste gradul polinomului f, (f 6= 0) – si se noteaza grad(f) – cel mai mare numarnatural n cu proprietatea an 6= 0. Daca f = 0 atunci grad(f) = −∞.

Daca grad(f) = n, atunci putem scrie f(X) = a0 + a1X + · · · + anXn, an 6= 0.

Termenul a0 se numeste “termenul liber” al polinomului f , iar coeficientul an 6= 0 senumeste “coeficientul dominant” al polinomului f . Daca an = 1, polinomul se numeste“normat”.

Teorema 3.2. Fie f, g ∈ K[X]. Atunci

1. grad(f + g) ≤ max (grad(f), grad(g)).

2. grad(f · g) = grad(f) + grad(g).

Demonstratie. Se folosesc definitiile operatiilor de adunare respectiv ınmultire a douapolinoame.

Definitia 3.3. Fie f(X) = a0 + a1X + · · ·+ anXn ∈ K[X] si α ∈ K.

Se numeste valoarea polinomului f ın α elementul f(α) = a0 +a1 ·α+ · · ·+an ·αn ∈ K.

Page 59: Matematici ^ n Criptogra e - MTA

3.1. ALGEBRA POLINOAMELOR DE O NEDETERMINATA 59

Pentru doua polinoame f, g ∈ K[X] se verifica imediat relatiile

1. (f + g)(α) = f(α) + g(α);

2. (f · g)(α) = f(α) · g(α).

De remarcat ca operatiile de adunare si ınmultire din membrul stang sunt operatii dinK[X], iar cele din membrul drept sunt operatii din K. Proprietatile de sus justifica faptulca ele au fost notate identic.

Definitia 3.4. Fie f ∈ K[X] un polinom. Functia φ : K −→ K definita φ(x) = f(x) ∀x ∈K se numeste “functia polinomiala” (asociata polinomului f).

Daca nu apar ambiguitati, un polinom si functia polinomiala asociata se noteaza iden-tic.

Elementul α este “radacina” a polinomului f daca functia asociata ia valoarea zero:f(α) = 0.

Aritmetica inelului de polinoame K[X] este ın multe privinte analoga aritmeticii peinelul (Z,+, ·). Aceasta analogie este realizata prin doua teoreme fundamentale: teoremaımpartirii cu rest si teorema descompunerii ın factori ireductibili. Mai mult, demonstratiilecelor doua teoreme sunt similare pentru aproape toate argumentarile.

Teorema 3.3. Fie f, g ∈ K[X], g 6= 0. Atunci exista polinoamele unice q, r ∈ K[X] astfelıncat f(X) = q(X) · g(X) + r(X) si grad(r) < grad(g).

Terminologia este similara cu cea de la inelul ıntregilor (deımpartit, ımpartitor, rest,cat, divizor etc).

Propozitia 3.1. (Bezout) Fie f ∈ K[X] si a ∈ K arbitrar. Restul ımpartirii polinomuluif(X) la X − a este f(a).

Demonstratie. Scriem teorema ımpartirii cu rest: exista polinoamele q, r ∈ K[X] cuf(X) = q(X) · (X − a) + r(X) si grad(r) < grad(X − a) = 1. Deci grad(r) = 0,adica r(X) = k. Calculand valoarea polinomului f ın a ∈ K avem f(a) = q(a)(a− a) + k,sau k = f(a).

Corolarul 3.1. Un element a ∈ K este radacina a polinomului f ∈ K[X] daca si numaidaca (X − a)|f(X).

Definitia 3.5. Elementul a ∈ K este radacina de ordin de multiplicitate p > 0 pentrupolinomul f ∈ K[X] daca f(X) se divide cu (X − a)p dar nu se divide cu (X − a)p+1.

Definitia 3.6. Un polinom f ∈ K[X] de grad n este ireductibil ın corpul K daca nu sepoate descompune ın produsul a doua polinoame din K[X], ambele de grad mai mic decatn. In caz contrar, f este un polinom reductibil ın K.

Page 60: Matematici ^ n Criptogra e - MTA

60 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Propozitia 3.2. Orice polinom de grad unu este ireductibil.

Demonstratie. Prin reducere la absurd.

Teorema 3.4. (Teorema descompunerii ın factori ireductibili)Fie f ∈ K[X]. Atunci f se poate scrie ın mod unic ca un produs de polinoame

ireductibile din inelul K[X].

Demonstratie. Prin inductie dupa n = grad(f).Pentru n = 1 se aplica Propozitia 3.2.Presupunem afirmatia adevarata pentru orice polinom de grad < n si fie f ∈ K[X] un

polinom de grad n. Sunt doua cazuri:(i) f ireductibil.

(ii) f reductibil. Deci exista polinoamele g, h ∈ K[X] cu f = g · h. Pentru cagrad(g) < n si grad(h) < n, se aplica fiecarui factor ipoteza de inductie.

Teorema 3.5. Fie K un corp comutativ. Urmatoarele afirmatii sunt echivalente:

1. Orice polinom ireductibil din K[X] are gradul unu.

2. Orice polinom din K[X] de grad cel putin unu are radacini ın K.

Demonstratie.(1) =⇒ (2): Fie f ∈ K[X].

Daca grad(f) = 1 atunci f(X) = X − a cu a ∈ K, deci f(a) = 0.Daca grad(f) > 1, atunci f este reductibil (altfel contrazice ipoteza (1)). Este posibiladescompunerea f = g · h cu grad(h) < n. Se repeta rationamenul pentru polinomul h(deoarece K este comutativ, alegerea ıntre g si h este arbitrara).

(2) =⇒ (1): Fie f ∈ K[X].Daca grad(f) = 1, conform Propozitiei 3.2, f este ireductibil.Daca grad(f) > 1, atunci f are radacini ın K. Deci ∃a ∈ K cu f(a) = 0. Putem scrieatunci f(X) = (X−a)g(X) cu grad(g) = grad(f)−1. Rationamentul se reia cu polinomulg si continua pana se ajunge la un polinom de grad 1.

Propozitia 3.3. Fie f ∈ K[X], grad(f) ≥ 2.

1. Daca f(X) este ireductibil atunci f(X) nu are radacini ın K.

2. Pentru grad(f) = 2, 3 conditia de sus este si suficienta.

Demonstratie.

1. Afirmatia se demonstreaza foarte simplu prin reducere la absurd.

Page 61: Matematici ^ n Criptogra e - MTA

3.1. ALGEBRA POLINOAMELOR DE O NEDETERMINATA 61

2. Fie f ∈ K[X], grad(f) = 2, 3. Daca este reductibil, atunci f = g · h si unul din ceidoi factori este de gradul unu. Presupunem ca grad(g) = 1, adica g(X) = X − acu a ∈ K; vom avea f(a) = (a − a)h(a) = 0, contradictie cu ipoteza ca f nu areradacini ın K.

Propozitia 3.3 nu este adevarata pentru polinoame de grad > 3. De exemplu, f(X) =(X2 + 1)2 ∈ Z[X] este reductibil dar nu are radacini ın Z.

Teorema 3.6. Fie f(X) = a0 +a1X+· · ·+anXn, an 6= 0, n ≥ 1 un polinom cu radaciniledistincte x1, x2, . . . , xn. Atunci

f(X) = an(X − x1)(X − x2) . . . (X − xn).

Teorema 3.7. Fie f ∈ K[X] un polinom cu grad(f) = n. Daca f are n + 1 radacinidistincte, atunci f este polinomul identic nul.

Demonstratie. Sa presupunem ca f nu este polinomul identic nul, deci grad(f) = n ≥ 0.Fie x1, . . . , xn, xn+1 cele n+ 1 radacini. Pentru primele n radacini avem f(X) = an(X −x1)(X − x2) . . . (X − xn), unde an ∈ K \ 0.

Din ipoteza avem si f(xn+1) = 0. Dar f(xn+1) = an(xn+1 − x1) . . . (xn+1 − xn) 6= 0(toate valorile sunt distincte). Contradictie.

Singura posibilitate este ca f(X) ≡ 0; atunci f(xi) = 0, ∀1 ≤ i ≤ n+ 1.

Propozitia 3.4. Fie polinoamele f, g ∈ K[X]. Polinomul f este divizibil prin polinomulg (scriem g|f) daca si numai daca orice radacina de multiplicitate n a lui g este radacinade multiplicitate ≥ n si pentru polinomul f .

Demonstratie. Exercitiu.

Definitia 3.7. Fie f, g ∈ K[X]. Spunem ca polinomul r ∈ K[X] este cel mai mare divizorcomun al polinoamelor f si g daca:

1. r|f si r|g;

2. ∀s ∈ K[X], daca s|f, s|g atunci s|r.

Ca si la numere ıntregi, vom nota cu r = (f, g) cel mai mare divizor comun al poli-noamelor f si g.

Teorema 3.8. Orice doua polinoame din inelul K[X] au un cel mai mare divizor comun.

Demonstratie. Algoritmul lui Euclid definit ın Teorema 2.2 (Capitolul 2) pentru numereıntregi se poate aplica si ın inelul polinoamelor K[X].

Ca o observatie (usor de demonstrat), radacinile comune a doua polinoame suntradacinile celui mai mare divizor comun al lor.

Definitia 3.8. Doua polinoame f, g sunt prime ıntre ele daca (f, g) = 1.

Page 62: Matematici ^ n Criptogra e - MTA

62 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

3.1.1 Polinoame peste corpuri finite

Sa consideram un corp finit Fq cu q elemente (q prim). Reamintim, ca un element a ∈ Fqare ordin n (n ≥ 1) daca an = 1 si ak 6= 1, ∀0 < k < n. In Capitolul 2 am notat aceastaproprietate prin ord(a) = n (Definitia 2.8).

Propozitia 3.5. Intr-un corp Fq:

1. Orice element nenul are un ordin finit;

2. Daca n = ord(a) atunci a, a2, . . . , an(= 1) sunt distincte;

3. ak = 1 daca si numai daca ord(a)|k (ord(a) este divizor al lui k).

Demonstratie. Fie a ∈ F∗q = Fq \ 0. Cum Fq este finit, elementele a, a2, a3, . . . nu pot fitoate distincte. Vom alege cel mai mic n pentru care ∃ i cu an+i = ai. Relatia se poatesimplifica (lucram ıntr-un corp) cu ai si se obtine an = 1. Din constructie, a, a2, . . . , an

sunt distincte, deci n este ordinul lui a.Pentru k = n · i avem ak = (an)i = 1i = 1. Reciproc, sa presupunem ak = 1. Teorema

2.1 (ımpartirea cu rest) da k = q · n+ r, 0 ≤ r < n. Avem 1 = ak = (aq)n · ar = ar.Cum r < n rezulta r = 0.

Definitia 3.9. Un element a ∈ Fq este primitiv daca F∗q = 1, a, a2, a3, . . . , aq−2.

Observatia 3.2. Un element din Fq este primitiv daca si numai daca are ordinul q − 1.

Teorema 3.9. Orice corp finit are cel putin un element primitiv.

Demonstratie. In corpul finit Fq se poate gasi un element a ∈ Fq de ordin n maxim.Evident n ≤ q − 1. Mai trebuie aratat ca n ≥ q − 1.

Fie b ∈ F∗q de ordin s. Sa-l descompunem pe s ın factori primi: s = pirj . . . (p, r, . . .numere prime distincte). La randul lui n = ptn′ unde n′ nu este divizibil cu p (iar t poatefi eventual zero).

Sa consideram s′ = s/pi (deci s = pis′) si fie c = aptbs′ ∈ Fq. Vrem sa aratam ca c are

ordinul m = pin′. Pentru aceasta, avem:

cm = aptmbs

′m = aptn′pibp

is′n′ = (an)pi

(bs)n′= 1p

i

1n′= 1.

Mai ramane de aratat ca cm′= 1 =⇒ m′ ≥ m. Este suficient sa verificam ca pi si n′ sunt

divizori ai lui m′; deoarece cele doua numere sunt prime intre ele, va rezulta ca produsulm = pin′ este de asemenea divizor al lui m′.

Din 1 = (cm′)n′

= aptn′m′bs

′m′n′ = (an)m′bs′m′n′ = bs

′m′n′ rezulta (Propozitia 3.5(3)) caordinul s = pis′ al lui b divide s′m′n′; cum (p′, n′) = 1, se deduce pi|m′.

In plus, din 1 = (cm′)p

i= ap

tpim′bpis′m′ = ap

tpim′(bs)m′

= aptpim′ rezulta ca ordinul

n = ptn′ al lui a divide ptpim′; deci n′|pim′, adica n′|m′.

Page 63: Matematici ^ n Criptogra e - MTA

3.2. CIRCUITE LINIARE (LFSR) PENTRU POLINOAME 63

Cum n este cel mai mare ordin ale elementelor din Fq, avem ord(c) ≤ ord(a), saum ≤ n, adica pin′ ≤ ptn′. Deci i ≤ t, de unde deducem ca pi divide n = ptn′.

In mod similar, toti factorii lui s sunt divizori ai lui n, deci s|n.Am aratat urmatoarea afirmatie:

∀ b ∈ F∗q =⇒ ord(b)|n

Deci b este o radacina a polinomului Xn − 1 = 0, de unde rezulta ca polinomulXn − 1 = 0 are q − 1 radacini, adica q − 1 ≤ n.

Fie Fq un corp finit si f ∈ Fq[X] un polinom arbitrar. Am vazut (Teorema 3.6) cadaca f are radacinile distincte x1, x2, . . . , xn atunci el este divizibil cu polinomul (X −x1)(X − x2) . . . (X − xn).

Factorizarea unui polinom depinde ınsa foarte mult de corpul peste care este definit.

Exemplul 3.2. Polinomul X3 +1 are o radacina 1 ın Z2. Deci X3 +1 se divide cu X+1:X3 + 1 = (X + 1)(X2 +X + 1)

Aceasta este o factorizare completa; deoarece X2 +X + 1 nu are radacini ın Z2, el nupoate fi descompus ın produsul a doua polinoame de gradul 1.

Acelasi polinom X3 + 1 are ın Z3 pe 2 ca radacina tripla, deci aici putem scrie:X3 + 1 = (X + 1)3.

Din Teoremele 3.6 si 3.9 rezulta ca daca a ∈ Fq este un element de ordin n, atunciXn − 1 se poate descompune ın

Xn − 1 = (X − a)(X − a2) . . . (X − an).

Definitia 3.10. Fie K unul din corpurile Z sau Zq (q prim). Un polinom h ∈ K[X] esteprimitiv daca cel mai mare divizor comun al coeficientilor sai este 1 (adica toti coeficientiisai sunt numere prime ıntre ele).

Lasam ca un exercitiu demonstrarea faptului ca produsul a doua polinoame primitiveeste de asemenea un polinom primitiv.

3.2 Circuite liniare (LFSR) pentru polinoame

Teoria circuitelor liniare a fost stabilita ın 1965 de Ernst Selmer, seful biroului de crip-tografie al guvernului norvegian. Pentru detalii si rezultate teoretice poate fi consultatareferinta [4].

Fie K un corp (arbitrar). Un “circuit liniar” este un graf orientat, cu trei tipuri denoduri (conectori):

Page 64: Matematici ^ n Criptogra e - MTA

64 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

• Sumator: este un conector cu cel putin doua intrari si o iesire. Efectul este acela dea scoate suma elementelor aflate la intrare. Operatia se executa instantaneu.

Un sumator (cu 2 intrari) se noteaza astfel:

-

?

-+

• Multiplicator: este un conector cu o singura intrare si o iesire unde se obtine rezul-tatul ınmultirii cu c ∈ K a elementului de la intrare. Operatia se executa (deasemenea) instantaneu. Notatie:

- -c

• Element de memorie: este un registru elementar ([3]) DF-F (Delay Flip-Flop) cuo intrare si o iesire; efectul este ıntarzierea cu un tact a intrarii: elementul a ∈ Kintra ın registru la momentul t si iese la momentul t+ 1. Notatie:

- -

Aceste trei tipuri de conectori se pot grupa arbitrar – folosind eventual si noduri obisnuite.Utilizarea lor conduce la obtinerea de circuite liniare cu care se realizeaza automat operatiiuzuale cu polinoame (adunari, scaderi, ınmultiri si ımpartiri), avand aplicatii ın numeroasezone din securitatea informatiei (streamciphers, generatori de numere pseudo-aleatoare,criptare pe dispozitive mobile etc).

Un LFSR (Linear Feedback Shift Register) este un circuit liniar format dintr-un regis-tru serial si o functie de ıntoarcere (feedback). Daca registrul este compus din n flip-flopuride date (DF-F), vom avea un n− LFSR.

Functie de ıntoarcere

bn bn−1. . . b2 b1

-

????

6-

In cele ce urmeaza, vom identifica un vector cu n+ 1 componentea = (a0, a1, . . . , an), ai ∈ K

cu polinomul de gradul n a(X) = a0 + a1X + · · ·+ anXn ∈ K[X].

(ın aceasta asociere nu se va mai impune restrictia an 6= 0 legata de gradul polinomului)

Page 65: Matematici ^ n Criptogra e - MTA

3.2. CIRCUITE LINIARE (LFSR) PENTRU POLINOAME 65

In cursul transmisiei mesajului a, ordinea de prelucrare (transmisie) se face dupaputerile descrescatoare ale lui X; deci, sensul de circulatie a semnalelor va fi:

a0 a1 . . . an −→

3.2.1 Constructia unor circuite liniare uzuale

Fie K unul din corpurile Z sau Zq (q prim).

Circuit liniar de ınmultire cu un polinom

.

Fie h(X) = h0 + h1X + · · · + hnXn ∈ K[X] un polinom fixat si a(X) = a0 + a1X +

· · ·+ akXk ∈ K[X] un polinom arbitrar, cu n > 0, k ≥ 0.

Un circuit de ınmultire cu h(X) este:

Figura 3.1:

n n n

- - - - - -

66s 6s 6s

6-

6

- -

6

-

6

-

a(X)

hn hn−1 h1 h0

+ + +. . .

. . .

Initial toate elementele de memorie contin 0; coeficientii polinomului a(X) intra ınstanga-jos – dupa puterile descrescatoare ale lui X – cate unul la un tact, iar coeficientiiprodusului ies ın dreapta-sus (Figura 3.1). Circuitul functioneaza n + k + 1 tacti; dupak + 1 tacti, la intrare se introduc zerouri ın cei n tacti ramasi, pana ce elementele dememorie contin din nou numai 0.

Circuitul lucreaza dupa formula de ınmultire obisnuita:

a(X) · h(X) = a0h0 + (a0h1 + a1h0)X + · · ·+ (aK−1hn + akhn−1)XK+n−1 + akhnXn+K.

Exemplul 3.3. Sa luam polinomul h(X) = 2−5X2 +X3 ∈ Z[X] (vectorul corespunzatoreste h = (2, 0,−5, 1)). Circuitul de ınmultire cu h(X) va fi:

Page 66: Matematici ^ n Criptogra e - MTA

66 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

- - - -

66

6

s s

- - -

6 6

−5 2

+ +

De remarcat ca multiplicarea cu 1 se face prin arc simplu (fara conector), iar multi-plicarea cu 0 revine la suprimarea arcului. In cazul operatiilor cu polinoame din Z2[X],toti multiplicatorii se reduc la aceste doua cazuri.

Daca dorim sa ınmultim h(X) cu polinomul a(X) = 8 + 2X (vector a = (8, 2)),circuitul liniar va functiona 5 tacti (pana cand toate elementele de memorie revin la 0);comportarea sa este data de tabelul:

Nr. tact Intrare Registru liniar Iesire0 0 0 0 0 01 2 0 0 0 22 8 2 0 0 −23 0 8 2 0 −404 0 0 8 2 45 0 0 0 8 166 0 0 0 0 0

Deci, polinomul produs este 16 + 4X − 40X2 − 2X3 + 2X4; sau ın termeni de vectori,(16, 4,−40,−2, 2).

Aceeasi operatie de ınmultire cu un polinom fixat h(X) este realizata si de circuitulliniar (Figura 3.2):

Figura 3.2:

- -

66 6 6 6s s s s

6- - - - - - - - -

6 6 6 6

h0 h1 h2 hn−1 hn

+ + + +. . .

. . .

Exemplul 3.4. Circuitul liniar care realizeaza ınmultirea cu polinomul h(X) = 1 +X +X4 ∈ Z2[X] este

Page 67: Matematici ^ n Criptogra e - MTA

3.2. CIRCUITE LINIARE (LFSR) PENTRU POLINOAME 67

-

66

s- - - - - - -

6s+ +

deoarece vectorul corespunzator polinomului h(X) este h = (1, 1, 0, 0, 1).

Circuit liniar de ımpartire cu un polinom.

Fie polinomul (fixat) h(X) = h0 + h1X + · · ·+ hkXk ∈ K[X] unde hk 6= 0. Sa construim

un circuit liniar care realizeaza ımpartirea unui polinom arbitrar a(X) = a0 +a1X+ · · ·+anX

n ∈ K[X] la h(X) (Figura 3.3)

Figura 3.3:

"!#

"!#

"!#

"!#

- - - - - - - -

6? ?

s

?

s6

?

-??

−h0 −h1 −hk−1 h−1k

a(X) + + +. . .

. . . s

Initial, toate cele k elemente de memorie contin 0. La intrare, timp de n + 1 tactise introduc coeficientii polinomului a (ın ordinea descrescatoare a puterilor). In primii ktacti, iesirea va scoate numai 0. Primul coeficient nenul apare la iesire la momentul k+ 1si este anh

−1k (operatii efectuate ın corpul K) – coeficientul termenului Xn−k din cat.

Pentru fiecare coeficient qj al catului, polinomul qjh(X) trebuie scazut din deımpartit;aceasta operatie se realizeaza printr-un procedeu de conexiune inversa (feedback).

Dupa momentul n + 1 (cand au intrat toti coeficientii polinomului a) la iesire s-aobtinut catul q al ımpartirii lui a la h, iar ın elementele de memorie se gasesc coeficientiirestului.

Exemplul 3.5. Un circuit liniar de ımpartire (peste Z) la polinomul h(X) = 2 +X este:

- - -

6 -

?

−2

+

s

Exemplul 3.6. Fie polinomul h(X) = 1+X2+X5+X6 ∈ Z2[X]. Circuitul care realizeazaımpartirea este:

- - - - - - - - -6

? ?

s?s -

+++

s

Page 68: Matematici ^ n Criptogra e - MTA

68 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Sa consideram polinomul a(X) = 1 + X4 + X5 + X7 + X9 + X10 ∈ Z2[X] pe care sa-lımpartim la polinomul h(X). Se obtine catul X +X4 si restul 1 +X +X3 +X5.

Circuitul functioneaza 11 tacti. Etapele prin care trece circuitul pentru efectuareaacestei ımpartiri sunt reprezentate de tabelul urmator:

Nr. tact Intrare Registru liniar Iesire0 − 0 0 0 0 0 0 −1 1 1 0 0 0 0 0 02 1 1 1 0 0 0 0 03 0 0 1 1 0 0 0 04 1 1 0 1 1 0 0 05 0 0 1 0 1 1 0 06 1 1 0 1 0 1 1 07 1 0 1 1 1 0 0 18 0 0 0 1 1 1 0 09 0 0 0 0 1 1 1 0

10 0 1 0 1 0 1 0 111 1 1 1 0 1 0 1 0

Vectorii (1, 1, 0, 1, 0, 1) - de pe ultima linie si (0, 1, 0, 0, 1) – scris ıngrosat si ın ordineinversa pe ultima coloana – reprezinta restul 1 + X + X3 + X5 respectiv catul X + X4

ımpartirii lui a la h.

3.3 Extensii Galois

Fie q un numar prim si h(X) = h0 + h1X + · · ·+ hnXn ∈ Zq[X]. Vom considera algebra

polinoamelor modulo h(X), pe care o construim astfel:

Fiind dat un polinom oarecare din Zq[X], clasa sa de resturi modulo h(X) se gasesteımpartind polinomul respectiv la h. Restul ımpartirii specifica clasa sa de resturi.

Doua polinoame carora le corespunde acelasi rest la ımpartirea cu h sunt echivalente,intrand ın aceeasi clasa de resturi modulo h(X).

Fiecare clasa de resturi modulo h(X) se reprezinta prin polinomul (unic) de grad strictmai mic decat n, care apartine clasei respective. Toti acesti reprezentanti pot fi consideratica polinoame de gradul n− 1, avand eventual coeficienti nuli.

Vom nota cu f(X) clasa de resturi a polinomului f modulo h(X). Deci f(X) vacorespunde unui vector (distinct) de lungime n, cu componente din Zq (prin completareeventual cu zerouri).

Operatiile definite pe multimea claselor de resturi sunt:

Page 69: Matematici ^ n Criptogra e - MTA

3.3. EXTENSII GALOIS 69

a(X)+ b(X) = a(X) + b(X),a(X)b(X) = a(X)b(X),ca(X) = ca(X), c ∈ Zq

toate calculele fiind facute modulo h(X).Proprietatile de inel de polinoame se verifica imediat. In plus, datorita operatiei su-

plimentare de ınmultire cu scalari, se obtine structura de “algebra de polinoame” moduloh(X).

Evident, 0 = h(X), unde 0 este polinomul de grad n−1 cu toti coeficientii nuli(sau vectorul cu n componente zero). Vom nota 0 = 0.

Pentru un polinom s ∈ Zq[X], clasa de resturi modulo h(X) se obtine foarte usor.Teorema 3.3 (ımpartirea cu rest) da:

s(X) = a(X)h(X) + r(X),

unde grad(r) < grad(h) = n. Atunci:s(X) − r(X) = s(X)− r(X) = a(X)h(X) = a(X)h(X) = 0,

deci s(X) = r(X).Sa reluam circuitul liniar de ımpartire definit ın Figura 3.3, ın care facem urmatoarele

modificari (Figura 3.4):

• Se neglijeaza intrarea si iesirea;

• La momentul initial elementele de memorie contin coeficientii unui polinomb(X) = b0 + b1X + · · ·+ bn−1X

n−1.

Figura 3.4:

b0 b1 bn−1

"!#

"!#

"!#

"!#

- - - - - -6

6

?s

?

?

?-

?s

?

−h0 −h1 −hn−1 h−1n

+ +

. . .

. . .

La urmatorul tact, ın elementele de memorie se obtin coeficientii polinomului:

b′(X) = −h0h−1n bn−1 + (b0 − h1h

−1n bn−1)X + (b1 − h2h

−1n bn−1)X2 + · · ·+

+(bn−2 − hn−1h−1n bn−1)Xn−1 =

= b0X + b1X2 + · · ·+ bn−1X

n − bn−1Xn − h−1

n bn−1(h0 + h1X + · · ·+ hn−1Xn−1) =

= Xb(X)− h−1n hn−1g(X).

Page 70: Matematici ^ n Criptogra e - MTA

70 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Daca notam α = X (X este clasa de resturi modulo h(X) a polinomului X), dinrelatia de mai sus se obtine:

b′(α) = b′(X) = Xb(X) = Xb(X) = Xb(X) = αb(α).

Deci circuitul de ımpartire la polinomul h(X) poate fi utilizat pentru ınmultirea lui b(α)cu α.

Teorema 3.10. In algebra polinoamelor modulo h(X), grad(h) = n, avem:

1. h(α) = 0 unde α = X;

2. h este polinomul de grad minim care are pe α ca radacina.

Demonstratie.

1. Fie h(X) = h0 + h1X + · · ·+ hnXn ∈ Zq[X], hn 6= 0.

Vom avea h(α) = h0 + h1α + · · ·+ hnαn = h0 + h1X+ · · ·+ hnXn =

= h0 + h1X+ · · ·+ hnXn = h0 + h1X + · · ·+ hnXn = h(X) = 0.

2. Folosind acelasi rationament, pentru orice polinom f(X) cu grad(f) < n se obtinef(α) = f(X) 6= 0, deoarece toate polinoamele ne-identic nule de grad strict maimic decat n apartin unor clase de resturi distincte.

Sa presupunem acum ca h(X) ∈ Zq[X] este un polinom ireductibil de gradul n. Con-form Teoremei 3.10, α = X este radacina a lui h(X). Acest element α poate fi consideratfie ca un polinom de gradul n − 1 (cu toti coeficientii nuli ınafara de cel al lui X), fievectorul cu n componente (0, 1, 0, . . . , 0).

Vom nota cu GF (qn):

• multimea vectorilor din Znq , sau – echivalent

• multimea polinoamelor de grad n− 1 cu coeficienti ın Zq, sau

• multimea claselor de resturi modulo polinomul h ∈ Zq[X] de gradul n, ireductibilpeste Zq.

GF (qn) se numeste extensia Galois de grad n a lui Zq.Spunem ca GF (qn) se obtine prin adaugarea la Zq a unei radacini a polinomului

h ∈ Zq[X] de grad n, ireductibil peste corpul de baza Zq.

Page 71: Matematici ^ n Criptogra e - MTA

3.3. EXTENSII GALOIS 71

Observatia 3.3.

Procedeul de trecere de la Zq la GF (qn) este similar trecerii de la corpul numerelor realeR la cel complex C, prin adaugarea radacinii i = X ın algebra claselor de resturi modulopolinomul 1+X2, ireductibil peste R. Putem considera multimea numerelor complexe C fieca multimea polinoamelor de grad 2− 1 = 1, a+ bi cu a, b ∈ R, fie ca multimea vectorilor(a, b) cu doua componente reale.

Teorema 3.11. Extensia Galois GF (qn) a corpului Zq este un corp de caracteristica q,care contine un subcorp izomorf cu Zq.

Demonstratie. GF (qr) contine toate polinoamele din Zq[X] de grad cel mult r − 1. Inparticular, polinoamele de grad 0 (constantele) formeaza un subcorp izomorf cu Zq careare caracteristica q (vezi si Propozitia 1.13 din Capitolul 1).

Daca polinomul h ∈ Zq[X] este ireductibil peste Zq si primitiv, puterile lui α = Xvor genera toate elementele lui GF (qn)∗ = GF (qn) \ 0 unde n = grad(h).

Aceste elemente se pot obtine cu circuitul liniar din Figura 3.4, introducand la mo-mentul initial ın elementele de memorie coeficientii polinomului b(X) = 1 (adica vectorul(1, 0, . . . , 0)).

Conform celor de mai sus, la momentul urmator se obtine Xb(X) = X = α, dupacare urmeaza pe rand α2, α3, . . . .Cum h(X) a fost ales primitiv, el va genera toate elementele nenule din GF (qn).

Exemplul 3.7. Fie polinomul 1 + X + X4 ireductibil peste Z2 si α = X ın algebraclaselor de resturi modulo 1 + X + X4. Circuitul liniar care va genera toate elementelenenule din GF (24) este:

-6

?

s- -

?- - -+

unde, la momentul initial, ın elementele de memorie este vectorul (1, 0, 0, 0).

Conform Teoremei 3.10, α este o radacina a polinomului 1 +X +X4, adica

1 + α + α4 = 0.

Lasand circuitul sa functioneze, ın registrul sau liniar se obtin succesiv toate elementelelui GF (24), pe care le interpretam fie ca vectori cu patru componente peste Z2, fie capolinoame de gradul 3 ın α cu coeficienti ın Z2.

Vedem deci ca polinomul 1+X+X4 este primitiv, puterile lui α epuizand toti vectoriinenuli din GF (24) = 0, α0, α, . . . , α14.

Page 72: Matematici ^ n Criptogra e - MTA

72 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

α0 = 1 1 0 0 0α1 = α 0 1 0 0α2 = α2 0 0 1 0α3 = α3 0 0 0 1α4 = 1 + α 1 1 0 0α5 = α + α2 0 1 1 0α6 = α2 + α3 0 0 1 1α7 = 1 + α + α3 1 1 0 1α8 = 1 + α2 1 0 1 0α9 = α + α3 0 1 0 1α10 = 1 + α + α2 1 1 1 0α11 = α + α2 + α3 0 1 1 1α12 = 1 + α + α2 + α3 1 1 1 1α13 = 1 + α2 + α3 1 0 1 1α14 = 1 + α3 1 0 0 1α15 = 1 1 0 0 0

Exemplul 3.8. Tabelul din exemplul precedent descrie operatia de ınmultire din extensiaGalois GF (24) generata de radacina α a polinomului primitiv 1 + X + X4. Daca s-aralege α drept radacina a altui polinom primitiv – de exemplu 1 + X3 + X4, se va generatot GF (24), dar ıntr-o alta ordine.

Exemplul 3.9. In GF (24) se poate defini si operatia de adunare, ınsumand modulo 2componentele celor doi operanzi. Astfel, daca reluam GF (24) generat ın Exemplul 3.7 deradacina polinomului 1 +X +X4, tabela de adunare va fi:

+ 0 α0 α α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14

0 0 α0 α α2 α3 α4 α5 α6 α7 α8 α9 α10 α11 α12 α13 α14

α0 α0 0 α4 α8 α14 α α10 α13 α9 α2 α7 α5 α12 α11 α6 α3

α α α4 0 α5 α9 α0 α2 α11 α14 α10 α3 α8 α6 α13 α12 α7

α2 α2 α8 α5 0 α6 α10 α α3 α12 α0 α11 α4 α9 α7 α14 α13

α3 α3 α14 α9 α6 0 α7 α11 α2 α4 α13 α α12 α9 α10 α8 α0

α4 α4 α α0 α10 α7 0 α8 α12 α3 α5 α14 α2 α13 α6 α11 α9

α5 α5 α10 α2 α α11 α8 0 α9 α13 α4 α6 α0 α3 α14 α7 α12

α6 α6 α13 α11 α3 α2 α12 α9 0 α10 α14 α3 α7 α α4 α0 α8

α7 α7 α9 α14 α12 α4 α3 α13 α10 0 α11 α0 α6 α8 α2 α9 αα8 α8 α2 α10 α0 α13 α5 α4 α14 α11 0 α12 α α7 α9 α3 α6

α9 α9 α7 α3 α11 α α14 α6 α5 α0 α12 0 α13 α2 α8 α10 α4

α10 α10 α5 α8 α4 α12 α2 α0 α7 α6 α α13 0 α14 α3 α9 α11

α11 α11 α12 α6 α9 α5 α13 α3 α α8 α7 α2 α14 0 α0 α4 α10

α12 α12 α11 α13 α7 α10 α6 α14 α4 α2 α9 α8 α3 α0 0 α α5

α13 α13 α6 α12 α14 α8 α11 α7 α0 α5 α3 α10 α9 α4 α 0 α2

α14 α14 α3 α7 α13 α0 α9 α12 α8 α α6 α4 α11 α10 α5 α2 0

Page 73: Matematici ^ n Criptogra e - MTA

3.4. RELATII DE RECURENTA LINIARA 73

Fie acum a(X) = a0 +a1X+ · · ·+ak−1Xk−1 ∈ Zq[X]. Valoarea a(α) se obtine folosind

circuitul de ımpartire dat ın Figura 3.3, cu urmatoarele observatii:

• Se ignora iesirea;

• Coeficientii lui a(X) se introduc la intrare ın ordinea descrescatoare a puterilor;

• Initial, elementele de memorie contin valorile (0, 0, . . . , 0).

Pentru calculul unei valori de forma a(α)αj, (j ≥ 0 fixat), se pot construi circuite liniarecare sa realizeze direct acest produs.

Exemplul 3.10. Fie α ∈ GF (24) element primitiv, solutie a ecuatiei 1 + X + X4 = 0.Polinomul a(X) va avea atunci gradul maxim 3. Fie a(X) = a0 + a1X + a2X

2 + a3X3.

Sa construim un circuit liniar care sa efectueze a(α)α5.Folosind tabelul din Exemplul 3.7, avem:

(a0 + a1α+ a2α2 + a3α

3)α5 = a0α5 + a1α

6 + a2α7 + a3α

8 = a0(α+α2) + a1(α2 +α3) +a2(1 + α + α2) + a3(1 + α2) = (a2 + a3) + (a0 + a2)α + (a0 + a1 + a3)α2 + (a1 + a2)α3

Pentru acest polinom se va construi circuitul liniar:

a0 a1 a2 a3

-

?

6-

6

6

6 6 6

-

? -66 6

6-

? -

6-

? -+ + + +

La momentul initial, ın elementele de memorie se gasesc coeficientii lui a(α); dupa untact, aici vor fi coeficientii polinomului a(α)α5.

3.4 Relatii de recurenta liniara

Relatiile de recurenta liniara definite ın acest paragraf constituie suportul teoretic algeneratorilor de numere pseudo-aleatoare bazate pe LFSR.

Pana la sfarsitul capitolului vom lucra numai cu polinoame din Zq[X], q prim.

Teorema 3.12. Fie q un numar prim si f ∈ Zq[X], grad(f) = n. In algebra polinoamelormodulo f(X), fie I un ideal si g polinomul de grad minim a carui clasa de resturi apartinelui I : g(X) ∈ I. Atunci:

1. s(X) ∈ I ⇐⇒ g|s;

2. g|f .

Page 74: Matematici ^ n Criptogra e - MTA

74 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Demonstratie.

1. Fie s(X) ∈ I. Folosind Teorema 3.3 (ımpartirea cu rest), avems(X) = b(X) · g(X) + r(X), grad(r) < grad(g).

Trecand la clasele de resturi respective, se obtine s(X) = b(X)g(X)+r(X).Cum s(X) ∈ I, rezulta b(X)g(X) ∈ I (deoarece I este ideal), deci r(X) ∈I, absurd, deoarece g este polinomul de grad minim a carui clasa de resturi apartineidealului I. Singura varianta ramane r(X) ≡ 0, adica s(X) = b(X) · g(X).

Invers: din s(X) = b(X) · g(X) rezulta s(X) = b(X)g(X) ∈ I.

2. Prin ımpartirea polinomului f la polinomul g se obtinef(X) = c(X) · g(X) + r(X) unde grad(r) < grad(g).

Avem 0 = f(X) = c(X)g(X)+ r(X) de unde rezulta r(X) ∈ I, absurd;deci r(X) ≡ 0.

Teorema 3.13. In algebra polinoamelor modulo f(X), pentru orice ideal I exista unpolinom normat unic g de grad minim, cu g(X) ∈ I.

Reciproc, pentru orice divizor normat al lui f exista un ideal generat de acel divizor.

g se numeste “generatorul” idealului I si scriem I = (g(X)).

Demonstratie. Fie h un polinom de grad minim cu h(X) ∈ I; vom nota g(X) =h−1n h(X) unde hn este coeficientul termenului de grad maxim din polinomul h.

Sa presupunem ca g si g′ sunt doua astfel de polinoame de grad minim, ale caror clasede resturi sunt ın I. Conform Teoremei 3.12, g si g′ se divid unul pe altul si – avandacelasi grad – difera printr-o constanta. Polinoamele fiind normate, aceasta constantaeste 1. Deci g = g′.

Reciproc, fie g un divizor normat al polinomului f si (g(X)) idealul generat deel. Un element al acestui ideal este a(X) ∈ (g(X)), deci are forma a(X) =b(X)g(X) = b(X)g(X).

Teorema 3.14. Fie q un numar prim, f ∈ Zq[X] un polinom normat, cu grad(f) = nsi fie f = g · h. Daca grad(h) = k, atunci ın algebra polinoamelor modulo f(X), idealul(g(X)) are dimensiunea k.

Demonstratie. Sa observam ca vectorii (asociati polinoamelor)g(X), Xg(X), . . . , Xk−1g(X)

sunt liniar independenti. Intr-adevar, pentru orice k elemente c0, . . . , ck−1 ∈ Zq, nu toatenule, avemc0g(X)+ c1Xg(X)+ · · ·+ ck−1Xk−1 = (c0 + c1X + · · ·+ ck−1X

k−1)g(X) 6= 0deoarece s-a obtinut un polinom de grad cel mult n− k + k − 1 = n− 1 < n.

Page 75: Matematici ^ n Criptogra e - MTA

3.4. RELATII DE RECURENTA LINIARA 75

In acelasi timp, pentru orice s(X) ∈ (g(X)) avem s(X) = a(X)g(X) =(a0 + a1X + · · ·+ ak−1X

k−1)g(X) = a0g(X)+ a1Xg(X)+ · · ·+ ak−1Xk−1g(X),unde unii din coeficientii a0, a1, . . . , ak−1 pot fi nuli.

Deci vectorii de sus formeaza o baza a subspatiului liniar (g(X)), care are decidimensiunea k.

Teorema 3.15. Fie f ∈ Zq[X] un polinom normat si f = g · h. In algebra polinoamelormodulo f(X),

a(X) ∈ (g(X))⇐⇒ a(X) este ın spatiul nul al idealului (h(X)).

Demonstratie.”=⇒”: Fie a(X) ∈ (g(X)), deci a = v · g.Fie de asemenea b(X) ∈ (h(X)), deci b = w · h. Vom avea

a(X)b(X) = v(x) · w(X) · g(X) · h(X) = v(X) · w(X) · f(X) = v(X) ·w(X)f(X) = 0.

”⇐=”: Sa consideram a(X) ın spatiul nul al idealului (h(X)). Atuncia(X)h(X) = 0, adica a · h = c · f = c · g · h pentru un polinom nenul c ∈ Zq, de underezulta a = c · g. Deci a(X) ∈ (g(X)).

Definitia 3.11. Se numeste relatie de recurenta liniara egalitateak∑j=0

hjai+j = 0, (3)

unde i ≥ 0, hk = 1, h0 6= 0, hj ∈ Zq, ai+j ∈ Zq.

Relatiile de recurenta liniara se pot scrie si

ai+k = −k−1∑j=0

hjai+j, i = 0, 1, . . .

O solutie a unei astfel de relatii de recurenta liniara este orice succesiune infinita deforma a0, a1, . . . , ap, . . . care verifica relatia data, cu h0, h1, . . . , hk fixate, h0 6= 0, hk = 1.Relatia va determina succesiv pe ak din a0, . . . , ak−1, apoi pe ak+1 din a1, . . . , ak s.a.m.d.

Altfel spus, ”conditiile initiale” a0, a1, . . . , ak−1 determina o solutie a relatiei de recurentaliniara.

Observatia 3.4.

• Orice combinatie liniara de solutii ale unei relatii de recurenta liniara este tot osolutie.

• Solutiile pentru care conditiile initiale sunt respectiv (1, 0, . . . , 0), (0, 1, . . . , 0), . . . ,(0, 0, . . . , 1) determina orice alta solutie. Deci, multimea solutiilor relatiei de recurentaliniara (3) are formeaza un spatiu liniar de dimensiune cel mult k.

Page 76: Matematici ^ n Criptogra e - MTA

76 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Fiind date conditiile initiale (arbitrare) a0, a1, . . . , ak−1, solutia relatiei de recurentaliniara (3) corespunzatoare se poate obtine folosind circuitul liniar

aj aj+1

aj+k−2 aj+k−1

j j j−h0 −h1 −hk−2 −hk−1

6- - - - -

? 6 6r6

6r6

6r6

+ + +. . .

. . .

ın care, la momentul initial, ın elementele de memorie se gasesc a0, a1, . . . , ak−1.

Sa consideram acum polinomul (fixat) h(X) ∈ Zq[X], h(X) = h0 + h1X + · · · +hkX

k, h0 6= 0, hk = 1, si fie n cel mai mic numar natural pentru care Xn− 1 se divide cuh. Notam

g(X) =Xn − 1

h(X)(4)

Pe baza acestor date construim relatia de recurenta liniara

ai+k = −k−1∑j=0

hjai+j, i ≥ 0. (5)

Demonstratia existentei unui astfel de numar n se face folosind principiul cutiei. Gasimdoua numere n1, n2 (n1 > n2) pentru care polinoamele Xn1 − 1 si Xn2 − 1 dau acelasi restla ımpartirea cu h. Va rezulta ca Xn2 (Xn1−n2 − 1) se divide cu h. Cum h are termenliber nenul, el va divide pe Xn1−n2 − 1.

Teorema 3.16.

1. Solutiile relatiei de recurenta (5) sunt periodice, de perioada n.

2. Multimea formata din prima perioada a fiecarei solutii, scrisa ca polinoma(X) = a0X

n−1 + · · · + an−2X + an−1 constituie idealul (g(X)) ın algebra poli-noamelor modulo Xn − 1.

Demonstratie.

1. Vom arata ca oricarui element a(X) ∈ (g(X)) cua(X) = a0X

n−1 + · · ·+ an−2X + an−1 ıi corespunde o solutie periodicaa1, a1, . . . , an−1, a0, a1, . . . , an−1, a0, . . .

a relatiei de recurenta (5). Evident, nu este obligatoriu ca toti coeficientii ai sa fienenuli, gradul real al polinomului f(X) putand fi chiar zero.

Fie a(X)h(X) = c(X). Vom nota c(X) = c0 + c1X + · · ·+ cn−1Xn−1. Avem:

- pentru k ≤ p ≤ n− 1, cp = h0an−1−p + h1an−1−p+1 + · · ·+ hkan−1−p+k; (6)

- pentru 0 ≤ p < k, cp = h0an−1−p + h1an−1−p+1 + · · · + hpan−1 + hp+1a0 + · · · +hkak−p−1. (7)

Page 77: Matematici ^ n Criptogra e - MTA

3.4. RELATII DE RECURENTA LINIARA 77

Conform Teoremei 3.15, daca a(X) ∈ (g(X)) atunci a(X)h(X) = 0, adicacp = 0,∀0 ≤ p ≤ n− 1.

Considerand (ai)i ca o succesiune periodica, vom avea evident ai+n = ai, i ≥ 0.Tinand cont de aceasta, se introduce cp = 0 ın (6) si (7) si se obtine (5).

2. Idealul (g(X)) are dimensiunea k = grad(h) (Teorema 3.14) si fiecare element alacestui ideal (polinom sau vector – dupa cum este scris) va da o solutie a relatiei derecurenta liniara (5). Dar spatiul solutiilor relatiei (5) are dimensiunea cel mult k.Deci idealul (g(X)) va da toate solutiile relatiei de recurenta liniara (5).Mai trebuie aratat ca perioada acestei clase de solutii este chiar n.

Din cele de pana acum a rezultat ca perioada este cel mult n. Vom arata ca solutiacorespunzatoare clasei de resturi g(X) are perioada n.

Sa presupunem prin absurd ca solutia corespunzatoare lui g(X) are perioadam < n. Dar n este divizibil cu m si deci coeficientii polinomului g – considerat

ca fiind de grad n − 1 (eventual prin completare cu coeficienti nuli) – formeazan

mblocuri care se repeta.

Deci g(X) = q(X) · (1 +Xm +X2m + · · ·+Xn−m) unde q este un polinom de gradul

m− 1. Relatia se poate scrie si g(X) = q(X) · Xn − 1

Xm − 1.

Vom avea acum (Xn−1) ·(Xm−1) = g(X) ·h(X) ·(Xm−1) = q(X) ·h(X) ·(Xn−1)adica Xm−1 = q(X) ·h(X), ceea ce contrazice conditia ca n este cel mai mic numarpentru care Xn − 1 se divide cu h(X). Deci m = n.

Exemplul 3.11. Sa consideram polinomul h(X) = 1 + X + X2 + X4 ∈ Z2[X]. Relatiade recurenta liniara asociata este

ai+4 = ai+2 + ai+1 + ai, (i ≥ 0).Circuitul liniar corespunzator are forma

6- - -

?6 6s s

+ +

Cel mai mic n pentru care Xn− 1 se divide cu h(X) este n = 7. Cum g(X) =X7 − 1

h(X)=

X3 +X + 1, rezulta ca circuitul va genera elementele idealului (g(X)). Fiecare elementeste caracterizat de cele patru valori binare initiale din elementele de memorie. Vor fideci 24 = 16 secvente binare de lungime 7. Ele corespund tuturor polinoamelor de gradmaxim 6 din Z2[X], care se divid cu g(X).

De exemplu, pentru valorile initiale (1, 0, 1, 1), functionarea circuitului timp de saptetacti este:

Page 78: Matematici ^ n Criptogra e - MTA

78 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Iesire− 1 0 1 11 0 1 1 00 1 1 0 01 1 0 0 01 0 0 0 10 0 0 1 00 0 1 0 10 1 0 1 1

In elementele de memorie se regasesc valorile initiale, iar la iesire se obtine polinomulf(X) = X6 +X4 +X3 = X3g(X).

Exemplul 3.12. Circuitul liniar corespunzator polinomului h(X) = 1 +X3 +X5 +X6 +X8 ∈ Z2[X] este

6- - - -

?6 6 6r r r

+ + +

El da solutiile relatiei de recurenta liniara ai + ai+3 + ai+5 + ai+6 + ai+8 = 0,

care formeaza idealul generat de polinomul g(X) =X255 − 1

h(X)ideal compus din 28 = 256

cuvinte de lungime 255.

3.5 Polinoame minimale

Definitia 3.12. Fie β un element dintr-o extensie a lui Zq. Se numeste ”polinom mini-mal” al lui β polinomul normat g ∈ Zq[X] de grad minim, cu g(β) = 0.

Existenta acestui polinom este asigurata de Teorema 3.10, pe baza careia s-au definitextensiile Galois.

Exemplul 3.13. Sa consideram extensia GF (23) generata de radacina α a polinomu-lui 1 + X + X3. Deoarece α este primitiv, avem GF (23) = 0, 1, α, α2, α3, α4, α5, α6.Polinoamele minimale ale fiecarui element sunt date ın tabelul:

Element Polinom minimal0 X1 1 +Xα,α2, α4 1 +X +X3

α3, α5, α6 1 +X2 +X3

Propozitia 3.6. Un polinom minimal g ∈ Zq[X] este ireductibil peste Zq.

Demonstratie. Daca ar exista descompunerea g(X) = u(X) ·v(X) cu u, v ∈ Zq[X], atuncivom avea u(β) = 0 sau v(β) = 0, ceea ce contrazice definitia polinomului minimal pentruβ.

Page 79: Matematici ^ n Criptogra e - MTA

3.5. POLINOAME MINIMALE 79

Corolarul 3.2. Daca f ∈ Zq[X] verifica f(β) = 0 atunci g|f .

De aici rezulta ca un polinom normat peste Zq care admite pe β ca radacina estepolinom minimal al lui β. Acest polinom este unic.

Teorema 3.17. Fie β ∈ GF (qk). Atunci exista un polinom minimal al lui β de grad celmult k.

Demonstratie. Dupa cum rezulta din definirea extensiei Galois si din Teorema 3.14, GF (qk)are dimensiunea k. O baza a lui este 1, X, . . . , Xk−1. Deci cele k + 1 elemente1, β, β2, . . . , βk ∈ GF (qk) sunt liniar dependente. Relatia lor de dependenta conduce laconstruirea unui polinom de grad maxim k pentru care β este radacina.

Teorema 3.18. Elementele nenule din Zq sunt date de solutiile ecuatiei Xq−1 − 1 = 0.

Demonstratie. Elementele din Z∗q formeaza grup multiplicativ. Ordinul fiecarui elementdivide ordinul grupului (Propozitia 3.5 si Observatia 3.2), care este q − 1.

Fie β ∈ Z∗q; subgrupul generat de β este 1, β, β2, . . . , βt−1 unde bt = 1 si t|q − 1.Deci βq−1 = 1.

In plus, ecuatia Xq−1 − 1 = 0 are q − 1 radacini.

Teorema 3.19. Xm − 1|Xn − 1 ⇐⇒ m|n.

Demonstratie.

”⇐=”: Fie n = m · d. Cum Y − 1 divide pe Y d − 1, daca se ia Y = Xm, vom aveaXm − 1|Xmd − 1.

”=⇒”: Sa presupunem ca (Xm − 1)|(Xn − 1) si fie n = md + s, s < m. AvemXn − 1 = Xs(Xmd − 1) +Xs − 1 = q(X)(Xm − 1) + r(X) cu grad(r) = s < m.

Pentru a verifica ipoteza, trebuie ca s = 0, deci n = md.

Teorema 3.20. Fie f ∈ Zq[X] si β o radacina a sa (eventual dintr-o extensie a lui Zq).Atunci si βq este radacina a lui f .

Demonstratie. Scriem f(X) = a0 +a1X+ · · ·+anXn. Cum Zq este corp de caracteristica

q, este adevarata relatia (a+ b)q = aq + bq (Propozitia 1.14, Capitolul 1).

De asemenea (Teorema 5.2) ∀a ∈ Z∗q avem aq−1 − 1 = 0, deci aq = a.

Atunci se poate scrie(f(X))q = aq0 + aq1X

q + · · ·+ aqn(Xn)q = a0 + a1Xq + · · ·+ anX

nq = f(Xq).

In particular, f(βq) = (f(β))q = 0.

Teorema 3.21. Orice polinom normat ireductibil g ∈ Zq cu grad(g) = m este un factoral polinomului Xqm −X.

Page 80: Matematici ^ n Criptogra e - MTA

80 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Demonstratie. Daca g(X) = X, afirmatia este banala.Sa presupunem ca g(X) 6= X si fie β ∈ GF (qm) o radacina nenula a sa, deci g(β) = 0.

Cum g este ireductibil, el va fi chiar polinomul minimal al lui β. Conform Teoremei 5.2,β satisface ecuatia Xqm−1 − 1 = 0, deci (Corolar 3.2) Xqm−1 − 1 se divide cu polinomulminimal g.

Teorema 3.22. Orice factor ireductibil g ∈ Zq[X] al lui Xqm −X are gradul cel mult m.

Demonstratie. Fie g(X)|(Xqm −X

), ireductibil peste Zq, cu grad(g) = k.

Vom considera algebra polinoamelor modulo g(X), ın care luam α = X. Se stie(Teorema 3.10) ca g(α) = 0. Un element oarecare din aceasta algebra este de forma

β = a0 + a1α + · · ·+ ak−1αk−1.

Atunci βqm

= aqm

0 + aqm

1 αqm

+ · · · + aqm

k−1(αk−1)qm

= a0 + a1αqm + · · · + ak−1(αq

m)k−1 =

a0 + a1α + · · ·+ ak−1αk−1 = β

deoarece GF (qm) are tot caracteristica q ca si Zq, iar α – fiind o radacina a lui g – esteradacina si a lui Xqm −X, deci αq

m= α, de unde rezulta αjq

m= αj ∀j ≥ 0.

Am obtinut ın final faptul ca β este o solutie a ecuatiei Xqm −X = 0. Sunt posibileqk asemenea elemente β distincte, iar cum ecuatia are qm radacini, rezulta qk ≤ qm, decik ≤ m.

Teorema 3.23. Fie β ∈ GF (qm) de polinom minimal g, grad(g) = k si ord(β) = t.Atunci

1. t|(qk − 1);

2. k este minim cu proprietatea (i).

Demonstratie. Stim (Teorema 3.21) ca g este un factor al lui XqK −X; deci βqK

= β, deunde rezulta t|(qK − 1).

Sa presupunem acum ca exista p < k cu t|(qp − 1). Atunci βqp−1 = 1, adica β este o

radacina a ecuatiei Xqp −X = 0, deci g este un factor al polinomului Xqp −X. ConformTeoremei 3.22, rezulta k ≤ p, contradictie.

Teorema 3.24. Fie polinomul g ∈ Zq[X], grad(g) = m si β ∈ GF (qm) o radacina a sa.Atunci β, βq, βq

2, . . . , βq

m−1sunt toate radacinile lui g.

Demonstratie. Deoarece g(β) = 0, avem – conform Teoremei 3.20 – ca βq, βq2, . . . , βq

m−1

sunt si ele radacini ale lui g. De asemenea, conform Teoremei 3.21, β este radacina a luiXqm −X, adica βq

m= β.

Mai ramane de aratat ca toate aceste radacini sunt distincte. Presupunem ca exista0 ≤ i < j < m cu βq

i= βq

j. Avem

β = βqm

=(βq

j)qm−j

=(βq

i)qm−j

= βqm+i−j

Page 81: Matematici ^ n Criptogra e - MTA

3.6. EXERCITII 81

Deci β este radacina a polinomului Xqm+i−j − X si (Teorema 3.22) grad(g) = m ≤m+ i− j < m, contradictie.

Din Teorema 3.24 rezulta ca luand extensia GF (qm)[X], g se poate scrieg(X) = (X − β)(X − βq) . . . (X − βqm−1

).

Teorema 3.25. Fie g ∈ Zq[X] un polinom normat ireductibil cu grad(g) = m, si β ∈GF (qm) o radacina a sa. Atunci toate radacinile lui g(X) au acelasi ordin.

Demonstratie. Fie p = ord(β), p′ = ord(βqj), 1 < j < m care – conform Teoremei 3.24 –

este tot radacina a lui g. Avem:(βq

j)p

= (βp)qj

= 1 si deci p′|p.De asemenea,

βp′=(βq

m)p′=

((βq

j)qm−j

)p′=

((βq

j)p′)qm−j

= 1 =⇒ p|p′.

S-a mai folosit Teorema 3.23, conform careia p divide qm − 1 dar nu divide nici unnumar de forma qs − 1 cu s < m. Deci p = p′.

3.6 Exercitii

Exercitiul 3.1. Demonstrati Propozitia 3.4 si Corolarul 3.2.

Exercitiul 3.2. Sa se arate ca produsul a doua polinoame primitive din K[X] este tot unpolinom primitiv.

Exercitiul 3.3. Sa se realizeze circuite liniare (ın ambele modalitati de constructie) caresa efectueze ınmultiri cu polinoamele:

h(X) = 1 + 2X + 3X2 + 4X3 ∈ Z[X]; h(X) = 1 + 2X +X5 ∈ Z7[X].

Exercitiul 3.4. Sa se reprezinte sub forma de tabel comportamentul circuitelor realizateanterior, la ınmultirea cu polinoamele:

a(X) = 2 + 5X +X3; a(X) = X −X3 − 2X4; a(X) = 0.

Exercitiul 3.5. Se da vectorul h = (1, 0, 0,−1, 0, 1). Sa se realizeze circuitul de ınmultirecu polinomul corespunzator si sa se reprezinte comportamentul acestui circuit la ınmultireacu polinoamele reprezentate prin vectorii a = (1) si a = (1, 1, 1, 0, 0, 0, 1).

Exercitiul 3.6. Sa se faca ımpartirea ın Z[X] la polinomul h(X) = 1 − 2X + X2 apolinoamelor

a(X) = 5− 2X − 4X3 +X5; a(X) = 7 +X.

Exercitiul 3.7. Sa se realizez circuite liniare si sa se analizeze catul si restul ımpartiriipolinomului g la h ın cazurile

(1). g(X) = X − 2X3 −X4, h(X) = 2 +X +X3 ın Z5[X];(2). g(X) = −1 +X −X6, h(X) = X2 − 4X3 − 2X5 + 3X7 ın Z11[X].

Page 82: Matematici ^ n Criptogra e - MTA

82 CAPITOLUL 3. POLINOAME SI EXTENSII GALOIS

Exercitiul 3.8. Sa se genereze GF (24) folosind radacina α a polinomului 1 +X3 +X4 ∈Z2[X] (Exemplul 3.8).

Exercitiul 3.9.

1. Sa se genereze toate polinoamele normate ireductibile de gradul 2 din Z3[X].

2. Pentru fiecare astfel de polinom sa se genereze extensia Galois GF (33).

3. Sa se calculeze produsul (1, 2, 1) · (2, 1, 2) ın fiecare extensie.

Exercitiul 3.10. Sa se genereze toate puterile lui α, radacina a polinomului(1) 1 +X2 +X5 ∈ Z2[X](2) 1 +X +X3 ∈ Z3[X].

Exercitiul 3.11. Folosind elementele din Exemplul 3.10, sa se construiasca circuite degenerare pentru a(α)α, a(α)α2 si a(α)α7.

Exercitiul 3.12. Sa se construiasca circuite de generare ın GF (25) pentru a(α) si a(α)α10,unde α este radacina a polinomului 1 +X2 +X5 ∈ Z2[X].

Page 83: Matematici ^ n Criptogra e - MTA

Capitolul 4

Aritmetica pe curbe eliptice

4.1 Grupul aditiv pe o curba eliptica

4.1.1 Legea de grup

Definitia 4.1. O curba eliptica E peste un corp K este definita de ecuatia (Weierstrass)E : y2 + a1xy + a3y = x3 + a2x

2 + a4x+ a6

cu a1, a2, a3, a4, a6 ∈ K, si ∆ 6= 0, unde ∆ este discriminantul lui E, definit prin∆ = −d2

2d8 − 8d34 − 27d2

6 + 9d2d4d6, iard2 = a2

1 + 4a2,d4 = 2a4 + a1a3,d6 = a2

3 + 4a6,d8 = a2

1a6 + 4a2a6 − a1a3a4 + a2a23 − a4.

Observatia 4.1.

• Spunem ca E este definita peste K deoarece coeficientii a1, a2, a3, a4, a6 sunt elementedin K. Vom scrie uneori acest lucru sub forma E/K. Daca E este definita peste K,atunci ea este definita peste orice extensie a lui K.

• Conditia ∆ 6= 0 asigura ”netezimea” curbei eliptice (ın orice punct al curbei poatefi construita cel mult o tangenta).

• Vom nota cu K un corp oarecare si Fq un corp finit de ordin q. Dupa cum am vazutın Capitolul 3, extensiile unei astfel de structuri finite sunt GF (qn) (n ≥ 2).

Fie L o extensie a lui K; multimea punctelor curbei E pe L este

E(L) = (x, y) ∈ L× L | y2 + a1xy + a3y − x3 − a2x2 − a4x− a6 = 0 ∪ O

unde O este “punctul de la infinit”.

83

Page 84: Matematici ^ n Criptogra e - MTA

84 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Elementele lui E(L) se numesc punctele L - rationale ale curbei E.Definitia 4.1 a prezentat forma generala (Weiestrass) a unei curbe eliptice. Pentru a

defini o structura pe E(L) pe care sa poata fi efectuate calcule de complexitate acceptabilaeste necesara o scriere simplificata a acestei forme. In functie de caracteristica lui K si dediscriminantul ∆ se pot realiza astfel de reduceri, folosind izomorfisme.

Definitia 4.2. Doua curbe eliptice E1, E2 definite peste un corp K prin ecuatiileE1 : y2 + a1xy + a3y = x3 + a2x

2 + a4x+ a6,E2 : y2 + a1

′xy + a3′y = x3 + a2

′x2 + a4′x+ a6

sunt izomorfe peste K daca exista constantele u, r, s, t ∈ K, u 6= 0, astfel ıncat aplicatia

(x, y)←− (u2x+ r, u3y + u2sx+ t) (8)

sa transforme ecuatia E1 ın E2.Relatia (8) se numeste ”schimbare admisibila de variabile”.

Sa consideram ecuatia unei curbe eliptice definita peste corpul K:E : y2 + a1xy + a3y = x3 + a2x

2 + a4x+ a6

• Daca char(K) > 3, atunci schimbarea admisibila de variabile

(x, y)←−(x− 3a2

1 − 12a2

36,y − 3a1x

216− a3

1 + 4a1a2 − 12a3

24

)transforma E ın curba y2 = x3 +ax+b si discriminantul ∆ = −16(4a3 +27b2), undea, b ∈ K.

• Daca char(K) = 2, atunci

1. Daca a1 6= 0, atunci schimbarea admisibila de variabile

(x, y)←−(a2

1x+a3

a1

, a31y +

a21a4 + a2

3

a31

)transforma E ın curba y2 + xy = x3 + ax2 + b cu a, b ∈ K (curbe non-supersingulare) si ∆ = b.

2. Daca a1 = 0, atunci schimbarea admisibila de variabile(x, y)←− (x+ a2, y)

transforma E ın curba y2+cy = x3+ax+b cu a, b, c ∈ K (curbe supersingulare)si ∆ = c4.

• Daca char(K) = 3, atunci

1. Daca a21 6= −a2, atunci schimbarea admisibila de variabile

(x, y)←−(x+

d4

d2

, y + a1x+ a1 ·d4

d2

+ a3

)unde d2 = a2

1 + a2, d4 = a4 − a1a3, transforma E ın curba y2 = x3 + ax2 + b,unde a, b ∈ K (curbe non-supersingulare) cu ∆ = −a3b.

Page 85: Matematici ^ n Criptogra e - MTA

4.1. GRUPUL ADITIV PE O CURBA ELIPTICA 85

2. Daca a21 = −a2, atunci schimbarea admisibila de variabile

(x, y)←− (x, y + a1x+ a3)

transforma E ın curba y2 = x3 + ax + b unde a, b ∈ K (curbe supersingulare)cu ∆ = −a3.

Pe aceste forme simplificate de reprezentare a curbelor eliptice vom lucra ın continuare.In functie de caracteristica char(K) a corpului K putem da diverse variante pentru

legea de grup pe E(L).

• Legile pentru curba E/K : y2 = x3 + ax+ b, char(K) > 3.

1. Element neutru: P +O = O + P = P, ∀P ∈ E(K).

2. Opus: Daca P = (x, y) ∈ E(K) atunci (x, y) + (x,−y) = O. Punctul (x,−y)este notat cu −P si numit opusul lui P ; el este tot un punct din E(K).In plus, −O = O.

3. Adunarea: Fie P = (x1, y1), Q = (x2, y2) ∈ E(K), P 6= ±Q. Atunci P +Q =(x3, y3), unde

x3 =

(y2 − y1

x2 − x1

)2

− x1 − x2, y3 =

(y2 − y1

x2 − x1

)(x1 − x3)− y1.

4. Dublarea: Fie P = (x1, y1) ∈ E(K), P 6= −P . Atunci 2P = (x3, y3) unde

x3 =

(3x2

1 + a

2y1

)2

− 2x1, y3 =

(3x2

1 + a

2y1

)(x1 − x3)− y1.

O justificare clara a operatiei de adunare/dublare poate fi facuta ın mod grafic:

Fie P = (x1, y1) si Q = (x2, y2) doua puncte distincte pe curba eliptica E. SumaR = P +Q este definita astfel: linia PQ taie curba ıntr-un al treilea punct. R estesimetricul acestui punct fata de axa xx′ (Figura (a)).

P=(x1,y1)

Q=(x2,y2)

R=(x3,y3)

P=(x1,y1)

R=(x3,y3)

x

y y

x

(a) Adunarea P +Q = R (b) Dublarea: 2P = R

Page 86: Matematici ^ n Criptogra e - MTA

86 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Daca P si Q coincid, atunci tangenta ın P va taia din nou curba eliptica E. R estesimetricul acestui nou punct fata de axa xx′ (Figura (b)).

Exemplul 4.1. Fie E curba eliptica y2 = x3 + x + 5 peste Z19. Pentru ınceput,sa calculam la ınceput punctele lui E(Z19). Aceasta se face astfel: ∀x ∈ Z19 secalculeaza z = x3 + x+ 5 (mod 19); apoi se testeaza daca z este rest patratic.

In caz afirmativ, deoarece 19 ≡ 3 (mod 4), conform Exercitiului 2.26 (Capitolul 2),radacinile patrate ale lui z sunt:

±z(19+1)/4 (mod 19) = ±z5 (mod 19).

Rezultatele sunt stranse ın tabelele urmatoare (calculel modulo 19):

a 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18a2 0 1 4 9 16 6 17 11 7 5 5 7 11 17 6 16 9 4 1

x x3 + x+ 5 y x x3 + x+ 5 y x x3 + x+ 5 y0 5 9, 10 1 7 8, 11 2 15 −3 16 4, 15 4 16 4, 15 5 2 −6 18 − 7 13 − 8 12 −9 2 − 10 8 − 11 17 6, 13

12 16 4, 15 13 11 7, 12 14 8 −15 13 − 16 13 − 17 14 −18 3 −

Curba eliptica E/Z19 admite deci 15 puncte; cum ordinul grupului nu este numarprim, grupul nu este ciclic. Vom alege un element primitiv drept generator. Fieacesta α = (0, 9). Calculam ”puterile” lui α (de fapt multiplii, grupul fiind aditiv).Pentru 2α se calculeaza ıntai (modulo 19):

(3x21 + a)(2y1)−1 = (3 · 02 + 1)(2 · 9)−1 = 1 · 18−1 = 18.

Acum se pot determina

x3 = 182 − 0− 0 = 361 ≡ 1 (mod 19), y3 = 18 · (0− 1)− 9 = −27 ≡ 11 (mod 19),

deci 2α = (1, 11).

Multiplul urmator este 3α = 2α + α = (1, 11) + (0, 9). Avem:

(y2 − y1)(x2 − x1)−1 = (9− 11) · (0− 1)−1 = 2, deci

x3 = 22 − 1− 0 = 3, y3 = 2 · (1− 3)− 11 = −15 ≡ 4 (mod 19),de unde rezulta 3α = (3, 4).

In mod similar se obtin toate punctele curbei eliptice E(Z19):

Page 87: Matematici ^ n Criptogra e - MTA

4.1. GRUPUL ADITIV PE O CURBA ELIPTICA 87

α = (0, 9) 2α = (1, 11) 3α = (3, 4) 4α = (4, 4) 5α = (13, 12)6α = (11, 6) 7α = (12, 15) 8α = (12, 4) 9α = (11, 13) 10α = (13, 7)11α = (4, 15) 12α = (3, 15) 13α = (1, 8) 14α = (0, 10) 15α = O

De remarcat ca – de exemplu – (3, 4) nu este element primitiv, avand ordinul 5.

Exemplul 4.2. Fie q = 29, a = 4, b = 20 si sa consideram curba elipticaE : y2 = x3 + 4x+ 20

peste Z29. Remarcam ca ∆ = −16(4a3 + 27b2) = −176896 6≡ 0 (mod 29), deci Eeste o curba eliptica nedegenerata. Punctele lui E(Z29) sunt:

O (2, 6) (4, 19) (8, 10) (13, 23) (16, 2) (19, 16) (27, 2)(0, 7) (2, 23) (5, 7) (8, 19) (14, 6) (16, 27) (20, 3) (27, 27)(0, 22) (3, 1) (5, 22) (10, 4) (14, 23) (17, 10) (20, 26)(1, 5) (3, 28) (6, 12) (10, 25) (15, 2) (17, 19) (24, 7)(1, 24) (4, 10) (6, 17) (13, 6) (15, 27) (19, 13) (24, 22)

Exemple de operatii ın acest grup: (5, 22) + (16, 27) = (13, 6), 2(5, 22) = (14, 6).

• Curbe non-supersingulare peste GF (2m) : y2 + xy = x3 + ax2 + b.

1. Element neutru: P +O = O + P = P, ∀P ∈ E(GF (2m)).

2. Opus: Daca P = (x, y) ∈ E(GF (2m)) atunci (x, y) + (x, x+ y) = O. Punctul(x, x+ y) este notat cu −P .In plus −O = O.

3. Adunarea: Fie P = (x1, y1), Q = (x2, y2) doua puncte din E(GF (2m)), P 6=±Q. Atunci P +Q = (x3, y3), unde

x3 = λ2 + λ+ x1 + x2 + a, y = λ(x1 + x3) + x3 + y1

cu λ = (y1 + y2)/(x1 + x2).

4. Dublarea: Fie P = (x1, y1) ∈ E(GF (2m)), P 6= −P . Atunci 2P = (x3, y3),unde

x3 = λ2 + λ+ a = x21 +

b

x21

, y3 = x21 + λ · x3 + x3

cu λ = x1 + y1/x1.

Exemplul 4.3. Fie corpul finit GF (24) generat de radacina α a polinomulului 1 +X +X4 (Exemplul 3.10, Capitolul 3). Un element a3α

3 +a2α2 +a1α+a0 ∈ GF (24)

poate fi reprezentat prin sirul de patru biti (a3a2a1a0). Sa luam a = α3, b = α3 + 1si sa construim curba eliptica non-supersingulara

E : y2 + xy = x3 + α3x2 + (α3 + 1)

definita peste GF (24). Punctele din E(GF (24)) sunt:

Page 88: Matematici ^ n Criptogra e - MTA

88 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

O (0011, 1100) (1000, 0001) (1100, 0000) (0111, 1100) (1011, 1001)(0000, 1011) (0011, 1111) (1000, 1001) (1100, 1100) (1011, 0010) (0010, 1111)(0001, 0000) (0101, 0000) (1001, 0110) (1111, 0100) (0010, 1101) (0111, 1011)(0001, 0001) (0101, 0101) (1001, 1111) (1111, 1011)

Exemple de operatii cu puncte pe aceasta curba:(0010, 1111) + (1100, 1100) = (0001, 0001), 2(0010, 1111) = (1011, 0010).

• Curbe super-singulare peste GF (2m) : y2 + cy = x3 + ax+ b.

1. Element neutru: P +O = O + P = P, ∀P ∈ E(GF (2m)).

2. Opus: Daca P = (x, y) ∈ E(GF (2m)) atunci (x, y) + (x, y + c) = O. Punctul(x, y + c) este notat cu −P .In plus −O = O.

3. Adunarea: Fie P = (x1, y1), Q = (x2, y2) doua puncte din E(GF (2m)), P 6=±Q. Atunci P +Q = (x3, y3), unde

x3 =

(y1 + y2

x1 + x2

)2

+ x1 + x2, y3 =

(y1 + y1

x1 + x2

)(x1 + x3) + y1 + c

4. Dublarea: Fie P = (x1, y1) ∈ E(GF (2m)), P 6= −P . Atunci 2P = (x3, y3),unde

x3 =

(x2

1 + a

c

)2

, y3 =

(x2

1 + a

c

)(x1 + x3) + y1 + c

4.1.2 Ordinul grupului

Deoarece algoritmii dezvoltati pe curbe eliptice se bazeaza pe calcule ın grupul aditivE(Fq), q prim, este foarte important sa stim cate elemente are acest grup. Nu se cunoasteo formula generala care sa stabileasca |E(Fq| ın functie de curba eliptica E si numarul q.Cel mai bun rezultat este stabilit de teorema lui Hasse.

Teorema 4.1. (Hasse) Fie E o curba eliptica definita peste Fq. Atunci

q + 1− 2√q ≤ |E(Fq)| ≤ q + 1 + 2

√q.

Intervalul [q + 1− 2√q, q + 1 + 2

√q] este numit ”interval Hasse”. Valoarea t = 2

√q

este “urma lui E peste Fq”. Deoarece t este relativ mic (comparativ cu q), vom avea|E(Fq)| ≈ q.

Teoremele urmatoare determina valorile posibile pentru |E(Fq)| cand E variaza pestetoate curbele eliptice definite peste Fq.

Teorema 4.2. (ordine admisibile) Fie q = pm. Atunci exista o curba eliptica E definitapeste GF (pm) cu |E(GF (pm))| = q + 1− t daca si numai daca:

1. t 6≡ 0 (mod p) si t2 ≤ 4 · pm.

Page 89: Matematici ^ n Criptogra e - MTA

4.1. GRUPUL ADITIV PE O CURBA ELIPTICA 89

2. m este impar si una din urmatoarele variante este adevarata:(a) t = 0; (b) t = 2(m+1)/2; (c) t = 3(m+1)/2.

3. m este par si una din urmatoarele variante este adevarata:(a) t2 = 4 · pm;(b) t2 = pm si p 6≡ 1 (mod 3);(c) t = 0 si p 6≡ 1 (mod 4).

O consecinta a Teoremei 4.2 este ca pentru orice numar prim p si orice ıntreg t ∈[0, 2√p] exista o curba eliptica E peste Fp cu |E(Fp)| = p+ 1− t.

Exemplul 4.4. Fie p = 37 si m = 1. Tabela de mai jos listeaza, pentru fiecare ıntreg ndin intervalul Hasse [37+1−2

√37, 37+1+2

√37], coeficientii (a, b) ai unei curbe eliptice

E : y2 = x3 + ax+ b definita peste Z37 cu |E(Z37)| = n.

n (a, b) n (a, b) n (a, b) n (a, b) n (a, b)26 (5, 0) 31 (2, 8) 36 (1, 0) 41 (1, 16) 46 (1, 11)27 (0, 9) 32 (3, 6) 37 (0, 5) 42 (1, 9) 47 (3, 15)28 (0, 6) 33 (1, 13) 38 (1, 5) 43 (2, 9) 48 (0, 1)29 (1, 12) 34 (1, 18) 39 (0, 3) 44 (1, 7) 49 (0, 2)30 (2, 2) 35 (1, 8) 40 (1, 2) 45 (2, 14) 50 (2, 0)

Daca E este o curba eliptica definita peste Zq, atunci E este definita peste extensiaGF (qn). Grupul E(Zq) al punctelor Zq - rationale poate fi considerat ca un subgrup algrupului E(GF (qn)) al punctelor GF (qn) - rationale; deci |E(Zq)| divide |E(GF (qn))|.Daca |E(Zq)| este cunoscut, atunci |E(GF (qn))| se poate determina eficient cu rezultatulurmator.

Teorema 4.3. Fie E o curba eliptica definita peste Zq si |E(Zq)| = q + 1 − t. Atunci|E(GF (qn))| = qn + 1− Vn pentru orice n ≥ 2, unde Vnn este sirul definit recursiv prin

V0 = 2, V1 = t, Vn = V1Vn−1 − qVn−2 pentru n ≥ 2.

Teorema lui Ruck clarifica structura unui grup pe E(Fq).

Teorema 4.4. Fie E o curba eliptica definita peste Fq. Atunci E(Fq) este izomorfa cuZn1 ×Zn2 unde n1 si n2 sunt numere naturale unic determinate, astfel ca n2|n1, n2|q− 1.

In acest caz |E(Fq)| = n1n2. Daca n2 = 1 atunci E(Fq) este grup ciclic. Daca n2 > 1atunci spunem ca E(Fq) are rangul 2. Pentru o valoare mica a lui n2 (de exemplu 2, 3 sau4) se foloseste frecvent termenul ca E(Fq) este ”aproape ciclic”. Pentru ca n2 divide atatpe n1 cat si pe q − 1, se pare ca E(Fq) este ciclic sau aproape ciclic pentru multe curbeeliptice E peste Fq.

Page 90: Matematici ^ n Criptogra e - MTA

90 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Exemplul 4.5. Sa consideram curba eliptica E : y2 = x3 + 4x + 20 definita peste Z29.Generand toate punctele sale, se obtine |E(Z29)| = 37. Cum 37 este numar prim, E(Z29)este grup ciclic si orice punct al sau – cu exceptia lui O – este un generator. Daca luamca generator punctul P = (1, 5), vom obtine toate punctele grupului E(Z29):

0P = O 8P = (8, 10) 16P = (0, 22) 24P = (16, 2) 32P = (6, 17)1P = (1, 5) 9P = (14, 23) 17P = (27, 2) 25P = (19, 16) 33P = (15, 2)2P = (4, 19) 10P = (13, 23) 18P = (2, 23) 26P = (10, 4) 34P = (20, 26)3P = (20, 3) 11P = (10, 25) 19P = (2, 6) 27P = (13, 6) 35P = (4, 10)4P = (15, 27) 12P = (19, 13) 20P = (27, 27) 28P = (14, 6) 36P = (1, 24)5P = (6, 12) 13P = (16, 27) 21P = (0, 7) 29P = (8, 19)6P = (17, 19) 14P = (5, 22) 22P = (3, 28) 30P = (24, 7)7P = (24, 22) 15P = (3, 1) 23P = (5, 7) 31P = (17, 10)

Exemplul 4.6. Fie GF (24) generat de radacina α a polinomului f(X) = X4 + X + 1.Curba eliptica E : y2 +xy = x3 +α3x2 +(α3 +1) definita peste GF (24) are |E(GF (24))| =22 (Exemplul 4.3). Deoarece 22 = 2 · 11, E(GF (24)) este un grup aproape ciclic. PunctulP = (α3, 1) = (1000, 0001) are ordinul 11, iar multiplii lui sunt

0P = O 3P = (1100, 0000) 6P = (1011, 1001) 9P = (1001, 0110)1P = (1000, 0001) 4P = (1111, 1011) 7P = (1111, 0100) 10P = (1000, 1001)2P = (1001, 1111) 5P = (1011, 0010) 8P = (1100, 1100)

4.1.3 Izomorfisme

Relatia de izomorfism definita anterior este o relatie de echivalenta pe multimea curbe-lor eliptice generate peste un corp finit K. Daca doua curbe eliptice E1 si E2 suntizomorfe peste K, atunci grupurile punctelor lor rationale E1(K) si E2(K) sunt de aseme-nea izomorfe.

Sa prezentam cateva rezultate importante ale claselor de izomorfism ale curbeloreliptice definite peste corpuri finite de caracteristica > 3 si pentru curbe eliptice non-supersingulare definite peste corpuri binare.

Teorema 4.5. Fie Fq un corp finit cu char(Fq) > 3.

1. Curbele elipticeE1 : y2 = x3 + ax+ b, E2 : y2 = x3 + ax+ b

definite peste Fq sunt izomorfe peste Fq daca si numai daca exista u ∈ F∗q astfel ca

u4a′ = a si u6b′ = b. In acest caz, schimbarea admisibila de variabile (x, y) ←−(u2x, u3y) transforma E1 ın E2.

2. Numarul claselor de izomorfism peste Fq este respectiv 2q + 6, 2q + 2, 2q + 4, 2q,pentru q ≡ 1, 5, 7, 11 (mod 12).

Page 91: Matematici ^ n Criptogra e - MTA

4.1. GRUPUL ADITIV PE O CURBA ELIPTICA 91

Exemplul 4.7. Tabela de mai jos listeaza cele 12 clase de izomorfism ale curbelor elipticepeste Z5.

Clase de izomorfism |E(Z5)| E(Z5) ≈y2 = x3 + 1, y2 = x3 + 4 6 Z6

y2 = x3 + 2, y2 = x3 + 3 6 Z6

y2 = x3 + x 4 Z2 ⊕ Z2

y2 = x3 + 2x 2 Z2

y2 = x3 + 3x 10 Z10

y2 = x3 + 4x 8 Z4 ⊕ Z2

y2 = x3 + x+ 1, y2 = x3 + x+ 4 9 Z9

y2 = x3 + x+ 2, y2 = x3 + x+ 3 4 Z4

y2 = x3 + 2x+ 1, y2 = x3 + 2x+ 4 7 Z7

y2 = x3 + 3x+ 2, y2 = x3 + 3x+ 3 5 Z5

y2 = x3 + 4x+ 1, y2 = x3 + 4x+ 4 8 Z8

y2 = x3 + 4x+ 2, y2 = x3 + 4x+ 3 3 Z3

De remarcat ca daca grupurile E1(Zq) si E2(Zq) sunt izomorfe, nu este obligatoriu casi curbele eliptice E1 si E2 sa fie izomorfe peste Zq. De exemplu, curbele E1 : y2 = x3 + 1si E2 : y2 = x3 + 2 (primele doua linii) nu sunt izomorfe peste Z5, dar E1(Z5) si E2(Z5)sunt ambele izomorfe cu Z6.

Exemplul 4.8. Folosind Teorema 4.5 se ajunge la concluzia caE1 : y2 = x3 + 25x, E2 : y2 = x3 + 53x+ 55

definite peste Z73 nu sunt izomorfe peste Z73.Totusi, grupurile E1(GF (73m)) si E2(GF (73m)) sunt izomorfe pentru orice m ≥ 1.

Definitia 4.3. Functia ”Trace” peste GF (2m) este Tr : GF (2m) −→ GF (2m) definitaTr(c) = c+ c2 + c22 + · · ·+ c2m−1

.

Teorema 4.6. Fie K = GF (2m) un corp de caracteristica 2.

1. Curbele eliptice non-supersingulareE1 : y2 + xy = x3 + ax2 + b, E2 : y2 + xy = x3 + a′x2 + b′

definite peste K sunt izomorfe peste K daca si numai daca b = b′ si Tr(a) = Tr(a′).In acest caz exista s ∈ GF (2m) astfel ca a′ = s2 + s+ a si schimbarea admisibila devariabile (x, y)←− (x, y + sx) transforma E1 ın E2.

2. Numarul claselor de izomorfisme ale curbelor eliptice non-supersingulare peste Keste 2m+1 − 2.Fie γ ∈ GF (2m) cu Tr(γ) = 1. O multime de reprezentanti ai claselor de izomorfismeste

y2 + xy = x3 + ax2 + b | a ∈ 0, γ, b ∈ GF (2m)∗.

Page 92: Matematici ^ n Criptogra e - MTA

92 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

3. Ordinul |E(GF (2m))| al curbei eliptice non-supersingulare E : y2+xy = x3+γx2+beste divizibil cu 2.Daca Tr(γ) = 0, atunci |E(GF (2m))| este divizibil cu 4.

4.2 Multiplicarea punctelor

Problema esentiala ın securitatea informatiei consta ın calcularea punctelor de forma kP ,unde k este un ıntreg iar P – un punct pe o curba eliptica E definita peste un corp Fq.Aceasta operatie este numita ”multiplicare de punct” sau ”multiplicare scalara” si apareextrem de frecvent ın protocoalele criptografice construite pe curbe eliptice.

Vom trece ın revista cateva astfel de metode de calcul.

Sa presupunem |E(Fq)| = n · h, unde n este numar prim, iar h este mic. Punctele Psi Q au ordinul n si valorile k de multiplicare sunt alese aleator. Reprezentarea binara alui k este (kt−1, . . . , k1, k0)2, unde t ≈ m = dlog2qe.

4.2.1 Punct necunoscut

Sa studiem ıntai cazul ın care punctul P care trebuie multiplicat nu este cunoscut apriori(deci nu se poate folosi o faza de pre-calcul).

Cei mai simpli algoritmi ce pot fi construiti sunt A1 si A2 – versiuni aditive aleexponentierii rapide (algoritm prezentat ın Capitolul 6). Primul algoritm prelucreazabitii de la dreapta spre stanga, iar al doilea – de la stanga spre dreapta.

Algoritm A1:Intrare: k = (kt−1, . . . , k1, k0)2, P ∈ E(Fq).Iesire: kP .1. Q = O;2. For i from 0 to t− 1 do

2.1 If ki = 1 then Q = Q+ P ;2.2 P = 2P ;

3. Return(Q).

Algoritm A2:Intrare: k = (kt−1, . . . , k1, k0)2, P ∈ E(Fq).Iesire: kP .1. Q = O;2. For i from t− 1 downto 0 do

2.1 Q = 2Q;2.1 If ki = 1 then Q = Q+ P ;

3. Return(Q).

Page 93: Matematici ^ n Criptogra e - MTA

4.2. MULTIPLICAREA PUNCTELOR 93

Numarul aproximativ de 1 din reprezentarea binara a lui k este t/2 ≈ m/2; deci unastfel de algoritm efectueaza aproximativ m/2 sume de puncte (A) si m dublari (D).Formal: m

2A+mD.

Ca operatii ın corpul Fq, sa notam cu M operatia de multiplicare, cu S ridicarea lapatrat si I – operatia de inversare. Timpul de executie exprimat ın functie de acesteoperatii (peste Fq) este

2.5mS + 3mM + 1.5mIdaca Fq are o caracteristica > 3, si

3mM + 1.5mIdaca Fq este corp binar1.

Forma non-adiacenta (NAF )

Daca P = (x, y) ∈ E(Fq) atunci −P = (x, x+y) pentru un corp binar Fq si −P = (x,−y)pentru char(Fq) > 3. Deci scaderea punctelor pe o curba eliptica este la fel de eficientaca adunarea. Acest lucru motiveaza utilizarea unei forme binare cu semn a numerelor:

k =s−1∑i=0

ki2i, ki ∈ 0, 1,−1

Cea mai cunoscuta astfel de reprezentare este forma non-adiacenta (NAF ).

Definitia 4.4. O forma non-adiacenta (NAF ) a unui numar ıntreg pozitiv k este o

expresie k =s−1∑i=0

ki2i unde ki ∈ 0,±1, ks−1 6= 0 si ∀i, ki · ki+1 = 0 (orice doua elemente

consecutive contin cel putin un zero). Lungimea unui astfel de NAF este s.

Teorema 4.7. Fie k un ıntreg pozitiv.

1. k admite o reprezentare NAF unica, notata NAF (k).

2. NAF (k) are cele mai putine cifre binare nenule dintre toate reprezentarile binarecu semn ale lui k.

3. Lungimea lui NAF (k) depaseste cel mult cu o unitate lungimea reprezentarii binarea lui k.

4. Daca lungimea lui NAF (k) este s, atunci 2s/3 < k < 2s+ 1/3.

5. Densitatea medie a bitilor nenuli printre toate NAF -urile de lungime s este aproxi-mativ 1/3.

1Discutia despre numarul de operatii folosite de un algoritm se va justifica ın Capitolul 6 cand vomdiscuta despre complexitate.

Page 94: Matematici ^ n Criptogra e - MTA

94 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Algoritm A3:Intrare: k ıntreg pozitiv.Iesire: NAF (k).1. i = 0;2. While k ≥ 1 do

2.1 If k (mod 2) = 1 then ki = 2− (k (mod 4)), k = k − ki;else ki = 0;

2.2 k = k/2, i = i+ 1;3. Return(ki−1, ki−2, . . . , k1, k0).

In Algoritmul A3, bitii lui NAF (k) sunt generati prin ımpartiri repetate ale lui k la2, permitand resturi de 0 sau ±1. Pentru k impar, restul r ∈ −1, 1 este ales astfel ıncat(k − r)/2 sa fie par; aceasta regula asigura valoarea 0 pentru urmatorul bit din NAF .

AlgoritmulA4 este o varianta a AlgoritmuluiA2, folosindNAF (k) ın loc de reprezenta-rea binara a lui k. Din Teorema 4.7 rezulta un timp de executie de aproximativ m

3A+mD.

Algoritm A4:Intrare: k ıntreg pozitiv, P ∈ E(Fq).Iesire: kP .

1. Cu Algoritmul A3 se calculeaza NAF (k) =s−1∑i=0

ki2i;

2. Q = O;3. For i from s− 1 downto 0 do

3.1 Q = 2Q;3.2 If ki = 1 then Q = Q+ P ;3.3 If ki = −1 then Q = Q− P ;

4. Return(Q).

Metode paralele

Daca este posibila utilizarea de memorie suplimentara, timpul de executie al AlgoritmuluiA4 poate fi optimizat folosind un calcul paralel (numit metoda “window”) care prelucreazasimultan w biti.

Definitia 4.5. Fie w ≥ 2 un ıntreg. O w-banda NAF (width-w NAF ) a unui numar

ıntreg pozitiv k este o expresie k =s−1∑i=0

ki2i, unde toti coeficientii nenuli ki sunt impari,

|ki| < 2w−1, ks−1 6= 0, ki+1 · ki = 0 (∀i).Lungimea unei w-benzi NAF este s.

Page 95: Matematici ^ n Criptogra e - MTA

4.2. MULTIPLICAREA PUNCTELOR 95

Teorema 4.8. Fie k un ıntreg pozitiv.

(1) k are o w-banda NAF unica, notata NAFw(k).

(2) NAF2(k) = NAF (k).

(3) Lungimea lui NAFw(k) este cel mult cu o unitate mai mare decat lungimea reprezentariibinare a lui k.

(4) Densitatea medie a coeficientilor nenuli printre toate w-benzile NAF de lungimes este aproximativ 1/(w + 1).

Exemplul 4.9. Sa consideram k = 1122334455. Daca notam ıntregul negativ −c cu c,atunci reprezentarea binara a lui k si w-benzile NAF lui k pentru 2 ≤ w ≤ 6 sunt:

(k)2 = 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1NAF2(k) = 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1NAF3(k) = 1 0 0 0 0 0 3 0 0 1 0 0 1 0 0 3 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1NAF4(k) = 1 0 0 0 0 1 0 0 0 7 0 0 0 0 5 0 0 0 7 0 0 0 7 0 0 0 1 0 0 0 7NAF5(k) = 1 0 0 0 0 15 0 0 0 0 9 0 0 0 0 0 11 0 0 0 0 0 0 9 0 0 0 0 0 0 0 9NAF6(k) = 1 0 0 0 0 0 0 0 0 23 0 0 0 0 0 11 0 0 0 0 0 0 9 0 0 0 0 0 0 0 9

NAFw(k) poate fi calculat eficient cu Algoritmul A5, ın care k (mods 2w) reprezintanumarul ıntreg u ∈ [−2w−1, 2w−1) definit prin u ≡ k (mod 2w). Cifrele lui NAFw(k) seobtin prin ımpartiri repetate ale lui k la 2 si pastrand resturile r ın intervalul [−2w−1, 2w−1−1]. Daca se obtine un k impar si restul ales este r = k (mods 2w), atunci (k − r)/2 va fidivizibil cu 2w−1 (ceea ce va da 0 pentru urmatoarele w − 1 cifre).

Algoritm A5:Intrare: Largimea w a benzii, k ıntreg pozitiv.Iesire: NAFw(k).1. i = 0;2. While k ≥ 1 do

2.1 If k (mod 2) = 1 then ki = k (mods 2w), k = k − ki;else ki = 0;

2.2 k = k/2, i = i+ 1;3. Return(ki−1, ki−2, . . . , k0).

Algoritmul A6 generalizeaza metoda NAF binara (Algoritmul A4) ınlocuind NAF (k)cu NAFw(k). Din Teorema 4.8 (3) si (4) rezulta ca timpul de executie al acestui algoritmeste aproximativ

[sD + (2w−2 − 1)A

]+

[m

w + 1A+mD

]

Page 96: Matematici ^ n Criptogra e - MTA

96 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Algoritm A6:Intrare: Largimea w a benzii, k ıntreg pozitiv, P ∈ E(Fq).Iesire: kP .

1. Cu Algoritmul A5 calculeaza NAFw(k) =s−1∑i=0

ki2i;

2. Pi = iP, i ∈ 1, 3, 5, . . . , 2w−1 − 1;3. Q = O;4. For i from s− 1 downto 0 do

4.1 Q = 2Q4.2 If ki 6= 0 then

If ki > 0 then Q = Q+ Pki else Q = Q− P−ki ;5. Return(Q).

4.2.2 Punct cunoscut

Daca punctul P este fixat si se poate folosi ceva memorie auxiliara pentru calcul, atuncioperatia de multiplicare kP poate fi accelerata folosind o etapa de precalcul pentru uneledate care depind numai de P . De exemplu, daca punctele 2P, 22P, . . . , 2t−1P (t estelungimea lui k ın binar) pot fi pre-calculate, atunci Algoritmul A2 are un timp de executie(m/2)A unde m = dlog2qe (toate dublarile sunt eliminate).

In plus, aceasta memorie permite folosirea de w-benzi care asigura calculul simultana w biti din k.

Sa prezentam ([7]) o rafinare a metodei de precalcul a multiplilor 2iP .Fie (Kd−1, . . . , K1, K0)2w reprezentarea lui k ın baza 2w (deci d = dt/we)). Notam Qj =∑i:Ki=j

2wiP, (1 ≤ j ≤ 2w − 1). Atunci

kP =d−1∑i=0

Ki

(2wiP

)=

2w−1∑j=1

(j∑i:Ki=j

2wiP

)=

2w−1∑j=1

jQj = Q2w−1 + (Q2w−1 +Q2w−2) +

· · ·+ (Q2w−1 +Q2w−2 + · · ·+Q1).

Algoritmul urmator este bazat pe aceasta observatie.

Algoritm A7:Intrare: w < t, d = dt/we, k = (Kd−1, . . . , K0)2w , P ∈ E(Fq).Iesire: kP .1. (Precalcul) Pi = 2wiP, (0 ≤ i ≤ d− 1);2. A = O, B = O;3. For j from 2w − 1 downto 1 do

3.1 Pentru fiecare i cu Ki = j : B = B + Pi;3.2 A = A+B;

4. Return(A).

Page 97: Matematici ^ n Criptogra e - MTA

4.3. CURBE KOBLITZ 97

Algoritmul A8 este o varianta a lui A7 care foloseste NAF (k) ın locul reprezentariibinare a lui k. NAF (k) este ımpartit ın secvente Ki de lungimi egale cu w, formate din0,±1:

NAF (k) = Kd−1‖ . . . ‖K1|K0.Deoarece fiecare Ki este ın forma non-adiacenta, el reprezinta un ıntreg din intervalul

[−I, I], unde I = (2w+1 − 2)/3 daca w este par, I = (2w+1 − 1)/3 daca w este impar.Timpul de rulare al Algoritmului A8 este aproximativ(

2w+1

3+ d− 2

)A, unde d = d(t+ 1)/we.

Algoritm A8:Intrare: Largimea de banda w, k ıntreg pozitiv, P ∈ E(Fq).Iesire: kP .1. (Precalcul) Pi = 2wiP, (0 ≤ i ≤ d(t+ 1)/we;

2. Cu Algoritmul A3 calculeaza NAF (k) =s−1∑i=0

ki2i;

3. d = ds/we;4. Se scrie (ks−1, . . . , k0) = Kd−1‖ . . . ‖K0 unde Ki ∈ 0, 1,−1∗, l(Ki) = d;5. If w (mod 2) then I = (2w+1 − 2)/3 else I = (2w+1 − 1)/3;6. A = O, B = O;7. For j from I downto 1 do

7.1 Pentru fiecare i cu Ki = j : B = B + Pi;7.2 Pentru fiecare i cu Ki = −j : B = B − Pi;7.3 A = A+B.

8. Return(A).

Ca o remarca, la pasul 4, NAF (k) se completeaza la stanga cu 0 (daca este necesar).

4.3 Curbe Koblitz

Definitia 4.6. Curbele Koblitz sunt curbele eliptice

E0 : y2 + xy = x3 + 1, E1 : y2 + xy = x3 + x2 + 1

definite peste un corp de caracteristica 2.

In protocoalele criptografice se folosesc grupurile E0(GF (2m)) sau E1(GF (2m)) alepunctelor GF (2m)-rationale.

Fie a ∈ 0, 1. Pentru fiecare divizor propriu t al lui m, Ea(GF (2t)) este un subgrupal lui Ea(GF (2m)) si deci |Ea(GF (2t))| divide |Ea(GF (2m))|. In particular, deoarece|E0(Z2)| = 4 si |E1(Z2)| = 2, vom avea |E0(GF (2m))| multiplu de 4 si |E1(GF (2m))|multiplu de 2.

Page 98: Matematici ^ n Criptogra e - MTA

98 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

m Curba Factorizarea lui |Ea(GF (2m))|101 E1 2 · 1267650600228230886142808508011103 E0 22 · 2535301200456459535862530067069107 E0 22 · 40564819207303335604363489037809107 E1 2 · 81129638414606692182851032212511109 E1 2 · 324518553658426701487448656461467113 E1 2 · 5192296858534827627896703833467507131 E0 22 · 680564733841876926932320129493409985129163 E1 2 · 5846006549323611672814741753598448348329118574063233 E0 22 · 345087317339528189371737793113851276057094098886225212

6328087024741343239 E0 22 · 220855883097298041197912187592864814948216561321709848

887480219215362213277 E0 22 · 607084028820540334662331845882349658325751104987865087

64884175561891622165064650683283 E0 22 · 388533778445145814183892381364703781328481173379306132

429587997529815829704422603873283 E1 2 · 77706755689029162836778476272940756265696312448309935214

22749282851602622232822777663311 E1 2 · 20859248397665137523388883849312032369167036350717111667

39891218584916354726654294825338302183331 E1 2 · 21872507247830119243725022271176213653531694308932276434

47010306711358712586776588594343505255614303347 E1 2 · 14334366349937946947567630595638043379978531182301756572

8537420307240763803325774115493723193900257029311349 E0 22 · 286687326998758938951352611912760867599570623646035147

884067443354153078762511899035960651549018775044323359 E1 2 · 58713564569345830697237014919733425684392063722707996681

1081824609485917244124494882365172478748165648998663409 E0 22 · 330527984395124299475957654016385519914202341482140609

642324395022880711289249191050673258457777458014096366590617731358671

571 E0 22 · 1932268761508629172347675945465993672149463664853217499328617625725759571144780212268133978522706711834706712800825351461273674974066617311929682421617092503555733685276673

Definitia 4.7. O curba Koblitz Ea admite un grup de ordin aproape prim peste GF (2m)daca |Ea(GF (2m))| = h · n, unde n este prim si

h =

4 daca a = 02 daca a = 1

h este numit ”cofactor”.

Daca presupunem ca Ea este o curba Koblitz cu un grup aproape prim, ordinul|Ea(GF (2m))| se poate calcula eficient cu Teorema 4.3. Tabela de mai sus listeaza gradele

Page 99: Matematici ^ n Criptogra e - MTA

4.3. CURBE KOBLITZ 99

de extensie m ∈ [100, 600] si curbele Koblitz Ea pentru care |Ea(GF (2m))| este numaraproape prim.

Exemplul 4.10. Curbele B− 163 si K− 163 sunt curbe Koblitz peste corpul GF (2163) =F2[X]/(X163 +X7 +X6 +X3 + 1), adoptate ca standarde NIST.

Curba K − 163 este de tip E1 si foloseste un subgrup < P > generat de punctul(reprezentat ın hexazecimal)

P = (2fe13c0537bbc11acaa07d793de4e6d5e5c94eee8, 289070fb05d38ff58321f2e800536d538ccdaa3d9)

El are ordinul r = 5846006549323611672814741753598448348329118574063

Un sir de biti a162 . . . a1a0 corespunde polinomului a162X162+· · ·+a1X+a0 ∈ GF (2)[X],

iar toate calculele se realizeaza modulo p(X) = X163 +X7 +X6 +X3 + 1 (pentru detaliia se revedea Capitolul 3, sectiunea 3.3).

Curba B − 163 este o curba Koblitz de forma E : y2 + xy = x3 + x2 + b undeb = 20a601907b8c953ca1481eb10512f78744a3205fd.

Generatorul grupului esteP = (3f0eba16286a2d57ea0991168d4994637e8343e36, 0d51fbc6c71a0094fa2cdd545b11c5c0c797324f1),

punct de ordin 5846006549323611672814742442876390689256843201587.

4.3.1 Functia Frobenius si inelul Z[τ ]

Definitia 4.8. Fie Ea o curba Koblitz. Functia Frobenius τ : Ea(GF (2m)) −→ Ea(GF (2m))este definita prin

τ(O) = O, τ(x, y) = (x2, y2).

Functia Frobenius poate fi calculata eficient, deoarece ridicarea la patrat ın GF (2m)are complexitate redusa. Se stie ca

∀P ∈ Ea(GF (2m))[(τ 2 + 2)P = µτ(P )

].

unde µ = (−1)1−a si τ sP reprezinta (formal) aplicarea de s ori a functiei τ asupra punc-tului P . Deci functia Frobenius poate fi imaginata ca un numar complex τ care verificaecuatia τ 2 + 2 = µτ .Solutia acestei ecuatii este τ = (µ+

√−7)/2.

Fie Z[τ ] inelul polinoamelor ın τ cu coeficienti ıntregi. Aceasta reprezentare faceposibila ınmultirea de puncte din Ea(GF (2m)) cu elemente ale inelului Z[τ ]:

Daca us−1τs−1 + · · ·+ u1τ + u0 ∈ Z[τ ] si P ∈ Ea(GF (2m)), atunci

(us−1τs−1 + . . . u1τ + u0)P = us−1τ

s−1(P ) + · · ·+ u1τ(P ) + u0P

Deoarece τ 2 = µτ − 2, orice element din Z[τ ] poate fi exprimat ın forma canonica a =a0 + a1τ unde a0, a1 ∈ Z.

Page 100: Matematici ^ n Criptogra e - MTA

100 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Definitia 4.9. Norma lui α = a0 + a1τ ∈ Z[τ ] este produsul lui α cu complexul sauconjugat. Formal

N(a0 + a1τ) = a20 + µa0a1 + 2a2

1.

Teorema 4.9. (proprietati ale normei)

1. N(α) ≥ 0, ∀α ∈ Z[τ ], cu egalitate daca si numai daca α = 0.

2. 1 si −1 sunt singurele elemente din Z[τ ] de norma 1.

3. N(τ) = 2, N(τ − 1) = h.

4. N(τm − 1) = |Ea(GF (2m))|, N((τm − 1)/(τ − 1)) = n.

5. Functia norma este multiplicativa: ∀α1, α2 ∈ Z[τ ] N(α1α2) = N(α1)N(α2).

6. ∀α, β ∈ Z[τ ] cu β 6= 0, ∃c, r ∈ Z[τ ] (nu neaparat unici) astfel ca α = cβ + r siN(r) < N(β) (altfel spus, Z[τ ] este inel euclidian).

Din Teorema 4.9 rezulta ca orice numar ıntreg pozitiv k poate fi scris sub forma

k =s−1∑i=0

uiτi unde ui ∈ 0,±1. O astfel de forma τ -adica poate fi obtinuta similar

obtinerii reprezentarii binare si este utila ın construirea de noi algoritmi de calcul pentrukP .

4.4 Curbe cu endomorfisme eficient calculabile

Functia Frobenius este un exemplu de endomorfism pe o curba eliptica. Sa prezentamacum o tehnica generala de accelerare a multiplicarii punctelor pe curbe eliptice ın careexista endomorfisme eficient calculabile. In general, daca endomorfismul se poate calculaın timp echivalent cu realizarea unui numar mic de dublari de puncte, atunci metodelefolosite vor elimina aproximativ jumatate din dublari si vor reduce timpul de multiplicareal unui punct cu aproximativ 33%.

4.4.1 Endomorfisme pe curbe eliptice

Fie E o curba eliptica definita peste un corp K. Un endomorfism φ al lui E peste K esteo aplicatie φ : E −→ E astfel ca

φ(O) = O, φ(P ) = (g(P ), h(P )), ∀P ∈ Eunde g si h sunt functii rationale ai caror coeficienti sunt dintr-o extensie a lui K. Multimeatuturor endomorfismelor lui E peste K formeaza un inel numit inelul endomorfismelor lui

Page 101: Matematici ^ n Criptogra e - MTA

4.4. CURBE CU ENDOMORFISME EFICIENT CALCULABILE 101

E peste K.Un endomorfism φ este de asemenea un homomorfism de grup, adica

(∀P1, P2 ∈ E) [φ(P1 + P2) = φ(P1) + φ(P2)] .

Polinomul caracteristic al unui endomorfism φ este polinomul f(X) ∈ Z[X] de grad minimastfel ca f(φ) = 0, adica f(φ)(P ) = O pentru orice P ∈ E. Daca E este o curba elipticanon-supersingulara, atunci polinomul caracteristic al lui φ are gradul 1 sau 2.

Exemplul 4.11. (Exemple de endomorfisme pe curbe eliptice)

1. Fie E o curba eliptica definita peste Zq si m un ıntreg nenul fixat. Functia deınmultire cu m definita [m] : P 7→ mP este un endomorfism al lui E definit pesteZq.Un caz particular este functia de negare P 7→ −P .Polinomul caracteristic al lui [m] este X −m.

2. Fie E o curba eliptica peste Zq. Aplicatia φ : E −→ E definitaφ(O) = O, φ(x, y) = (xq, yq)

este un endomorfism numit endomorfismul Frobenius.

Polinomul caracteristic al lui φ este X2 − tX + q, unde t = q + 1− |E(Zq)|.

3. Fie p ≡ 1 (mod 4) un numar prim si curba eliptica E : y2 = x3 + ax definita pesteFp. Fie i ∈ Fp un element de ordin 4. Aplicatia φ : E −→ E definita

φ(O) = O, φ(x, y) = (−x, iy)

este un endomorfism al lui E definit peste Fp. Ca o remarca, φ(P ) se poate calculafolosind numai o multiplicare.Polinomul caracteristic al lui φ este X2 + 1.

4. Fie p ≡ 1 (mod 3) un numar prim si curba eliptica E : y2 = x3 + b definita pesteFp. Fie β ∈ Fp un element de ordin 3. Atunci aplicatia φ : E −→ E definita

φ(O) = O, φ(x, y) = (βx, y)

este un endomorfism al lui E definit peste Fp. La fel, φ(P ) poate fi calculat doar cuo multiplicare.Polinomul caracteristic al lui φ este X2 +X + 1.

Fie E o curba eliptica definita peste un corp finit Fq si sa presupunem ca|E(Fq)| estedivizibil cu un numar prim n, iar n2 nu divide |E(Fq)|. Atunci E(Fq) contine exact unsubgrup de ordin n. Fie < P > acest subgrup generat de punctul P ∈ E(Fq) de ordinn. Daca φ este un endomorfism al lui E definit peste Fq, atunci φ(P ) ∈ E(Fq) si deciφ(P ) ∈< P >.

Sa presupunem ca φ(P ) 6= O; atunci putem scrie φ(P ) = λP pentru un λ ∈ [1, n− 1]fixat.

De fapt λ poate fi considerat o radacina modulo n a polinomului caracteristic al lui φ.

Page 102: Matematici ^ n Criptogra e - MTA

102 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Exemplul 4.12. (Curba eliptica P-160)2

Fie curba E : y2 = x3 + 3 definita peste corpul Zp de 160 biti, unde

p = 2160 − 229233 = 1461501637330902918203684832716283019655932313743

Deoarece p ≡ 1 (mod 3), curba este de tipul descris ın Exemplul 4.11(4). Grupul punctelorZp-rationale pe E are ordinul (prim):

|E(Zp)| = n = 1461501637330902918203687013445034429194588307251.

Un element de ordin 3 din Zp esteβ = 771473166210819779552257112796337671037538143582

deci aplicatia φ : E −→ E definitaφ(O) = O, φ(x, y) = (βx, y)

este un endomorfism al lui E definit peste Zp. Solutiaλ = 903860042511079968555273866340564498116022318806

a ecuatiei λ2 + λ+ 1 = 0 (mod n) are proprietatea φ(P ) = λP, ∀P ∈ E(Zp).

4.4.2 Multiplicare accelerata

Folosind aceasta baza teoretica se poate elabora o noua strategie de calcul pentru kP, k ∈[0, n− 1].In prima faza vom descompune k = k1 + k2λ (mod n), unde k1 si k2 au cam jumatatedin lungimea lui k (ın biti). O astfel de expresie se numeste ”reprezentare ın lungimedoi-balansata a lui k”. Pentru ca

kP = k1P + k2λP = k1P + k2φ(P ), (9)kP se poate obtine calculand ıntai φ(P ) evaluand (9) printr-un calcul paralel de multi-

plicari de puncte. Deoarece k1 si k2 au jumatate din lungimea lui k, jumatate din dublarilede puncte vor fi eliminate.

Vom da o metoda de obtinere a unei reprezentari ın lungime doi-balansata a mul-tiplicatorului k. Pentru aceasta, vom asocia unui vector v = (a, b) ∈ Z × Z o functief(v) = a+ bλ (mod n).

Vom ıncepe prina gasi doi vectori v1 = (a1, b1), v2 = (a2, b2) ∈ Z× Z astfel ca:

1. v1 si v2 sunt liniar independenti peste R;

2. f(v1) = f(v2) = 0;

3. v1 si v2 au norme euclidiene mici (adica ||v1|| =√a2

1 + b21 ≈ n si similar pentru v2).

2O curba similara, recomandata ca standard NIST, este P-192, definita peste corpul Fp192unde p =

2192 − 264 − 1.

Page 103: Matematici ^ n Criptogra e - MTA

4.4. CURBE CU ENDOMORFISME EFICIENT CALCULABILE 103

Apoi, cu metode algebrice simple, vom descompune (k, 0) – considerat ca vector din Q×Q– ın

(k, 0) = γ1v1 + γ2v2, γ1, γ2 ∈ Q.

Daca c1 = bγ1e, c2 = bγ2e unde bxe reprezinta ıntregul cel mai apropiat de x, atunciv = c1v1 + c2v2 este un vector cu valori ıntregi apropiat de (k, 0), astfel ca f(v) = 0. Decivectorul u = (k, 0)− v are o norma mica si satisface conditia f(u) = k, rezultat din carese deduce ca elementele k1, k2 care formeaza u sunt mici ın valoare absoluta si satisfack1 + k2λ ≡ k (mod n).

Vectorii independenti v1 si v2 cu f(v1) = f(v2) = 0 pot fi aflati aplicand algoritmullui Euclid extins lui n si λ. Acesta produce o secventa de ecuatii sin + tiλ = ri, undes0 = 1, t0 = 0, r0 = n, s1 = 0, t1 = 1, r1 = λ. Se stie (Teorema 2.2, Capitolul 2) caresturile ri sunt strict descrescatoare si ne-negative, ca |ti| < |ti+1| pentru i ≥ 0, si ca|si| < |si+1|, ri−1|ti|+ ri|ti−1| = n pentru i ≥ 1.

Fie acum s cel mai mare indice pentru care rl ≥√n. Se poate verifica usor ca

- v1 = (rs+1,−ts+1) satisface f(v1) = 0 si ||v1|| ≤√

2n;- v2 = (rs,−ts) (si similar v2 = (rs+2,−ts+2)) este liniar independent de v1 si f(v2) = 0;- foarte probabil v2 are norma mica.

Pentru aceasta alegere a lui v1, v2 avem γ1 = b2k/n si γ2 = −b1k/n.Toate acestea sunt formalizate prin algoritmul urmator:

Algoritm A9:Intrare: n, k ∈ Z, λ ∈ Zn.Iesire: k1, k2 ıntregi cu k = k1 + k2λ (mod n) si ||k1||, ||k2| ≈

√n.

1. Executa Algoritmul lui Euclid extins cu intrarea (n, λ);Din executie, fie s cel mai mare index cu rl ≥

√n;

2. (a1, b1) = (rs+1,−ts+1);3. If (r2

s + t2s) ≤ (r2s+2 + t2s+2) then (a2, b2) = (rs,−ts);else (a2, b2) = (rs+2,−ts+2);

4. c1 = bb2k/ne, c2 = b−b1k/ne;5. k1 = k − c1a1 − c2a2, k2 = −c1b1 − c2b2;6. Return(k1, k2).

Exemplul 4.13. Fie curba eliptica P-160 din Exemplul 4.12. Vom avea(rs, ts) = (2180728751409538655993509,−186029539167685199353061)

(rs+1, ts+1) = (788919430192407951782190, 602889891024722752429129)(rs+2, ts+2) = (602889891024722752429129,−1391809321217130704211319)

(a1, b1) = (788919430192407951782190,−602889891024722752429129)(a2, b2) = (602889891024722752429129, 1391809321217130704211319)

Fie acum k = 965486288327218559097909069724275579360008398257.Se obtine

c1 = 919446671339517233512759, c2 = 398276613783683332374156

Page 104: Matematici ^ n Criptogra e - MTA

104 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

sik1 = −98093723971803846754077, k2 = 381880690058693066485147.

Exemplul 4.14. Se poate alege o curba eliptica ın care parametrii k1, k2 se pot calculacu un efort mai mic decat aplicarea Algoritmului A9.De exemplu, sa consideram curba E/Fp : y2 = x3− 2 unde p = 2390 + 3 este numar primsi p ≡ 1 (mod 3) (Exempul 4.11(4)). Grupul punctelor Fp-rationale din E are ordinul|E(Fp)| = 2390 − 2195 + 7 = 63n unde n este prim. Daca alegem

λ =2195 − 2

3, β = 2389 + 2194 + 1,

atunci- β este un element de ordin 3 ın Fp,- λ satisface ecuatia λ2 + λ+ 1 = 0 (mod n),- λ(x, y) = (βx, y) pentru toti (x, y) din subgrupul de ordin n al lui E(Fp).

Sa presupunem ca P = (x, y) este ın acest subgrup si k ∈ [0, n−1] este un multiplicator.Pentru a afla o reprezentare doi-balansata a lui k scriem k = 2195k2

′ + k1′ cu k1

′ ≤ 2195.AtuncikP = (2195k2

′+k1′)P = ((3λ+2)k2

′+k1′)P = (2k2

′+k1′)P+3k2

′λP = k1(x, y)+k2(βx, y).Metoda separa un multiplicator k < n de aproximativ 384 biti ın k1 si k2 de lungimi

aproximativ egale. Costul calcularii lui βx = (2389+2194+1)x este mai mic decat utilizaandoperatia de multiplicare din corp.

4.5 Alte proprietati ale curbelor eliptice

Definitia 4.10. Consideram o curba eliptica E peste Fq, m = |(E(Fq))| si n un numarıntreg cu proprietatea n|m. Fie k > 1 cel mai mic numar ıntreg cu proprietatea n|(qk−1).k se numeste ”gradul de acoperire al curbei E ın raport cu n”.Daca n = m, atunci k este ”gradul de acoperire al curbei E” (ın engleza ”embeddingdegree”).

Cu ajutorul gradului de acoperire k, putem considera GF (qk) ca fiind o extensie a luiFq, iar E(Fq) ca un subgrup al lui GF (qk)∗.Acest lucru permite produsul a doua puncte pe o curba eliptica, lucru imposibil ın grupuladitiv E(Fq).

Mai mult, de obicei gradul de acoperire este un numar foarte mare (aproape acelasinumar de biti ca n), deci calculele din GF (qk)∗ sunt de complexitate exponentiala (ın q).Din acest motiv, k este cunoscut si sub numele ”multiplicator de securitate”.

Definitia 4.11. Fie E o curba eliptica peste Fq, n un numar prim cu q si P un punct deordin n al curbei. O ”functie de distorsiune” (pentru P ) este un endomorfism non-rationalcare asociaza lui P un punct φ(P ) liniar independent de P .

Page 105: Matematici ^ n Criptogra e - MTA

4.5. ALTE PROPRIETATI ALE CURBELOR ELIPTICE 105

Exemplul 4.15. Sa consideram curba y2 = x3 + a peste Zq, unde q este un numar prim,q ≡ 3 (mod 4) si a ∈ Zq. O curba de distorsiune pe E poate fi de exemplu

φ(x, y) = (ξx, y), unde ξ =q − 1

2· (1 + 3(q+1)/4i).

ξ are ordinul 3.Intr-adevar, ξ 6= 1 si

ξ3 =

(q − 1

2

)3 (1− 3(q+3)/2 + i ·

(3(q+5)/4 − 3(3q+3)/4

)).

Folosind Teorema 2.12 (3q−1 ≡ 1 (mod q)), partea reala a acestui numar este 1, iarpartea imaginara este 0.

Daca luam acum q = 11 si a = 1, curba φ(x, y) = (ξx, y), unde

ξ =

(11− 1

2

)(1 + 3(11+1)/2i

)≡ 5(1 + 5i) (mod 11)

este o curba de distorsiune pentru punctul P = (2, 3).Prin calcul, avem φ(2, 3) = ((5 + 3i) · 2, 3) = (10 + 6i, 3), punct liniar independent de P .

Exemplul 4.16. Fie curba eliptica y2 = x3 + x peste Z11 si φ(x, y) = (−x, iy). Aceastaeste o functie de distorsiune pentru P = (0, 1), deoarece φ(P ) = φ(0, 1) = (0, i), valoareliniar independenta de P .

4.5.1 Perechi biliniare

In ultima decada, ın criptografia curbelor eliptice a aparut un aparat de lucru tot maifrecvent folosit: cel de ”pereche biliniara”.

Pe scurt, o pereche bilinara3 este o functie care aplica o pereche de puncte ale uneicurbe eliptice ıntr-un element dintr-un grup multiplicativ peste un corp finit. Formal:

Definitia 4.12. Fie n un numar ıntreg pozitiv, G1, G2 doua grupuri abeliene aditive –pe o curba eliptica – ambele de caracteristica n (deci nP = 0 ∀P ∈ G1 ∪ G2) si G3 ungrup ciclic multiplicativ de ordin n. O pereche biliniara este o aplicatie

e : G1 ×G2 −→ G3

cu proprietatile:

1. (Biliniaritate): ∀P, P ′ ∈ G1, Q,Q′ ∈ G2, avem

e(P + P ′, Q) = e(P,Q) · e(P ′, Q), e(P,Q+Q′) = e(P,Q) · e(P,Q′)

2. (Non-degenerare):

(a) ∀P ∈ G1, P 6= 0, ∃Q ∈ G2 cu e(P,Q) 6= 1.

(b) ∀Q ∈ G2, Q 6= 0, ∃P ∈ G1 cu e(P,Q) 6= 1.

3Notiunile definite ın aceasta sectiune au ca sursa bibliografica [10] si [15].

Page 106: Matematici ^ n Criptogra e - MTA

106 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Lema 4.1. Fie e o pereche bilinara si P ∈ G1, Q ∈ G2. Atunci

1. e(P, 0) = e(0, Q) = 1.

2. e(−P,Q) = e(P,Q)−1 = e(P,−Q).

3. Pentru orice numar ıntreg pozitiv k, e(kP,Q) = e(P,Q)k = e(P, kQ).

Demonstratie. Rezulta imediat din Definitia 4.12.

4.5.2 Divizori

Pentru ınceput cateva proprietati elementare din inelul polinoamelor Z[X].

Definitia 4.13. Fie f o functie rationala (poate fi reprezentata ca o expresie rationala depolinoame).

• a este o radacina a lui f daca f(a) = 0.

• a este un pol al lui f daca f(a) = ±∞.

• f(X) are un pol la infinit daca f(1/X) are un pol ın x = 0.

• f(X) are o radacina la infinit daca f(1/X) are radacina pe x = 0.

Exemplul 4.17. Functia

f(x) =(x− 1)2

(x+ 2)3= (x− 1)2(x+ 2)−3

are pe 1 ca radacina de ordin 2, pe 0 ca radacina de ordin 1 la infinit si pe −2 ca polde ordin 3.

Definitia 4.14. Daca

f(X) =∏i

(X − xi)ai

vom nota cu div(f) (divizorii lui f) suma formala

div(f) =∑i

ai(xi)

De remarcat ca produsul a doua functii rationale are ca efect adunarea sumelor formale,iar catul a doua functii – scaderea sumelor formale.

Exemplul 4.18. Daca

f(X) =(X − 1)2

(X + 2)3, g(X) =

(X + 2)3

(X + 1)4

atunci lui f(X) · g(X) = (X − 1)2/(X + 1)4 ıi corespundediv(fg) = div(f) + div(g) = 2(1) + (∞) − 3(−2) + 3(−2) + (∞) − 4(−1) = 2(1) +

2(∞)− 4(−1).

Page 107: Matematici ^ n Criptogra e - MTA

4.5. ALTE PROPRIETATI ALE CURBELOR ELIPTICE 107

Evident, div(f) = 0 daca si numai daca f este o constanta. Deci, daca div(f) = div(g)atunci div(g/f) = 0 si g este un multiplu cu o constanta a lui f . Altfel spus, div(f)determina o functie f , abstractie facand de ınmultirea cu o constanta nenula.

Definitia 4.15. Fie E o curba eliptica. Un divizor al lui E este o suma formala de forma

D =∑P∈E

nP (P )

unde nP sunt numere ıntregi si suma are un numar finit de termeni.

gr(D) =∑P∈E

nP se numeste ”gradul” lui D.

Definitia 4.16. Un divizor D este ”divizor principal” daca exista o functie rationala fastfel ca D = div(f).

O forma echivalenta a acestei definitii este:

Un divizor D este “principal” daca se poate scrie sub forma D =∑i

ai(Pi)

unde gr(D) = 0 si∑i

aiPi = O.

In particular, daca P este un punct de ordin n, atunci n(P ) − n(O) este un divizorprincipal.

Definitia 4.17. Fie E o curba eliptica si un divizor D =∑P∈E

nP (P ). Suportul lui D este

multimea punctelor P pentru care nP 6= 0. Notam aceasta multime cu supp(D).

Doi divizori D1 si D2 au suporturi disjuncte daca supp(D1) ∩ supp(D2) = ∅.

Exemplul 4.19. Divizorii D1 = (P )− (O) si D2 = (P +R)− (R) au suporturi disjunctecat timp P,O ∩ P +R,R = ∅.

Divizorii D1 = (P )− (O) si D2 = (Q)− (O) nu au suporturi disjuncte.

Definitia 4.18. Daca D =∑i

ai(Pi) este un divizor si f este o functie rationala, se

defineste valoarea lui f ın D prin

f(D) =∏i

f(Pi)ai.

Exemplul 4.20.

1. Daca D = 2(P )− 3(Q) atunci f(D) = f(P )2 · f(Q)−3.

2. Daca P = (2, 3), Q = (0, 1) sunt puncte pe o curba eliptica E/Z11,D = (P )− (Q) si f este o functie definita f(x, y) = y + 1, atunci

f(D) =3 + 1

1 + 1= 4 · 2−1 = 4 · 6 ≡ 2 (mod 11).

Page 108: Matematici ^ n Criptogra e - MTA

108 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Teorema 4.10. (Reciprocitate Weil) Fie f, g doua functii rationale definite peste uncorp F . Daca div(f) si div(g) au suporturi disjuncte, atunci

f(div(g)) = g(div(f))

Exemplul 4.21. Sa consideram (peste Z11) functiile rationale

f(X) =X − 2

X − 7si g(X) =

X − 6

X − 5Avem div(f) = (2)− (7), div(g) = (6)− (5). Atunci

f(div(g)) =f(6)

f(5)=

7

4= 7 · 3 ≡ 10 (mod 11)

g(div(f)) =g(2)

g(7)=

5

6= 5 · 2 ≡ 10 (mod 11)

Definitia 4.19. Divizorii D1, D2 sunt echivalenti daca D = D1 − D2 este un divizorprincipal.

Exemplul 4.22. Daca f este o functie rationala, atunci divizorii (P ) − (O) si (P ) −(O) + div(f) sunt echivalenti.

4.6 Perechi Tate

Utilizarea perechilor Tate ın criptografie ısi are originea ıntr-un articol nepublicat din1986 al lui Victor Miller, continuat cu rezultate ale lui Menezes - Okamoto - Vanstone siFrey - Rueck.

4.6.1 Definitia clasica a perechilor Tate

Fie E o curba eliptica peste un corp K0 si n un ıntreg pozitiv coprim cu caracteristica luiK0. Multimea radacinilor de ordinul n ale unitatii este definita In = u ∈ K∗0 | un = 1unde K0 = α | ∃p ∈ K0[X], p(α) = 0 reprezinta ınchiderea algebrica a lui K0.

Definim corpul K = K0(In) ca fiind extensia lui K0 generata de radacinile de ordinuln ale unitatii. Formal

K = α | α = k1u1 + · · ·+ knun, ki ∈ K0, ui ∈ In.Fie acum

E(K)[n] = P ∈ E(K) | nP = Osi

nE(K) = nP | P ∈ E(K).Deci

• E(K)[n] este un grup multiplicativ de caracteristica n.

• nE(K) este un subgrup al lui E(K).

Page 109: Matematici ^ n Criptogra e - MTA

4.6. PERECHI TATE 109

• Grupul cat E(K)/nE(K) este un grup de caracteristica n.

Observatia 4.2. Se poate considera E(K)/nE(K) ca fiind multimea claselor de echiva-lenta a punctelor din E(K) fata de congruenta P1 ≡ P2 daca si numai daca P1 − P2 ∈nE(K).

Daca notam (K∗)n = un | u ∈ K∗, evident (K∗)n este subgrup al lui K∗, iar K∗/ (K∗)n

este un grup multiplicativ de caracteristica n.Mai mult, grupurile K∗/ (K∗)n si In sunt izomorfe.

Fie P ∈ E(K)[n] si Q ∈ E(K) (privit ca reprezentant al unei clase de echivalentaın E(K)/nE(K)). Deoarece nP = O, rezulta ca exista o functie rationala f astfel cadiv(f) = n(P ) − n(O). Fie D un divizor de grad 0, definit peste K si echivalent cu(Q)− (O) (un astfel de divizor poate fi construit usor: se ia un punct arbitrar S ∈ E(K)si se defineste D = (Q+ S)− (S)).

In plus, presupunem ca supp(D) si supp(div(f)) sunt disjuncte.Deoarece f si D sunt definite peste corpul K, valoarea f(D) ∈ K. Mai mult, deoarece

div(f) si D au suporturi disjuncte, vom avea f(D) 6= 0, deci f(D) ∈ K∗.Perechea Tate a lui P si A este definita prin

en(P,Q) = f(D)

interpretata ca un element din K∗/(K∗)n.

Exemplul 4.23. Fie curba elipticaE : y2 = x(x2 + 2x+ 2)

peste Z3; deci E(Z3) = O, (0, 0). Fie n = 2, P = (0, 0); se observa ca I2 = 1, 2 ⊂ Z3.Sa presupunem ca vrem sa calculam e2(P, P ).

Functia f(x) = x are div(x) = 2(P )−2(O). Trebuie sa gasim un divizor D echivalentcu (P )− (O) si cu suport disjunct de O, P.

Deoarece E(Z3) are numai doua puncte, nu putem construi D = (P +S)− (S) pentruun S ∈ E(Z3). Va trebui sa procedam altfel.

Construim GF (32) ≈ Z3(i) unde i2 = −1 si consideram punctele lui E peste GF (32).Divizorul D = ((1 + i, 1 + i) + ((1 − i, 1 − i)) − ((1, i)) − ((1,−i)) este definit ca divizorpeste Z3. Cum (1, i) + (1,−i) = O ın E(Z32) si (1 + i, 1 + i) + (1 − i, 1 − i) 6= O esteun punct din E(GF (32)), rezulta ca este P . Pe baza Definitiei 4.16 avem ca D este undivizor principal, echivalent cu (P )− (O). Atunci

e2(P, P ) = x(D) =(1 + i) · (1 + i)

1 · 1= 2.

4.6.2 Proprietati ale perechilor Tate

Plecand doar de la constructia anterioara, o pereche Tate nu este un element bine definitdin K∗: ea depinde de alegerea luiD si a reprezentantuluiQ dintr-o clasa din E(K)/nE(K).

Page 110: Matematici ^ n Criptogra e - MTA

110 CAPITOLUL 4. ARITMETICA PE CURBE ELIPTICE

Din acest motiv, valorile perechilor Tate sunt considerate clase de echivalenta din K∗/ (K∗)n.Urmatoarele doua leme arata modul prin care o pereche Tate este un element bine definitdin K∗/ (K∗)n.

Lema 4.2. Fie f o functie cu div(f) = n(P ) − n(O) si D1, D2 doi divizori echivalentiale caror suporturi sunt disjunte de supp(div(f)). Daca f,D1, D2 sunt definite peste K,atunci f(D2)/f(D1) ∈ (K∗)n.

Lema 4.3. Fie P ∈ E(K)[n] si Q,R ∈ E(K). Fie f o functie cu div(f) = n(P )− n(O)si D1, D2 doi divizori definiti peste K ale caror suporturi sunt disjuncte de supp(div(f)).Daca D1 este echivalent cu (Q) − (O) si D2 este echivalent cu (Q + nR) − (O) atuncif(D2)/f(D1) ∈ (K∗)n.

Demonstratiile acestor doua leme se gasesc ın [10].

• Daca div(f) = n(P )−n(O) atunci o pereche Tate en(P,Q) poate fi definita folosindo functie g cu div(g) = n(P +R)− n(R) unde R ∈ E(K) este arbitrar.

• O pereche Tate este nedegenerata: ∀P ∈ E(K)[n] \ O exista Q ∈ E(K)/nE(K)astfel ca en(P,Q) 6= 1.

• O pereche Tate este biliniara: ∀P, P1, P2 ∈ E(K)[n], ∀Q,Q1, Q2 ∈ E(K)/nE(K),

en(P1 + P2, Q) = en(P1, Q) · en(P2, Q), en(P,Q1 +Q2) = en(P,Q1) · en(P,Q2).

Un rezultat simplu de demonstrat ([10], pag. 189), dar esential pentru criptografie –deoarece arata cand valoarea unei perechi Tate poate fi banala – este

Lema 4.4. Fie E o curba eliptica peste Zq si n un numar prim. Notam cu k > 1gradul de acoperire al curbei E ın raport cu n. Daca L este un corp cu proprietateaZq ⊂ L ⊂ GF (qk) si P,Q ∈ E(L), atunci en(P,Q) ∈

(GF (qk)∗

)n.

4.7 Exercitii

Exercitiul 4.1. Fie curba eliptica y2 = x3 + 7x+ 4 definita peste Z71.- Sa se adune punctele P (15, 17) si Q(43, 24).- Sa se determine 2(15, 17).

Exercitiul 4.2. Fie curba eliptica y2 = x3 + 2x + 3 definita peste Z23. Sa se adunepunctele P (6, 1) si Q(13, 8).

Exercitiul 4.3. Fie curba eliptica y2 = x3 + x+ 3 definita peste Z17. Aratati ca punctul(2, 8) este un generator al grupului E(Z17).

Page 111: Matematici ^ n Criptogra e - MTA

4.7. EXERCITII 111

Exercitiul 4.4. Fie curba eliptica y2 = x + 3 + x + 6 definita peste Z11. Sa se arate ca(2, 7) este un generator al grupului E(Z11). Cati generatori sunt ın acest grup ?

Exercitiul 4.5. Aceeasi problema pentru grupul E(Z7) definit peste curba y2 = x3 +x+3.

Exercitiul 4.6. Fie curba eliptica y2 = x3 + 5x + 5 definita peste Z17. Sa se calculeze3(3, 8) si 5(3, 8).

Exercitiul 4.7. Sa se determine forma NAF pentru numerele 111, 57234 si 102030405.

Exercitiul 4.8. Pentru aceleasi numere din exercitiul anterior, sa se determine formeleNAF2 si NAF3.

Page 112: Matematici ^ n Criptogra e - MTA

Capitolul 5

Elemente de probabilitati cu aplicatiiın criptografie

Inainte de a defini si discuta notiunea de probabilitate, trebuie sa clarificam tipurile deevenimente a caror aparitie o vom lua ın considerare, si sa stabilim semnificatia lor.

Evenimentele sunt obiecte descrise prin afirmatii a caror semnificatie poate fi cuan-tificata; de exemplu: “Cartea trasa dintr-un pachet de 52 carti este un As de Pica”, sau“Aceasta carte are coperta neagra”. Fiecarei astfel de afirmatii (eveniment) ıi vom asociao multime S de variante sau de valori/rezultate posibile.

Sa ıncepem cu cateva exemple clasice:

Exemplul 5.1. (Aruncarea unei monede). Daca aruncam o moneda, multimea S poatecontine doua valori posibile, care codifica fata pe care va cadea moneda: le vom nota Hsi T (de la denumirile ın engleza Head – Cap, respectiv Tail – Stema). Spunem ca H siT sunt elementele (punctele) lui S si scriem S = H,T.

Evenimentul format din aruncarea de doua ori a unei monede poate fi descris prinS = HH,HT, TH, TT. In acest caz, o afirmatie de genul ”Prima aruncare este stema”,este reprezentata de multimea TH, TT; cu alte cuvinte, afirmatia data este adevaratadaca se obtine TH sau TT si este falsa daca se obtine HH sau HT .

Exemplul 5.2. (Extragerea unei carti). Pentru extragerea unei carti dintr-un pachet de52 carti de joc exista o paleta larga de alegeri ale multimii S, ın functie de gradul dedetaliere al rezultatelor. De exemplu se poate lua S = A,A, unde A reprezinta Asul,iar A – o carte oarecare diferita de As. Sau, putem scrie S ca o multime de 52 elemente,fiecare reprezentand o carte distincta. Alta alegere posibila este S = S,H,D,C, undeliterele reprezinta culoarea unei carti: Spade (trefla), Heart (cupa), Diamond (caro), Club(pica). Nu orice afirmatie legata de extragerea unei carti poate fi reprezentata de toateaceste descrieri ale multimii S. De exemplu, afirmatia “A fost extras un As” nu poate firezolvata cu spatiul de evenimente S = S,H,D,C.

113

Page 113: Matematici ^ n Criptogra e - MTA

114CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Exemplul 5.3. (Culoarea unei carti). In acest exemplu S poate fi multimea A,A,unde A semnifica culoarea albastra, iar A o culoare diferita de albastru. Sau putem definiS = A,G, V,O, unde literele reprezinta ın ordine albastru, galben, verde, altceva. Altaalegere poate fi S = AD,AI,BM,BC,NA cu semnificatiile Albastru deschis (AD),albastru ınchis (AI), bleumarin (BM), bleu ciel (BC), orice ınafara de albastru (NA).

Exemplul 5.4. (Aruncarea unei monede pana se obtine Cap). Daca aruncam o monedapana ea cade pe fata cu Head (Cap), nu putem prezice cate aruncari sunt necesare. Celmai simplu spatiu de posibilitati va fi unul infinit: S = H,TH, TTH, TTTH, . . . .

Putem evident folosi si alte multimi; de exemplu daca suntem interesati ın obtinerearezultatului dorit din cel mult doua ıncercari, o alegere adecvata este S = 1, 2,≥ 3.

Exemplul 5.5. (Alegerea unui numar dintr-un interval). Uneori este necesar sa alegemca multime de posibilitati o multime nenumarabila. De exemplu, daca experimentul constaın alegerea unui numar real aleator ıntre 0 si 1, putem folosi S = x | 0 < x < 1.

Multimea S formata din toate raspunsurile posibile ale unui experiment este numita“multime universala” sau “spatiu/camp de valori”. Elementele lui S se numesc iesiriposibile, puncte, valori sau elemente ale experimentului.

Alta caracteristica este aceea ca afirmatiile sunt propozitii carora li se poate asocia ovaloare logica: adevar (t) pentru unele iesiri posibile, fals (f) pentru altele. Spatiul devalori S trebuie ales ın asa fel ıncat fiecare punct al lui sa corespunda cu o valoare t sauf a afirmatiei.

Deci, orice experiment este descris complet prin:

1. Spatiul valorilor (multimea iesirilor posibile) S, si

2. Una sau mai multe afirmatii care au valoarea logica t pentru anumite elemente dinS si f pentru celelalte.

Aceste afirmatii pot fi privite ca functii definite pe S cu valori ın t, f, obiecte numitepredicate ın matematica.

Orice aplicare a unui astfel de experiment are ca rezultat un punct din S si numaiunul. Odata realizat experimentul, putem determina daca afirmatiile date sunt adevaratesau false pentru acest punct.

Deci, fiind data multimea S, experimentul consideratva consta ın selectarea unui punct din spatiul de valori S.

Multimea punctelor pentru care o afirmatie p are valoarea t este numita multimea deadevar a lui p, sau “evenimentul descris de” sau “corespunzator” lui p.

Revenind la Exemplul 5.2, daca se ia multimea S formata din cele 52 carti de joc,evenimentul descris de afirmatia: p = “A iesit un As” este descris de multimea P =AS,AH,AD,AC (codificari ale Asului pentru cele patru culori).

Deci putem folosi cuvantul “eveniment” pentrua descrie o submultime a spatiului de valori.

Page 114: Matematici ^ n Criptogra e - MTA

5.1. PROBABILITATI 115

Daca S este o multime finita, atunci orice submultime a ei poate fi un eveniment (dacaS este infinita, atunci anumite submultimi ale sale pot fi excluse).

Astfel, ın Exemplul 5.3, daca S = A,G, V,O este spatiul de valori pentru culoareaunei carti, atunci evenimentul P = A, V corespunde afirmatiei p = “cartea este albastrasau verde”, iar evenimentul Q = G,O corespunde lui q =“cartea nu este albastra si niciverde.

Spunem ca un eveniment P apare, daca ın realizarea experimentului, afirmatia p aso-ciata lui P ia valoarea adevar.

Daca un eveniment P este descris de afirmatia p, atunci evenimentul P este descrisde afirmatia q = non p.

Evenimentele formate dintr-o singura valoare posibila se numesc elementare. De exem-plu, A, G, V sunt evenimente elementare pentru spatiul de valori A,G, V .

Doua evenimente sunt (complet) distincte daca nici unul din ele nu este influentat –sub nici o forma – de celalalt eveniment.

5.1 Probabilitati

Vom ıncepe cu definirea ideii de frecventa relativa, deoarece ea este o notiune concreta siprobabilitatile sunt – ıntr-un anumit sens – idealizari ale frecventelor relative.

Definitia 5.1. Daca repetam un experiment de n ori (fiecare executie a experimentuluise numeste “ıncercare”), iar evenimentul A apare ın nA ıncercari, atunci raportul nA/nse numeste “frecventa relativa a lui A ın cele n ıncercari” si va fi notat cu fA.

Exemplul 5.6. Daca aruncam o moneda de n = 100 ori si observam ca nH = 46, atuncifrecventa relativa de a obtine H este fH = nH/n = 46/100 = 0.46.

Pentru doua evenimente complet distincte A si B, frecventa relativa a lui A ∪B ın nıncercari este suma frecventelor relative ale evenimentelor A si B, adica

fA∪B = fA + fB.

5.1.1 Definitia clasica a probabilitatii

Definitia 5.2. Fiind dat un spatiu finit de valori S, o masura de probabilitate este oaplicatie P : 2S −→ [0, 1] cu proprietatile:

1. P (A) ≥ 0, ∀A ∈ 2S,

2. P (S) = 1,

3. Pentru orice multime finita de evenimente complet distincte A1, . . . Ak,P (A1 ∪ A2 ∪ · · · ∪ Ak) = P (A1) + P (A2) + · · ·+ P (Ak).

Page 115: Matematici ^ n Criptogra e - MTA

116CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Perechea (S, P ) se numeste spatiu/camp de probabilitate.

Observatia 5.1.

• Definitia 5.2 se poate extinde si pentru un spatiu infinit S. Atunci P se definestepe o multime finita de submultimi ale lui S, caracterizate de o anumita proprietate.

• Doua evenimente A si B sunt complet distincte daca A ∩B = ∅.

Din axioma 3 rezulta o serie de proprietati importante:

Lema 5.1. In orice spatiu de probabilitate, P (∅) = 0.

Demonstratie. Sa consideram un eveniment A. Atunci A∪∅ = A, iar A si ∅ sunt completdistincte, deoarece A ∩ ∅ = ∅. Deci P (A ∪ ∅) = P (A), iar cu axioma 3, P (A ∪ ∅) =P (A) + P (∅). Deci P (A) = P (A) + P (∅), adica P (∅) = 0.

Evident, reciproca nu este adevarata: pot exista evenimente A 6= ∅ cu P (A) = 0.

Lema 5.2. Pentru orice doua evenimente A,B ∈ 2S,P (A ∪B) = P (A) + P (B)− P (A ∩B).

Demonstratie. Imediat.

Lema 5.3. Pentru orice trei evenimente A,B,C:P (A ∪B ∪ C) = P (A) + P (B) + P (C)− P (A ∩B)− P (A ∩ C)− P (B ∩ C) + P (A ∩B ∩ C).

Demonstratie. Aplicam Lema 5.2 de trei ori:P (A ∪ B ∪ C) = P (A ∪ (B ∪ C)) = P (A) + P (B ∪ C) − P (A ∩ (B ∪ C)) = P (A) +

P (B) +P (C)−P (B ∩C)−P ((A∩B)∪ (A∩C)) = P (A) +P (B) +P (C)−P (B ∩C)−[P (A∩B) +P (A∩C)−P (A∩B ∩A∩C)] = P (A) +P (B) +P (C)−P (A∩B)−P (A∩C)− P (B ∩ C) + P (A ∩B ∩ C).

Lema 5.4. Pentru orice eveniment A, P (A) = 1− P (A).

Demonstratie. Complementara unei multimi A este definita prin proprietatile A ∩ A =∅, A∪A = S. Deci, cu axioma 3, P (S) = P (A∪A) = P (A) + P (A). Folosind axioma 2,P (A) + P (A) = 1.

Lema 5.5. Daca A ⊆ B atunci P (A) ≤ P (B).

Demonstratie. Daca A ⊆ B, atunci o relatie simpla din teoria multimilor da B = A ∪(B ∩A), iar A si B ∩A sunt disjuncte. Atunci, cu axioma 3, P (B) = P (A) + P (B ∩A),iar cu axioma 1, P (B ∩ A) ≥ 0. Deci P (B)− P (A) = P (B ∩ A) ≥ 0.

Corolarul 5.1. P (A) ≤ 1 pentru orice eveniment A.

Page 116: Matematici ^ n Criptogra e - MTA

5.1. PROBABILITATI 117

Demonstratie. In Lema 5.5 se ia B = S si se tine cont de faptul ca A ⊆ S pentru oriceA ∈ 2S si P (S) = 1.

Exemplul 5.7. Pentru extragerea unei carti oarecare dintr-un pachet de 52 carti de joc,vom considera spatiul valorilor S dat de cele 52 evenimente elementare corespunzatoarecelor 52 posibilitati de alegere a unei carti. Probabilitatea fiecarui eveminent elementareste 1/52, iar pentru orice eveniment compus A, probabilitatea sa P (A) este definita canumarul n(A) de evenimente elementare care formeaza A, ınmultit cu 1/52, adica

P (A) = n(A)/52.De exemplu, probabilitatea de a extrage o trefla este 13/52 = 1/4, pentru ca pachetul

contine 13 trefle, iar extragerea unei trefle este un eveniment elementar, definit A =“S-atras o trefla”.

Axiomele din Definitia 5.2 se verifica imediat.

Observatia 5.2. Intr-un spatiu finit de valori se defineste o masura de probabilitateasignand numere nenegative subunitare a caror suma este 1 pentru toate evenimenteleelementare care compun A. Vom nota cu P (A) suma probabilitatilor tuturor evenimentelorelementare aflate ın evenimentul compus A.

Exemplul 5.8. Fie S = s1, s2, s3, s4 si sa asignam probabilitati evenimentelor ele-mentare astfel: P (s1) = 1/2, P (s2) = 1/3, P (s3) = 1/6, P (s4) = 0. Conditia de baza severifica: 1/2 + 1/3 + 1/6 + 0 = 1.

Atunci evenimentul A = s1, s2 are asociata probabilitatea P (A) = 1/2 + 1/3 = 5/6.Cum am putea realiza un experiment care sa corespunda acestui camp de probabilitate ?O modalitate este de a defini s1 = [0, 1/2), s2 = [1/2, 5/6), s3 = [5/6, 1), s4 = 1,iar experimentul consta ın a genera aleator un numar din intervalul [0, 1] (de exemplufolosind un generator de numere pseudo-aleatoare).

Corolarul 5.2. Daca un spatiu de valori este format din n evenimente elementare deprobabilitati egale, atunci probabilitatea oricarui eveniment elementar este 1/n, iar oriceeveniment A format din k elemente are probabilitatea P (A) = k/n.

Daca numim “iesiri favorabile” cele k iesiri care verifica A, iar n este numarul total deiesiri posibile, atunci orice eveniment A format din evenimente elementare equi-probabileare probabilitatea

P (A) =favorabil

posibil.

Aceasta este definitia clasica a probabilitatilor, cea mai des ıntalnita ın practica.

5.1.2 Probabilitati independente

In general, toate campurile de probabilitate descrise pana acum s-au referit la evenimentecomplet independente unul de altul. Formal:

Page 117: Matematici ^ n Criptogra e - MTA

118CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Definitia 5.3. Doua evenimente A,B sunt (statistic) independente dacaP (A ∩B) = P (A) · P (B).

Definitia 5.3 poate fi extinsa la o multime arbitrara de evenimente:O multime de evenimente A1, A2, . . . sunt (reciproc) independente daca pentru oricesubmultime finita Ai1 , . . . , Aik avem

P (Ai1 ∩ · · · ∩ Aik) = P (Ai1) · P (Ai2) . . . P (Aik).

Observatia 5.3.

• Proprietatea de independenta nu se refera la evenimente elementare; este o proprie-tate asociata unei multimi de cel putin doua evenimente.

• Pentru o multime de evenimente, independenta nu se reduce doar la intersectia aoricare doua perechi de evenimente elementare; trebuie luata ın calcul intersectiatuturor combinatiilor posibile de evenimente.

Exemplul 5.9. (Distributie binomiala). Sa consideram un experiment format din nıncercari. Pentru fiecare ıncercare:

1. Sunt posibile doua rezultate: “succes” sau “esec”.

2. Toate ıncercarile sunt independente una de alta.

3. Pentru fiecare ıncercare probabilitatea de succes este p (aceeasi), iar probabilitateade esec este q = 1− p.

Astfel de experimente se numesc “experimente Bernoulli”.

Vom nota cu b(k;n, p) afirmatia de a obtine exact k succese din n ıncercari. Pre-supunand ca toate ıncercarile sunt independente, probabilitatea de a avea k succese sin − k esecuri (indiferent de ordine) este pkqn−k; deoarece cele k succese si n − k esecuripot fi ordonate ın Ck

n moduri diferite, obtinem

p(k;n, p) = Cknp

kqn−k.

Importanta unei astfel de distributii consta ın multitudinea de aplicatii posibile. Astfel,“succes” sau “esec” poate ınsemna obtinerea de H sau T ın aruncarea unei monede,castigarea sau pierderea unui joc etc. Pentru securitatea informatiei, una din cele maiinteresante aplicatii consta ın “paradoxul nasterilor” (sectiunea 5.3.2).

Pentru a sublinia importanta independentei evenimentelor, sa vedem exemplul urmator,numit si “paradoxul lui Mere”.

Page 118: Matematici ^ n Criptogra e - MTA

5.1. PROBABILITATI 119

Exemplul 5.10. In secolul XVII, cavalerul de Mere pune matematicianului Blaise Pascalurmatoarea ıntrebare:Daca arunci un zar – sa spunem de 4 ori – un jucator stie din experienta ca probabilitateade a obtine cel putin un 6 este putin mai mare de 1/2, iar daca arunci doua zaruri de 24ori, probabilitatea de obtine cel putin un 6− 6 este mai mica de 1/2. Cum este posibil sanu avem acceasi probabilitate ın ambele cazuri, avand ın vedere faptul ca

P (6− 6 pentru doua zaruri) = 1/36 = (1/6) · P (un 6 pentru un zar) ?iar factorul 1/6 se compenseaza aruncand cele doua zaruri nu de 4 ori, ci de 6 ·4 = 24

ori ?Eroarea provine din acest ultim argument: daca multiplicam cu 6 numarul de ıncercari,

probabilitatea de a avea cel putin un 6− 6 nu se multiplica si ea cu 6.Sa detaliem acest lucru: Daca aruncam un zar de 6 ori, conform rationamentului lui

de Mere, probabilitatea de a obtine cel putin un 6 este 6 · (1/6) = 1, iar daca aruncam unzar de 7 ori, probabilitatea de a avea cel putin odata un 6 este ar fi 7 · (1/6) > 1, evidentimposibil.

Explicatia se bazeaza pe faptul ca evenimentele Ai = A i-a aruncare este un 6pentru i = 1, 2, 3, 4 nu sunt reciproc exclusive, asa ca P (cel putin un 6 din 4 ıncercari =P (A1 ∪ A2 ∪ A3 ∪ A4) nu este egala cu P (A1) + P (A2) + P (A3) + P (A4) = 4 · (1/6).

Similar, evenimentele Bi = A i-a aruncare a doua zaruri da 6 − 6 pentru i =1, 2, . . . , 24, nu sunt reciproc exclusive, deci P (cel putin un 6− 6 din 24 ıncercari cu douazaruri) = P (B1 ∪B2 ∪ · · · ∪B24) 6= 24 · (1/36) = 2/3.

Putem calcula formulele pentru P (A1 ∪ A2 ∪ A3 ∪ A4) si P (B1 ∪ B2 ∪ · · · ∪ B24)folosind o generalizare a Lemei 5.3, dar o cale mai simpla consta ın determinarea acestorprobabilitati prin complementare: P (cel putin un sase din 4 ıncercari = 1− P (nici un 6din 4 ıncercari) = 1− (5/6)4 ≈ 0.5177.Similar, P (cel putin un 6− 6 din 24 ıncercari cu doua zaruri) = 1− P (nici un 6− 6 din24 ıncercari cu doua zaruri) = 1− (35/36)24 ≈ 0.4914.

5.1.3 Probabilitati conditionate

Sunt situatii ın care probabilitatea de aparitie a unui eveniment este direct influentata deaparitia altor evenimente. Acestea sunt probabilitatile conditionate.

Exemplul 5.11. Sa presupunem ca aruncam doua monede (de valori diferite) de n = 10ori si obtinem urmatoarele rezultate: HT, TT, HT, HH, TT, HH, HH, HT, TH, HT .

Daca marcam cu A evenimentul ca prima moneda arata “cap” (H) si cu B evenimentulca a doua moneda arata tot H, atunci A apare de nA = 7 ori, B apare de nB = 4ori si A ∩ B apare de nAB = 3 ori. Frecventele relative ale acestor evenimente suntfA = 7/10, fB = 4/10 si respectiv fAB = 3/10.

Sa punem acum urmatoarea ıntrebare: care este frecventa relativa de aparitie a lui Aıntre iesirile ın care B a aparut deja ? Raspunsul va lega numarul nAB de aparitii ale lui

Page 119: Matematici ^ n Criptogra e - MTA

120CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

A dintre aceste iesiri si numarul total de iesiri nB ın care a aparut evenimentul B Dacavom nota aceasta frecventa relativa cu fA|B, vom avea

fA|B =nABnB

=3

4.

fA|B se numeste “frecventa relativa conditionata a lui A daca a aparut B”.Sa formalizam acest rezultat.

Definitia 5.4. Fie A si B doua evenimente arbitrare dintr-un spatiu de valori S, cuP (B) 6= 0. Atunci probabilitatea conditionata a lui A daca a aparut B este

P (A|B) =P (A ∩B)

P (B).

De remarcat ca orice probabilitate poate fi privita ca o probabilitate conditionata de

S, deoarece P (A|S) =P (A ∩ S)

P (S)= P (A).

Invers, orice probabilitate conditionata P (A|B) poate fi considerata o probabilitateneconditionata, daca ınlocuim spatiul de valori S cu unul redus, B. Acest lucru esteevident ın spatii de valori cu probabilitati egale de iesire; pe cazul general ınsa, afirmatiatrebuie demonstrata (vezi Teorema 5.1 de mai jos).

Exemplul 5.12. Sa aruncam doua zaruri. Stiind ca cel putin unul din ele arata 1, careeste probabilitatea ca suma numerelor iesite sa fie 2 sau 3 ?

Sa notam cu A = (1, 1), (1, 2), (2, 1) evenimentul ca suma zarurilor sa fie 2 sau 3, sicu B = (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1) evenimen-tul ca cel putin unul din zaruri sa arate 1.

Atunci A ∩B = A, deci P (A ∩B) = 3/36, P (B) = 11/36. Din Definitia 5.4 avemP (A|B) = (3/36)/(11/36) = 3/11.

Daca luam ca spatiu general de valori pe B, atunci acest rezultat se poate obtine caprobabilitatea neconditionata de aparitie a evenimentului A.

Observatia 5.4. Trebuie evitata confuzia dintre P (A ∩ B) (cand evenimentele A si Bapar simultan) si probabilitatea conditionata P (A|B). Astfel, ın exemplul de mai sus nuar fi corect sa presupunem ca probabilitatea obtinerii sumei 2 sau 3 daca cel putin unuldin zaruri este 1 sa fie 3/36, deoarece cele trei cazuri favorabile trebuie legate de un totalde 11 cazuri posibile, nu de toate cele 36 posibilitati.

Exemplul 5.13. Dintre toate familiile cu trei copii, alegem una la ıntamplare. Care esteprobabilitatea ca toti copiii ei sa fie baieti, daca stim ca:

a) Primul copil este baiat;b) Cel putin unul din copii este baiat.1

1Presupunem ca probabilitatea ca un copil sa fie baiat sau fata este 1/2.

Page 120: Matematici ^ n Criptogra e - MTA

5.1. PROBABILITATI 121

Spatiul valorilor este S = bbb, bbf, bfb, bff, fbb, fbf, ffb, fff cu opt valori echi-probabile. El desemneaza toate tipurile posibile de familii, cu copiii listati ın ordineanasterilor; de exemplu bff arata o familie ın care primul nascut este baiat, iar ceilalti doisunt fete.

Pentru cazul (a), spatiul redus al valorilor este bbb, bbf, bfb, bff; deciP (numai baieti|primul nascut este baiat) = 1/4.

Similar, spatiul redus de valori pentru (b) este bbb, bbf, bfb, bff, fbb, fbf, ffb, asaca P (numai baieti|cel putin un copil este baiat) = 1/7.

Faptul ca cele doua raspunsuri sunt diferite ar putea parea paradoxal; ın definitiv,daca unul din copii este baiat, ce importanta are daca stim ca este primul sau este unuldin cei trei ? Daca privim mai atent, vedem ca ın situatia (a) stim mai mult: nu doarca (cel putin) unul din copii este baiat, ci ca primul copil este baiat. Aceasta informatiesuplimentara reduce spatiul de valori mai mult decat situatia din varianta (b).

Exemplul 5.14. Din toate familiile cu doi copii, alegem aleator un copil. Daca acestaeste baiat, care este probabilitatea ca el sa provina dintr-o familie cu doi baieti ?Principala diferenta fata de exemplul precedent este aceea ca acolo am selectat o familie,iar aici am selectat un copil. Deci elementele multimii de valori sunt copii, nu familii !

Vom nota copilul ales cu b respectiv f (ceilalti sunt notati obisnuit – cu b si f). Spatiulde valori indica toate variantele posibile de familii din care provine copilul ales (daca esteprimul sau al doilea nascut, daca este baiat sau fata).Deci S = bb,bf, fb, ff, bb, fb, bf , f f, cu opt valori egal posibile. Spatiul redus de valori– ın care s-a selectat un baiat – este bb,bf, bb, fb.

Deci P (ambii copii din familie sunt baieti|copilul ales este baiat) = 2/4 = 1/2.Problema poate fi rezolvata si ignorand ordinea copiilor ın familie. Atunci

S = bb,bf, fb, ff, iar spatiul redus al valorilor este bb,bf.Va rezulta din nou P (ambii copii din familie sunt baieti|copilul ales este baiat) = 1/2.

Definitia probabilitatilor conditionate poate fi scrisa si sub forma multiplicativa:

P (A ∩B) = P (A|B) · P (B)

Ea este folosita mai ales la calculul probabilitatii evenimentelor simultane.

Exemplul 5.15. Dintr-un pachet de 52 carti de joc sunt extrase simultan doua carti.Care este probabilitatea de a avea doi Asi ?

Sa notam A = A doua carte este As si B = Prima carte este As. Vom aveaP (B) = 4/52, P (A|B) = 3/51; deci, cu formula de sus

P (ambele carti sunt Asi) = P (A ∩B) = P (A|B) · P (B) = (4/52)(3/51) = 3/663.

Teorema 5.1. Fie B un eveniment cu probabilitate nenula ıntr-un spatiu de valori S.Probabilitatile conditionate de B satisfac urmatoarele proprietati:

Page 121: Matematici ^ n Criptogra e - MTA

122CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

1. P (A|B) ≥ 0 pentru orice eveniment A,

2. P (S|B) = 1,

3. P (A1∪A2|B) = P (A1|B)+P (A2|B) pentru orice doua eveninente disjuncte A1, A2.

Demonstratie.

1. In definitia lui P (A|B), numaratorul este nenegativ (axioma 1), iar numitorul estepozitiv (ipoteza). Deci fractia este ≥ 0.

2. Se ia A = S ın definitia lui P (A|B) si avem P (S|B) =P (S ∩B)

P (B)=P (B)

P (B)= 1.

3. P (A1∪A2|B) =P ((A1 ∪ A2) ∩B)

P (B)=P ((A1 ∩B) ∪ (A2 ∩B))

P (B)=P (A1 ∩B) + P (A2 ∩B)

P (B)=

P (A1|B) + P (A2|B).

Corolarul 5.3. Daca ın Teorema 5.1 evenimentele A,A1, A2 ⊆ B, atunci pentru B fixat,functia PB(A) = P (A|B) este o masura de probabilitate ın spatiul redus de valori B.

Definitia probabilitatilor conditionate conduce la un test important de verificare aindependentei a doua evenimente:

Teorema 5.2. Doua evenimente A, B cu P (B) 6= 0 sunt independente daca si numaidaca

P (A|B) = P (A).

Demonstratie. Din Definitia 5.3 doua evenimente sunt independente daca si numai dacaP (A ∩ B) = P (A) · P (B). Substituind membrul stang cu forma multiplicativa si pre-supunand P (B) 6= 0 (probabilitatea conditionata P (A|B) este definita numai daca P (B) 6=0), avem P (A|B) · P (B) = P (A) · P (B) sau, dupa simplificare:

P (A|B) = P (A).

Conditia din Teorema 5.2 este asimetrica ın A si B; dar, daca P (A) 6= 0, atunci sepoate demonstra similar ca evenimentele A si B sunt independente daca si numai dacaP (B|A) = P (B).

Page 122: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 123

5.2 Variabile aleatoare

In protocoalele criptografice, un rol major ıl au valori numerice care sunt generate laıntamplare. Ele trebuie sa aiba diverse proprietati, legate atıt de probabilitatea de aparitiea unui astfel de eveniment, cat si de securitatea sa de generare. Vom considera ın aceastasectiune numai primul aspect.

Definitia 5.5. Fie S un spatiu de valori. O variabila aleatoare2 este o aplicatie ψ : S −→Z.

In literatura variabilele aleatoare se noteaza de obicei cu litere mari de la sfarsitulalfabetului: X, Y, Z, sau cu multimi bazate pe acestea, cum ar fi s|X(s) = x, s|X(s) ≤x sau s|X(s) ∈ I, unde x ∈ S, I ⊆ S.De multe ori ele sunt scrise prescurtat X = x, X ≤ x, X ∈ I.

Asignarea de probabilitati tuturor acestor evenimente, pentru o variabila aleatoare Xfixata, se numeste “distributie de probabilitate” a lui X.De asemenea, prin extensie de notatie, vom scrie P (X = x) ın loc de P (X = x).

Exemplul 5.16. Sa consideram un eveniment format din trei aruncari ale unei monede.Spatiul de valori care-l descrie este

S = HHH,HHT,HTH,HTT, THH, THT, TTH, TTT.Daca X reprezinta numarul de H-uri care se obtine ın aceste aruncari pentru fiecare

iesire s ∈ S, variabila aleatoare X poate fi descrisa de tabela urmatoare:s HHH HHT HTH HTT THH THT TTH TTT

X(s) 3 2 2 1 2 1 1 0Deci, daca o moneda este aruncata de trei ori (iar aruncarile sunt independente una

de alta), atunci P (X = 0) = 1/8, P (X = 1) = 3/8, P (X = 2) = 3/8 si P (X = 3) = 1/8.

5.2.1 Functii de probabilitate si de distributie

Pentru descrierea probabilitatii de distributie a unei variabile aleatoare sunt folosite ıngeneral doua functii:

Definitia 5.6. Pentru orice spatiu de probabilitate si orice variabila aleatoare X definitape el, functia f : R −→ [0, 1] definita f(x) = P (X = x), se numeste “functia de probabili-tate”3 a lui X.

Definitia 5.7. Pentru orice spatiu de probabilitate si orice variabila aleatoare X definitape el, functia F : R −→ [0, 1] definita F (x) = P (X ≤ x) se numeste “functia dedistributie” a lui X.

2In aceasta lucrare vom considera numai variabile aleatoare discrete. Exista si variabile aleatoarecontinue ψ : S −→ R.

3Deoarece lucram cu un spatiu de probabilitate discret, se va lua f(x) = 0 pentru x 6∈ Q

Page 123: Matematici ^ n Criptogra e - MTA

124CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Exemplul 5.17. Fie X numarul de H-uri obtinute prin aruncarea de trei ori a uneimonede (ca ın Exemplul 5.16) Atunci functia de probabilitate a lui X este

f(x) =

1/8 daca x = 03/8 daca x = 13/8 daca x = 21/8 daca x = 3

iar functia de distributie a lui X este

F (x) =

0 daca x < 0

1/8 daca 0 ≤ x < 14/8 daca 1 ≤ x < 27/8 daca 2 ≤ x < 31 daca x ≥ 3

Sunt unele variabile aleatoare ıntalnite frecvent ın probleme practice. Doua din ele –generalizari ale Exemplului 5.17 – au denumiri speciale:

Definitia 5.8.

1. O variabila aleatoare X se numeste “variabila aleatoare Bernoulli” de parametru p,daca are numai doua valori posibile 0, 1, iar P (X = 1) = p, P (X = 0) = 1− p =q, unde p ∈ [0, 1]. Un experiment a carui iesire este o variabila aleatoare Bernoullise numeste “test Bernoulli”.

2. O variabila aleatoare X se numeste “variabila aleatoare binomiala” de parametrin, p, daca are distributia binomiala (Exemplul 5.9) cu functia de probabilitate

f(x) = Cxnp

xqn−x, x = 0, 1, 2, . . . , n.

Functia de distributie a unei variabile aleatoare binomiale este:

F (x) =

0 daca x < 0

bxc∑k=0

Cknp

kqn−k daca 0 ≤ x < n

1 daca x ≥ n

Exemplul 5.18. Vom considera aruncarea simultana a doua zaruri (deci 36 evenimenteechiprobabile posibile) si vom nota cu X suma punctelor obtinute. Atunci f(x) si F (x)sunt date de tabelele

x 2 3 4 5 6 7 8 9 10 11 12f(x) 1/36 2/36 3/36 4/36 5/36 6/36 5/36 4/36 3/36 2/36 1/36

x ∈ (−∞, 2) [2, 3) [3, 4) [4, 5) [5, 6) [6, 7) [7, 8) [8, 9) [9, 10) [10, 11) [11, 12) [12,∞)F (x) 0 1/36 3/36 6/36 10/36 15/36 21/36 26/36 30/36 33/36 35/36 1

O variabila aleatoare este “discreta” daca are un numar finit sau infinit numarabil devalori. Asa cum am mai mentionat, vom lucra numai cu variabile aleatoare discrete.

Page 124: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 125

Definitia 5.9. Variabila aleatoare X este uniform discreta daca are un numar finit devalori posible x1, x2, . . . , xn si ∀i, P (X = xi) = 1/n.

Variabile aleatoare cu un numar infinit numarabil de valori pot apare ın numeroaseaplicatii. Exemplul urmator este ilustrativ.

Exemplul 5.19. Sa aruncam un zar de un numar neprecizat de ori, pana se obtine un6. Vom nota cu X numarul de aruncari; evident X poate fi orice numar ıntreg pozitiv,ın functie de noroc. Functia de probabilitate a lui X se poate determina usor astfel:

f(1) = P (X = 1) = P (6 din prima aruncare) =1

6;

f(2) = P (X = 2) = P (primul 6 apare la a doua aruncare) =5

6· 1

6;

f(3) = P (X = 3) = P (primul 6 apare la a treia aruncare) =

(5

6

)2

· 1

6;

si asa mai departe. In general

f(k) = P (X = k) =

(5

6

)k−1

· 1

6, k = 1, 2, . . .

Acest exemplu este caracteristic unei alte familii de variabile aleatoare:

Definitia 5.10. Sa realizam teste Bernoulli independente cu parametrul p ∈ (0, 1) panaobtinem succes. Numarul X de ıncercari se numeste “variabila aleatoare geometrica” deparametru p. Functia ei de probabilitate este f(k) = P (X = k) = p · qk−1 pentru k ≥ 1.

Numele “geometric” vine de la faptul ca valorile lui f(k) sunt termenii unei progresiigeometrice infinit descrescatoare. Folosind formula sumei unei astfel de progresii se verificafaptul ca avem o distributie de probabilitate:

∞∑k=1

f(k) =∞∑k=1

p · qk−1 =p

1− q= 1

Proprietatile functiilor de distributie pot fi ınsumate ın:

Teorema 5.3. Functia de distributie F a unei variabile aleatoare X are urmatoareleproprietati:

1. F (−∞) = limx−→−∞

F (x) = 0;

2. F (∞) = limx−→∞

F (x) = 1;

3. F este o functie nedescrescatoare;

4. F (x) este o functie liniara.

Page 125: Matematici ^ n Criptogra e - MTA

126CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Demonstratie.

1. Cand x −→ −∞, intervalul (−∞, x] −→ ∅.

2. Cand x −→∞, intervalul (−∞, x] −→ R.

3. Pentru x < y avem F (y) = P (X ∈ (−∞, y]) = P (X ∈ (−∞, x]) + P (X ∈ (x, y]) =F (x) + P (X ∈ (x, y]) ≥ F (x).

4. Se arata similar egalitatea F (ax+ by) = aF (x) + bF (y) pentru orice constante a, bsi variabile aleatoare X, Y .

Se poate demonstra si reciproca: orice functie F care are cele patru proprietati dinTeorema 5.3 este functie de distributie pentru o anumita variabila aleatoare X.

Daca teorema de sus este adevarata pentru orice tip de variabila aleatoare (reala saudiscreta), functia de probabilitate este utilizabila numai pentru variabile aleatoare discrete(pentru cazul real este necesara o alta functie, numita “functie de densitate”).

Urmatoarea teorema arata ca functia de distributie a unei variabile aleatoare X de-termina complet distributia lui X.

Teorema 5.4. Pentru orice variabila aleatoare X si orice x, y ∈ R:

1. P (X ∈ (x, y]) = F (y)− F (x);

2. P (X ∈ (x, y)) = limt→y

F (t)− F (x);

3. P (X ∈ [x, y]) = F (y)− limt→x

F (t);

4. P (X ∈ [x, y)) = limt→y

F (t)− limt→x

F (t)

(toate limitele sunt limite laterale).

Pentru variabilele aleatoare discrete, functiile de probabilitate si de distributie se de-finesc reciproc una pe alta. Astfel, daca xi (i ≥ 1) sunt valorile posibile ale lui X, atunci,pentru orice x avem:

F (x) =∑xi≤x

f(xi),

si respectivf(x) = F (x)− lim

t→xF (t) (t < x).

Prima relatie arata ca F (x) este constanta ıntre doua valori xi succesive, iar a doua –ca f(xi) este egala cu valoarea saltului lui F cand x = xi.

Page 126: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 127

5.2.2 Inegalitatea lui Markov

Inegalitatea lui Markov da o margine superioara a probabilitatii ca o functie ne-negativade o variabila aleatoare sa fie cel putin egala cu o constanta pozitiva. Relatia este atribuitalui Andrei Markov, desi a aparut anterior ıntr-o lucrare a lui Pafnuti Cebasev (profesorullui Markov), iar unele surse – mai ales ın analiza matematica – o numesc drept primainegalitate a lui Cebasev.

Teorema 5.5. Daca X este o variabila aleatoare si a > 0, atunci

P (X ≥ a) ≤ F (X)

a

Demonstratie. Pentru un eveniment E, sa notam cu IE variabila indicator a lui E: IE = 1daca E apare, IE = 0 altfel.

Cu aceasta notatie, IX≥a = 1 daca evenimentul X ≥ a apare, si IX≥a = 0 daca X < a.Deci, fiind dat a > 0, avem a · IX≥a ≤ X.

Intr-adevar sa luam cele doua valori posibile ale lui IX≥a: daca X < a atunci IX≥a = 0,

deci si a · IX≥a = 0 ≤ X. In caz contrar avem X ≥ a, pentru care IX≥a = 1, decia · IX≥a = a ≤ X.

Pentru ca functia de distributie F este monoton crescatoare, o aplicam ın ambii membriai inegalitatii. Avem F (a · IX≥a) ≤ F (X).

Folosind liniaritatea lui F , relatia se poate rescriea · F (IX≥a) = a · (1 · P (X ≥ a) + 0 · P (X < a)) = a · P (X ≥ a).

Deci a · P (X ≥ a) ≤ F (X), relatie care se ımparte cu a > 0.

5.2.3 Distributii simultane

Multe aplicatii iau ın considerare simultan doua sau mai multe variabile aleatoare. Ingeneral vom lucra cu probabilitati asociate unor evenimente definite prin doua sau maimulte variabile aleatoare pe acelasi spatiu de valori. Probabilitatile acestor evenimenteformeaza o distributie asociata (joint distribution) a variabilelor aleatoare considerate

Definitia 5.11. Fie X, Y doua variabile aleatoare pe acelasi spatiu de valori. Functia dedoua variabile definita

∀(x, y) ∈ R× R, f(x, y) = P (X = x, Y = y)se numeste “functia de probabilitate asociata perechii (X, Y )”.

In general, pentru o multime de n (n ≥ 2) variabile aleatoare pe acelasi spatiu devalori, functia de probabilitate asociata lui (X1, X2, . . . , Xn) este

∀(x1, x2, . . . , xn) ∈ Rn, f(x1, x2, . . . , xn) = P (X1 = x1, X2 = x2, . . . , Xn = xn).

Observatia 5.5. In expresia P (X = x, Y = y) cele doua evenimente X = x si Y = y auloc simultan. O definire echivalenta poate fi ∀(x, y) ∈ R2, f(x, y) = 0 daca P (X = x) = 0sau P (Y = y) = 0.

Page 127: Matematici ^ n Criptogra e - MTA

128CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Daca pentru doua variabile aleatoare sumam f(x, y) dupa toate valorile posibile y carepot fi luate de Y , vom obtine functia de probabilitate fX (sau f1) a lui X. Intr-adevar∑

y

f(x, y) =∑y

P (X = x, Y = y) = P

(X = x ∩

(⋃y

Y = y

))=

= P (X = x ∩ S) = P (X = x) = fX(x).Similar, daca sumam f(x, y) dupa toate valorile posibile ale lui x, obtinem functia de

probabilitate fY (sau f2) a lui Y , iar daca sumam f(x, y) dupa toate valorile posibile alecelor doua variabile x, y se va obtine 1.

Definitia 5.12. Fie X, Y doua variabile aleatoare pe acelasi spatiu de valori. Functia dedoua variabile definita

∀(x, y) ∈ R× R, F (x, y) = P (X ≤ x, Y ≤ y)

se numeste “functia de distributie asociata perechii (X, Y )”.

Se pot folosi aceleasi idei ca mai mai sus pentru a definit FX(x) = F (x,∞) si FY (y) =F (∞, y) ca functii de distributie pentru X respectiv Y .

In general, pentru n (n ≥ 2) variabile aleatoare pe acelasi spatiu de valori se definestefunctia de distributie asociata lui (X1, X2, . . . , Xn) sub forma

∀(x1, x2, . . . , xn) ∈ Rn, F (x1, x2, . . . , xn) = P (X1 ≤ x1, X2 ≤ x2, . . . , Xn ≤ xn).Si aici, daca ınlocuim cu ∞ orice submultime de argumente din F (x1, x2, . . . , xn),

obtinem functia de distributie asociata variabilelor aleatoare ramase ca argumente.

Exemplul 5.20. Sa aruncam doua zaruri si sa notam cu X si Y valorile care apar pe celedoua fete. Sa solicitam functia de probabilitate asociata pentru U = X+Y si V = |X−Y |.

Pentru ınceput vom construi o tabela cu valorile lui U, V pentru toate iesirile posibileale lui x respectiv y:

y/x 1 2 3 4 5 61 2, 0 3, 1 4, 2 5, 3 6, 4 7, 52 3, 1 4, 0 5, 1 6, 2 7, 3 8, 43 4, 2 5, 1 6, 0 7, 1 8, 2 9, 34 5, 3 6, 2 7, 1 8, 0 9, 1 10, 25 6, 4 7, 3 8, 2 9, 1 10, 0 11, 16 7, 5 8, 4 9, 3 10, 2 11, 1 12, 0

Prin ipoteza, fiecare pereche de valori (x, y) are probabilitatea 1/36, deci fiecare perechede valori (u, v) ale evenimentelor (U, V ) are ca probabilitate produsul dintre 1/36 si numarulde patratele ın care apare. De exemplu, fU,V (3, 1) = P (U = 3, V = 1) = P (X = 1, Y =

2) +P (X = 2, Y = 1) = 2/36. In final functia de probabilitate fU,V (u, v) asociata perechii(U, V ) este calculata ın tabelul urmator (pe ultima coloana este listata functia de proba-bilitate fU(u) ca suma pe linii, iar pe ultima linie se afla functia de probabilitate fV (v) casuma pe coloane):

Page 128: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 129

u/v 0 1 2 3 4 5 fU(u)2 1/36 0 0 0 0 0 1/363 0 2/36 0 0 0 0 2/364 1/36 0 2/36 0 0 0 3/365 0 2/36 0 2/36 0 0 4/366 1/36 0 2/36 0 2/36 0 5/367 0 2/36 0 2/36 0 2/36 6/368 1/36 0 2/36 0 2/36 0 5/369 0 2/36 0 2/36 0 0 4/3610 1/36 0 2/36 0 0 0 3/3611 0 2/36 0 0 0 0 2/3612 1/36 0 0 0 0 0 1/36

fV (v) 6/36 10/36 8/36 6/36 4/36 2/36 1

Exemplul 5.21. (Maximul si minimul a trei numere). Sa extragem aleator trei numereX1, X2, X3 (fara a le ınlocui pe cele deja alese) din multimea 1, 2, 3, 4; vom nota cuX = maxX1, X2, X3 si Y = minX1, X2, X3. Ne punem problema calcularii functieide probabilitate asociate perechii (X, Y ).

Initial, tabela de mai jos listeaza toate cele 24 variante posibile, ımpreuna cu valorilelui X si Y :

X1 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4X2 2 2 3 3 4 4 1 1 3 3 4 4 1 1 2 2 4 4 1 1 2 2 3 3X3 3 4 2 4 2 3 3 4 1 4 1 3 2 4 1 4 1 2 2 3 1 3 1 2X 3 4 3 4 4 4 3 4 3 4 4 4 3 4 3 4 4 4 4 4 4 4 4 4Y 1 1 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 2 1 1 1 2 1 2

Deoarece fiecare extragere are probabilitatea 1/24, pentru functia de probabiliitate f(x, y)a lui (X, Y ) va trebui doar sa numaram de cate ori apare o pereche de valori (X, Y ) sisa o ınmultim cu 1/24. Aceasta ımpreuna cu functiile de probabilitate asociate fY (y) sifX(x) sunt date de tabelul urmator:

y/x 3 4 Orice x1 1/4 1/2 3/42 0 1/4 1/4

Orice y 1/4 3/4 1

5.2.4 Independenta variabilelor aleatoare

Notiunea de independenta a evenimentelor se poate extinde si la variabile aleatoare,folosind ideea de distributie asociata definita mai sus.

Page 129: Matematici ^ n Criptogra e - MTA

130CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Definitia 5.13. Doua variabile aleatoare X, Y sunt independente una fata de alta dacasi numai daca pentru orice intervale A,B:

P (X ∈ A, Y ∈ B) = P (X ∈ A) · P (Y ∈ B).

Relatia se poate reformula ın termeni de functii de distributie:

Teorema 5.6. Doua variabile aleatoare X, Y sunt independente una fata de alta dacasi numai daca functia lor de distributie asociata este produsul functiilor de distributiecorespunzatoare celor doua variabile:

∀(x, y), F (x, y) = FX(x) · FY (y).Si similar pentru functiile de probabilitate:

∀(x, y), f(x, y) = fX(x) · fY (y).

Demonstratie. Daca ın Definitia 5.13 alegem intervalele A = (∞, x] si B = (−∞, y], vomobtine prima relatie. Reciproc, daca aceasta relatie este adevarata, atunci Definitia 5.13se verifica pentru orice intervale A,B.

Pentru functiile de probabilitate, relatia rezulta din Definitia 5.13 luand intervale deun punct: A = [x, x], B = [y, y]. Implicatia inversa se obtine sumand relatia dupa x sidupa y.

Exemplul 5.22. In Exemplul 5.21 variabilele aleatoare X si Y nu sunt independente,deoarece – conform tabelului – f(x, y) 6= fX(x) · fY (y) pentru orice pereche (x, y). Deexemplu, f(3, 1) = 1/4, dar fX(3) · fY (1) = (1/4) · (3/4) = 3/16.

Putem construi ınsa destul de usor o tabela pentru functia de probabilitate asociataf , pastrand aceiasi x, y si aceleasi functii de probabilitate asociate distributiilor lui Xrespectiv Y ca variabile aleatoare independente. Este suficient sa punem fiecare intraref(x, y) egala cu produsul valorilor de pe marginile dreapta/jos ale tabelului. Va rezulta

y/x 3 4 Orice x1 3/16 9/16 3/42 1/16 3/16 1/4

Orice y 1/4 3/4 1

Din Exemplele 5.21 si 5.22 se trage concluzia ca pot fi multe functii de distributie asociatefunctiilor de distributie specifice variabilelor aleatoare, dar numai una din ele reprezintavariabile aleatoare independente.

Am selectat cateva teoreme importante referitoare la aceasta clasa de variabile aleatoare.

Teorema 5.7. Fie X = c (unde c este o constanta arbitrara) si Y o variabila aleatoare.Atunci X si Y sunt independente.

Demonstratie. Inlocuim ın relatia din Teorema 5.6 pe X = c. Vom obtineP (c ≤ x, Y ≤ y) = P (c ≤ x) · P (Y ≤ y),

relatie adevarata deoarece- pentru x ≥ c si y arbitrar ea se reduce la P (Y ≤ y) = P (Y ≤ y),- pentru x < c ea devine 0 = 0.

Page 130: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 131

Teorema 5.8. Fie X o variabila aleatoare neconstanta si Y = X. Atunci X si Y suntdependente.

Demonstratie. Fie A,B doua intervale disjuncte pentru care P (X ∈ A) > 0 si P (X ∈B) > 0 (deoarece X nu este constanta, asemenea intervale exista efectiv). Daca Y = X,atunci P (X ∈ A, Y ∈ B) = 0, dar P (X ∈ A) · P (Y ∈ B) > 0, ceea ce contrazice relatiadin Teorema 5.6.

Notiunea de independenta se extinde ın mod natural pentru n ≥ 2 variabile aleatoare:

Definitia 5.14. Fie X1, X2, . . . , Xn, n ≥ 2 variabile aleatoare arbitrare.

• Ele sunt (total) independente dacaP (X1 ∈ A1, X2 ∈ A2, . . . , Xn ∈ An) = P (X1 ∈ A1) · P (X2 ∈ A2) . . . P (Xn ∈ An)

pentru orice intervale A1, A2, . . . , An.

• Ele sunt reciproc (pairwise) independente daca∀i 6= j, P (Xi ∈ Ai, Xj ∈ Aj) = P (Xi ∈ Ai) · P (Xj ∈ Aj)

pentru orice intervale Ai, Aj.

De remarcat ca independenta reciproca este o conditie mai slaba decat cea totala(relatia de independenta reciproca nu implica relatia de independenta totala).

De asemenea se poate generaliza usor si Teorema 5.6.

Teorema 5.9. Orice set de n ≥ 2 variabile aleatoare sunt independente daca si numaidaca functia de distributie asociata este produsul functiilor de distributie specifice fiecareivariabile:

∀(x1, x2, . . . , xn), F (x1, x2, . . . , xn) = F1(x1) · F2(x2) . . . Fn(xn).Si similar pentru functiile de probabilitate:

∀(x1, x2, . . . , xn), f(x1, x2, . . . , xn) = f1(x1) · f2(x2) . . . fn(xn).

In unele aplicatii este necesara functia de probabilitate a sumei dintre doua variabilealeatoare independente. Relatia este data de

Teorema 5.10. Fie X, Y doua variabile aleatoare independente si Z = X + Y . Functiade probabilitate a lui Z este

fZ(z) =∑x+y=z

fX(x) · fY (y) =∑x

fX(x) · fY (z − x),

unde pentru fiecare z suma se ia pentru toate valorile posibile ale lui X si Y pentru carex+ y = z, daca astfel de valori exista; altfel, fZ(z) = 0.

In literatura, expresia care defineste fZ(z) se numeste “convolutia” lui fX si fY .

Page 131: Matematici ^ n Criptogra e - MTA

132CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Demonstratie. Evident.

Corolarul 5.4. Daca valorile lui X, Y sunt numere naturale, atunci functia de probabili-tate/convolutie a lui Z = X + Y este

fZ(k) =k∑i=0

fX(i) · fY (k − i), k = 0, 1, 2, . . .

Exemplul 5.23. Fie X si Y doua variabile aleatoare binomiale independente cu parametriin1, p respectiv n2, p. Atunci Z = X + Y este o variabila binomiala cu parametrii n1 + n2

si p, deoarece

fZ(k) =k∑i=0

Cin1piqn1−iCk−i

n2pk−iqn2−k+i =

k∑i=0

Cin1Ck−in2

pkqn1+n2−k = Ckn1+n2

pkqn1+n2−k

pentru k = 0, 1, 2, . . . , n1 + n2.Rezultatul este evident chiar si fara o justificare formala.

5.2.5 Distributii conditionate

Multe aplicatii din securitatea informatiei aplica anumite restrictii pentru distributia uneivariabile aleatoare. Pentru restrictii de probabilitate nenula se poate folosi direct definitiaprobabilitatilor conditionate asociate cu variabile aleatoare. Deci:

Definitia 5.15. Fie A un eveniment cu P (A) 6= 0 si X o variabila aleatoare. Definimfunctia de distributie conditionata a lui X cu restrictia A prin

∀x ∈ R, FX|A(x) = P (X ≤ x|A).Daca X este o variabila aleatoare discreta, functia de probabilitate conditionata a lui

X cu restrictia A este∀x ∈ Q, fX|A(x) = P (X = x|A).

Daca Y este o variabila aleatoare discreta si A = Y = y, atunci putem scrieFX|Y (x, y) = P (X ≤ x|Y = y) pentru ∀x ∈ R si orice valoare y a lui Y ,

si vom numi FX|Y “functia de distributie conditionata a lui X fiind dat Y ”.Daca ambele variabile aleatoare X, Y sunt discrete, functia de probabilitate conditionataa lui X fiind dat Y este definitafX|Y (x, y) = P (X = x|Y = y) pentru toate valorile posibile x, y ale lui X respectiv Y .

Daca folosim definitia distributiilor asociate, aceasta relatie devine

∀(x, y), fX|Y (x, y) =f(x, y)

fY (y)

unde f(x, y) este functia de probabilitate asociata lui X si Y , iar fY (y) este functia deprobabilitate a lui Y .

Page 132: Matematici ^ n Criptogra e - MTA

5.2. VARIABILE ALEATOARE 133

Exemplul 5.24. Sa reluam Exemplul 5.20 cu variabilele aleatoare U = X + Y si V =|X−Y |, unde X si Y sunt valorile obtinute prin aruncarea a doua zaruri. Sa determinamvalorile functiilor de probabilitate conditionata fU |V si fV |U . Ca punct de plecare vomutiliza tabelul functiei de probabilitate asociata f(u, v) definita ın Exemplul 5.20.

Folosind relatia definita anterior, acest tabel se transforma ın

u/v 0 1 2 3 4 5

2 1/6 0 0 0 0 03 0 1/5 0 0 0 04 1/6 0 1/4 0 0 05 0 1/5 0 1/3 0 06 1/6 0 1/4 0 1/2 07 0 1/5 0 1/3 0 18 1/6 0 1/4 0 1/2 09 0 1/5 0 1/3 0 010 1/6 0 1/4 0 0 011 0 1/5 0 0 0 012 1/6 0 0 0 0 0

care defineste functia de probabilitate conditionata fU |V (u, v) (s-a ımpartit pur si simplufiecare valoare f(u, v) cu valoarea functiei de probabilitate fV (v) definita pe ultimul rand).

Similar, tabelul functiei de probabilitate conditionata fV |U(u, v) se obtine prin ımpartireafiecarei valori f(u, v) din tabelul detaliat ın Exemplul 5.20 cu valoarea functiei de proba-bilitate definita pe ultima coloana din dreapta:

u/v 0 1 2 3 4 5

2 1 0 0 0 0 03 0 1 0 0 0 04 1/3 0 2/3 0 0 05 0 1/2 0 1/2 0 06 1/5 0 2/5 0 2/5 07 0 1/3 0 1/3 0 1/38 1/5 0 2/5 0 2/5 09 0 1/2 0 1/2 0 010 1/3 0 2/3 0 0 011 0 1 0 0 0 012 1 0 0 0 0 0

Constructiile sunt consistente. Intr-adevar, daca V = |X−Y | = 1, atunci U = X+Ypoate fi doar 3 = 1 + 2 = 2 + 1, 5 = 2 + 3 = 3 + 2, 7 = 3 + 4 = 4 + 3, 9 = 4 + 5 = 5 + 4sau 11 = 5 + 6 = 6 + 5. Deoarece fiecare din aceste cinci valori posibile poate apare sub

Page 133: Matematici ^ n Criptogra e - MTA

134CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

conditia V = 1 ın doua moduri distincte, probabilitatile lor conditionate trebuie sa fie 1/5,valoarea din coloana a doua a primului tabel.

Similar, daca U = X + Y = 3, atunci (X, Y ) ∈ (1, 2), (2, 1); pentru fiecare din celedoua variante, V = |X − Y | = 1, deci fV |U(3, 1) = 1.

Pe baza definitiilor se poate deduce usor urmatorul rezultat.

Teorema 5.11. Daca A este un eveniment cu P (A) 6= 0 si X o variabila aleatoarearbitrara, atunci A si X sunt independente una de alta daca si numai daca

∀x ∈ R, FX|A(x) = FX(x).Doua variabile aleatoare arbitrare X, Y sunt independente una de alta daca si numai

daca FX|Y (x, y) = FX(x) pentru orice x ∈ R si orice valoare posibila y a lui Y .

Rezultatul este acelasi daca se ınlocuiesc functiile de distributie FX|A si FX|Y cufunctiile de probabilitate fX|A respectiv fX|Y .

5.3 Algoritmi probabilisti

Inafara de algoritmii obisnuiti, care lucreaza sub o forma determinista (pentru o datade intrare fixata iesirea este determinata ın mod unic) multe probleme de securitate ainformatiei se bazeaza pe algoritmi probabilisti – care folosesc ıntr-o anumita masuraintrari aleatoare. Un astfel de algoritm utilizeaza biti generati aleator ca o intrare se-cundara, scopul fiind o ıncercare de a reduce media costurilor de timp si spatiu (decide a micsora complexitatea – vezi Capitolul 6). Formal, performanta algoritmului va fio variabila aleatoare determinata direct de acesti biti aleatori care nu sunt controlati deutilizator; ın final timpul de executie sau iesirea (posibil ambele) vor fi variabile aleatoare.

Sunt cunoscute si utilizate pe scara larga doua clase de algoritmi probabilisti:

• Algoritmi Monte - Carlo: folosesc intrari generate aleator si se termina totdeaunaıntr-un interval finit de timp. Rezultatul obtinut poate fi ınsa incorect cu anumitaprobabilitate.

• Algoritmi Las Vegas: folosesc intrari aleatoare si pot sa nu se termine (duc la untimp nedefinit de rulare4 sau se termina anuntand o eroare); daca ınsa se terminaın timp finit, rezultatul este totdeauna corect.

Exista probleme pentru care algoritmii probabilisti asigura singura varianta practica derezolvare. Cel mai clar exemplu este cel al problemelor NP - complete, pe care le vomaborda ın capitolul urmator.

4Evident, o procedura care nu se termina ıncalca definitia de algoritm, dar ın cazul algoritmilorprobabilisti acest lucru se ıntampla doar pentru anumite date de intrare aleatoare.

Page 134: Matematici ^ n Criptogra e - MTA

5.3. ALGORITMI PROBABILISTI 135

Implementarile obisnuite folosesc pentru algoritmii probabilisti generatori de numerepseudo-aleatoare ca sursa de biti aleatori; acest lucru creaza o anumita distorsionare acomportamentului previzibil teoretic, dar este justificat prin costurile mult mai reduse.

Exemplul 5.25. Sa consideram problema de a afla un anumit element ”a” dintr-untablou liniar de dimensiune n. Deci:

Intrare: A[n] (n ≥ 2), ın care jumatate din elemente sunt “a” si restul sunt “b”.Iesire: Gaseste un ”a” ın tablou.Vom da doua solutii, una cu un algoritm Las Vegas si una cu un algoritm Monte-Carlo.

• Algoritm Las Vegas:

Finding A LV (array A, n)begin

repeatAlege aleator un element din A

until ”a” is foundend

Acest algoritm are probabilitate de succes 1. Timpul de rulare variaza si poate fiarbitrar de mare, dar timpul mediu poate fi estimat ın functie de n.

• Algoritm Monte Carlo:

Finding A MC(array A, n, k)begin

i = 0;repeat

Alege aleator un element din A;i = i+ 1

until i = k or ”a” is foundend

Daca ın cele k ıncercari permise este gasit un element ”a”, algoritmul se terminacu succes; altfel algoritmul esueaza. Dupa k iteratii, probabilitatea de a gasi un ”a”este P [X = a] = 1− 1/2k.

Algoritmul nu garanteaza succes, dar timpul de rulare este fixat la maxim k iteratii.

In acest exemplu, algoritmul Las Vegas scoate totdeauna un raspuns corect, dar timpulsau de rulare este o variabila aleatoare. Algoritmul Monte Carlo (apropiat de metoda desimulare Monte Carlo5) opereaza ıntr-un orizont de timp limitat (ın functie de marimea

5Versiunea moderna a acestei metode a fost scrisa la sfarsitul anilor 1940 de Stanislaw Ulam, ın timp celucra la Los Alamos National Laboratory. Numele a fost dat dupa cazinoul din Monte Carlo, frecventat deunchiul lui Ulam. John von Neumann a ınteles imediat importanta metodei si a programat calculatoareleENIAC sa opereze cu programe statistice Monte Carlo.

Page 135: Matematici ^ n Criptogra e - MTA

136CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

intrarii), dar permite o mica probabilitate de eroare.De remarcat ca orice algoritm Las Vegas poate fi convertit ıntr-un algoritm Monte

Carlo (via inegalitatea Markov – vezi 5.2.2) permitand terminarea cu o valoare arbitrara,posibil incorecta – ın caz ca se termina cu esec. Invers, daca exista o procedura eficientade verificare a corectitudinii unui raspuns, atunci orice algoritm Monte Carlo poate ficonvertit ıntr-un algoritm Vegas, solicitınd repetarea algoritmului Monte Carlo cu altevalori aleatoare, pana se obtine un raspuns corect.

5.3.1 Algoritmi probabilisti de factorizare

Primul algoritm probabilist a fost propus de Michael O. Rabin pentru o problema degeometrie computationala. Studiul algoritmilor probabilisti a explodat practic ın 1977odata cu publicarea algoritmului de testare a primalitatii propus de Robert M. Solovay siVolker Strassen. Ulterior Rabin a demonstrat ca testul de primalitate propus ın 1976 deMiller poate fi rescris ca un algoritm probabilist (devenind algoritmul Miller-Rabin).

Algoritmul Solovay - Strassen

Algoritmul Solovay-Strassen se bazeaza pe Teorema 2.18 (criteriul lui Euler) de calcul areziduurilor patratice folosind simbolul Legendre.

Fie n > 1 un numar impar.

Daca n este prim, atunci pentru orice a, avem(an

)≡ a

n−12 (mod n).

Invers, daca n nu este prim, este posibil ca egalitatea de sus sa fie falsa. Dacacongruenta se verifica, spunem ca n este numar Euler pseudo - prim pentru baza a.

De exemplu, 91 este pseudo-prim pentru baza 10 deoarece(10

91

)= −1 = 1045 (mod 91).

Testul de primalitate Solovay - Strassen pentru un numar impar n este:

Solloway - Strassen(n):1. Se genereaza aleator un numar a ∈ Z∗n;

2. x←−(an

);

3. if x = 0 then ”n nu este prim”

4. y ←− an−12 (mod n);

5. if x ≡ y (mod n) then ”n este prim”,else ”n nu este prim”.

end Solloway - Strassen

Se poate arata ca numarul de baze a pentru care un numar compus n este pseudo -prim Euler, este cel mult n/2. Aceasta duce la concluzia ca testul de primalitate Solovay

Page 136: Matematici ^ n Criptogra e - MTA

5.3. ALGORITMI PROBABILISTI 137

- Strassen este un algoritm Monte Carlo pentru problema de descompunere6, cu proba-bilitate de eroare 1/2.

Un studiu referitor la complexitatea aplicarii acestui test de primalitate si a proba-bilitatii de eroare se poate gasi ın [23].

Algoritmul Miller - Rabin

Acest algoritm este cunoscut si sub numele de testul de tare pseudo - primalitate.

Algoritm Miller - Rabin(n)

1. Se descompune n− 1 = 2km unde m este impar;

2. Se alege aleator ıntregul a ∈ [2, n− 2];

3. b←− am (mod n)

4. if b ≡ 1 (mod n) then ”n este prim”, Stop;

5. for i←− 0 to k − 1 do

5.1. if b ≡ −1 (mod n) then ”n este prim”, Stop,

else b←− b2 (mod n)

6 ”n nu este prim”, Stop

end Miller - Rabin

Teorema 5.12. Algoritmul Miller - Rabin este un algoritm Monte Carlo pentru problemade descompunere.

Demonstratie. Sa presupunem prin absurd ca algoritmul raspunde ca un numar prim nse poate descompune, adica am 6≡ 1 (mod n). Vom urmari sirul de valori pe care le ia b.Cum la fiecare iterare b este ridicat la patrat, acest sir este am, a2m, . . . , a2k−1m.

Vom avea decia2im 6≡ −1 (mod n) pentru 0 ≤ i ≤ k − 1.

Deoarece n este prim, teorema lui Fermat da a2km ≡ 1 (mod n). Deci a2k−1m este oradacina patrata a lui 1 modulo n.

Din faptul ca n este prim, singurele radacini patrate ale lui 1 sunt ±1. Aceastaafirmatie se poate arata astfel:

x este radacina patrata a lui 1 modulo n daca si numai daca n|(x− 1)(x+ 1). Cum neste prim, avem n|(x− 1) (deci x ≡ 1 (mod n)) sau n|(x+ 1) (adica x ≡ −1 (mod n)).

Cum prin ipoteza a2k−1m 6≡ −1 (mod n), avem a2k−1m ≡ 1 (mod n).

6Problema de descompunere consta ın a decide daca un numar ıntreg arbitrar poate fi descompus ınprodus de doua numere supraunitare.

Page 137: Matematici ^ n Criptogra e - MTA

138CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

Atunci a2k−2m trebuie sa fie radacina patrata a lui 1, diferita de −1, decia2k−2m ≡ 1 (mod n).

Procedand iterativ, se ajunge la am ≡ 1 (mod n), ceea ce contrazice faptul ca algorit-mul nu s-a oprit la Pasul 4.

Daca n este un numar impar neprim, atunci maxim 1/4 din numerele a ∈ Z∗n conducla un rezultat fals. In [16] se apreciaza ca numarul maxim de astfel de valori este φ(n)/4,pentru n 6= 9, unde φ este indicatorul Euler (Defintia 2.6, Capitolul 2).

De exemplu, pentru n = 91 (neprim), multimea valorilor a pentru care algoritmulda raspuns incorect este 9, 10, 12, 16, 17, 22, 29, 38, 53, 62, 69, 74, 75, 79, 81, 82. Pentrun = 105 orice valoare a lui a conduce la un rezultat corect.

Deci, algoritmul Miller-Rabin este un algoritm Monte-Carlo de probabilitate ε = 1/4.

In general se considera ca testul Miller - Rabin este mai bun decat Solovay - Strassen.Cateva motive:

1. Solovay - Strassen este mai complex computational.

2. Implementarea lui Solovay - Strassen este mai dificila din cauza calculului simboluluiJacobi.

3. Probabilitatea de eroare pentru Solovay - Strassen este 1/2, pe cand la Miller -Rabin ea se reduce la 1/4.

4. Deoarece orice valoare a lui a pentru care testul Miller - Rabin este gresit este unnumar Euler pseudo-prim, un test Miler - Rabin nu este niciodata inferior unui testSolovay - Strassen.

5.3.2 Paradoxul nasterilor

Sub o forma simplificata, paradoxul nasterilor poate fi enuntat astfel:

Lema 5.6. Probabilitatea ca dintr-o multime aleatoare de 23 persoane sa existe doi indivizicu aceeasi zi de nastere este cel putin 1/2.

Demonstratie. Fie X ,Y doua multimi finite, card(X ) = N, card(Y) = M ;N ≥ 2M si fieh : X −→ Y o functie (hash).Evident, exista cel putin 2 valori distincte7 x, y ∈ X astfel ca h(x) = h(y); problema carene-o punem este de a gasi efectiv astfel de perechi.O metoda simpla consta ın a extrage aleator k mesaje distincte x1, . . . , xk ∈ X , de acalcula yi = h(xi), 1 ≤ i ≤ k si de a cauta daca exista o coliziune printre ele (facand, deexemplu, o triere printre valorile yi).

7O pereche de astfel de valori se numeste “coliziuni”.

Page 138: Matematici ^ n Criptogra e - MTA

5.3. ALGORITMI PROBABILISTI 139

Cum xi sunt extrase aleator, se poate considera ca si yi sunt valori aleatoare (nuneaparat distincte) din Y . Probabilitatea ca din k extrageri, toate elementele yi sa fiedistincte, se determina astfel:

Se face o ordonare a numerelelor yi; fie y1, . . . , yk aceasta ordine.Prima extragere y1 este total aleatoare; probabilitatea ca y2 6= y1 este 1− 1/N , probabil-itatea ca y3 sa fie distinct de y1 si y2 este 1− 2/N etc.

Probabilitatea sa nu avem k coliziuni va fi deci:(1− 1

N

)(1− 2

N

). . .

(1− k − 1

N

)=

k−1∏i=1

(1− i

N

).

Daca x este un numar real suficient de mic, atunci se poate folosi aproximarea (rezultatadin dezvoltarea ın serie Mac Laurin) 1− x ≈ e−x. Vom obtine atunci:

k−1∏i=1

(1− i

N

)≈

k−1∏i=1

e−iN = e

−k(k−1)2N .

Probabilitatea sa existe cel putin o coliziune este atunci 1− e−k(k−1)

2N .

Notand aceasta probabilitate cu ε, se obtine ecuatia de necunoscuta k : e−k(k−1)

2N ≈ 1− ε,care conduce la k2 − k ≈ 2N · ln 1

1−ε .

Daca se ignora termenul −k, se obtine k ≈√

2N · ln 11−ε .

Luand acum ε = 0.5, se ajunge la k ≈ 1.17√N .

De remarcat ca alte valori pentru ε conduc la valori diferite pentru k, dar multiplicatetotdeauna cu factorul constant

√N .

Daca X este multimea fiintelor umane, Y este multimea celor 365 zile dintr-un an(nebisect) iar h(x) reprezinta data de nastere a persoanei x, se obtine paradoxul nasterilor.In aproximarea de sus, cu N = 365 avem k ≈ 22.5.Deci, printre 23 persoane alese ıntamplator, probabilitatea ca doua sa aiba aceeasi zi denastere este 1− 1/2.

Atacul nasterilor este un atac prin forta bruta care urmareste aflarea unor coliziuni.In general, Oscar genereaza aleator mesajele x1, x2, · · · ∈ X . Pentru fiecare mesaj xi elcalculeaza si stocheaza valoarea yi = h(xi), comparand-o cu valorile stocate anterior.8

Daca h(xi) coincide cu o valoare h(xj) deja stocata, Oscar a gasit o coliziune (xi, xj).Conform paradoxului nasterilor, aceasta se va ıntampla dupa aproximativ 2N/2 mesaje.

8In practica, mesajele sunt generate folosind un generator de numere pseudo-aleatoare. Deci mesajelepot fi recalculate oricand, nefiind necesara decat stocarea valorilor yi.

Page 139: Matematici ^ n Criptogra e - MTA

140CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

5.4 Exercitii

Exercitiul 5.1. O moneda este aruncata de trei ori. Sa consideram spatiul valorilor S =HHT,HTH,HTT, THH, THT, TTH, TTT atasat acestui experiment. Ce evenimentedin S corespund afirmatiilor:

1. x =“se obtine cel putin odata H”;

2. y =“din primele doua aruncari se obtine cel putin odata H”;

3. z =“H se obtine exact odata la cele trei aruncari”.

Exercitiul 5.2.

1. Listati patru spatii de valori distincte pentru a descrie trei aruncari ale unei monede.

2. Pentru fiecare spatiu de valori definit anterior descrieti (daca este posibil) eveni-mentul corespunzator afirmatiei “A iesit cel putin un T”.

3. Este posibil sa gasim un eveniment corespunzator afirmatiei anterioare pentru oricespatiu de valori posibil ? Justificati raspunsul.

Exercitiul 5.3. Sa aruncam doua zaruri: unul alb si unul negru. Daca “a” reprezintanumarul obtinut prin aruncarea zarului alb, iar “n” – a celui negru, sa notam: A =a + n = 7, B = n ≤ 3, C = a > 4. Determinati probabilitatile urmatoarelorevenimente: P (A), P (B), P (C), P (A∩B), P (A∪B), P (B ∩C), P (B ∩C), P (B ∪C).

Exercitiul 5.4. Demonstrati ca pentru orice doua evenimente A,B are loc inegalitateaP (A ∩B) ≥ P (A) + P (B)− 1.

Exercitiul 5.5. Demonstrati ca pentru orice evenimente arbitrare Ai si orice ıntreg n > 1are loc relatia: P (A1 ∪ A2 ∪ · · · ∪ An) ≤ P (A1) + P (A2) + · · ·+ P (An)

Exercitiul 5.6. Fie spatiul de valori S = a, b, c, d cu probabilitatile asociate eveni-mentelor elementare: P (a) = 1/7, P (b) = 2/7, P (c) = 4/7, P (d) = 0.

1. Determinati probabilitatile tuturor evenimentelor compuse A ⊆ S.

2. Determinati doua multimi A si B astfel ca A ∩B 6= B dar P (A ∩B) = P (B).

Exercitiul 5.7. Aruncam doua zaruri (unul alb si unul negru). Fie A = n < 4, B =n = 3, 4, 5 si C = a + n = 9. Aratati ca aceste evenimente nu sunt independentedoua cate doua, dar P (A ∩B ∩ C) = P (A) · P (B) · P (C).

Exercitiul 5.8. Aruncam doua monede. Fie A = HH,HT, B = TH,HH, C =HT, TH. Aratati ca aceste evenimente sunt independente doua cate doua, dar P (A ∩B ∩ C) 6= P (A) · P (B) · P (C).

Page 140: Matematici ^ n Criptogra e - MTA

5.4. EXERCITII 141

Exercitiul 5.9. O urna contine 5 bile rosii, 5 bile albe si 5 bile albastre. Scoatem 6 biledin urna, dupa fiecare ıncercare bila scoasa fiind ınlocuita ın urna cu o bila de aceeasiculoare.Care este probabilitatea de a obtine cate doua bile din fiecare culoare ?

Exercitiul 5.10. Fie A,B,C evenimente independente doua cate doua si A independentde B ∪ C. Aratati ca A,B,C sunt total independente.

Exercitiul 5.11. Fie evenimentele A,B cu P (A) = 8/10 si P (B) = 9/10. Aratati caP (A|B) ≥ 7/9.

Exercitiul 5.12. Dintr-o familie cu trei copii este ales aleator un copil si se observa cael este fata. Care este probabilitatea ca ea sa provina dintr-o familie cu doua fete si unbaiat ?

Exercitiul 5.13. Aratati ca orice doua evenimente A,B cu P (B) 6= 0 si P (B) 6= 0 suntindependente daca si numai daca P (A|B) = P (A|B).

Exercitiul 5.14. Sa efectuam teste Bernoulli independente cu parametrul p, pana obtinemdoua succese consecutive sau doua esecuri consecutive. Aflati functia de probabilitate anumarului de teste.

Exercitiul 5.15. Aruncati doua zaruri. Gasiti functia de probabilitate asociata eveni-mentelor

1. U = X + Y si V = X − Y ;

2. U = maxX, Y si V = minX, Y .

Exercitiul 5.16. Aruncati sase zaruri. Gasiti probabilitatile de a obtine:

1. Toate cele sase numere odata;

2. Un 1, doi de 2 si trei de 3.

Exercitiul 5.17. Aruncam doua zaruri o singura data. Fie X numarul de 1 si Y numarulde 6 obtinut. Sunt X si Y independente ?

Exercitiul 5.18. Aruncam doua zaruri si fie X, Y numarul de 1 respectiv numarul de 6care se obtin. Gasiti valorile functiei de probabilitate fX|Y (x, y) si listati-le ıntr-un tabel5× 5.

Exercitiul 5.19. Aruncam doua zaruri si notam cu X, Y valorile obtinute. Fie Z =X + Y suma acestor valori.

1. Construiti o tabela 6× 11 cu valorile functiei de probabilitate fX|Z(x, z).

Page 141: Matematici ^ n Criptogra e - MTA

142CAPITOLUL 5. ELEMENTE DE PROBABILITATI CU APLICATII IN CRIPTOGRAFIE

2. Determinati valorile functiei de probabilitate asociata f(X,Y )|Z(x, y, z) pentru z = 2si aratati ca ın acest caz X si Y sunt independente.

3. Determinati valorile functiei de probabilitate asociata f(X,Y )|Z(x, y, z) pentru z = 3si aratati ca ın acest caz X si Y nu sunt independente.

Page 142: Matematici ^ n Criptogra e - MTA

Capitolul 6

Elemente de complexitate

6.1 Analiza algoritmilor

In general, analiza unui set de algoritmi este efectuata cu scopul:

• De a estima resursele necesare (capacitate de memorie, timpi de lucru CPU etc.)pentru executarea unui algoritm pe o anumita masina;

• De a compara ıntre ei doi algoritmi care rezolva aceeasi problema;

• De a furniza o margine superioara a datelor de intrare pentru care este eficientalgoritmul respectiv.

Cea mai obisnuita modalitate de analiza a unui algoritm consta ın estimarea numaruluide operatii elementare necesare pentru executie. Notiunea de “operatie elementara” de-pinde integral de modelul de calcul ın care ne plasam. Astfel, deoarece pe o arhitecturade 64 biti marimea unei variabile1 obisnuite – numita data elementara – este de opt orimai mare decat pe un procesor de 8 biti, adunarea a doua numere nu necesita acelasinumar de operatii ın cele doua arhitecturi.In problemele de securitate a informatiei estimarea complexitatii majoritatii atacuriloreste realizata ın functie de numarul de operatii binare care se efectueaza. O data ele-mentara este luata ca etalon de marime, iar operatiile elementare contorizate sunt ANDsi XOR. Cand se vorbeste de un nivel de securitate de 280, se subıntelege ca cel maiputernic atac cunoscut are un cost de ordinul a 280 operatii binare.

In prima etapa vom introduce cateva notatii asimptotice, folosite pentru estimareacomplexitatii algoritmilor.

Fie A un algoritm cu n date de intrare si Dn multimea datelor de intrare posibile.Notam Cn(d) numarul de operatii elementare efectuate de A cu intrarea d ∈ Dn.

1In criptografie se lucreaza aproape exclusiv cu date (constante sau variabile) ıntregi.

143

Page 143: Matematici ^ n Criptogra e - MTA

144 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Definitia 6.1. Se numeste “caz favorabil” submultimea Dn ⊂ Dn cu proprietatea∀d ∈ Dn, Cn(d) = minCn(x) | x ∈ Dn.

Definitia 6.2. Se numeste “caz nefavorabil” submultimea Dn ⊂ Dn cu proprietatea∀d ∈ Dn, Cn(d) = maxCn(x) | x ∈ Dn.

Definitia 6.3. Costul mediu al unui algoritm este∑d∈Dn

Cn(d) · P (d)

unde P (d) este probabilitatea de aparitie a intrarii d ∈ Dn.

A analiza complexitatea unui algoritm revine la a ıncerca o clasificare a acestuia princompararea costului sau cu functii de variabila n (marimea datelor de intrare) sub formaclasica, cum ar fi log2n, n, n

2, 2n, . . . . In practica, mai ales la criptanaliza, este importantaclasificarea functiei de cost pentru cazurile nefavorabile.

6.2 Clase de complexitate

Vom lucra ın continuare numai cu functii f : N −→ R+ si vom considera cazul asimptotic,cand lim

n−→∞f(n) = ∞ (alte cazuri de functii sunt singularitatı ale problemei analizate si

se pot ignora). Comportamentele comparative a doua functii se exprima cu notatiile luiLandau (Θ,O,Ω, ω):

Definitia 6.4. (Clasa Θ) Fie g(n) o functie. Notam

Θ(g(n)) = f(n) | ∃A,B ∈ R+,∃n0 ∈ N, astfel ıncat n ≥ n0, 0 ≤ A·g(n) ≤ f(n) ≤ B·g(n).

Deci o functie f(n) apartine clasei Θ(g(n)) daca exista doua constante A si B astfelca plecand de la un anumit prag n0, f(n) poate fi ıncadrata ıntre A · g(n) si B · g(n)pentru orice n ≥ n0. Se mai poate spune ca, abstractie facand de un factor multiplicativ,f(n) = g(n).Prin abuz de notatie, se scrie f(n) = Θ(g(n)) ın loc de f(n) ∈ Θ(g(n)), si respectivf(n) 6= Θ(g(n)) dacaf(n) 6∈ Θ(g(n)).

Exemplul 6.1. −n2 − 3n2

+ 43 = Θ(n2).

Teorema 6.1. Daca f(n) = Θ(u(n)), g(n) = Θ(v(n)) atunci

1. f(n) + g(n) = Θ(u(n) + v(n));

2. f(n) · g(n) = Θ(u(n) · v(n)).

Demonstratie. Din definitie, exista A1, A2, B1, B2, n1, n2 astfel ca A1 · u(n) ≤ f(n) ≤B1 · v(n) pentru n ≥ n1, A2 · u(n) ≤ g(n) ≤ B2 · v(n) pentru n ≥ n2. Se ia apoiA = minA1, A2;B = maxB1, B2 si n = maxn1, n2.

Page 144: Matematici ^ n Criptogra e - MTA

6.2. CLASE DE COMPLEXITATE 145

Deoarece notatia Θ corespunde ın general relatiei ≤, nu este posibila efectuarea descaderi sau ımpartiri.

Definitia 6.5. (Clasa O) Fie g(n) o functie. Notam

O(g(n)) = f(n) | ∃B ∈ R+,∃n0 ∈ N, astfel ıncat n ≥ n0, 0 ≤ f(n) ≤ B · g(n).

Se spune ca g “domina” f si se scrie f(n) = O(g(n).Posibilitatea de a clasifica complexitatea Cn(d) a unui algoritm cu notatia O pentru

un set de intrare fixat d permite stabilirea unei margini superioare generale a timpuluide executie (sau a numarului de operatii) pentru orice intrare din Dn. Este suficient saclasificam ın O costul celor mai nefavorabile intrari, pentru a afirma ca pentru orice in-trare d, Cn(d) este ın aceasta clasa.Deoarece clasa O este cea mai utilizata pentru stabilirea si compararea ordinelor de com-plexitate, vom face o analiza mai amanuntita.

Exemplul 6.2. n2 = O(3n2 − 6n + 5), pentru ca limn−→∞

n2

3n2 − 6n+ 5=

1

3, asa ca exista

un numar n0 astfel ıncat, pentru orice n ≥ n0, n2 ≤ 3n2 − 6n+ 5 (B = 1).Cum si 3n2− 6n+ 5 = O(n2) rezulta ca cele doua functii au acelasi ordin de marime.Evident, este adevarat si ca 3n2−6n+5 = O(n3); totusi n3 6= O(3n2−6n+5) deoarece

limn−→∞

n3

3n2 − 6n+ 5=∞.

In acest caz, spunem ca n3 creste mai repede decat 3n2 − 6n+ 5.

Teorema 6.2. Fie f, g : N −→ R+; atunci

1. Daca limn−→∞

f(n)

g(n)= a ∈ R+, atunci f(n) = O(g(n)), g(n) = O(f(n)), spunem ca f

si g au acelasi ordin de crestere.

2. Daca limn−→∞

f(n)

g(n)= ∞, atunci g(n) = O(f(n)) dar f(n) 6= O(g(n)); spunem ca f

creste mai repede decat g.

Demonstratie. Imediat din Definitia 6.5.

Vom scrie O(1) pentru a nota un timp de calcul constant. O(n) semnifica o com-plexitate liniara, O(n2) o complexitate patratica, O(n3) este una cubica, O(log n) este ocomplexitate logaritmica iar O(2n) este o complexitate exponentiala.

Teorema 6.3. Fie p(n) = a0nr + · · · + an un polinom de grad r cu coeficienti reali si

a0 > 0. Atunci

1. p(n) si nr au acelasi ordin de crestere;

Page 145: Matematici ^ n Criptogra e - MTA

146 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

2. Pentru k < r, p(n) creste mai repede decat nk;

3. Pentru k > r, nk creste mai repede decat p(n).

Demonstratie.

1. limn−→∞

p(n)

nr= a0 <∞ si se aplica Teorema 6.2.

2. limn−→∞

p(n)

nk=∞ pentru r > k.

3. limn−→∞

p(n)

nk= 0 pentru r < k.

Pe baza acestui rezultat se pot elimina constantele din notatia O; astfel putem scrieO(n) ın loc de O(5n + 4), O(log n) fara a specifica baza logaritmului (trecerea dintr-obaza ın alta ınseamna de fapt ınmultirea cu o constanta).

Teorema 6.4. Pentru orice constante c > 0, a > 1, daca f : N −→ R+ este monotoncrescatoare, atunci

(f(n))c = O(af(n)

), af(n) 6∈ O ((f(n)c).

Demonstratie. Se folosesc aceleasi idei de la demonstratia Teoremei 6.3.

Deci o functie exponentiala creste mai repede decat o functie polinomiala, care larandul ei creste mai repede decat una logaritmica.

n f(n) = n f(n) = n log n f(n) = n2 f(n) = n3 f(n) = 2n

10 0, 01µs 0, 03µs 01, µs 1µs 1µs20 0, 02µs 0, 09µs 0, 4µs 8µs 1ms30 0, 03µs 0, 15µs 0, 9µs 27µs 1sec40 0, 04µs 0, 21µs 1, 6µs 64µs 18, 3min50 0, 05µs 0, 28µs 2, 5µs 125µs 13 zile

100 0, 1µs 0, 66µs 10µs 1ms 4 · 1013ani1000 1µs 9, 96µs 1ms 1s 32 · 10283ani

10.000 10µs 130µs 100ms 16, 67min −100.000 100µs 1, 66ms 10s 11, 57 zile −

1.000.000 1ms 19, 92ms 16, 67 min 31, 71 ani −

Corolarul 6.1.

1. Daca f(n) = O(n), atunci nc = O(an), ∀c > 0, a > 1.

2. Daca f(n) = logan atunci (logan)c = O(n).

Page 146: Matematici ^ n Criptogra e - MTA

6.2. CLASE DE COMPLEXITATE 147

In tabelul din pagina anterioara sunt listati mai multi timpi de rulare standard pentruprobleme de marimi diverse, rezolvate cu algoritmi secventiali de complexitati diferite siexecutati pe computere care asigura 109 operatii pe secunda. Toate problemele se referala cazul cel mai nefavorabil.

Se poate observa din acest tabel avantajul deosebit al unui algoritm bine scris. Unalgoritm de complexitate exponentiala va necesita un timp astronomic (miliarde de ani)pentru a rula o problema cu date de intrare de marimea n = 100.

Exemplul 6.3. Sa calculam an pentru a ∈ R, n ∈ N.Un prim algoritm – naiv – este de a efectua n multiplicari de forma

putere←− 1;for i←− 1 to n do putere←− putere× a.

Parcurgerea ciclului se face ın n pasi, deci un algoritm care include aceste instructiuniare complexitatea minim O(n).

Un algoritm mai eficient (numit si “exponentiere rapida”) foloseste urmatoarea idee:

Fie bkbk−1 . . . b1b0 reprezentarea lui n ın baza 2; deci n =k∑j=0

bj2j. Atunci

an = a∑k

j=0 bk2k = ab0 · (a2)b1 ·(a22)b2

. . .(a2k)bk

.

Sa mai remarcam ca b0 = n (mod 2) si bn/2c se reprezinta ın binar prin bkbk−1 . . . b1.Algoritmul de exponentiere va fi atunci:

m←− n, putere←− 1, z ←− a;while m > 0 do

while m (mod 2) = 0 do m←− bm/2, c, z ←− z2 enddo;m←− m− 1, putere←− putere× z

enddo;output(putere).

Sa determinam complexitatea acestui algoritm.Variabila m este initializata cu n si – la fiecare iterare – ciclul while interior micsoreazaaceasta valoare ımpartind cu 2 la o putere pozitiva. Deci vor fi O(log n) iteratii ale acestuiciclu while. Fiecare astfel de iteratie ia un timp constant: O(1).La iesirea din ciclu, m este impar si se executa (o singura data) comenzile

m←− m− 1, putere←− putere× a.Ca urmare, m devine par si se reia ciclul while interior (daca m 6= 0) sau se iese

(daca m = 0).Deci cele doua comenzi se executa de O(log n) ori; acesta este si ordinul de complexi-

tate al algoritmului de ınmultire rapida.

Definitia 6.6. (Clasa Ω) Fie g : N −→ R+ o functie. DefinimΩ(g(n)) = f(n) | ∃A ∈ R+, ∃n0 ∈ N, astfel ıncat ∀n ≥ n0, 0 ≤ A · g(n) ≤ f(n).

Page 147: Matematici ^ n Criptogra e - MTA

148 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Clasa de complexitate Ω permite specificarea unei margini inferioare a timpului deexecutie (sau numarul de operatii) a unui algoritm pentru orice instantiere de date deintrare. Este suficient sa putem clasifica costul unei instantieri favorabile ıntr-o clasa Ωpentru a decide ca pentru orice instanta d, Cn(d) este ın acea clasa.

Propozitia 6.1. f(n) = Θ(g(n)) ⇐⇒ [f(n) = O(g(n)) ∧ f(n) = Ω(g(n))].

Demonstratie. Rezulta imediat din definitiile celor trei clase de complexitate.

Clasa O ofera o margine superioara a valorilor unei functii f ; aceasta margine poate fimai mult sau mai putin apropiata de f . Pentru a separa cazul cand functia f se apropieasimptotic de aceasta margine de cazul cand marginea se departeaza de f (adica f devineneglijabila fata de ea), se foloseste o notatie speciala:

Definitia 6.7. (Clasa o) Fie g : N −→ R+ o functie pozitiva (eventual ıncepand de la unanumit prag). Definim

o(g(n)) = f(n) | ∀B ∈ R+,∃n0 ∈ N astfel ıncat ∀n ≥ n0, 0 ≤ f(n) < B · g(n).

Din definitie rezulta – prin trecere la limita:

f(n) = o(g(n)) ⇐⇒ limn−→∞

f(n)

g(n)= 0.

Notatia f(n) = o(g(n)) semnifica faptul ca “f(n) este neglijabila fata de g(n)”.

Exemplul 6.4. Avem n = o(n2) si n2/2 6= o(n2).

Definitia 6.8. (Clasa ω) Fie g : N −→ R+ o functie. Definim

ω(g(n)) = f(n) | ∀A ∈ R+, ∃n0 ∈ N astfel ıncat ∀n ≥ n0, 0 ≤ A · g(n) < f(n).

O functie f(n) = ω(g(n)) este caracterizata prin faptul ca nu se apropie asimptotic demarginea sa inferioara g(n). Altfel spus

f(n) = ω(g(n)) ⇐⇒ limn−→∞

f(n)

g(n)= +∞.

Exemplul 6.5. Avem n2/2 = ω(n) si n2/2 6= ω(n2).

Definitia 6.9. Doua functii f, g pozitive (de la un anumit punct) sunt echivalente – siscriem f(n) ∼ g(n) – daca |f(n)− g(n)| = o(g(n)) (sau |f(n)− g(n)| = o(f(n))).

Relatia de echivalenta dintre f si g poate fi scrisa si limn−→∞

f(n)

g(n)= 1.

Page 148: Matematici ^ n Criptogra e - MTA

6.3. P VERSUS NP 149

6.3 P versus NP

Definirea claselor de probleme P si NP se realizeaza prin raportarea lor la un conceptfundamental care aproximeaza teoretic o masina de calcul: Masina Turing.

Definitia 6.10. O masina Turing determinista (DTM) este un setuplu MT = (Q,Γ,Σ, δ, q0, B, F )unde:

• Q este o multime finita nevida de “stari”;

• Γ este un alfabet de “banda”;

• Σ ⊂ Γ este alfabetul de intrare;

• q0 ∈ Q este starea initiala;

• B ∈ Γ \ Σ este un caracter special de banda, numit “blanc”;

• F ⊆ Q este multimea starilor finale, F 6= ∅.

• δ : Q × Γ −→ Q × Γ × L,R este o functie partial definita, numita “functia detranzitie”. L (stanga) si R (dreapta) sunt cele doua sensuri de deplasare ale capuluide citire.

O configuratie este un triplet (q, α, n) ∈ Q× Γ× N. Pe multimea acestor configuratiise definesc miscari

(q, α, n) ` (q1, α1, n1) ⇐⇒ δ(q, an) = (q1, b,X)unde:

• α1 se obtine din α ınlocuind cel mai din dreapta caracter an cu B si limitand cuvantulastfel obtinut la ultimul caracter diferit de blanc;

• n1 = n+ 1 daca X = R sau n1 = n− 1 daca X = L.

Notam `∗ ınchiderea reflexiva si tranzitiva a relatiei `. Atunci limbajul acceptat de oDTM este

τ(MT ) = w ∈ Σ∗ | (q0, w, 0) `∗ (q, u, n), q ∈ FO masina Turing poate:

1. Sa nu se opreasca niciodata;

2. Sa se opreasca:

(a) ıntr-o stare finala;

(b) ıntr-o configuratie pentru care functia de tranzitie nu este definita;

(c) ıntr-o configuratie ın care capul de citire nu se mai poate deplasa.

Page 149: Matematici ^ n Criptogra e - MTA

150 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Exista si alte definitii ale masinilor Turing deterministe, toate echivalnete cu Definitia6.10. Cea prezentata aici este cunoscuta si sub numele de “Masina Turing cu bandadublu infinita”.

Masina Turing nedeterminista este definita similar, singura deosebire fiind functia detranzitie δ : Q× Γ −→ 2Q×Γ×L,R.

Acest fapt va schimba putin si modul de definire al miscarilor pe multimea configuratiilor,iar ın final un cuvant w ∈ τ(MT ) daca exista cel putin o secventa de miscari pe configuratiicare duc la o stare finala (la DTM aceasta secventa este unica).

Urmatoarea teorema este importanta; demonstratia ei foloseste ınsa un numar maimare de considerente auxiliare care depasesc obiectivele acestui curs.

Teorema 6.5. Daca L este un limbaj acceptat de o masina Turing nedeterminista, atunciexista o masina Turing determinista care accepta de asemenea limbajul L.

Importanta masinilor Turing consta ın faptul ca ele constituie un model teoretic extremde general al sistemelor de calcul. Orice problema care se poate rezolva cu ajutorul unuialgoritm formeaza un limbaj acceptat de o anumita masina Turing si reciproc, orice limbajacceptat de o masina Turing poate fi descris cu ajutorul unui algoritm.

In asertiunea de mai sus, prin “problema” ıntelegem o solicitare bazata pe o ıntrebare.De exemplu: sa se determine un factor netrivial al unui numar ıntreg (daca acest factorexista). Aceasta este o problema care poate fi rezolvata cu ajutorul unui algoritm. Candse da o anumita valoare acestui ıntreg (algoritmul se executa pentru o intrare specificatad ∈ Dn), spunem ca avem o instantiere a problemei.

Deoarece exista mai multe modalitati de reprezentare a unui algoritm, pentru uni-formizare, acesta va fi descris ın termenii unei masini Turing. Apar acum alte ıntrebari:

1. Procedura descrisa de aceasta masina Turing raspunde efectiv cerintei initiale ?(efectivitate)

2. Calculul solicitat este realizabil ? (eficacitate)

3. Daca raspunsul la ıntrebarea preedenta este afirmativ, care sunt limitele de timp ıncare masina Turing da un raspuns ? (complexitate timp) Ce marime de banda estenecesara ? (complexitate spatiu).

In general, marea majoritate a problemelor pot fi exprimate ca o secventa finita deprobleme de decizie – probleme ın care raspunsul este dicotomic: DA/NU.

Astfel, exemplul precedent cu determinarea unui factor netrivial al unui numar ıntregadmite o varianta sub forma unei probleme de decizie: fiind dati ıntregii pozitivi n, k, esteposibil ca n sa admita un factor m cu 2 ≤ m ≤ k ?

Pentru o problema de decizie, vom nota cu L multimea intrarilor posibile (eventualcodificate corespunzator algoritmului construit) si cu LD ⊂ L submultimea intrarilorpentru care raspunsul este afirmativ.

Page 150: Matematici ^ n Criptogra e - MTA

6.3. P VERSUS NP 151

Definitia 6.11. O masina Turing determinista rezolva o problema daca ea contine ostare finala qD astfel ca masina se opreste ın aceasta stare daca si numai daca cuvantulde intrare este ın LD.

Daca raspunsul este NU, atunci masina se poate opri, dar ıntr-o stare diferita de qD,sau poate sa nu se opreasca deloc.

Varianta nedeterminista a definitiei anterioare este:

Definitia 6.12. O masina Turing nedeterminista rezolva o problema daca exista o secventade miscari (optiuni) si o o stare finala qD astfel ca masina se opreste ın aceasta stare dacasi numai daca cuvantul de intrare este ın LD.

De remarcat ca aici, desi raspunsul este pozitiv, pot exista secvente de miscari careduc la o stare diferita de qD sau pentru care masina Turing sa nu se opreasca. Un raspunseste NU daca pentru orice secventa de miscari posibile, masina Turing se opreste ıntr-ostare din Q \ qD sau nu se opreste.

Se foloseste uneori si complementara unei probleme de decizie: aceasta este tot oproblema de decizie al carei raspuns este totdeauna opus raspunsului problemei initiale.

Definitia 6.13. O problema de decizie este “decidabila” daca exista o masina Turing careo rezolva si o masina Turing care rezolva complementara sa.

Cu aceste definitii avem aparatul necesar pentru a trece ın revista clasele de com-plexitate ale algoritmilor. In aceasta prima etapa ne vom referi numai la complexitateatimp.

6.3.1 Clasa P

Definitia 6.14. O problema de decizie este ın clasa P a problemelor ın timp polinomialdaca exista o masina Turing determinista care o rezolva ın timp polinomial ın cazul candraspunsul este DA.O problema de decizie este ın clasa co−P daca problema complementara este ın clasa P .

Se poate demonstra usor ca P = co− P .

6.3.2 Clasa NP

Definitia 6.15. O problema de decizie este ın clasa NP a problemelor ın timp nede-terminist polinomial daca exista o masina Turing nedeterminista care o rezolva ın timppolinomial daca raspunsul este DA.

Detaliind aceasta definitie, exista o constanta pozitiva A si un ıntreg s ≥ 1 astfel caatunci cand raspunsul la problema pentru un cuvant de intrare α ∈ Dn cu |α| = k esteafirmativ, exista o secventa de transformari care da solutia ın cel mult A · ks pasi.

Page 151: Matematici ^ n Criptogra e - MTA

152 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

O problema de decizie este ın clasa co − NP daca problema complementara este ınclasa NP .

Singurul lucru evident aici este P ⊆ NP . Intrebarea daca P = NP constituie fun-damentul problemelor utilizate ın securitatea informatiei. O conjectura bazata pe ex-perimente presupune P 6= NP . In 2001 institutul Thompson a lansat 7 “probleme alemileniului”, prima dintre ele fiind o demonstratie care sa justifice sau sa infirme asertiuneaP 6= NP .

Mai mult, nu se stie nici daca NP = co−NP .Algoritmic, o problema de decizie este ın clasa NP daca, fiind data o instanta a pro-

blemei pentru care raspunsul este afirmativ, cineva care dispune de o putere exponentialade calcul poate oferi o modalitate de verificare a raspunsului ın timp polinomial (dandastfel un certificat al raspunsului).

De obicei complexitatea problemelor se evalueaza prin reducere de la o clasa de pro-bleme la alta clasa.

Definitia 6.16. Spunem ca facem apel la un P2-oracol pentru rezolvarea unei probleme P1

daca algoritmul utilizat genereaza – plecand de la o instanta a problemei P1 – o instantaa problemei P2.

Definitia 6.17. Daca P1 si P2 sunt doua probleme, spunem ca P1 se reduce la P2 (ıntimp polinomial) daca exista un algoritm ın timp polinomial pentru P1 care utilizeaza ınplus un numar polinomial de apelari la un P2-oracol.

Definitia 6.18. O problema P este NP-tare (NP-hard) daca orice problema din clasaNP se poate reduce la P . Daca P este ın clasa NP , spunem ca ea este “NP-completa”.

6.4 Probabilizarea algoritmilor non-deterministi

Dupa cum am vazut, o masina Turing nedeterminista depinde de o secventa de miscari. Saconsideram ın acest paragraf ca miscarile sunt alese aleator ıntr-un camp de probabilitatecare va fi precizat ulterior.

Folosim o masina Turing T = (Q,Γ,Σ, δ, q0, B, F ) unde- Q este multimea (finita) a starilor;- Γ este alfabetul de banda;- Σ ⊂ Γ este alfabetul de intrare;- δ : D −→ 2Q×Γ×L,R unde D ⊂ Q× Γ, este o aplicatie cu |δ(q, x)| = 2, ∀(q, x) ∈ D;- q0 este starea initiala;- B ∈ Γ \ Σ este caracterul blanc;- F ⊂ Q este multimea (nevida a) starilor de acceptare.De remarcat ca orice masina Turing nedeterminista poate fi reprezentata sub aceasta

forma; constructia este similara transformarii unui arbore ıntr-un arbore binar.

Page 152: Matematici ^ n Criptogra e - MTA

6.4. PROBABILIZAREA ALGORITMILOR NON-DETERMINISTI 153

Initial masina pleaca din configuratia initala (q0, α, 0) pentru un α ∈ Σ∗. Pentru oconfiguratie (q, α, n):

1. Daca are loc una din situatiile

(a) q ∈ F ;

(b) (q, an) 6∈ D (an este al n-lea caracter din α);

(c) n = −1

atunci masina Turing se opreste.

2. Altfel se ia un element (p, b,X) ∈ δ(q, an) la ıntamplare din cele doua variante si seefectueaza miscarea (q, α, n) ` (p, β,m) unde:

- β se obtine din α ınlocuind an cu b,

- se sterge de pe banda ultimul element si se aduce capul de citire la cel mai dindreapta caracter din α diferit de B,

- m = n+ 1 daca X = R sau m = n− 1 daca X = L.

La fiecare pas sunt doua posibilitati, ın functie de alegerea uneia din variantele oferite defunctia de tranzitie δ. Vom nota cu 0 respectiv 1 aceste posibilitati.Deci o tranzitie din configuratia (q, α, n) este determinata complet prin valorile q, an siunul din bitii 0, 1. Plecand de la un cuvant de intrare α0 ∈ Σ∗, toate miscarile posibileale masinii Turing pot fi reprezentate printr-un arbore binar infinit. Daca ın acest arboreexista drumuri de lungime finita care duc la frunze de forma (q, α, n) cu q ∈ F , atunciα0 este acceptat si raspunsul este α. Timpul de executie este numarul de arce parcurs pedrumul considerat.

Plecand de la o masina Turing T se poate defini o masina Turing probabilista TP ınmodul urmator: pentru fiecare pereche (q, a) ∈ D, fiecare din variantele din δ(q, a) va aveao probabilitate 1/2. Aceasta genereaza la randul ei o probabilitate pe arborele asociatunei intrari, astfel: daca din nodul (q, α, n) se trece la succesorul (p, β,m) cu tranzitia(p, b,X) ∈ δ(q, an), atunci nodul-fiu va avea probabilitatea P(q,an)(p, b,X) = 1/2.

Sa notam Eα0 multimea ramificatiilor (finite sau infinite) ale arborelui de executiepentru masina Turing, plecand de la α0.

Arborele de executie al masinii TP este construit astfel: Un nod poate sa nu aiba niciun succesor (si masina se va opri) sau sa aiba doi succesori. Daca notam A = 0, 1, vomconsidera aplicatia f : AN −→ Eα0 definta

1. f(x0, x1, . . . ) = (e0, e1, . . . ) daca nodurile (e0, e1, . . . ) ale acestei ramuri infiniteurmeaza notatia marcajului drumului (x0, x1, . . . ).

2. f(x0, x1, . . . ) = (e0, e1, . . . , ek) daca ultimul nod atins este ek, dupa care notatia xknu desemneaza nici un succesor.

Page 153: Matematici ^ n Criptogra e - MTA

154 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Fiecarui drum i se asociaza o probabilitate de executie Pα0 : aceasta este 0 pentru primulcaz, si (1/2)k pentru al doilea caz.

Fiind data o masina Turing probabilista TP care rezolva o problema de decizie P , vomnumi (a se vedea si Definitia 6.3) “costul mediu” M(α0) ca fiind

M(α0) =∞∑t=0

t · Pα0(Eα0,t) =∞∑t=0

t

2t

unde Eα0,t este evenimentul urmator: plecand cu intrarea α0, algoritmul se opreste lamomentul t.

Costul probabilistic al algoritmului pentru o intrare de marime cel mult n este definit

T (n) = max|α|≤n

M(α).

6.4.1 Clasa ZPP

Definitia 6.19. O problema de decizie apartine clasei ZPP (Zero-sided Probabilistic Poly-nomial) daca exista o masina Turing probabilista care o rezolva si care se opreste ın timpprobabilist polinomial (indiferent daca raspunsul este DA sau NU).

Altfel spus, costul probabilistic T (k) este majorat de un polinom de variabila k (decieste finit pentru orice k).

Observatia 6.1. Definitia de mai sus nu ınseamna ca orice executie este finita. Pot existaintrari α ∈ Σ∗ pentru care exista unele executii infinite, deci de probabilitate Pα(Eα,∞) =0.

Exemplul 6.6. Sa consideram ca intrare un ıntreg n de k biti. Generam aleator un ıntregα ∈ [1, n], toate alegerile fiind echiprobabile. Presupunem ca dispunem de un algoritmmajorat ın timp de T (n) ≤ C ·ks care se aplica lui α. Acest algoritm va da, cu probabilitatep ∈ (0, 1) un rezultat care permite o concluzie finala, si – cu probabilitate 1−p – un rezultatcare nu permite nici o concluzie. Cat timp nu se poate trage o concluzie, se extrage dinnou un numar aleator (posibil acelasi). Atunci probabilitatea de a avea o executie infinitaeste nula. In plus, daca se considera numarul I(n) de extrageri pentru α, vom avea

I(n) =∞∑t=1

t(1− p)t−1 · p =1

p

Deci costul probabilitic al algoritmului este cel multC

p· kd.

Page 154: Matematici ^ n Criptogra e - MTA

6.4. PROBABILIZAREA ALGORITMILOR NON-DETERMINISTI 155

6.4.2 Clasa RP

Definitia 6.20. O problema de decizie este ın clasa RP (Random Polynomial) daca existao masina Turing probabilista care o rezolva si care – pentru orice raspuns posibil – seopreste ın timp maxim polinomial. Formal

max|α|≤k,c

t(k, α, c) = O(ks)

unde t(k, α, c) este timpul de executie pentru o instantiere α ∈ Σ∗ de marime cel mult k,iar c este un drum arbitrar ın arborele de executie pentru α.

In plus, daca raspunsul este afirmativ, masina Turing se opreste ıntr-o stare qD cuprobabilitate p ≥ 1/2, iar cand raspunsul este negativ, data de intrare nu este acceptata.

Deci daca masina Turing raspunde DA (se opreste ıntr-o stare de acceptare), atunciın mod cert raspunsul este afirmativ. Daca masina raspunde NU , atunci raspunsul laproblema nu este negativ ın mod cert. Probabilitatea conditionata pentru o intrare desprecare se stie ca implica un raspuns afirmativ, dar masina scoate un raspuns negativ este1− p.

6.4.3 Clasa BPP

Definitia 6.21. O problema de decizie apartine clasei BPP (Bounded Probabilistic Poly-nomial) daca exista o masina Turing nedeterminista care o rezolva si care se oprestetotdeauna ın timp maxim polinomial. In plus, daca o intrare α ∈ Σ∗ implica un raspunsafirmativ, masina se opreste ın starea de acceptare qD cu probabilitate ≥ 2/3, iar dacaraspunsul trebuie sa fie negativ, ea se opreste ın starea qD cu probabilitate ≤ 1/3.

Intre clasele de complexitate timp definite pana acum se cunosc urmatoarele relatiiZPP = co− ZPP,BPP = co−BPP,

P ⊂ ZPP ⊂ RP ⊂ BPP,RP ⊂ NP,

ZPP = RP ∩ co−RP.Un algoritm care demonstreaza ca o problema este ın ZPP se numeste algoritm Las

Vegas (a se vedea si Sectiunea 5.3, Capitolul 5). Un astfel de algoritm se executa ın timpprobabilistic polinomial. El poate sa nu se termine; dar daca se termina, raspunsul estetotdeauna corect.

Un algoritm care demonstreaza ca o problema este ın RP se numeste algoritm Monte-Carlo. Un astfel de algoritm se executa ın timp cel mult polinomial, deci se terminatotdeauna. Raspunsul pe care ıl da nu este totdeauna cel corect: daca este DA, atuncisigur este corect; daca este NU , acesta poate fi eronat cu o anumita probabilitate, care sepoate eventual reduce prin multiplicarea executiilor algoritmului cu instantieri diferite.

Un algoritm care demonstreaza ca o problema este ın BPP este un algoritm Atlantic

Page 155: Matematici ^ n Criptogra e - MTA

156 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

City2. Este un algoritm mai putin cunoscut si utilizat, care se termina totdeauna ın timpcel mult polinomial si da raspuns corect ın minim 2/3 variante. Valoarea 2/3 poate fiınlocuita cu orice probabilitate ≥ 1/2 (articolul original foloseste o probabilitate 3/4). Defapt algoritmii Atlantic City sunt algoritmi Monte Carlo care lucreaza ın dubla versiune(pozitiv/negativ).

6.5 Complexitate spatiu

Marea majoritate a studiilor de complexitate se refera la complexitatea timp. Aceasta nueste ınsa singura resursa importanta masurabila. O alta componenta care trebuie luataın considerare este spatiul.

Daca o masina Turing determinista M accepta o intrare α ∈ Σ∗, atunci spatiul folositde α este numarul de celule de banda distincte prin care trece M ın faza de executie. Sanotam aceasta valoare cu sM(α).

Definitia 6.22. Daca M este o masina Turing determinista care se opreste pentru oriceα ∈ Σ∗, atunci complexitatea spatiu a lui M este functia SM : N −→ N definita prin

SM(n) = s | ∃α ∈ Σ∗, sM(α) = s.

Cea mai importanta clasa de complexitate spatiu este clasa problemelor care pot fidecise ıntr-un spatiu polinomial:

PSPACE =

P ⊆ Σ∗

∣∣∣∣ ∃DTM M care decide P si un polinom p(n)astfel ca SM(n) ≤ p(n), ∀n ≥ 1

.

Dintr-un anumit punct de vedere, spatiul este o resursa mai valoroasa decat timpul,deoarece marimea spatiului folosit ıntr-un calcul este totdeauna marginita de resursa timpconsumata de acest calcul.

Propozitia 6.2. Daca o problema P poate fi decisa ın timp f(n) atunci P poate fi decisaıntr-un spatiu f(n).

Demonstratie. Numarul de celule de banda examinate de capul de citire al masinii Turingdeterministe nu poate depasi numarul de pasi pe care ıi efectueaza.

Observatia 6.2. Propozitia 6.2 se refera la timpul si spatiul utilizate ın timpul executieialgoritmului. Unele protocoale de securitate prevad si faze de pre-calcul, cand unele rezul-tate sunt stabilite apriori si retinute ın zone de memorie speciale, ceea ce mareste de faptcomplexitatea spatiu a problemei. Un exemplu este dat ın Capitolul 4, Sectiunea 4.22(Algoritmii 7 si 8).

2Termenul “Atlantic City” a fost introdus prima data de ın 1982 de J. Finn ıntr-un manuscris nepu-blicat intitulat Comparison of probabilistic tests for primality.

Page 156: Matematici ^ n Criptogra e - MTA

6.5. COMPLEXITATE SPATIU 157

Corolarul 6.2. P ⊆ PSPACE.

Daca notam cu

EXP = P | ∃p(n), P ∈ O(2p(n)

clasa problemelor decidabile ın timp exponential, atunci are loc relatia

Teorema 6.6. P ⊆ PSPACE ⊆ EXP .

Demonstratie. Prima parte este consemnata de Corolarul 6.2. Ramane de aratat numaia doua incluziune.

Sa presupunem ca P ∈ PSPACE. deci exista un polinom p(n) si o masina Turingdeterminista M care decide P si se opreste pentru o instantiere α ∈ Σ∗ dupa ce a parcurscel mult p(|α|) celule de banda distincte. Ideea demonstratiei este aceea ca M nu vaajunge niciodata de doua ori ın aceeasi configuratie (altfel ar intra ıntr-un ciclu infinit sinu se va opri niciodata).

Sa presupunem |Σ| = m, |Q| = k si fie o instantiere α ∈ Σ∗. Atunci – asa cum s-avazut – orice configuratie curenta din M este descrisa prin:

1. Starea curenta;

2. Pozitia capului de citire;

3. Continutul benzii.

Pentru (1) sunt k posibilitati; cum calculul foloseste cel mult p(n) celule de banda, pentru(2) sunt cel mult p(n) posibilitati. Apoi, deoarece fiecare celula vizitata contine un simboldin Σ, iar continuturile celulelor nevizitate de capul de citire nu pot fi modificate, suntmaxim mp(n) variante posibile pentru (3). Rezulta ın final ca M are cel mult k ·p(n) ·mp(n)

variante de calcul pentru intrarea α. Cum ele nu se pot repeta, rezulta ca acesta constituieo limita a timpului de calcul pentru α ∈ Σ∗. Asa ca, daca se considera un polinom q(n)care satisface

log(k) + log(p(n)) + p(n) · log(m) ≤ q(n)

atunci problema P poate fi decisa ın timp 2q(n) ; deci P ∈ EXP .

Se stie ([13]) ca P 6= EXP , iar egalitatea PSPACE = EXP este ınca o problemadeschisa. Daca aceasta egalitate ar fi adevarata, atunci P 6= PSPACE. Un exemplu deproblema care este ın EXP dar nu se stie daca este ın PSPACE este problema opririi:

Fiind date o masina Turing determinista M , o instantiere α ∈ Σ∗ si un ıntreg n ≥ 1,se poate decide daca M se opreste dupa n pasi ?

Page 157: Matematici ^ n Criptogra e - MTA

158 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

6.6 Probleme NP -complete folosite ın criptografie

6.6.1 Problema logaritmului discret

Definitia 6.23. Fie p numar prim si α ∈ Z∗p primitiv. Orice element β ∈ Z∗p se poatescrie β ≡ αa unde a ∈ Zp−1 (a se vedea Capitolul 2, Sectiunea 2.5).

Conform cu Definitia 2.10, a este “logaritmul discret al lui β ın baza α” si se noteazaa = logαβ.

Aceasta notiune da nastere unei probleme dificile: problema logaritmului discret(PLD), enuntata mai jos ıntr-un cadru general.

Definitia 6.24. Fie (G, ) un grup finit, α ∈ G si H = αi | i ≥ 0 subgrupul generatde α. Daca β ∈ H, sa se determine un a (unic) (0 ≤ a ≤ |H| − 1) cu αa = β, undeαa = α α · · · α︸ ︷︷ ︸

a ori

.

De remarcat ca G nu este neaparat abelian (H ın schimb este, fiind subgrup ciclic).Sa analizam putin problema logaritmului discret ”generalizat” – conform Definitiei

6.24. Deoarece H este subgrup ciclic, orice versiune a problemei este echivalenta cu PLDıntr-un grup ciclic.

Se pare ca dificultatea problemei depinde mult de reprezentarea grupului utilizat.Astfel ın grupul aditiv (Zp,+), problema este simplu de rezolvat: aici exponentierea

αa este de fapt ınmultirea cu a modulo p. Deci, PLD consta ın aflarea unui numar ıntrega astfel ca

aα ≡ β (mod p).

Daca se alege α astfel ca (α, p) = 1 (α este generator al grupului), α are un inversmultiplicativ modulo p, care se determina usor cu algoritmul lui Euclid extins. Atunci,

a = logαβ = β · α−1 (mod p).

Sa vedem cum se reprezinta PLD ın grupul multiplicativ (Z∗p, ·) cu p prim. Acest grupeste ciclic de ordin p − 1, deci izomorf cu grupul aditiv Zp−1. Deoarece PLD se poaterezolva usor ıntr-un grup aditiv, apare ıntrebarea daca putem rezolva aceasta problemaın Z∗p reducand-o la Zp−1.

Stim ca exista un izomorfism φ : Z∗p −→ Zp−1, deci pentru care

φ(xy mod p) = (φ(x) + φ(y)) (mod (p− 1)).

In particular, φ(αa mod p) = aφ(α) (mod (p− 1)), adica

β ≡ αa (mod p) ⇐⇒ aφ(a) ≡ φ(β) (mod (p− 1)).

Acum, determinarea lui a se realizeaza cu logαβ = φ(β)(φ(α))−1 (mod (p− 1)).

Page 158: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 159

Deci, daca se gaseste o metoda eficace pentru calculul izomorfismului φ, se obtine unalgoritm eficace pentru calculul logaritmului discret ın Z∗p.

Problema este ca nu se cunoaste nici o metoda generala de constructie a lui φ pentruun numar prim p oarecare. Desi se stie ca cele doua grupuri sunt izomorfe, nu exista ıncaun algoritm eficient pentru constructia explicita a unui astfel de izomorfism.

In anumite grupuri problema logaritmului discret este dificila (cei mai buni algoritmideterministi cunoscuti nu sunt polinomiali ın timp). De exemplu ın grupul multiplicatival unui corp Fp (pentru p prim bine ales), ın Zp si GF (2p) (pentru anumite valori alenumarului prim p) sau ın unele grupuri aditive definite pe curbe eliptice, PLD este oproblema NP - completa.

Sa trecem ın revista principalii algoritmi (deterministi sau probabilisti) construiti pen-tru rezolvarea acestei probleme. Pentru usurinta vom presupune ca p este numar prim,iar α este o radacina primitiva de ordinul p− 1 a unitatii. Aceste doua valori fiind fixate,PLD se poate reformula astfel:

Fiind dat un β ∈ Z∗p, sa se determine exponentul a ∈ Zp−1 astfel ca αa ≡β (mod p).

Evident aceasta problema se poate rezolva printr-o cautare directa (se calculeaza pu-terile lui α) ın timp O(p) si folosind O(1) memorie. Pe de-alta parte, daca se calculeazaanterior ıntr-o tabela toate valorile (a, αa mod p), aflarea valorii cautate se poate face ınO(1), dar cu un spatiu de complexitate O(p).

Toti algoritmii construiti pentru calculul logaritmului discret folosesc un compromisspatiu - timp.

Algoritmul Shanks:

Fie m =⌈√

p− 1⌉.

Algoritm Shanks(p,m, α, β)

1. Se construieste lista L1 = (j, αmj (mod p)) | 0 ≤ j ≤ m− 1;

2. Se construieste lista L2 = (i, βα−i (mod p)) | 0 ≤ i ≤ m− 1;

3. Se determina perechile (j, y) ∈ L1, (i, y) ∈ L2 (identice pe a douapozitie);

4. Se defineste logαβ = m · j + i (mod (p− 1))

end Shanks

De remarcat ca prin alegerea perechilor (j, y) ∈ L1, (i, y) ∈ L2 vom avea

αmj = y = βα−i, deci αmj+i = β.

Page 159: Matematici ^ n Criptogra e - MTA

160 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Invers, pentru orice β putem scrie logαβ = m · j + i cu 0 ≤ i, j ≤ m− 1; deci cautareade la pasul 3 se termina totdeauna cu succes.

Implementarea acestui algoritm se poate face ın timp O(m) si spatiu O(m).

Exemplul 6.7. Fie p = 809 si sa determinam log3525. Avem deciα = 3, β = 525, m = d

√808e = 29, iar α29 mod 809 = 99.

Lista L1 a perechilor (j, 99j (mod 809)), 0 ≤ j ≤ 28 este:

(0, 1) (1, 99) (2, 93) (3, 308) (4, 559)(5, 329) (6, 211) (7, 664) (8, 207) (9, 268)(10, 644) (11, 654) (12, 26) (13, 147) (14, 800)(15, 727) (16, 781) (17, 464) (18, 632) (19, 275)(20, 528) (21, 496) (22, 564) (23, 15) (24, 676)(25, 586) (26, 575) (27, 295) (28, 81)

Lista L2 a cuplurilor (i, 525 · (3i)−1 (mod 809)), 0 ≤ i ≤ 28 este:

(0, 525) (1, 175) (2, 328) (3, 379) (4, 396)(5, 132) (6, 44) (7, 554) (8, 724) (9, 511)(10, 440) (11, 686) (12, 768) (13, 256) (14, 355)(15, 388) (16, 399) (17, 133) (18, 314) (19, 644)(20, 754) (21, 521) (22, 713) (23, 777) (24, 259)(25, 356) (26, 658) (27, 489) (28, 163)

Parcurgand (eventual simultan) cele doua liste se gaseste (10, 644) ∈ L1, (19, 644) ∈ L2.Se poate scrie deci

log3525 = 29 · 10 + 19 = 309.

Se verifica usor ca 3309 ≡ 525 (mod 809).

Algoritmul Pohlig - Hellman:

Mai ıntai, un rezultat complementar:

Lema 6.1. Fie x ∈ Zp, (p prim) un element primitiv. Atunci

xm ≡ xn (mod p) ⇐⇒ m ≡ n (mod (p− 1))

Demonstratie. Relatia xm ≡ xn (mod p) se poate rescrie xm−n ≡ 1 (mod p). Dar –conform Teoremei 2.12 (Fermat), xp−1 ≡ 1 (mod p) si xi 6≡ 1 (mod p) pentru 0 <i < p − 1. Deci p − 1|m − n, sau m − n ≡ 0 (mod (p − 1)), relatie echivalenta cum ≡ n (mod (p− 1)).

Page 160: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 161

Sa consideram acum un numar prim p si descompunerea ın factori primi

p− 1 =k∏i=1

qcii .

Daca s-ar putea calcula logaritmul discret logβα = a (mod qcii ) pentru toti i = 1, . . . , k,atunci – folosind Teorema chineza a resturilor – s-ar putea determina a mod (p− 1).

Fie q un numar prim astfel ca p− 1 ≡ 0 (mod qc) si p− 1 6≡ 0 (mod qc+1). Sa aratamcum se poate calcula atunci x ≡ a (mod qc) pentru orice x, (0 ≤ x ≤ qc − 1).

Sa descompunem ıntai x ın baza q folosind egalitatea

x =c−1∑i=0

aiqi, (0 ≤ ai ≤ q − 1).

Atunci se poate scrie a = x+ qc · s pentru un anumit numar ıntreg pozitiv s.

La primul pas trebuie calculat a0. Se porneste de la observatia ca

β(p−1)/q ≡ α(p−1)a0/q (mod p).

Pentru a arata aceasta, deoarece β(p−1)/q ≡ α(p−1)(x+qcs)/q (mod p), este suficient sa severifice ca α(p−1)(x+qcs)/q ≡ α(p−1)a0/q (mod p).

Aceasta relatie este adevarata daca si numai daca

(p− 1)(x+ qcs)

q≡ (p− 1)a0

q(mod (p− 1)),

ceea ce se poate verifica prin calcul direct:

(p− 1)(x+ qcs)

q− (p− 1)a0

q=p− 1

q(x+ qcs− a0) =

p− 1

q

(c−1∑i=0

aiqi + qcs− a0

)=

=p− 1

q

(c−1∑i=1

aiqi + qcs

)= (p− 1)

(c−1∑i=1

aiqi−1 + qc−1s

)≡ 0 (mod (p− 1)).

Putem acum sa ıncepem calculul lui β(p−1)/q (mod p). Daca β(p−1)/q ≡ 1 (mod p),atunci a0 = 0. Altfel se calculeaza ın Zp γ = α(p−1)/q, γ2, . . . pana se obtine un numarıntreg pozitiv i pentru care γi ≡ β(p−1)/q. Atunci a0 = i.

Daca c = 1, algoritmul se termina; altfel, (c > 1), se cauta valoarea lui a1. Pentruaceasta se defineste

β1 = βα−a0

si se noteaza x1 = logαβ1 (mod qc).

Deoarece (evident) x1 =c−1∑i=1

aiqi, se va ajunge la relatia β

(p−1)/q2

1 ≡ α(p−1)a1/q (mod p).

Page 161: Matematici ^ n Criptogra e - MTA

162 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Se calculeaza atunci β(p−1)/q2

1 (mod p) si se cauta i astfel ca

γi ≡ β(p−1)/q2

1 (mod p).Se ia a1 = i.Daca c = 2, s-a terminat; ın caz contrar, se mai efectueaza c − 2 pasi pentru deter-

minarea coeficientilor a2, . . . , ac−1.Formal, algoritmul Pohlig - Hellman este urmatorul:

Algoritm Pohlig-Hellman(p, q, α, β)

1. Se calculeaza γi = α(p−1)i/q (mod p), 0 ≤ i ≤ q − 1;

2. β0 ←− β;

3. for j = 0 to c− 1 do

(a) δ ←− β(p−1)/qj+1

j (mod p);

(b) Se cauta i astfel ca δ = γi;

(c) aj ←− i;

(d) βj+1 ←− βjα−ajqj mod p.

end Pohlig - Hellman

Algoritmul calculeaza a0, a1, . . . , ac−1 unde logαβ (mod qc) =c−1∑i=0

aiqi.

Exemplul 6.8. Fie p = 29. Avem n = p− 1 = 28 = 2271.Sa alegem α = 2, β = 18 si ne punem problema determinarii lui a = log2 18. Pentru

aceasta se va calcula a (mod 4) si a (mod 7).Sa ıncepem cu q = 2, c = 2. Avem (toate calculele se efectueaza modulo 29):γ0 = 1, γ1 = α28/2 = 214 = 28, deci δ = β28/2 = 1814 = 28, de unde rezulta a0 = 1.β1 = β0 · α−1 = 9, β

28/41 = 97 = 28. Cum γ1 = 28, rezulta a1 = 1.

Avem deci a ≡ 3 (mod 4).Sa consideram acum q = 7, c = 1. Vom avea (modulo 29):β28/7 = 184 = 25, γ1 = α28/7 = 24 = 16, apoi γ2 = 24, γ3 = 7, γ4 = 25, deci a0 = 4

si a ≡ 4 (mod 7).Se obtine sistemul a ≡ 3 (mod 4), a ≡ 4 (mod 7), de unde – folosind teorema chineza

a resturilor – se ajunge la a ≡ 11 (mod 28). Deci, log218 = 11 ın Z29.

Algoritmul Pollard Rho

Fie p un numar prim si α ∈ Zp un element de ordin n (n < p). Vom considera Gα ⊆ Zpsubgrupul ciclic generat de α. Ne punem problema calcularii lui logαβ, unde β ∈ Gα estearbitrar.

Page 162: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 163

Fie Zp = S1 ∪S2 ∪S3 o partitie a lui Zp ın trei submultimi de dimensiuni aproximativegale; consideram functia

f : Gα × Zn × Zn −→ Gα × Zn × Zn

definita prin

f(x, a, b) =

(βx, a, b+ 1) daca x ∈ S1

(x2, 2a, 2b) daca x ∈ S2

(αx, a+ 1, b) daca x ∈ S3

Pe baza acestei functii vom genera recursiv triplete (x, a, b) cu proprietatea x = αaβb.Fie (1, 0, 0) tripletul initial (el are aceasta proprietate). In continuare

(xi, ai, bi) =

(1, 0, 0) daca i = 0f(xi−1, ai−1, bi−1) daca i ≥ 1

In etapa a doua, se compara tripletele (x2i, a2i, b2i) si (xi, ai, bi) pana se gaseste o valoarea lui i pentru care x2i = xi. In acel moment,

αa2iβb2i = αaiβbi .

Notand c = logαβ, relatia poate fi rescrisa

αa2i+cb2i = αai+cbi .

Cum α are ordinul n, rezulta

a2i + cb2i ≡ ai + cbi (mod n)

sau

c(b2i − bi) ≡ ai − a2i (mod n).

Daca (b2i − bi, n) = 1, atunci se poate obtine c:

c = (ai − a2i) · (b2i − bi)−1 (mod n)

Exemplul 6.9. Sa consideram p = 809 si α = 89; ordinul lui α ın Z∗809 este n = 101. Severifica usor ca β = 618 ∈ G89. Vom calcula log89618.

Sa presupunem ca alegem partitiaS1 = x | x ∈ Z809, x ≡ 1 (mod 3)S2 = x | x ∈ Z809, x ≡ 0 (mod 3)S3 = x | x ∈ Z809, x ≡ 2 (mod 3)

Pentru i = 1, 2, 3, . . . se obtin urmatoarele triplete:

Page 163: Matematici ^ n Criptogra e - MTA

164 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

i (xi, ai, bi) (x2i, a2i, b2i)1 (618, 0, 1) (76, 0, 2)2 (76, 0, 2) (113, 0, 4)3 (46, 0, 3) (488, 1, 5)4 (113, 0, 4) (605, 4, 10)5 (349, 1, 4) (422, 5, 11)6 (488, 1, 5) (683, 7, 11)7 (555, 2, 5) (451, 8, 12)8 (605, 4, 10) (344, 9, 13)9 (451, 5, 10) (112, 11, 13)

10 (422, 5, 11) (422, 11, 15)

Deci x10 = x20 = 422. Se poate calcula atunci (ın grupul multiplicativ Z∗809):log89618 = (11− 5) · (11− 15)−1 (mod 101) = 6 · 25 (mod 101) = 49

O formalizare a algoritmului Pollard Rho pentru calculul logaritmului discret este:

Algoritm Pollard Rho(p, n, α, β)

1. Se defineste partitia Zp = S1 ∪ S2 ∪ S3;

2. (x, a, b)←− f(1, 0, 0), (x1, a1, b1)←− f(x, a, b)

3. while x 6= x1 do

(a) (x, a, b)←− f(x, a, b);

(b) (x1, a1, b1)←− f(x1, a1, b1), (x1, a1, b1)←− f(x1, a1, b1);

(c) if (b1 − b, n) > 1 then return(Esec)

else return((a− a1) · (b1 − b)−1 (mod n))

end Pollard RhoProcedure f(x, a, b):

1. if x ∈ S1 then f ←− (β · x, a, (b+ 1) (mod n));

2. if x ∈ S2 then f ←− (x · x, 2 · a (mod n), 2 · b (mod n));

3. if x ∈ S3 then f ←− (α · x, (a+ 1) (mod n), b);

4. return(f).

end procedure f .

In cazul (b1−b, n) = d > 1, congruenta c·(b1−b) ≡ a−a1 (mod n) are d solutii posibile.Daca d este destul de mic, aceste solutii se pot afla, iar o simpla cautare exhaustiva printreele va determina solutia corecta.

Page 164: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 165

Dupa cum se observa, Pollard-Rho nu este un algoritm determinist, ci unul probabilist(depinde de alegerea partitei lui Zp). Tinand cont de clasificarea anterioara, este unalgoritm Las Vegas: Pollard-Rho ∈ ZPP .

Metoda de calcul a indicelui

Este unul din cei mai buni algoritmi probabilisti de calcul a logaritmului discret. Ii vomda numai o descriere informala.

Se foloseste o baza de divizori B compusa din B numere prime ”mici”. Prima etapaconsta ın aflarea logaritmilor elementelor din baza B.

In a doua etapa, folosind acesti logaritmi, se va determina logaritmul discret al lui β.

I: Se construiesc C > B congruente modulo p de forma

αxj ≡ paij1 p

a2j2 . . . p

aBj

B (mod p), (1 ≤ j ≤ C).

Cu aceste C ecuatii de necunoscute logαpi (1 ≤ i ≤ B) se ıncearca aflarea unei solutiiunice modulo (p− 1). In caz de reusita, primul pas este ıncheiat.

Principala problema ar fi stabilirea acestor C congruente. O metoda elementara constadin trei pasi: alegerea aleatoare a unui x, calculul lui αx (mod p) si verificarea daca acestnumar are toti divizorii ın B.

II: Acum se poate determina logαβ cu un algoritm de tip Las Vegas. Se alege aleatorun numar ıntreg s (1 ≤ s ≤ p− 2) si se determina γ = βαs (mod p).

Se ıncearca apoi descompunerea lui γ ın baza B. Daca acest lucru este posibil, seobtine o relatie de forma

βαs ≡ pc11 pc22 . . . pcBB (mod p)

care poate fi transformata ın

logαβ + s ≡ c1logαp1 + · · ·+ cBlogαpB (mod (p− 1)).

De aici - prin evaluarea membrului drept, se poate determina logαβ.

Exemplul 6.10. Fie p = 10007 si α = 5 (element primitiv). Sa consideram B=2, 3, 5, 7 ca baza de divizori. Cum – evident – log55 = 1, trebuie determinati doartrei logaritmi de baza.

Trei numere aleatoare ”norocoase” pot fi 4063, 5136, 9865.Pentru x = 4063 calculam 54063 (mod 10007) = 42 = 2 · 3 · 7, care conduce la congruenta

log52 + log53 + log57 ≡ 4063 (mod 10006).In mod similar se obtin 55136 (mod 10007) = 54 = 2 · 33, 59865 (mod 10007) = 189 =33 · 7.

Pe baza lor se obtin alte doua relatii:log52 + 3log53 ≡ 5136 (mod 10006),

Page 165: Matematici ^ n Criptogra e - MTA

166 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

3log53 + log57 ≡ 9865 (mod 10006).Rezolvarea acestui sistem de trei ecuatii ın Z10006 conduce la solutia unica

log52 = 6578, log53 = 6190, log57 = 1301.

Sa presupunem acum ca se cauta log59451. Daca se genereaza aleator numaruls = 7736, avem 9451 · 57736 (mod 10007) = 8400 = 24315271.

Cum acesta se poate factoriza ın B, avemlog59451 = 4log52+ log53+2log55+ log57−s = 4 ·6578+6190+2 ·1+1301−7736 = 6057,calculele fiind realizate modulo 10006.

Se verifica usor ca 56057 ≡ 9451 (mod 10007).

Dupa cum se observa unele metode nedeterministe (Pollard-Rho, indexului) conducla algoritmi sub-exponentiali de calcul a logaritmului discret. Deci o idee imediata deasigurare a unei complexitati confortabile consta ın marirea corpului Zp, deci alegereaunui numar prim p cat mai mare. Deoarece acest lucru mareste si dificultatea de lucru,recomandarea este de a lucra pe grupuri mai complexe. Grupul punctelor unei curbeeliptice peste un corp finit asigura o astfel de solicitare. Pentru anumite curbe eliptice nuse cunosc algoritmi sub-exponentiali de calcul a logaritmului discret.

6.6.2 Problema logaritmului discret pe curbe eliptice

In cazul curbelor eliptice, problema logaritmului discret se enunta ın felul urmator:

Problema logaritmului discret pe curbe eliptice (ECDLP):Fiind data o curba eliptica E peste corpul Zp, un punct P ∈ E(Zp) de ordin n si

Q ∈ < P > = sP | 1 ≤ s ≤ n− 1, sa se determine k astfel ıncat Q = kP .Numarul k este numit logaritmul discret al lui Q ın baza P : k = logPQ.

Vom prezenta o serie de atacuri generale asupra ECDLP , atacuri care nu exploateazaeventuale slabiciuni particulare ale anumitor curbe eliptice.

Atacul Pohlig - Hellman pe curbe eliptice

Cea mai simpla metoda de atac este prin forta bruta: se calculeaza R = kP pentruk = 1, 2, 3, . . . , verificandu-se permanent egalitatea R = Q. Atunci cand egalitatea esteverificata, s-a gasit valoarea k = logPQ. Algoritmul nu solicita multa memorie, dar timpulde rulare este O(n), unde n este ordinul lui P .

Pohlig si Hellman au observat ca problema logaritmului discret ıntr-un grup G areacelasi ordin de dificultate ca si problema logaritmului discret ın cel mai mare subgrupprim din G. Ca o consecinta pentru criptografia pe curbe eliptice, se vor selecta curbeKoblitz care au proprietatea |E(Zp)| = h ·s, unde s este un numar prim mare, iar h = 1, 2

sau 4. In acest caz, ECDLP este dificila.

Page 166: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 167

Atacul Pohling - Hellman (adaptat criptografiei pe curbe eliptice):

Intrare: n = pe11 pe22 . . . perr .

1. Se calculeaza ki = k (mod peii ) (1 ≤ i ≤ r).

2. Se rezolva sistemul de congruente

x ≡ ki (mod peii ) (1 ≤ i ≤ r).

Teorema chineza a resturilor asigura existenta unei solutii unice k = x ∈[0, n− 1].

3. Output(x).

Sa aratam ca determinarea fiecarui ki se poate reduce la aflarea exponentului ei ıntr-unsubgrup ciclic < P > de ordin pi; pentru simplificare, vom nota pi cu p.

Sa reprezentam ki ın baza p; vom avea ki =

ei−1∑j=0

zjpj, unde zj ∈ [0, p− 1].

Pentru determinarea lui z0:

• Se calculeaza P0 = (n/p)P, Q0 = (n/p)Q;

• Deoarece ordinul lui P0 este p, avem Q0 =n

pQ = k

(n

pP

)= kP0 ≡ z0P0 (mod p)

Deci z0 = logP0Q0 poate fi obtinut rezolvand o instanta ECDLP ın grupul ciclic < P >.

La pasul urmator se determina Q1 =

(n

p2

)(Q− z0P ). Vom avea:

Q1 =

(n

p2

)(Q− z0P ) =

n

p2(k − z0)P = (k−z0)

(n

p2P

)= (z0 +z1p−z0)

(n

p2P

)=

= z1

(n

pP

)≡ z1P0 (mod p)

Valoarea z1 = logP0Q1 se poate obtine deci rezolvand o instanta ECDLP ın < P >.In general, daca numerele z0, z1, . . . , zt−1 au fost calculate, atunci zt = logP0Qt, unde

Qt =n

pt+1

(Q− z0P − z1pP − z2p

2P − · · · − zt−1pt−1P

).

Atacul BSGS (Baby-Step/Giant-Step)

Ca o consecinta a atacului Pohlig Hellman, ne putem concentra atentia asupra rezolvariiproblemei logaritmului discret ın grupuri ciclice de ordin prim. Atacul BSGS este ataculShanks adaptat pentru curbe eliptice.

Page 167: Matematici ^ n Criptogra e - MTA

168 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Fie G =< P > un subgrup ciclic de ordin p (p prim) al unui grup E(Zq) al unei curbeeliptice, generat de punctul P ∈ E(Zq). Fiind dat Q ∈ G, problema cere aflarea uneivalori k (1 ≤ k < p) astfel ıncat Q = kP .

Consideram reprezentareak = k0 + k1b

√pc

unde k0, k1 ∈ [0, b√pc).

Algoritm BSGS(p, P ):

1. Se calculeaza lista A = (Pi, i) | Pi = iP, 0 ≤ i < b√pc (faza ”Baby - Step”).

2. Fie R = b√pcP . Se calculeaza lista B = (Qj, j) | Qj = Q − jR, 0 ≤ j < b√pc(faza ”Giant - Step”).

Cele doua liste sunt ordonate crescator dupa prima componenta.

3. Se cauta (Pi, i) ∈ A, (Qj, j) ∈ B astfel ca Pi = Qj.Daca asa ceva exista, atunci k0 = i, k1 = j.

end BSGS.

Justificare: Avem iP = Q− jb√pcP , deci (i+ jb√pc)P = Q.

Se determina usor complexitatea spatiu si complexitatea timp a unui astfel de atac,ambele fiind egale cu O(b√pc). Shoup ([20]) arata ca atacul BSGS este cea mai rapidametoda pentru rezolvarea problemei logaritmului discret ıntr-un grup ”cutie neagra”3.

6.6.3 Problema Diffie-Hellman

De la publicarea sa ın 1976, protocolul propus de Whitfield Diffie si Martin Hellman ([8])a devenit unul din cele mai cunoscuite si utilizate primitive criptografice. In versiunea sade baza, el este o solutie eficienta pentru probleme de partajare a cheilor de sesiune ıntredoi participanti.

Definitia 6.25. Fie G un grup multiplicativ si g ∈ G un generator al sau. Fiind datedoua numere ıntregi a, b, problema determinarii lui gab din ga si gb se numeste ”problemaDiffie Hellman” ın raport cu g (DHP).

O posibilitate de a rezolva DHP este de a calcula ıntai a (din ga) si b (din gb), dupa carese determina imediat gab. Aceasta reduce DHP la DLP (Problema logaritmului discret).Rezolvarea celor doua probleme este strans legata de metoda de reprezentare a grupurilor.Astfel, pentru multe grupuri nu se cunoaste daca cel mai eficient mod de a rezolva DHP

3Un grup ”cutie neagra” este un grup ın care nu se foloseste nici o structura prestabilita pentrureprezentarea elementelor sale.

Page 168: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 169

este de a rezolva ıntai DLP. De asemenea, nu se stie daca exista grupuri ın care DHP estesubstantial mai simpla decat DLP.

Pentru a ne restrange numai la informatiile necesare ıntelegerii problemei Diffie -Hellman, vom considera grupuri ın care DLP este o problema NP - completa.

Variante ale problemei Diffie - Hellman

Definitia 6.26. Fie G un grup multiplicativ generat de g. Fiind date valorile ga, gb, prob-lema calcularii lui gab se numeste ”problema Diffie - Hellman computationala” (CDHP)ın raport cu (g, a, b).

Definitia 6.27. Fie G un grup multiplicativ generat de g si ga, gb, x trei valori din Galese independent si aleator. Problema de a determina cu o probabilitate semnificativadaca x = gab se numeste ”problema Diffie - Hellman decizionala” (DDHP).

Prin probabilitate semnficativa se ıntelege o probabilitate substantial mai mare de 1/2.O modalitate de a rezolva problema este de a calcula gab rezolvand CDHP, si apoi de

a compara aceasta valoare cu x.Deci DDHP nu este mai dificila decat CDHP.Aparent, DDHD este mai usoara decat DHP. Astfel, sa consideram grupul multiplicativ

Z∗p cu p prim. Aici calculul simbolului Legendre este usor. Valoarea gab este un patratperfect modulo p daca si numai daca a · b este par, ceea ce se ıntampla cu probabilitate3/4 (pentru a si b generati aleator). Pe de alta parte, probabilitatea ca – pentru x generat

aleator –

(x

p

)= 1 (respectiv −1) este 1/2.

Deci probabilitatea ca

(gab

p

)si

(x

p

)sa fie diferite este

Pr

((gab

p

)= 1&

(x

p

)= −1

)+ Pr

((gab

p

)= −1&

(x

p

)= 1

)=

3

4· 1

2+

1

4· 1

2=

1

2.

Deci, comparand simbolurile Legendre

(gab

p

)si

(x

p

)sunt doar 25% sanse de a distinge

ıntre gab si o valoare aleatoare x.Desi DDHP este usoara ın Z∗p cu p prim, se considera ca ea este dificila ın GF (pk)∗ cu

k > 1.O relatie ıntre aceste probleme este data de schema urmatoare:

DLP CDHP DDHP- -

S-a notat A −→ B faptul ca o solutie la A determina o solutie la B.

Page 169: Matematici ^ n Criptogra e - MTA

170 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Problema Diffie - Hellman pe curbe eliptice

Fie E(K) grupul aditiv al punctelor unei curbe eliptice E. Atunci CDHP se poate formulaastfel (ın E(K)):

Fiind date P, aP, bP ∈ E(K), sa se calculeze abP .Definitia urmatoare generalizeaza CDHP la grupuri cu perechi biliniare:

Definitia 6.28. Fie grupul aditiv G1 ⊆ E(K), grupul multiplicativ G2 si o aplicatiebiliniara e : G1 × G1 −→ G2. Fiind date P, aP, bP, cP ∈ G1, determinarea valoriie(P, P )abc se numeste ”Problema Diffie - Hellman biliniara” (BDHP).

A rezolva BDPH nu este mai simplu decat DLP ın G1 sau G2:

• Daca putem sa aflam valoarea lui c calculand logaritmul discret al lui cP ın G1,atunci vom determina e(aP, bP )r =

(e(P, P )ab

)c= e(P, P )abc.

• Daca putem determina valoarea lui c calculand logaritmul discret al lui e(P, cP ) =e(P, P )c ın G2, atunci vom calcula e(P, P )abc ın mod similar.

De remarcat ca daca fixam punctul P , aplicatia φP : G1 −→ G2 definita φP (Q) =e|(P,Q) este un izomorfism de grupuri.

Corolarul 6.3. Daca inversa lui φP se calculeaza usor, atunci

1. BDHP este usoara ın G1.

2. DDHP este usoara ın G2.

Demonstratie.

1. Se calculeaza ıntai α = e(aP, bP ) = e(P, abP ), apoi φ−1P (α) = abP . In final se

determina e(abP, cP ) = e(P, P )abc.

2. Fie g, ga, gb, x ∈ G2, unde g este un generator. Daca φ−1P (g) = Q, vom avea

φ−1P (ga) = aQ si φ−1

P (gb) = bQ.Sa presupunem ca φ−1

P (x) = X. Daca x = gab, atunci φ−1P (x) = abQ, deci

e(Q,X) = e(Q, abQ) = e(Q,Q)ab = e(aQ, bQ), adica x = gab.

Chiar daca este dificil pentru Oscar sa determine e(P, P )abc din P, aP, bP si cP , nuexista nici o garantie ca el nu poate deduce anumite informatii partiale despre e(P, P )abc

(de exemplu, sa afle o parte din biti). Pentru a elimina o astfel de posibilitate, o altaproblema trebuie sa fie grea: problema de decizie Diffie - Hellman biliniara:

Page 170: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 171

Definitia 6.29. Fie E o curba eliptica peste un corp K, e : G1 × G1 −→ G2 o aplicatiebiliniara (unde G1 ⊆ E(K)) si P, aP, bP, cP, x ∈ G1. Problema de a determina cu proba-bilitate semnificativa daca x = e(P, P )abc se numeste ”Problema de decizie Diffie - Hell-man bilinara” (DBDHP ).

Rezolvarea DBDHP nu este mai dificila decat DLP ın G1 sau G2. Intr-adevar:

1. Daca se poate afla c calculand logaritmul discret al lui cP ın G1, atunci se poatedetermina

e(aP, bP )c =[e(P, P )ab

]c= e(P, P )abc.

2. Daca se poate afla c calculand logaritmul discret al lui e(P, cP ) = e(P, P )c ın G2,atunci se poate calcula ın mod similar si e(P, P )abc.

Daca DBDHP este grea, atunci este greu de distins ıntre e(P, P )abc si orice alt elementdin G2; deci e(P, P )abc va arata ca un element oarecare din G2.

Figura urmatoare arata relatia dintre diverse variante ale problemei Diffie - Hellmansi DLP.

DLP ın G2 CDHP ın G2 DDHP ın G2

BDHP DBDHP

DLP ın G1 CDHP ın G1 DDHP ın G1

- -

6-

-? -

- -

Probleme Diffie - Hellman co-biliniare

Daca se foloseste o aplicatie biliniara e : G1 × G2 −→ G3 cu G2 6= G2, toate problemeleDiffie - Hellman biliniare trebuie reformulate.

Definitia 6.30. Fie E o curba eliptica peste un corp K, G1, G2 subgrupuri distincte dinE(K) si e : G1 × G2 −→ G3 o aplicatie biliniara. Fiind date P, aP, bP ∈ G1, Q ∈ G2,problema calculari valorii e(P,Q)ab se numeste ”Problema Diffie - Hellman co-biliniara”(co−BDHP ).

In mod similar se pot reformula si celelalte probleme ın varianta co-biliniara. Toateimplicatiile de complexitate aratate mai sus raman valabile si ın cazul co-biliniaritatii.

Multe lucrari legate de problemele Diffie - Hellman si aplicatii biliniare se refera defapt la notiunea de co-biliniaritate.

Page 171: Matematici ^ n Criptogra e - MTA

172 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

6.6.4 Problema reprezentarii ın grupuri

Problema reprezentarii ın grupuri constituie baza teoretica a securitatii a numeroase sis-teme electronice de plata (autentificarea ın sistemul de plata Brands este un exemplu).Ea este echivalenta – din punct de vedere al complexitatii – cu problema logaritmuluidiscret.

Definitia 6.31. Fie k ≥ 2 numar natural si p un numar prim. Un tuplu generator delungime k pentru grupul multiplicativ Z∗p este un k-tuplu (g1, . . . , gk) astfel ıncat gi ∈Zq\0, 1, ∀i ∈ 1, 2, . . . , k si gi 6= gj, ∀i 6= j.

Pentru orice α ∈ Z∗p, (a1, . . . , ak) este o reprezentare a lui α ın raport cu tuplulgenerator (g1, . . . , gk) daca

α =k∏i=1

gaii (mod p).

Lema 6.2. Fie k ≥ 2 un numar natural si p un numar prim. Pentru orice α ∈ Z∗psi orice (g1, . . . , gk) tuplu generator, exista exact pk−1 reprezentari ale lui α ın raport cu(g1, . . . , gk).

Demonstratie. Cum p este prim, orice element din Zp \0, 1 este primitiv, deci generatoral grupului multiplicativ Z∗p.Generam aleator primele k−1 elemente ale unui k-tuplu (a1, . . . , ak) in pk−1 moduri; apoi,din relatia

k∏i=1

gaii = α (mod p)

determinam

gakk = α

(k−1∏i=1

gaii

)−1

(mod p)

deci

ak = loggk

α(k−1∏i=1

gaii

)−1 (mod p).

Logaritmul are sens, deoarece gk 6= 1 (din definitia tuplului generator).Din problema logaritmului discret, ak este unic determinat, deci exista exact pk−1

reprezentari ale lui α ın raport cu (g1, . . . , gk).

Acest rezultat relativ simplu arata ca, fixand un numar α ∈ Z∗p si un tuplu generator(g1, . . . , gk), printr-o cautare exhaustiva ın multimea k-tuplurilor peste Zp, probabilitatea

de a obtine o reprezentare a lui α ın raport cu (g1, . . . , gk) estepk−1

pk=

1

p.

Astfel, suntem ın masura sa enuntam problema reprezentarii ın grupuri avand unnumar prim de elemente.

Page 172: Matematici ^ n Criptogra e - MTA

6.6. PROBLEME NP -COMPLETE FOLOSITE IN CRIPTOGRAFIE 173

Definitia 6.32. (Problema reprezentarii) Fie p un numar prim, k ≥ 2 un numar natural,(g1, . . . , gk) un tuplu generator si α ∈ Z∗p. Sa se gaseasca o reprezentare a lui α ın raportcu (g1, . . . , gk) ın Zp – ın cazul ın care aceasta exista.

Observam ca pentru k = 1 se obtine problema logaritmului discret; de aceea – pentrua face distinctie ıntre cele doua probleme – am considerat k ≥ 2 .

Page 173: Matematici ^ n Criptogra e - MTA

174 CAPITOLUL 6. ELEMENTE DE COMPLEXITATE

Page 174: Matematici ^ n Criptogra e - MTA

Bibliografie

[1] Atanasiu, A. – Securitatea Informatiei, vol. 1 (Criptografie), Ed. InfoData, Cluj,2007.

[2] Atanasiu, A. – Securitatea informatiei, vol. 2 (Protocoale de securitate), Ed. Info-Data, Cluj, 2009

[3] A. Atanasiu – Arhitectura sistemelor de calcul, Editura InfoData, Cluj 2006.

[4] A. Atanasiu – Teoria codurilor corectoare de erori, Editura Universitatii Bucuresti,2001.

[5] Barthelemy, P., Rolland, R,. Veron, P. – Cryptographie, Principes et mises en euvre,Hermes Science, 2012

[6] Becheanu, M., Cazanescu, V., Nastasescu, C., Rudeanu, S. – Logica matematica siteoria multimilor, Ed. didactica si pedagogica Bucuresti 1972.

[7] E. Brickell, D. Gordon, K. McCurley, D. Wilson – Fast exponentiation with pre-computation. Advances in Cryptology - EUROCRYPT 92, LNCS 658 (1993)), pp.200-207.

[8] W. Diffie, M.E. Hellman – New Directions in Cryptography, IEEE Trans. on Infor-mation Theory, vol. IT-22 (1976), pp. 644 - 654

[9] T. ElGamal – A public key cryptosystem and a signature scheme based on discretelogarithms. IEEE Transactions on Information Theory, 31 (1985), pp. 469 -472.

[10] S. Galbraith – Pairings, ın ”Advances in Elliptic Curve Cryptography” ed. T. Blake,G. Seroussi si N. Smart; London Math. Society, Lecture Notes Series 317 (2005), pp.183-214.

[11] Gauss, C.F. – Disquisitiones Arithmeticae (editie ın engleza), Springer-Verlag, Berlin(1985).

[12] D. Hankerson, A. Menezes, S. Vanstone – Guide to Elliptic Curve Cryptography,Springer, 2004

175

Page 175: Matematici ^ n Criptogra e - MTA

176 BIBLIOGRAFIE

[13] Hopcroft, J.E., Ulmann, J.D. – Introduction to Automata Theory, Languages andComputation, Adison-Wesley 1979.

[14] C. Lim, P. Lee – More flexible exponentiation with precomputation. Advances inCryptology - CRYPTO 94, LNCS 839 (1994), pp. 95-107.

[15] Martin, L – Introduction to Identity – Based Encryption, Artech House, InformationSecurity and Privacy Series, 2008.

[16] Menezes A., Oorschot P., Vanstome S. - Handbook of Applied Cryptography, CRCPress 1996.

[17] Mollin, R. – An Introduction to Cryptography, Chapman & Hall CRC, 2007.

[18] Rozenberg, G., Salomaa, A. – Handbook of Formal Languages, vol. 1, Springer-Verlag1997.

[19] G. Schay – Introduction to Probability with Statistical Applications, Birkhauser, 2007

[20] Shoup, V. - Lower bounds for discrete logarithm and related problems, Advanced inCryptology, EUROCRYPT 97, Springer - Verlag LNCS 1233, pp. 313-328, 1997.

[21] E. Simion, A. Mihaita, R. Olimid, A. Oprina – Criptografie si securitatea informatiei,Aplicatii, Editura Matrix Rom, 2011.

[22] J. Solinas – Efficient arithmetic on Koblitz curves. Designs, Codes and Cryptography,19 (2000), pp. 195-249.

[23] Stinton D., Cryptography, Theory and Practice, Chapman& Hall/CRC, 2002

[24] Vaudenay, S – A classical Introduction to Cryptography: Applications for Communi-cation Security, Springer, 2006

[25] http://en.wikipedia.org/wiki/Randomized_algorithm

Page 176: Matematici ^ n Criptogra e - MTA

BIBLIOGRAFIE 177

Cuprins

Prefata 3

Capitolul 1: Structuri algebrice 51.1. Multimi 51.2. Functii 61.3. Relatii 9

1.3.1. Relatii de echivalenta 101.3.2. Relatii de ordine 12

1.4. Grupuri 141.4.1. Homomorisme si izomorfisme de grupuri 161.4.2. Subgrupuri 17

1.5. Inele 191.5.1. Subinele 211.5.2. Ideale 22

1.6. Corpuri 231.7. Exercitii 25

Capitolul 2: Divizibilitate si congruenta 272.1. Factorizare si primalitate 27

2.1.1. Factorizare 272.1.2. Primalitate 29

2.2. Congruente si inelul Zn 302.2.1. Inversa, algoritmul lui Euclid extins 342.2.2. Teorema chineza a resturilor 35

2.3. Teoremele lui Euler, Fermat, Wilson 362.4. Radacini primitive 392.5. Logaritm discret si resturi de puteri 442.6. Simbolurile Legendre si Jacobi 472.7. Exercitii 54

Capitolul 3: Polinoame si extensii Galois 573.1. Algebra polinoamelor de o nedeterminata 57

3.1.1. Polinoame peste corpuri finite 623.2. Circuite liniare (LFSR) pentru polinoame 63

3.2.1. Constructia unor circuite liniare uzuale 653.3. Extensii Galois 683.4. Relatii de recurenta liniara 733.5. Polinoame minimalei 783.6. Exercitii 81

Page 177: Matematici ^ n Criptogra e - MTA

178 BIBLIOGRAFIE

Capitolul 4: Aritmetica pe curbe eliptice 834.1. Grupul aditiv pe o curba eliptica 83

4.1.1. Legea de grup 834.1.2. Ordinul grupului 874.1.3. Izomorfisme 89

4.2. Multiplicarea punctelor 924.2.1. Punct necunoscut 924.2.2. Punct cunoscut 96

4.3. Curbe Koblitz 974.3.1. Functia Frobenius si inelul Z[τ ] 99

4.4. Curbe cu endomorfisme eficient calculabile 1004.4.1. Endomorfisme pe curbe eliptice 1004.4.2. Multiplicare accelerata 102

4.5. Alte proprietati ale curbelor eliptice 1044.5.1. Perechi biliniare 1054.5.2. Divizori 106

4.6. Perechi Tate 1084.6.1. Definitia clasica a perechilor Tate 1084.6.2. Proprietati ale perechilor Tate 110

4.7. Exercitii 110Capitolul 5: Elemente de probabilitati cu aplicatii ın criptografie 113

5.1. Probabilitati 1155.1.1. Definitia clasica a probabilitatii 1155.1.2. Probabilitati independente 1175.1.3. Probabilitati conditionate 119

5.2. Variabile aleatoare 1235.2.1. Functii de probabilitate si de distributie 1235.2.2. Inegalitatea lui Markov 1275.2.3. Distributii simultane 1275.2.4. Independenta variabilelor aleatoare 1295.2.5. Distributii conditionate 132

5.3. Algoritmi probabilisti 1345.3.1. Algoritmi probabilisti de factorizare 1365.3.2. Paradoxul nasterilor 138

5.4. Exercitii 140Capitolul 6: Elemente de complexitate 143

6.1. Analiza algoritmilor 1436.2. Clase de complexitate 1446.3. P versus NP 149

6.3.1. Clasa P 1516.3.2. Clasa NP 151

Page 178: Matematici ^ n Criptogra e - MTA

BIBLIOGRAFIE 179

6.4. Probabilizarea algoritmilor non-deterministi 1526.4.1. Clasa ZPP 1546.4.2. Clasa RP 1556.4.3. Clasa BPP 155

6.5. Complexitatea spatiu 1566.6. Probleme NP-complete folosite ın criptografie 158

6.6.1. Problema logaritmului discret 1586.6.2. Problema logaritmului discret pe curbe eliptice 1666.6.3. Problema Diffie-Hellman 1686.6.4. Problema reprezentarii pe grupuri 172

Bibliografie 175

Cuprins 177