Sunteți pe pagina 1din 5

Algoritmul Miller-Rabin (testeaz a primalitatea unui num ar ntreg)

1. Se alege aleator num arul ntreg a cu proprietatea


1 a n 1.
Dac a n este par sau 1 < gcd(a, n) < n returneaz a COMPUS.
2. Se scrie
n = 1 + 2
k
q, q impar.
3. Dac a
a
q
1(modn)
si
a
2
i
q
1(mod n), i {0, 1, , k 1},
atunci a este martor Miller-Rabin, deci n este num ar COMPUS.
Algoritmul Shanks (determin a

a mod n)
INPUT a, p num ar prim, gcd(a, n) = 1.
1. Se calculeaza a
p1
2
(mod p). Valorile posibile sunt
a
p1
2
1 mod p sau a
p1
2
1 mod p.
Dac a a
p1
2
1 mod p, atunci a nu are rad acin a p atrata modulo n. STOP
2. Dac a a
p1
2
1 mod p, se scrie
p 1 = s 2
e
, s ntreg impar.
Se determinan a n astfel nc at n
p1
2
1 mod p
3.
x a
s+1
2
mod p
b a
s
mod p
g n
s
mod p
r = e
Se observa ca x
2
ba mod p.
1
C at timp m > 0 4. Se determina m astfel nc at ord
p
(b) = 2
m
.
Dac a m = 0, returneaz a x si STOP.
5. Dac a m > 0,
x x g
2
rm1
mod p
b b g
2
rm
mod p
g g
2
rm
mod p
r m.
Algoritmul Pollard p 1 ( factorizeaz a N = p q)
p si q sunt numere prime mari, de aproximativ aceeasi m arime, iar p 1
se factorizeaza n factori primi mici.
Se determina num arul ntreb b astfel nc at p 1/b!. Prin urmare
p 1

N 1 b!.
INPUT N num ar intreg mare.
1. a = 2.
2. dac a 1 < d := gcd(2
b!
1, N) < N, atunci
d/N.
3.

In caz contrar, se m areste succesiv valoarea lui b.
Algoritmul lui Shanks baby step - giant step
Fie G un grup, g G un element de ordin N 2. Algoritmul rezolva
problema logaritmilor discret i
g
x
= h.
Dac a G = F
p
, cu p num ar prim, g, h F
p
, g element primitiv, atunci prob-
lema logaritmilor discret i este
g
x
h mod p.
1. Fie n = 1 +

N
2. Se creeaza dou a liste
2
L
1
: e, g, g
2
, , g
n
;
L
2
: h, h g
n
, h g
2n
, , h g
n
2
.
3. Se determina un element n L
1
L
2
,
g
i
= h g
jn
4. x = i + jn este solut ia ecuat iei g
x
= h.
Algoritmul Russian peasants
Calculeaz a
x
c
mod n = z
folosind scrierea n baza 2 a lui c,
c =
l1

i=0
c
i
2
i
, c
i
{0, 1}, 0 i l 1.
z 1.
for i := l 1 to 0
do

z z
2
mod n.
dac a c
i
= 1,
z (z x) mod n.
return z.
Teorem a 1 (teorema chinez a a resturilor)
Daca y
1
, , y
k
sunt numere ntregi date si m
1
, , m
k
sunt numere ntregi
prime ntre ele, atunci exista o unica solut ie modulo M = m
1
m
k
cu
proprietatea
x y
i
mod m
i
, i {1, 2, , k}.
Not am M
i
=
M
m
i
, (i {1, 2, , k}). Se observa imediat ca
cmmdc(M
1
, , M
k
) = 1.
cmmdc(M
i
, m
i
) = 1, pentru orice i {1, 2, , k}.
3
M
j
0 mod m
i
, pentru orice i, j {1, 2, , k}, i = j.
Algoritm I
1. Folosind algoritmul lui Euclid se obt ine forma Bezout
c
1
M
1
+ + c
k
M
k
= 1.
2. Solut ia unica este
x = c
1
M
1
y
1
+ + c
k
M
k
y
k
mod M.
Algoritm II
1. Folosind algoritmul lui Euclid se calculeaz a
N
i
= M
1
i
mod m
i
, i {1, 2, , k}.
2. Solut ia unic a este
x = N
1
M
1
y
1
+ + N
k
M
k
y
k
mod M.
Aplicat ie I (RSA)
Dac a n = p q, p, q numere prime. Fie e cu proprietatea
(e, (n)) = 1
si
d e
1
mod (n).
Fie M mesajul original si C M
e
mod n mesajul criptat. Putem folosi CRT
pentru decriptare astfel:
d
p
= e
1
mod p 1, d
q
= e
1
mod q 1.
M
p
C
dp
mod p = M
edp
mod p = M
kp(p1)+1
mod p = M mod p,
M
q
= C
dq
mod q = M
edq
mod p = M
kq(q1)+1
mod q = M mod q.
M mod n este unica solut ie a sistemului

x M
p
( mod p)
x M
q
( mod q),
4
Aplicat ie II (RSA)
Cheia publica a lui Bob cont ine N = pq produs de doua numere prime
distincte secrete. Dac a Eve ar cunoaste valoarea produsului (p 1)(q 1),
atunci Eve ar putea s a decripteze mesajul lui Bob.

Intr-adev ar,
(p 1)(q 1) = pq p q + 1 = N (p + q) + 1.
Prin urmare, Eve poate s a determine p + q. Atunci p si q sunt rad acinile
polinomului
X
2
(p + q)X + pq.
5

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