Académique Documents
Professionnel Documents
Culture Documents
3 de julho de 2015
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
M 0 = PBob (M) → M0
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
M 0 = PBob (M) → M0
M = SBob (M 0 )
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
M 0 = PBob (M) → M0
M = SBob (M 0 )
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
M 0 = PBob (M) → M0
M = SBob (M 0 )
Criptografando
Alice Bob
SAlice , PAlice SBob , PBob
M 0 = PBob (M) → M0
M = SBob (M 0 )
Chaves
Chave Pública: P = (e, n)
Chave Privada: S = (d, n)
Criptografando
P(M) = M e mod n
Descriptografando
P(M 0 ) = M 0d mod n
Y 1
φ(n) = n (1 − ) , tal que p é primo
p
p|n
Distribuição de Primos
π(x)
lim =1
x→∞ x/ln(x)
Algoritmo de Fermat
Divisões Sucessivas
√
O(2 β)
Fatoração de Fermat
Todo número ı́mpar pode ser descrito como a diferença de dois
quadrados.
Se n = a2 − b 2 , então n = (a + b)(a − b)
√
O(2 β)
1: function Pollard-Rho(n)
2: x1 ← RANDOM(0, n − 1)
3: y ← x1
4: k ←2
5: for i ← 1 to ∞ do
6: 2 − 1) mod n
xi ← (xi−1
7: d ← mdc(y − xi , n)
8: if d 6= 1 e d 6= n then
9: imprima d
10: end if
11: if i = k then
12: y ← xi
13: k ← 2k
14: end if
15: end for
16: end function
Orientador: Prof. Dr. André VignattiEstudante: Thiago
Algoritmos
Leucz Astrizi
de Criptografia RSA 3 de julho de 2015 8 / 11
Fatoração de Inteiros (Método de Kraitchik)
Encontre u 2 ≡ v 2 ( mod n)
Se u 6≡ v ( mod n), então mdc(u − v , n) é fator não-trivial de n
Exemplo: n=2041
Iteração
x 46 47 48 49 50 51 ...
x2 − 2041 75 168 263 360 459 560 ...
Encontre u 2 ≡ v 2 ( mod n)
Se u 6≡ v ( mod n), então mdc(u − v , n) é fator não-trivial de n
Exemplo: n=2041
Iteração
x 46 47 48 49 50 51 ...
x2 − 2041 75 168 263 360 459 560 ...
Fatoração
75 = 3.52 168 = 23 .3.7
360 = 23 .32 .7 560 = 24 .5.7
Encontre u 2 ≡ v 2 ( mod n)
Se u 6≡ v ( mod n), então mdc(u − v , n) é fator não-trivial de n
Exemplo: n=2041
Iteração
x 46 47 48 49 50 51 ...
x 2 − 2041 75 168 263 360 459 560 ...
Encontre u 2 ≡ v 2 ( mod n)
Se u 6≡ v ( mod n), então mdc(u − v , n) é fator não-trivial de n
Exemplo: n=2041
Iteração
x 46 47 48 49 50 51 ...
x 2 − 2041 75 168 263 360 459 560 ...
Crivo de Eratóstenes
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Crivo de Eratóstenes
2 3 64 5 66 7 68 9 6 10 11 6 12 13 6 14 15 6 16
Crivo de Eratóstenes
2 3 64 5 66 7 68 69 6 10 11 6 12 13 6 14 6 15 6 16
Crivo de Eratóstenes
2 3 64 5 66 7 68 69 6 10 11 6 12 13 6 14 6 15
Crivo de Eratóstenes
2 3 64 5 66 7 68 69 6 10 11 6 12 13 6 14 6 15
2 3 2 5 61 7 4 3 1 11 2 13 1 1 8
Crivo de Eratóstenes
2 3 64 5 66 7 68 69 6 10 11 6 12 13 6 14 6 15
2 3 2 5 61 7 4 3 1 11 2 13 1 1 8
Crivo Quadrático
Para cada primo p menor que a lisura, encontre todos os ai tais que
ai2 − n é múltiplo de p e os marque.
Resolva o problema de dependência linear de seus vetores de
expoentes binários para obter u 2 e v 2
Se u 6≡ v ( mod n), encontramos um fator não-trivial de n.