Sunteți pe pagina 1din 16

Bazele Criptologiei

Modul I

Elemente de
teoria numerelor
Elemente de teoria numerelor
Z = {..., -2, -1, 0, 1, 2, ...}, N = {0, 1, 2, ...}
d/a “d divide a” (exista k, a.i. a = k*d) a – multiplu al lui d (d – divizor al lui a)

Proprietati divizori triviali si netriviali

Numere prime p >1 , p are doar divizori triviali 1 – este prim ?

Numere compuse 1 – nu este compus


 n<=0 - nici prim, nici compus
n, un întreg fixat
a → poate fi partitionat în funcţie de n (multipli si resturi)

Teoremă
Oricare ar fi numarul intreg a şi oricare ar fi numarul intreg n>0, atunci exista si sunt
unici q si r Z a.î.
0≤r<n si a = q*n + r q = [a/n] , r = a mod n (cât şi rest)
Elemente de teoria numerelor

! n/a  a mod n = 0 (rest = 0) [a]n  {a  k  n | k  Z}

n fixat  multimea intregilor (Z) se poate partitiona in clase de


echivalenta (in functie de resturile obtinute)

Clasa de echivelenta a lui a modulo n

Ex [3]7 = {…, -11, -4, 3, 10, 17, …} [-4]7 sau [10]7

! a [b]n  a  b modulo n
Elemente de teoria numerelor

Multimea tuturor claselor de echivalenta

 n   an : 0  a  n  1 

 n  0, 1, ..., n  1

Fiecare clasa fiind reprezentata prin cel mai mic element nenegativ

Ex -1 Zn  clasa corespunzatoare este [n-1]n 


-1  n-1 (mod n)
Elemente de teoria numerelor

Divizori si multipli

d/a si d/b  d = divizor comun pentru a si b

Proprietati
d/a şi d/b  d / (a+b) şi d / (a-b) 
d / (ax+by) ,  x,y Z
a/b şi b/a  a=b

gcd (a,b) - cel mai mare divizor comun (numere nu sunt ambele
nule)

Ex. (24,30)=6 (5,7)=1 (0,9)=0


Elemente de teoria numerelor
Proprietati gcd (a,b) = gcd (b,a)
gcd (a,b) = gcd (-a,b)
gcd (a,b) = gcd (|a|, |b|)
gcd (a,0) = |a|
gcd (a, ka) = |a|,  k  Z

Teorema gcd (a,b) = min {ax+by|  x,y Z}

Consecinte gcd (na,nb) = n*gcd (a,b)


Asociativitate - ?
n/ab şi gcd(a,n) = 1  n/b

cmmdc(a,b) - cel mai mic multiplu comun (numerele nu sunt ambele nule)
[24,30]=? [5,7]=? [0,9]=?
Elemente de teoria numerelor

Numere relativ prime - gcd(a,b) = 1

Teorema  a, b, p Z daca gcd(a,p) =1


gcd(b,p) =1  gcd(ab,p)=1

! (n1, n2, ..., nk) relativ prime -  i≠j : gcd (ni, nj)=1

Numere prime p - algoritmi cunoscuti de testare?

Teorema
 a, bZ si p prim
dacă p/ab  p/a sau p/b
Elemente de teoria numerelor

Teorema (unicitatea factorizarii)


Exista si este unica descompunerea in factori primi a oricarui numar compus.
 aZ, ! p1, p2, ..., pr numere prime a.î. a = p1 e1*….* prer
unde p1 < p2 < … < pr , ei – Z+

Ex: 6000 = 24*3*53

Teorema
 a intreg nenegativ si b intreg pozitiv
gcd(a,b) = gcd (b, a mod b)

! Exista o infinitate de numere prime – metode de testare


diverse/nenumarate
Elemente de teoria numerelor
Algoritmul lui Euclid

metodă de calcul al celui mai mare divizor comun a


două numere a şi b

reprezintă un element cheie al algoritmului RSA,


algoritm de criptare cu chei publice
Elemente de teoria numerelor
Algoritmul lui Euclid

Procedeu: (a>b)
a = q0 b + r0

b = q1 r0 + r1

r0 = q2 r1 + r2

r1 = q3 r2 + r3

…………….

Procedeul se opreşte în momentul în care rn = 0. Ultimul rest nenul


rn-1 este cel mai mare divizor comun al numerelor a şi b.
Elemente de teoria numerelor
Algoritmul lui Euclid – forma matriceala

Fie d = gcd(435, 377), d=?


d = combinatia liniara a celor doi factori
1 0 435 1 -1 58
0 1 377 0 1 377

1 -1 58 13 -15 0
-6 7 29 -6 7 29

gcd(435, 377)=29 d=(-6)*435+7*377

Ex. Analog pentru gcd(3553, 537)


Elemente de teoria numerelor

• Să se determine gcd(1776,1492) folosind algoritmul lui Euclid.

• Să se determine gcd(1776,1492) prin descompunerea în facori primi a nr.

• Să se determine soluțiile ecuatiei: xy-2y-3x=25.

• gcd(2m-1, 2n-1)=1  gcd(m,n)=1.

• Studiati reductibilitatea polinoamelor X2+1, X3+X+2 în Z3X, respectiv în


Z5X.

• Există aZ5 a.î. X5+aX+1 să fie ireductibil în Z5X?

• Să se determine o rădăcină primitivă mod 13.

• Care este ordinul lui 6, mod 19?


Elemente de teoria numerelor

Teorema lui Fermat


p-prim, b Z, b nu e divizibil cu p  bp-1  1 (mod p)

Ex: p=5, 14=1, 24=16  1, 3 4=81  1, 44=256  1 (mod 5)

Teorema lui Wilson


p-prim  (p-1)!  1 (mod p)

Ex: p=5, 4! = 24  1 (mod 5)  5 / (24+1)


Elemente de teoria numerelor

Teorema lui Euler


(b,m) =1  b(m)  1 (mod m)
unde  este funcţia lui Euler
nr numerelor coprime cu n, <n
! se consideră  (1) = 1

Ex: m =10: r = 1, 3, 7, 9   (10) = 4

Dacă p = prim,  (p) = p-1 (toate nr mai mici ca p sunt coprime cu p)

Dacă (m, n) = 1,  (m*n) =  (m) *  (n)


Elemente de teoria numerelor
Aplicatii

Steaua lui David


In cate moduri pot fi unite n puncte prin n linii drepte fara intrerupere?
Exerciţii - Algoritmul lui Euclid

1. Folosind algoritmul lui Euclid, calculaţi cel mai mare divizor comun al
numerelor întregi 4655 şi 428400.

2. Fie polinoamele
f = 36x3 – 84 x2 + 60 x - 12 şi g = -24x2 + 20 x – 4 din Q[x].
Care este cel mai mare divizor comun?

3. Implementaţi o funcţie care să calculeze cel mai mare divizor comun


pentru două numere întregi.

4. Implementaţi o funcţie care să calculeze cel mai mare divizor comun


pentru două polinoame cu coeficienţi întregi.

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