Documente Academic
Documente Profesional
Documente Cultură
Disciplina: Matematică
Clasa :Liceu
1
CHIRIŢĂ ION ALEXANDRU CHIRIŢĂ AUREL
Slatina 2018
2
Cuvînt înainte.
Lucrarea de faţă se adresează eleviilor de clasa 12 profilul matematică –
informatică şi matematică-informatică-intensiv, studenţilor de la facultăţiile
matematica-informatică, automatică, electronică şi calculatoare cât şi celor care
se ocupă de sistemele de protecţie în domeniul calculatoarelor fie protecţia
informaţiei, secrete bancare, sistemelor de informaţii diplomatice şi militare.
Lucrarea se vrea a fi o continuitate a cunoştiinţelor fundamentale dobîndite în
clasa 12, la orele de algebră elementară şi informatică trecute din abstract în
mod practic ( aplicaţiile informatice).Teoria grupurilor se dovedeşte a fi un teren
fertil pentru fixarea cunoştiinţelor în domeniul informaticii . Avem nevoie şi de
clase de resturi modulo m , cât şi de proprietăţile lor. Vom folosi şi cunoştiinţe
legate de teoria numerelor prime regăsite în Z p , cu p prim. Lucrarea de faţă
conţine numeroase aplicaţii concrete rezolvate tocmai pentru a uşura întelegerea
noţiunilor. Această carte constituie un curs opţional pentru clasa a-12 profilul
informatică şi informatică-intensiv. În definitiv acesta este unul dintre scopurile
pentru care a fost concepută această carte.
Autorii.
3
Cuprins
1. Elemente de criptografie.
-Securitatea informaţiei..................................................................
-Clasificarea atacurilor...................................................................
-Securitatea reţlelor locale pentru calculatoarele individuale........
-Nivel de securitate.........................................................................
-Securitate fizică.............................................................................
-Nivelurile logice de securitate.Sisteme paralele............................
-Cifrarea..........................................................................................
4. Sistemul El Gamal
-Clase de grupuri…………………………………………………..
-Sistemul de criptare EL Gamal.......................................................
-Sistemul de criptare RSA................................................................
-Exemplu...........................................................................................
-Algoritmul El Gamal.......................................................................
-Criptare............................................................................................
-Weierstrass Ecuation.......................................................................
4
5. Curbe eliptice
-Ecuaţii liniare....................................................................................
-Exemple.............................................................................................
-Ecuaţii Conice...................................................................................
-Teorema Legendre.............................................................................
-Ecuaţii Cubice....................................................................................
-Nume curbă eliptică............................................................................
-Evitarea singularităţilor......................................................................
-Proprietăţi...........................................................................................
-Sisteme de criptare u curbe eliptice…………………………………
-Factorizare Grupuri Primalitate……………………………………..
-Puncte pe curbe eliptice……………………………………………..
-Exemple de curbe eliptice…………………………………………...
-Dublarea unui punct…………………………………………………
-Punctul de la infinit………………………………………………….
-Singularitate………………………………………………………….
-Aplicaţii………………………………………………………………
8. Logaritmul discret
-Algoritmul Shanks…………………………………………………….
-Reprezentări............................................................................................
*
-Logaritmi discreţi în Z 11 .......................................................................
-Atacuri la logaritmii discreţi...................................................................
*
-Logaritmii discreţi în Z p
.......................................................................
-Algoritmul lui Schank.............................................................................
5
1. COMPLEMENTE DE MATEMATICĂ
Numere prime
(1)
Cel mai mare divizor comun (c.m.m.d.c.) a două numere întregi este cel mai
mare număr întreg care divide ambele numere.
Două numere sunt prime între ele dacă cel mai mare divizor comun al lor este
1.
(2)
Cel mai mare divizor comun a două numere întregi r şi s se poate pune sub
forma:
(3)
6
De exemplu, cel mai mare divizor comun al numerelor 120 şi 56 poate fi găsit
astfel:
120 2 56 8
(1)
56 7 8 0
Cel mai mare divizor comun al celor două numere date este d = 8.
8 120 2 56
(2)
1120 - 2 56
Congruenţe de întregi
m|a-b (3)
(7)
(8)
7
Pentru m = 2 orice număr întreg este congruent cu 0 sau cu 1 modulo 2. Orice
valoare ar avea întregul a, relaţiile Error! Reference source not found.), pag. Error!
Bookmark not defined.) se pot scrie sub forma:
sau (9)
(10)
(4)
şi
(5)
atunci
(6)
(14)
8
Acest rezultat se poate scrie într-o tabelă numită tabla adunării mod 2:
0 1
0 0 1
1 1 0
Analog se poate arăta cu ce este egal a b(mod 3). Rezultă tabla adunării mod
3:
0 1 2
0 0 1 2
1 1 2 0
2 2 0 1
Dacă și , atunci:
(15)
(16)
9
Rezultă tabelul următor, numit tabla înmulţirii modulo 2:
0 1
0 0 0
1 0 1
Analog se poate arăta cu ce este egal a b( mod 3). Rezultă tabla înmulţirii
mod 3:
0 1 2
0 0 1 2
1 1 2 0
2 2 0 1
{0} = {0, 3, 6, 9, … ,3 n}
Deci clasa {i} este mulţimea numerelor care împărţite la modul dau rest i.
10
{a} + {b} = {c}, unde c = a + b ( mod m)
Numere prime.
Teoremă.(Fundamentală a aritimetici).
Fiind date numerele a şi b ele sunt relativ prime dacă cel mai mare divizor
comun al lor este 1. Numerele a şi b nu au factori comuni.
Numerele modulo n , Z n .
Fie n pozitiv, avem Zn 0,1, 2,3...n 1 care constituie echivalentul claselor
modulo n.
Zn* a Zn / a, n 1
11
1. Lui Zn* i se adaugă operaţia de înmulţire.
2. Cardinalul lui Zn* este n
3. Pentru n prim Z n* 1, 2,3...n 1.
Generalizare.
Grupuri ciclice.
Fie a Zn* ,ordinul lui a este cel mai mic număr pozitiv t astfel încât
at 1 mod n .
g x b mod n .
* 1 2 3 4
1 1 2 3 4
2 2 4 1 3
3 3 1 4 2
4 4 3 2 1
12
Cardinalul lui Z n* 5 4 . Inversurile lui 21 3;31 2; 41 4 . Generatorii
sunt 2,3,4.
Obs: 24 1;34 44 1
Exp: Z15*
1 2 4 7 8 11 13 14
1 1 2 4 7 8 11 13 14
2 2 4 8 14 1 7 11 13
4 4 8 1 13 2 14 7 11
7 7 14 13 4 11 2 1 8
8 8 1 2 11 4 13 14 7
11 11 7 14 2 13 1 8 4
13 13 11 7 1 14 8 4 2
14 14 13 11 8 7 4 2 1
Z15* 15 3 1 5 1 8
13
2. CRIPTOGRAFIA CU CHEIE PUBLICĂ
TRAPDOOR
14
M: M este numărul care reprezintă mesajul de criptat.
C: C este numărul care reprezintă textul cifrat (textul criptat).
Informație publică: n, e.
Informație privată: d.
NUMERE PRIME
Un întreg n > 1 este prim dacă numerele 1 și n sunt singurii lui divizori.
Euclid: Există o infinitate de numere prime.
Dacă p1 < p2 < … < pn sunt primele n numere prime, atunci orice divizor prim
al întregului 1 + p1p2 … pn trebuie să fie mai mare decât pn.
Numărul (n) de numere prime mai mici sau egale cu n este asimptotic egal cu
. Mai general,
Dirichlet-Hadamard-de la Vallé Poussin: Dacă gcd(a, b) = 1 atunci numărul
a,b(n) al numerelor prime p ≤ n de forma p = ak + b este asimptotic egal cu (1/
(a))∙( ).
Postulatul lui Bertrand: Pentru orice întreg n, există un număr prim
între n + 1 și 2n. Erdos a dat o demonstrație elementară elegantă. Ce se observă
dacă se scriu întregi consecutivi într-o spirală rulată în sens anterior ?
(n) este numărul de întregi nenegativi mai mici decât n care sunt relativ primi
cu n.
TEORIA NUMERELOR
Astfel, Cd ≡ M mod n.
Reprezentări în baza b.
17
Procedure scriere_în_baza_b (n, b)
q := n
k := 0
while q ≠ 0
ak := q mod b
q
q :
b
k : k 1
end while
return ak a k 1ak 2 ...a1a0 b
OPERAȚII CU NUMERE
Ambii algoritmi sunt binecunoscuți. Există desigur algoritmi mai rapizi (v.
Knuth: “Art of Computer Programming”).
Exemplu: p = 5, q = 7, n = 35.
Se poate alege e = 11. Fie mesajul M = 12. Pentru a calcula 1211 mod 35:
18
M M M M M M M
2 2 2 2
2 2
M 11 M 12 02 2 121 120
M 12 021 120 121 020
3 2
z := 1
for i := k – 1 downto 0 do
z := z2 mod n
if ei = 1 then z := z∙x mod n
return xe mod n
Acest atac este similar celui prin care un pungaș observă cât timp îi ia cuiva
pentru a forma la disc cifrul unui seif. Genul acesta de atac se poate aplica și
altor sisteme cu criptare.
Un analist criptolog poate calcula o cheie privată prin urmărirea pas cu pas a
duratei necesare unui calculator pentru a descifra un mesaj. Exponentul este
calculat bit cu bit începând cu bitul cel mai puțin semnificativ.
Pentru un text cifrat dat este posibil a măsura cât timp este necesar pentru a
executa exponențierea modulară. Se pot așadar determina biții necunoscuți prin
exploatarea diferențelor de timp în răspuns (acest atac a fost implementat de
Koeher în 1996).
Problema este eliminată prin utilizarea unuia dintre următoarele remedii: (a)
timp de exponențiere constant, (b) întârzieri aleatoare sau (c) “orbirea” prin
multiplicarea textului cifrat cu un număr aleator înainte de exponențiere.
19
ALGORITMUL LUI EUCLID
Demonstrație: Fiind date condițiile din enunț, dacă d este un număr care divide
atât pe a cât și pe b, atunci d|(a – bq). Deoarece (a – bq) = r atunci d|r. Așadar,
orice divizor al numerelor a și b divide și pe r. Aceasta implică gcd(a, b) =
gcd(b, r). Deoarece r = a – bq, rezultă r = a mod b. Se iterează (r0 = a, r1 = b, r2
= r, q1 = q):
r0 q1 r1 r2 cu 0 r2 r1
r1 q 2 r2 r3 cu 0 r3 r2
.......... .......... .......... ..........
ri qi 1 ri 1 ri 2 cu 0 ri 2 ri 1
Frumusețea și media de aur: Dreptunghiul este “cel mai plăcut estetic” când
prin tăiere, portiunea rămasă este asemenea cu dreptunghiul initial! (Construirea
Parthenonului a utilizat acest principiu!).
20
a b 1
R ;R .
b ab 1 R
Apoi
Rezultă că a = r0 ≥ fn și n = O( loga ).
x := a;
y := b;
while y ≠ 0 do
r := x mod y
x := y
y := r
end while
return x
Teoremă: Dacă a și b sunt întregi pozitivi, atunci există doi întregi s și t astfel
încât gcd(a, b) = sa + tb. În plus, s, t se pot calcula într-un timp logaritmic în
lungimea argumentelor.
50 mod 21 ≡ 8 8 = 50 – 2∙21
21 mod 8 ≡ 5 5 = 21 – 2∙8
8 mod 5 ≡ 3 3 = 8 – 1∙5
5 mod 3 ≡ 2 3 = 5 – 1∙3
3 mod 2 ≡ 1 1 = 3 – 1∙2
8 = 50 – 2∙21
5 = 21 – 2∙8
5 = 21 – 2∙(50 – 2∙21)
5 = 5∙21 – 2∙50
3 = 8 – 1∙5
21
3 = (50 – 2∙21) – 1∙ (5∙21 – 2∙50)
3 = – 7∙21 +3∙50
2 = 50 -1∙3
Teoremă: Fie m1, m2, …, mn întregi pozitivi mutual primi doi câte doi și Mk =
m/mk. Sistemul
x a1 M 1 y1 a 2 M 2 y 2 ...a n M N y n .
22
Z n n p q Z n Z n .
și
a a1b1 q a 2 b2 p a1 mod p
a a1b1 q a 2 b2 p a 2 mod q
Zn* : mulțimea de numere întregi 0 ≤ a < n care sunt prime cu n este grup
multiplicativ modulo n.
Mica teoremă a lui Fermat: Dacă p este prim și p nu divide pe a atunci a p-1 ≡ 1
23
mod p.
Grupul Zp* este ciclic în sensul că există un element generator g astfel încât
Zp*= { g0, g1, …, g p-1}. Faptul acesta a fost dovedit prima oară de Gauss care a
dovedit și un adevăr ceva mai general:
Pentru orice m, Zm * este ciclic dacă și numai dacă m este de forma 1, 2, 4, pk,
cu p un număr prim impar și k un întreg pozitiv. Ordinul unui element a Z * p
este cel mai mic i ≤ 1 pentru care a i 1 .
Teorema lui Lagrange: Dacă H este un subgrup al unui grup G, atunci |H|
divide pe |G|.
a ~ b ab-1 H
Teorema lui Euler: Dacă a este un întreg care este prim cu n, atunci:
24
Atac asupra sistemului RSA prin funcția totient
Există un algoritm “eficient” prin care, fiind dat un n ( produs de două numere
prime ), să se calculeze f(n)?
(n) = (p – 1)(q – 1) = pq – p – q + 1 = n – p – q + 1
n 1 n n 1 n2 4n
p
2
CONGRUENȚE
cu x variabila necunoscută.
25
Congruența aceasta are o soluție dacă și numai dacă gcd(a, n)|b. Dacă x0 este o
soluție atunci orice altă soluție este de forma x = x0 + in/gcd(a, n) cu 0 ≤ i <
gcd(a, n). Se pot rezolva și congruențe de grad mai înalt cum ar fi:
Pornind de la un element u al grupului se pot itera puteri întregi ale lui, adică u,u
u2, u3 etc. care sunt elemente ale lui G. Fiind dată o “bază” u Î G și un element v
Î G care este o putere întreagă a lui u, de pildă uk, se poate calcula k?
70 ≡ 1 mod 19
71 ≡ 7 mod 19
72 ≡ 11 mod 19
73 ≡ 1 mod 19
74 ≡ 7 mod 19
75 ≡ 11 mod 19
Acum, fiind dat un element, de pildă 11, se poate calcula exponentul 5 care
satisface relația 75 ≡ 11 mod 19 ?
26
Cu cât numărul prim implicat este mai mare, cu atât este mai complicată
problema. Un alt exemplu: În grupul Z * 2579 numărul 435 este o putere a lui 2.
Se poate stabili exponentul?
Clase de grupuri.
27
3. SISTEMUL DE CRIPTARE EL GAMAL
28
O importantă pereche e produsul a două numere mari, distincte aleatoare şi
prime n p q şi e un număr cu 1e şi e, 1 , unde n p 1, q 1 .
E n,e m me mod n .
Dd c c d mod n .
Regula generală:
n p q.
f n 1 q 1 .
1 c na.î . e, f 1.
d e 1 mod f .
29
Pentru restul paşilor vom calcula respectiv cu :
pi pi 2 pi 1 qi 2 mod n
Exemplu.
RSA Exemplul 1.
p 3, q 5, e 7, d ?
f p 1 q 1 2 4 8
d e 1 mod f 7 1 mod 8
8 / 7 1rest1 p0 0
7 /1 7 rest 0 p1 1
..................... p2 0 1 1 mod 8 1 mod 8 7
................ d 7
30
RSA Exemplul 2.
p 7, q 5, d 11 e ?
f p 1 q 1 6 4 24
e d 1 mod f 111 mod 24
24 /11 2rest 2 p0 0
11/ 2 5rest1 p1 1
2 /1 2rest 0 p2 0 1 2 mod 24 22
.....................p3 1 22 5 mod 24 109 mod 24 11.
................. e 11
RSA Exemplul 3.
p 7, q 11, d 11
f p 1 q 1 6 10 60
1 11
e 111 mod 60 mod 60 mod 60 11 mod 60 11.
11 121
RSA Exemplul 4.
n 15, e 4, m 11 c ?
c me mod 4 114 mod15 14641 mod15 1
................c 1
RSA Exemplul 5.
n, e 35,5 : d 5, c 3, m ?
m c d mod n 35 mod 35 243 mod 35 33.
................m 33
RSA Exemplul 6.
p 3, q 5, c 4
n p q 15, e 4, m 11
c me mod 4 114 mod15
c 121 121 mod15 1
14641/15 976rest1.
31
RSA Exemplul 7.
Cheia secretă d 5 .
m c d mod n 35 mod 35
m 81 3 mod 35
m 243 mod 35
243 / 35 6rest 33
m 33
RSA Exemplul 8.
RSA Exemplul 9.
p 3, q 5, e 7, d ?
f p 1 q 1 2 4 8
d e 1 mod 8 7 1 mod 8
8 : 7 1rest1 p0 0
7 :1 7 rest 0 p1 1
....................p2 0 1 mod 8 1 mod 8 7
..........regulapi pi 2 pi 1 qi 2 mod n.
d 7
32
RSA Exemplul 10.
p 11, q 2, e 7, d ?
f p 1 q 1 10
1 1 3 3
d 7 1 mod10 mod10 mod10 mod10 3 mod10
7 7 3 21
d 3
n, e 17,3 , d 7, c 4, m ?
m e d mod n 47 mod17 1028 mod17 8
m 8.
n, e 15, 7
d 7, c 3, m ?
m e d mod n 7 7 mod15 823543 mod15 13.
m 13.
33
RSA Exemplul 15.
n 15, e 7, m 11, c ?
c me modn 117 mod15 2357947691 mod15 11
c 11.
Trebuie ca
34
Algoritmul EL Gamal
Problema Diffie-Hellman.
MESAJUL1....... A B : g x mod p .
MESAJUL1.......B A : g x mod p .
A alege un x aleator 1 x p 1.
B alege un y aleator 1 y p 1.
35
Criptarea EL Gamal.
C M M
- Decriptarea ia un element criptat şi calculează :
e d g dr
- Decriptarea merge deoarece aşa că:
Dd e, c g dr mg dr m mod p .
Criptare:
36
c1 B mod p .
c2 m A mod p .
c c1 , c2 .
Decriptare:
f c1 p 1 A mod p .
m f c2 mod p .
El Gamal
Exemplul 1.
p 13, 2, A 3, B 4, m 7, c ?
c1 mod p 24 mod13 16 mod13 3
Atunci c c1 , c2 3, 7 .
Decriptare.
f c1 p 1 A mod p 31313 mod13 39 mod13 19683 mod13 1.
m f c2 mod p 1 7 mod13 7 mod 13 7.
37
El Gamal
Exemplul 2.
p 17, 3, A 2, B 3, m 6
c1 32 mod17 9 mod17 9 mod17 9.
c c1 , c2 9,5 .
El Gamal
Eemplu3.
p 7, 4, A 3, B 5, m 9...c c1 , c2 ?
c1 mod 7 45 mod 7 1024 mod 7 2.
c2 m
A B
mod 7 9 4 mod 7 9 415 mod 7 1073741824 mod 7 2.
3 5
c c1 , c2 2, 2 .
Decriptare:
El Gamal
Exemplul 4.
p 13, 2, A 2, B 3.
AprimeştedelaB.
y1 , y2 5,3 txt.....x ?
f1 y1 p 1 A mod p 5131 2 mod13 59 mod13 1953125 mod13 5
x f1 y2 mod13 15 mod13 2
x 2.
38
El Gamal
Exemplul 5.
p 15, 3, A 3, B 6, y1 , y2 3, 6 .
AprimeştedelaB : y1 , y2 3, 6 .
x ?
f1 y1 p 1 A mod p 31513 mod15 39 mod15 6561 mod15 6.
x f1 y2 mod15 6 6 mod15 36 mod15 6
x 6.
x Z p* y g x mod p
Pentru cheia privată vom calcula , cheia publică fiind
tripletul ( y , g, p ).
M Zp k Z p 1
Pentru a cifra un mesaj se alege aleatoriu , textul cifrat fiind:
y1 , y2 g k mod p, My k mod p .
mod p .
1
y2 y x1
El Gamal
Exemplul 6.
39
C y1 , y2 g k mod p; My k mod p 33 mod11,7 13 mod11 27 mod11,7 mod11 5,7 .
El Gamal
Exemplul 7.
Cheia privată este x =5. Alegem k = 6 prim cu p-1 adică 7. Obţinem mesajul
cifrat:
C y1 , y2 g k mod p, My k mod p 26 mod 8,5 86 mod 8 .
C y1 , y2 0, 0 .
El Gamal
Exemplul 8.
C y1 , y2 g k mod11, M y k mod11 33 mod11,9 43 mod11 5, 4 .
El Gamal
Exemplul 9.
Putem să decifrăm mesajul {6,8} ştiind că a fost cifrat cu algoritmul El
Gamal cu parametrii p = 17, g =14, x = 2. Cheia publică este {y, g, p}={9, 14,
17}. Cheia privată este x = 2. Menţionez că am utilizat şi M = 4. Mesajul clar se
obţine aplicând formula :
40
y2 y1 x mod p .
mod p
x
y2 y1 x mod p My k mod p g k mod p
mod17 14
2
4 97 mod17 mod17
7
8 8
8 6 mod17 mod17 mod17
2
36 2
4 mod17 4
El Gamal
Exemplul 10.
1
y2 y x1
1
mod p 9 7 mod 23 9 16807 mod 23 9 17 mod 23
5 1 1
19 9 19 171
mod 23 mod 23 mod 23 171 mod 23 10.
17 17 19 323
x x 12 x 1
y2 x2
6
xx 12 x 1 6 x 2
x 2x 2 x 2x 1 6x 2
2 x 3 3x 2 x 0
3 2 1
x3 x x0
2 2
1 1 1 1 1 1
x 1 2 1 y 2 , solutia1
2 2 2 2 2 2
1 3 1 1 1
2 6y2 y , solutia2
2 2 2 2 2
41
curba este simetrică
x x 12 x 1
y2 x, y
6
y 2 xx 12 x 1 x, y
6
Acum vom considera o linie prin punctele ( 1/2, -1/2) și (1,1). Folosim formula:
y1 y 2
y y2 x x2
x1 x2
x x 12 x 1
y2 3 x 2 y 2
2
6
x x 2 x 1 63 x 2
2 2
2 x 3 x 2 2 x 2 x 6 9 x 2 4 12x
2 x 3 3 x 2 x 54x 2 72x 24
51 2 73
x3 x x 12 0
2 2
x 24 y 70
Considerăm:
y 2 x 3 2 x 3mod 5
x 0 nuexistay
x 1 y 1,4mod 5 1,1; 1,4 .
x 2 y 0mod 5 2,0
x 3 y 2 36mod 5 1 y 1,4mod 5 3,1; 3,4
x 4 y 2 0 y 0mod 5 4,0
42
Folosiind câmpurile finite putem forma un grup de curbe eliptice unde avem, de
asemenea o problema DLP, care este mai greu de rezolvat. O curbă eliptică
peste un câmp K e o curbă f(x,y) = 0 non singulară cu un punct raţional. Câmpul
K e luat de obicei, de numerele complexe, reale, raţionale, extensi algebrice de
numere raţionale, numere periodice sau de un câmp finit.
Weierstrass Equation.
y 2 a1 xy a3 y x 2 a2 x 2 a4 x a6
a 21 2 a 23
2
a a
y 1 x 3 x 3 a 2 x a 4 x a 6 y 21 x 3 a 2 x 2 a 4 x a 6 .
2 2 4 4
43
4. CURBE ELIPTICE: MOTIVAȚIE
ECUAȚII LINIARE
ax + by = c, a, b, c Z
Ecuația are o soluție întreagă dacă și numai dacă gcd(a, b)|c – cel mai mare
divizor comun al coeficienților a, b divide pe c – și dacă are o soluție, are o
infinitate de soluții. Mulțimea soluțiilor raționale este infinită.
EXEMPLE
3. Pentru n ≥ 3, ecuatia:
xn yn zn
44
nu are soluții întregi (conjunctura lui Fermat), ceea ce este echivalent cu a spune
că ecuatia xn + yn = 1 nu are soluții raționale pentru n ≥ 3.
x2 y2 z2
x2 y2 1
1 t2 2t
x ., y
1 t 2
1 t2
ax 2 by 2 cxy dx ef 0, a, b, c, d , e, f Q
46
1 t2 2t
x ,y
1 t 2
1 t2
În plus, t este rațional dacă și numai dacă x și y sunt raționale, ceea ce oferă toate
punctele raționale de pe cerc.
ECUAȚII CUBICE
y2 = x3 + ax2 + bx + c.
Se consideră elipsa:
x2 y2
1.
a2 b2
Rezultă:
47
b2 2
y b 2 x .
2 2
b2
yy ' x.
a2
1 k 2 x2 1 k 2 x2
1 y ' dx dx
2
dx
1 x2 1 x 1 k x
2 2 2
1 u
x , y x 2u
x 1 u 12
f x g ' 1x
1
2
3
g ' ' 1x g ' ' ' 1x
2 1
6
1
24
g ' ' ' ' 1
1 k 2 x2
1 y ' dx
2
dx
u
EVITAREA SINGULARITĂȚILOR
y2 = f(x) = x3 + ax + b.
48
S-a arătat că o curbă eliptică nu are puncte singulare dacă și numai dacă f(x) nu
are rădăcină dublă. A avea rădăcină dublă echivalează : f(x) = f’(x) = 0, adică:
x3 + ax + b = 3x2 + a = 0. (4)
49
5. CURBE ELIPTICE PESTE Zp
Aproape toate cele spuse mai sus se potrivesc și în cazul câmpurilor finite. Fiind
dat un număr prim p, o curbă eliptică peste Zp este o congruență y2 = x3 + ax + b
mod p la care se adaugă un punct O la infinit astfel încât condiția de
“nesingularitate” 4a3 + 27b2 ≠ 0 mod p să fie satisfăcută. Fiind date punctele P1
= (x1, y1) și P2 = (x2, y2) pe curba eliptică se definește:
P1 P2 12 x1 x 2 , x1 x3 y1
cu
y 2 y1
x x pentruP1 P2
2
2
1
3 x1 a pentruP P
2 y1 1 2
PROPRIETĂŢI
Hasse: p 1 2 p E p a, b p 1 2 p
p 1 2 p n p 1 2 p
există a, b < p astfel încât |Ep(a, b)| = n. În plus, ordinele grupurilor de curbele
eliptice sunt uniform distribuite în acest interval.
Teoremă: |Ep(a, b)| Zn1 Z n2, pentru n1, n2 astfel încât n2|n1 și n2|(p –
1).
50
Exemplu: Se consideră curba eliptică y2 = x3 + x + 6 peste Z11*. Pentru a
determina punctele din E, se ia fiecare punct din Z11, se calculează x3 + x + 6 și
apoi se rezolvă ecuația y2 ≡ x3 + x + 6 mod 11.
Calculul acesta cere evaluarea de radicali modulo 11. Există o formulă explicită
pentru aceasta deoarece 11 ≡ 3 mod 4. De fapt rădăcinile pătrate ale unui rest
pătratic r sunt •r(11 + 1)/4 ≡ r 3mod 11. Pentru calcul se completează tabelul
următor:
x x3+x+6 R11 y
0 6 nu
1 8 nu
2 5 da 4,7
3 3 da 5,6
4 8 nu
5 4 da 2,9
6 8 nu
7 4 da 2,9
8 9 da 3,8
9 7 nu
10 4 da 2,9
Curba eliptică are pe ea 13 puncte (x, y), încluzând și punctul de la infinit. Fiind
de ordinul prim 13 ea însăși trebuie să fie un grup ciclic. De pildă, dacă se ia
generatorul a = (2, 7).
Puterile lui , de pildă (2, 7) + (2, 7), pot fi calculate după cum urmează. Se
evaluează mai întâi :
51
SISTEME DE CRIPTARE CU CURBE ELIPTICE
Algoritmul El Gamal se poate aplica la un subgrup ciclic Z n al lui Ep(a, b), dar
1
factorul lui de dezvoltare este 4 ( față de 2 peste Zp). În plus, spațiul textelor în
clar (plaintext space) constă din punctele din Ep(a, b) și nu există metodă
convenabilă de a genera în mod determinist puncte din Ep(a, b).
http://www-fs.informatik.unituebingen.de/~reinhard/krypto/English/4.4.en.html
Testul de primalitate: x G x G S G ?
52
mp
|x|G= m x = e & ( prim p | m)( x e ).
m
EL x, y L L, y 2 a1 xy a3 y x 3 ax b
Punctul stă în vîrful axei yy’ și orice linie trece prin el din moment ce e raţional.
Este şi în vîrful şi la paralele la axa yy’.
Grupul Abelian
Se dau două puncte (P,Q) în E(FP). Acolo este un al treilea punct, desemnat de
P+Q în E(Fp) și următoarele relaţii pentru P,Q,R în E(Fp).
1.P+Q=Q+R
2.(P+Q)+R=P+(Q+R)
3.P+0=0+P=P
4.Există –P ai –P+P=P+(-P)=0.
53
54
Se dovedește că este vorba de un grup abelian și că operația este independentă
de alegerea punctului O. Acum se poate răspunde la întrebarea inițială.
55
Fig. y2=x3-x+1.
56
Se consideră curba eliptică y2 = x3 - x + 1. Dacă P și Q sunt pe E, putem defini
R = P + Q.
y 2 x 3 AX B; y y1 mx x1 .
y 2 y1
y y1 x x1
x 2 x1
y y1 mx x1 y mx x1 y1
mx x1 y1 2 x 3 Ax B.
0 x 3 mx 2 .......... ..
y 2 y1
x3 mx 2 x1 x 2 ; y 3 mx1 x 2 y1 ; undem
x 2 x1
mx x1 y1 2 x 3 Ax B m 2 x x1 y1 2my1 x x1 x 3 Ax B
2 2
x 3 Ax B m 2 x 2 2 xx1 x1 y1 2my1 x 2my1 x1
2 2
x3 m 2 x1 x 2
y3 mx1 x3 y1
57
Dublarea unui punct
Fie P = Q , y2 = x3 + Ax + B
dy 3 x 2 A 3 x1 A
2
dy
2y 3 x A; m
2
dx dx 2y 2 y1
Dacăa1 0avemP1 P2 ;
0 x 3 m 2 x 2 .......... .....
x 3 m 2 x1 x 2 m 2 x1 x 2 m 2 2 x1
y 3 m x1 x 3 y1
Punctul de la infinit.
Coordonate Proiective.
x y
z 0, x, y, z , ,1
z z
Ak x, y K K
2
x, y X ; Y ;1 AK 2 PK 2
58
Sunt avantaje cu folosirea coordonatelor proiective de la implementarea
punctelor de vedere.
Singularitatea
F
x0 , y0 F x0 , y0 0
x y
2 y 0 f ' x0 0 f are rădăcină dublă.
f x0 f x0
'
Este obişnuit să spui că o curbă (Ec) eliptică nu are puncte singulare. Dacă
caracteristica câmpului nu este 3.
y 2 f x x 3 AX B
4 A 3 27B 2 0
F
x0 , y 0 F x0 , y 0 0
x y
2 y 0 f ' x0 0
f x0 f ' x0
59
y 2 x 3 AX B
x 3 AX B 3 x 2 A
A
x2
3
x Ax B 3 x 2 A 0
3
x0 3 x 2 Ax 0 B A 0
3
A
x2
3
f x x 3 Ax B f ( x0 ) x0 Ax B 0
3
x 3 Ax B 0 x 4 Ax 2 Bx 0
x
2 2
Ax 2 Bx 0
2
A A
A Bx 0
3 3
A2 A2
Bx 0
9 3
A 2 3 A 2 9 Bx 0
2 A2
2 A 2 9 Bx 0 9 Bx 2 A 2 x
9B
3
2 A2 2 A2 8 A6 2 A3
A B0 B 0 4 A 3 27B 2 0.
9B 9B 81 9 B 3
9B
Aplicaţii.
y 2 f x x 3 3 x 1cuA 3, B 1
f x0 x0 3x0 1 f ' x0 3x0 3
3 2
x0 3x0 1 3x0 3
3 3
x0 3x0 1 3x0 3 0
3 2
x0 3x0 3x0 4
3 2
Deci avem puncte critice şi vrem să vedem câte sunt şi cum le aflăm. Folosim
şirul lui Rolle.
60
f x x 3 3x 1 f ' x 3x 2 3 3x 1 x 1 0 x1 1, x2 1
f 1 3, f 1 1;
x0 3x0 3x0 4
3 2
3 9 4 3 4 3 9 48 3 57 3 57
3x0 3x0 4 0 x1, 2 x1 , x2
2
23 6 6 6
b 1 57
V , V ,
2a 4a 2 12
3 57 3 57
u ;1; v ,1; t 1,
6 6
Alte exemple:
y2 x x2 1
y x
2 3
61
Curbe Eliptice în caracteristica 2.
y 2 a1 xy a3 y x 3 a 2 x a 4 x a 6
y 2 xy x 3 Ax 2 B
y 2 Ay x 3 Bx C
y 2 x 3 Ax B .
62
6. CRIPTOSISTEME CU CHEIE PUBLICĂ
Dacă A poate genera mesajul criptat, doar B poate decripta mesajul. CCE e un
criptosistem cu cheie publică cu RSA sau EL GAMAL.
Fiecare utilizator are o cheie publică şi una privată. Cea publică este folosită
pentru criptare iar ceea privată este folosită pentru decriptare. Curbele eliptice
sunt folosite ca o extensie pentru criptare. Ceea mai importantă parte a unui
criptosistem o reprezintă grupul eliptic. Toate criptosistemele cu cheie publică
au la bază operaţii matematice. Procedurile generice pentru CCE sunt:
3. Valorile a şi b;
4. Numărul prim p;
10. Cheia publică este un produs al cheii private şi al punctului de bază Q = x*B.
63
3. Bob : Cheia privată b. Cheia public PB = b*B. Alice ia mesajul și îl codează.
Alice alege alt număr real aleatoriu h din [1,p-1]. Textul cifrat e o pereche de
puncte PC = [ (kB) , (PM+kPB) ].
PC = [ (KB) , (PM+KPB) ].
POHLIG-HELLMAN p, ,
Fie p 1 p1e p2 e ... pk e . Dacă a mod p atunci a log este unic determinat
1 2 k
64
i c 1
x q
i 1
i
i
Afirmaţie:
p 1 0 p 1
q
q
mod p
Demonstraţie:
p 1
a
p 1
x sq pq1
c
q
q
mod p
q
mod p
x sq p q 1
c
0
p 1
q
mod p 1
adică:
p 1 p 1 c p 1 c i c 1 i
i c 1 c 1
x sq 1 0 sq 0 i q i sq i q p 1 sq c 1 i q i 1
q q i 0 q i 1 i 1
0 mod p 1
p1 p 1
Se calculează acum q
. Dacă q
1 mod p atunci 0 0. Dacă nu, atunci se
calculează:
p 1 p 1 p 1 p 1 p 1
2 3 i
q
mod p, q
mod p, q
mod p,... până când q
q
mod p. Urmează
i p 1
p 1 0
p 1
xi q şi
i 1
i
i
1 q
2
q2
mod p. Se poate calcula 1 ca mai sus. Dacă c = 2
65
p 1
i
1. Se calculează i q
mod p pentru
2. Se pune j = 0 şi j
While j < c -1 do
p 1
q j 1
Calculează mod p
q = 2, c = 2:
28
2
= 214 = 28 mod 29
28
2
= 1814 = 28 mod 29
așadar 0 1
1 0 1 9 mod 29
28
q = 22, c =2: 1 4 9 7 28 mod 29
1 1sia 3
28
4
2 4 16 mod 29
q = 7, c = 1: 28
1814 25 mod 29
4
așadar 0 4sia 4 .
66
METODA INDEX CALCULUS
, j C , ceea ce este totuna cu x j 1, j log p1 ... Bj log pB mod p 1. Aceasta
conduce la un sistem liniar de C congruenţe în necunoscutele log pi , i C.
O e 1O 1 ln pln ln p
și timpul de aflare a logaritmului discret este:
1 O 1 ln p ln ln p
O e 2
EXEMPLU
67
care dau congruenţele liniare:
cu soluţia unică log5 2 6578, log5 3 6190, log5 7 1301. Pentru a afla log5 9451 se
alege un exponent aleator s = 7736 și se calculează 9451∙5776 ≡ 8400 mod
10007. Peste B, acesta se factorizează ca 2 4 315 2 71. Se dezvoltă:
log5 9451 7736 4 log5 2 log5 3 2 log5 5 log5 7 4 6678 6190 2 1 1301 6057
(CCE) Diffie-Hellman
68
Acestea sunt la fel de când ab = ba.
Exemple-EC.
Diffie-Hellman Exchange
De ce folosim (CCE)?.
Securitatea CCE.
Inutil?.
69
Utilităţile( CCE).
Orice aplicaţie unde securitatea e necesară dar nu prea este spaţiu de stocare ???
De tradus.
Rezumatul (CCE).
1. Introducerea în CE;
70
3. Implementarea CCE în câmpuri binare.
Sub- capitol
5. Coordonate amestecate;
6. Tehnici de paralelizare;
H i / i 0
este dificilă. Menţionez că elementele grupului sunt perechi de puncte din plan
de pe curba eliptică. Folosind cheia privată x din Z, se construieşte:
k GH
Pentru a cifra un mesaj M se foloseşte aleatoriu şi se aplică regula de
cifrare:
E M , k k , M k y1 , y2 .
Mesajul m se recuperează din mesajul cifrat (y1 ,y2). Mesajul m se recuperează
y
1
x
y2 .
din mesajul cifrat (y1, y2) după regula: 1
.
Într-adevăr avem:
y2
y x1
1
M k k
x 1
M kx
kx
1
M.
71
Exemplul 1.
E: y2 = x3+ x + 6 pe Z11
{(2,7);(2,4);(3,5);(3,6);(5,2);(5,9);(7,2);(7,9);(8,3);(8,8);(10,2);(10,9)}.
Deci cardinalul grupului este 13 număr prim. Grupul E este grup ciclic
(numărul de elemente este 13). Generatorul grupului este punctual (2,7)
element public.
Cheia privată de descifrare, notată prin d, este o valoare între 1 şi p-1 adică 12.
d .
E M , k k , M k .
Dk y1 , y2 y2 dy1.
72
Fie d = 3. Atunci avem:
cu ,
3 2, 7 2, 7 2, 7 2, 7 unde2 x1 , 7 y1 , x2 2, y2 7.
3 x 21 a 3 4 1 2 2 4 8
(mod11) 8.
2 y1 27 3 3 4 12
x3 2 x1 x2 (mod11) 64 2 2 mod11 60 mod11 5.
y3 2 x1 x3 y1 mod11 8 2 5 7 mod11 5, 2 .
DeciP Q P P 2, 7 2, 7 5, 7 .
Atunci avem:
În final obținem .
73
E M , k M 10,9 ; 4 4 2, 7 ; 10,9 4 8,3
4 2, 7 2, 7 2, 7 2, 7 2, 7 5,3 5,3 10, 2 .AiciaplicămformulaîncazulP Q
2, 7 2, 7
.......
3 x 21 a 3 22 1 13 2 2 4 8
x1 y1......x 2 y2 8 mod11 .
2 y1 27 14 3 3 4 1
x3 2 x1 x2 mod11 82 2 2 mod11 60 mod11 5.
y3 2 x1 x3 y1 mod11 64 2 4 7 mod11 76 mod11 10.
4 8,3 8,3 8,3 8,3 8,3 7,5 7,5 2, 4 .
x1 8; y1 3; x2 8; y2 3 :
3 x 21 a 3 64 1 193
mod11 1. Aplicămformulacunotaţiileconsacrate :
2 y1 23 6
Atunci : cîndP QşiatuncicîndP Q;
x3 2 x1 x2 mod11 1 8 8 mod11 7 mod11 7.
y3 x1 x3 y1 mod11 6 mod11 5 mod11 5. x3 , y3 7,5 .
10, 2 ; 10,9 2, 4 Re petămformulaîncădedouăori;
Odatăpentru 10,9 2, 4 cazulP Q : x1 2, y1 9; x2 2, y2 4.
y2 y1 4 9 1 1 6
Atunci mod11 mod11 6 mod11 6.
x2 x1 2 10 2 26
x3 2 x1 x2 mod11 3
y3 x1 x3 y mod11 5 10,9 2, 4 3,5 . Atunciavem :
10, 2 2, 6 cux1 10, y1 2; x2 2, y2 6cazulP Q.
y2 y1 6 2 6
mod11 mod11 5.
x2 x1 2 10 12
ÎnfineavemE M , k 10,9 ; 3,5 .
Exemplul 2.
74
Calculăm:
Exemplul 3.
a = 2, b = 3.
75
Cheia privată de descifrare, notată prin d 1, 7 1 1, 6 luăm d = 2.
d 2 1,1 .
E M , k k , M k .
Fie d = 2. Să determinăm:
2 1,1 1,1 1,1 cux1 1, y1 1; x2 1, y 2 1.
x3 2 x1 x2 mod 5 ; y3 x1 x3 y1 mod 5
3 x 21 a 3 12 2 5 53
unde mod 5 mod 5 15 mod 5 0.
2 y1 2 1 2 2 3
x3 0 x1 x2 mod 5 0 1 1 mod 5 2 mod 5 3.
y3 0 1 mod 5 4. 3, 4 .
E M , k 3 , M 3 3 ; 3, 4 3 3, 4 3 1,1 ; 3, 4 3 3, 4 .
3 1,1 1,1 1,1 1,1 .
3 x 21 2 3 1 2 53
x1 1, y1 1; x2 1, y2 1cazulP Q. mod 5 mod 5 0.
2 y1 2 1 23
x3 2 x1 x2 mod 5 0 1 1 mod 5 2 mod 5 3 mod 5 3
y3 x1 x3 y1 mod 5 1 mod 5 4 mod 5 4.
y2 y1 2 2
3 1,1 3, 4 1,1 cazulP Q.x1 3, y1 4; x2 1, y2 1 mod 5 4.
x2 x1 3 2
x3 2 x1 x2 mod 5 16 3 1 mod 5 12 mod 5 2.
y3 x1 x3 y1 mod 5 4 3 3 4 mod 5 4 mod 5 1mod 5 1
3 1,1 2,1 .
76
Calculăm 3(3,4)=[(3,4)+(3,4)]+(3,4).
3 32 2 42
3, 4 3, 4 ; x1 3, y1 4; x2 3, y2 4cazulP Q mod 5 mod 5 3.
24 3 2
x3 2 x1 x2 mod 5 9 3 3 mod 5 3 mod 5 3.
y3 x1 x3 y1 mod 5 3 3 3 4 mod 5 1 mod 5 1.
3, 4 3, 4 3,1 .Avem 4 3, 4 3, 4 3, 4 3, 4 3, 4 cazulP Q.
3 x 21 a 3 9 2 29 29 3
x1 3, y1 1; mod 5 mod 5 mod 5 2.
2 y1 2 1 2 23
x3 2 x1 x2 mod 5 4 3 3 mod 5 4 6 mod 5 2 mod 5 3.
y3 x1 x3 y1 mod 5 3 3 3 1 mod 5 0 1 mod 5 4.
Aunci : 4 3, 4 3, 4 .
Deci : E M ; k 2,1 ; 3, 4
Exemplul 4.
Să se descifreze mesajul: ((2,1);(3,4)), ştiind că a fost cifrat cu algoritmul El
Gamal, utilizând curba eliptică (publică):
77
7. PROBLEMA LOGARITMULUI DISCRET
b g x mod p
.
*
Dacă în locul lui Z p alegem un grup ciclic oarecare, spunem că am enunţat
problema generalizată a logaritmului discret, GDLP.
b g1
log g1 b
g2
log g 2 b
g1
log g1 g 2 log g 2 b
78
Vom prezenta în continuare cei mai cunoscuți algoritmi de rezolvare a
DLP arătând calculele în detaliu. Grupul ciclic G fiind multiplicativ al unui corp
finit cu p elemente, deci un grup de ordin p - 1.
Algoritmul Shanks
Atunci avem: b g x g cm d g cm g d
bg d g cm g d g d
bg d g cm g 0
bg d g cm g m c
log g bg d log g g m c
log g g
mc
log g b log g g
d
mc
log g b d mc
logb g mc d
1, g m , g 2 m .... g m 1m
b, bg 1 , bg 2 ,..bg m 1
d
și vedem pentru ce valori ale lui c şi d obţinem g bg . Atunci obţinem:
cm
logb b cm d .
79
Algoritm-Shanks
1
4.3. Pune a ag .
Exemplul 1.
Considerăm:
G Z *7 , p 7 prim, m p 1 7 1 6 2.
0 c, d 2 .
c 0 1 2
22c 1 4 2
d 0 1 2
30*2-d 2 1 4
80
log 2 30 c m d 2 2 2 6
Exemplul 2.
Exemplul 3.
log230.
m 29 1 28 5, 0 c, d m 1, 0 c, d 5
C 0 1 2 3 4 5
25m 1 3 9 27 23 7
D 0 1 2 3 4 5
30*2-d 1 15 22 11 20 1
81
Atunci avem: c = 0 şi d = 5. Deci log230 = m*c + d = 5*0 + 5 = 5.
Calculele:
REPREZENTĂRI DE GRUP.
82
LOGARITMI DISCRETI în Z*11.
83
O metodă generală
Fie definită orbita lui x X ca Orb f(x) = [x, f(x), f2(x), …, fn(x)]. Fiind dat un y
k
Orbf(x), să se găsească un întreg k astfel încât y = f (x).
Se găsesc două perechi (q, fqm(x)), (r, f-r(y)) care au a doua coordonată identică,
adică f-r(y) = fqm(x). Decurge de aici că y = fqm+r(x). Timpul de căutare este O ( n
).
84
ALGORITMUL LUI SCHANK
85
Bibliografie
June 1996.
IIT Madras,2011.
Elementară A Numerelor,2007.
Informatică.
Informatică.
86