Você está na página 1de 49

Matemtica e Criptografia

Severino Collier Coutinho


UFRJ

Criptologia
Criptografia
arte de esconder
mensagens
Criptoanlise
arte de quebrar
mensagens
Criptos = escondido em grego
Histria
Csar foi o
primeiro a utilizar
criptografia como
meio de esconder
informaes
secretas.
Cdigo de Csar
A B C D E F G H I J L M N O P Q R S T U V X Z
C D E F G H I J L M N O P Q R S T U V X Z A B
Exemplo
ESSES ROMANOS SO UNS NEURTICOS
GUUGU TQOCPQU UCQ XPU PGXTQVLEQU
Problemas
fcil decodificar verificando a
freqncia das letras na mensagem.
Saber codificar implica em saber
decodificar.
Precisa de canal seguro.
O mesmo se aplica a outros cdigos semelhantes
Outras aplicaes
O mtodo de contagem de freqncia e
tcnicas semelhantes de criptografia
tambm so usadas na decifrao de
escritas antigas.
Exemplos: hierglifos, linear B
Abre parntesis...
Hierglifos egpcios
Conhecimento da leitura esquecido
desde, pelo menos, 500 d.C.

Horapolo de Nilpolis: caracteres seriam
ideogrficos.
Renascena
Athanasius Kircher
(1602-1680).

Segue Horapollo.

Lngua copta.
A chave
Pedra de Rosetta.
Descoberta em
1799.

Mesmo texto escri-
to em hierglifos, de-
mtico e grego.
O decifrador
J.-F. Champollion (1799-
1832).

Lngua derivada do copta.

Escrita: caracteres ideo-
grficos, alfabticos e
determinativos.
O alfabeto
Determinativos
= htr = cavalo
O determinativo o
desenho do cavalo.
E preciso acrescent-lo
porque htr tambm
significa taxa.
Linear B
Descoberta em
Creta.

Decifrado por M.
Ventris em 1953.

Contagem de
freqncia: lngua
grego.
Vale do Indo
Ainda no decifrada.

Inscries curtas
dificultam a contagem
de freqncia.
Fecha parntesis...
Tipos de Cdigos
Chave secreta:
Saber codificar
implica em saber
decodificar.
Precisa de canal
seguro.
Chave pblica:
Saber codificar
no implica saber
decodificar.
No precisa de
canal seguro.
Inventado na
dcada de 1970.
Chave Pblica
Imagem: armadi-
lha para lagosta.



Idia: problema
fcil de resolver
por um lado e
difcil por outro.
RSA
Chave
pblica
mais
popular
Inven-
tado em
1976
Rivest
Shamir
Adleman
Nmero Primo
Nmero divisvel somente por ele
mesmo e pela unidade.
Exemplos
2, 3, 5, 7, 11, 13, 17, ..., 41, 43, 47, ....
2
13466917
-1 tem 4.053.946 algarismos
RSA
Chave de
codificao:
n = pq.

Pode ser tornada
pblica.
Chave de
decodificao so
p e q.

Tem que ser
mantida secreta.
Escolha dois nmeros primos p e q.
Calcule n = pq.
Como quebrar o RSA?
n = pq pblico

Preciso conhecer p e q para
decodificar a mensagem.

Logo: basta fatorar n para achar p e
q.
Fatorando 120.
120 2 = 60
60 2 = 30
30 2 = 15
15 3 = 5, que primo.

Logo: 120 = 22 2 3 5.
Fatorar tem alto custo!
Se n = pq e p, q ~ 10
50
.

Comeo de 2 e avano at ~ 10
50

Computador executa 10
10
divises/s.

Logo preciso esperar 10
40
s ~ 10
31
anos!
Porm ...
O universo s tem 10
11
anos!
Portanto...
Achar p e q conhecendo apenas
n = pq muito difcil.
RSA-129
Mensagem codificada em 1976 usando
uma chave pblica n com 129 algaris-
mos.
Com os recursos da poca (computado-
res e algoritmos) deveriam ser necess-
rios quadrilhes de anos para
decodific-la.
Entretanto...
Decodificada em 1994:
The magic words are squeamish
ossifrage
Como foi feito
600 computadores de voluntrios
Em 25 pases
Dados reunidos usando um supercom-
putador

Tempo total: oito meses!
O que fez a diferena
Novos algoritmos (crivo quadrtico).

Computadores mais rpidos.

Popularizao dos computadores.

A internet para interligar tudo.
RSA-160
2152741102718889701896015201312825429257773588
84567598017049767677813314521885913567301105
9773491059602497907111585214302079314665202840
140619946994927570407753
Fatores
454278928584813940716861906497388316561371457
78469793250959984709250004157335359 e
473880906038320161966338323037889519732689229
21040957944741354648812028493909367
Dvida
Se difcil fatorar nmeros grandes...
E se um nmero primo o que no
tem fatores...
...Ento como obter dois primos
grandes para construir a chave
pblica n do RSA?
Primalidade
No preciso fatorar para descobrir se
um nmero primo ou composto!

Por exemplo: se n e b so inteiros
positivos tais que n no divide b
n-1
-1,
ento n tem que ser composto.
Algoritmo AKS
Mtodo eficiente (tempo polinomial) para
determinar se um nmero primo sem
fator-lo.
Descoberto em agosto de 2002 por M.
Agrawal, N. Kayal e N. Saxena.
O Futuro Prximo
Sistema usa
curvas elpticas.


Grupo da curva elptica
Podemos somar
pontos em uma
curva elptica.

Isto torna a curva
em um grupo.
ECC
Fixe uma curva E e P E.

Chave secreta: inteiro positivo k.

Chave pblica: Q = kP.


Suponha...
...que Alice quer mandar uma mensagem
para Bernardo...
ECC: codificando

Alice conhece a curva E, o ponto P E
e a chave pblica Q.

Para codificar M E : escolha r
aleatoriamente e calcule (rP, rQ+M).
ECC: decodificando

Bernardo conhece a curva E, o ponto P
E e a chave secreta k.
Decodifica (rP, rQ+M) calculando:
(rQ+M) - k(rP) = r(kP) + M - k(rP) = M.
ECC: quebrando
Calcular k conhecendo Q = kP.
Problema do Logaritmo Discreto
O Futuro Distante
Peter Shor
(1994): algoritmo
quntico de
fatorao.

Criptografia
quntica.

As perguntas finais...
Quo prximo, ou distante?
Assim...?
No!
Assim!
A criptografia quntica j chegou at ns
Que outras surpresas nos
aguardam?
?

Você também pode gostar