Sunteți pe pagina 1din 18

Bazele Criptologiei

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 nu este prim

Numere compuse
1 nu este compus
n<=0 nici prim, nici compus
n, un ntreg fixat
a poate fi partitionat n funcie 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..
0r<n
si
a = q*n + r
q = [a/n] , r = a mod n
( ct 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, }


[10]7

! a [b]n

a b modulo n

[-4]7

sau

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]n

-1 Zn

clasa corespunzatoare este [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
a/b i b/a

d / (a+b) i d / (a-b)
d / (ax+by) , x,y Z
|a| |b| sau b = 0
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

TEMA

cmmdc(a,b) - cel mai mic multiplu comun (numere 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 -

Numere prime

ij : gcd (ni, nj)=1

p
algoritmi cunoscuti ? TEMA
(generare de nr prime) ? (matem/algoritm)

Teorema
a, bZ si p prim
dac
p/ab

p/a sau p/b

Elemente de teoria numerelor


Teorema

(unicitatea factorizarii)

Exista si este unica descopunerea in factori primi a oricarui


numar compus.
aZ, ! 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

Elemente de teoria numerelor


Algoritmul lui Euclid

Elemente de teoria numerelor


Algoritmul lui Euclid
Procedeu: (a>b)

Procedeul se oprete n momentul n care r n = 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=? si scrieti d = combinatia liniara a
celor doi factori
1
0
435
1
-1
58
0
1
377
0
1
377
1
-6

-1
7

58
29

gcd(435, 377)=29
Ex. Analog pentru gcd(3553,537)

13
-6

-15
7

0
29

d=(-6)*435+7*377

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 soluiile ecuatiei: xy-2y-3x=25.
gcd(2m-1,2n-1)=1 gcd(m,n)=1.
Studiati reductibilitatea polinoamelor X 2+1, X3+X+2 n Z3X,
respectiv n Z5X.
Exist aZ5 a.. X5+aX+1 s fie ireductibil n Z5X.
S se determine o rdcin 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
(mod p)

bp-1 1

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

Teorema lui Wilson


p-prim

Ex: p=5,

(p-1)! 1

(mod p)

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 funcia 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,
coprime cu p)

(p) = p-1 (toate nr mai mici ca p sunt

Dac (m, n) = 1,

(m*n) = (m) * (n)

Elemente de teoria numerelor


f x x 5 x 4 2 x3 3x 2 2
Ex. Se considera polinomul
Verificati daca F=GF(55), construit din polinomul generator
de mai sus, f, este camp.
Ex. Se considera polinomul

P x x 6 x 5 x 4 x 2 1

a)
b)
c)

Aratati ca P(x) formeaza un camp peste GF(2m).


Verificati daca P() este radacina primitiva sau nu.
Gasiti un element primitiv al campului.

Elemente de teoria numerelor


Ex. Se considera polinomul

P x x 6 x 5 x 4 x 1
a)
b)
c)
d)

Aratati ca P(x) formeaza un camp peste GF(2m).


Verificati daca P(x) este polinom primitiv
Calculati 47 ca polinom cu grad mai mic sau egal cu 5
Cautati k, un numar intreg, pozitiv care sa verifice:

k 4 3 1

Elemente de teoria numerelor


Aplicatii
Steaua lui David
In cate moduri pot fi unite n puncte prin n linii drepte fara
intrerupere?

Exerciii - Algoritmul lui Euclid


1. Folosind algoritmul lui Euclid, calculai 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. Implementai o funcie care s calculeze cel mai mare
divizor comun pentru dou numere ntregi.
4. Implementai o funcie care s calculeze cel mai mare
divizor comun pentru dou polinoame cu coeficieni ntregi.