49
Matemática e Criptografia Severino Collier Coutinho UFRJ

cripto

Embed Size (px)

Citation preview

Page 1: cripto

Matemática e Criptografia

Severino Collier Coutinho

UFRJ

Page 2: cripto

Criptologia

• Criptografia arte de esconder mensagens

• Criptoanálise arte de quebrar mensagens

Criptos = escondido em grego

Page 3: cripto

História

• César foi o primeiro a utilizar criptografia como meio de esconder informações secretas.

Page 4: cripto

Código de César

A B C D E F G H I J L M N O P Q R S T U V X ZC 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 SÃO UNS NEURÓTICOS

GUUGU TQOCPQU UCQ XPU PGXTQVLEQU

Page 5: cripto

Problemas

• É fácil decodificar verificando a freqüência das letras na mensagem.

• Saber codificar implica em saber decodificar.

• Precisa de canal seguro.

O mesmo se aplica a outros códigos semelhantes

Page 6: cripto

Outras aplicações

O método de contagem de freqüência e técnicas semelhantes de criptografia também são usadas na decifração de escritas antigas.

Exemplos: hieróglifos, linear B

Page 7: cripto

Abre parêntesis...

Page 8: cripto

Hieróglifos egípcios

• Conhecimento da leitura esquecido desde, pelo menos, 500 d.C.

• Horapolo de Nilópolis: caracteres seriam ideográficos.

Page 9: cripto

Renascença• Athanasius Kircher (1602-1680).

• Segue Horapollo.

• Língua copta.

Page 10: cripto

A chave

• Pedra de Rosetta.

• Descoberta em 1799.

• Mesmo texto escri-to em hieróglifos, de-mótico e grego.

Page 11: cripto

O decifrador

• J.-F. Champollion (1799-1832).

• Língua derivada do copta.

• Escrita: caracteres ideo-gráficos, alfabéticos e determinativos.

Page 12: cripto

O alfabeto

Page 13: cripto

Determinativos

= htr = cavalo

• O determinativo é o desenho do cavalo.

• E preciso acrescentá-lo porque htr também significa taxa.

Page 14: cripto

Linear B• Descoberta em Creta.

• Decifrado por M. Ventris em 1953.

• Contagem de freqüência: língua é grego.

Page 15: cripto

Vale do Indo• Ainda não decifrada.

• Inscrições curtas dificultam a contagem de freqüência.

Page 16: cripto

Fecha parêntesis...

Page 17: cripto

Tipos de Códigos

• Chave secreta:

• Saber codificar implica em saber decodificar.

• Precisa de canal seguro.

• Chave pública:• Saber codificar

não implica saber decodificar.

• Não precisa de canal seguro.

• Inventado na década de 1970.

Page 18: cripto

Chave Pública

• Imagem: armadi-lha para lagosta.

Idéia: problema fácil de resolver por um lado e difícil por outro.

Page 19: cripto

RSA

Chave públicamais popular

Inven-tado em 1976

Rivest Shamir

Adleman

Page 20: cripto

Número Primo

Número divisível somente por ele mesmo e pela unidade.

Exemplos

2, 3, 5, 7, 11, 13, 17, ..., 41, 43, 47, ....

213466917-1 tem 4.053.946 algarismos

Page 21: cripto

RSA

• Chave de codificação: n = pq.

• Pode ser tornada pública.

• Chave de decodificação são p e q.

• Tem que ser mantida secreta.

Escolha dois números primos p e q.

Calcule n = pq.

Page 22: cripto

Como quebrar o RSA?

• n = pq é público

• Preciso conhecer p e q para decodificar a mensagem.

• Logo: basta fatorar n para achar p e q.

Page 23: cripto

Fatorando 120.

• 120 2 = 60

• 60 2 = 30

• 30 2 = 15

• 15 3 = 5, que é primo.

• Logo: 120 = 2·2 ·2 ·3 ·5.

Page 24: cripto

Fatorar tem alto custo!

• Se n = pq e p, q ~ 1050.

• Começo de 2 e avanço até ~ 1050

• Computador executa 1010 divisões/s.

• Logo preciso esperar 1040s ~ 1031 anos!

Page 25: cripto

Porém ...

O universo só tem 1011 anos!

Page 26: cripto

Portanto...

Achar p e q conhecendo apenas n = pq é muito difícil.

Page 27: cripto

RSA-129

Mensagem codificada em 1976 usando uma chave pública n com 129 algaris-mos.

Com os recursos da época (computado-res e algoritmos) deveriam ser necessá-rios quadrilhões de anos para decodificá-la.

Page 28: cripto

Entretanto...

Decodificada em 1994:

“The magic words are squeamish ossifrage”

Page 29: cripto

Como foi feito

• 600 computadores de voluntários

• Em 25 países

• Dados reunidos usando um supercom-putador

• Tempo total: oito meses!

Page 30: cripto

O que fez a diferença

• Novos algoritmos (crivo quadrático).

• Computadores mais rápidos.

• Popularização dos computadores.

• A internet para interligar tudo.

Page 31: cripto

RSA-1602152741102718889701896015201312825429257773588845675980170497676778133145218859135673011059773491059602497907111585214302079314665202840140619946994927570407753

Fatores

45427892858481394071686190649738831656137145778469793250959984709250004157335359 e

47388090603832016196633832303788951973268922921040957944741354648812028493909367

Page 32: cripto

Dúvida

Se é difícil fatorar números grandes...

E se um número primo é o que não tem fatores...

...Então como obter dois primos grandes para construir a chave pública n do RSA?

Page 33: cripto

Primalidade

• Não é preciso fatorar para descobrir se um número é primo ou composto!

• Por exemplo: se n e b são inteiros positivos tais que n não divide bn-1-1, então n tem que ser composto.

Page 34: cripto

Algoritmo AKS

Método eficiente (tempo polinomial) para determinar se um número é primo sem fatorá-lo.

Descoberto em agosto de 2002 por M. Agrawal, N. Kayal e N. Saxena.

Page 35: cripto

O Futuro Próximo

• Sistema usa curvas elípticas.

Page 36: cripto

Grupo da curva elíptica

• Podemos somar pontos em uma curva elíptica.

• Isto torna a curva em um grupo.

Page 37: cripto

ECC

• Fixe uma curva E e P E.

• Chave secreta: inteiro positivo k.

• Chave pública: Q = kP.

Page 38: cripto

Suponha...

...que Alice quer mandar uma mensagem para Bernardo...

Page 39: cripto

ECC: codificando

• Alice conhece a curva E, o ponto P E e a chave pública Q.

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

Page 40: cripto

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.

Page 41: cripto

ECC: quebrando

Calcular k conhecendo Q = kP.

Problema do Logaritmo Discreto

Page 42: cripto

O Futuro Distante

• Peter Shor (1994): algoritmo quântico de fatoração.

• Criptografia quântica.

Page 43: cripto

As perguntas finais...

Page 44: cripto

Quão próximo, ou distante?

Page 45: cripto

Assim...?

Page 46: cripto

Não!

Page 47: cripto

Assim!

A criptografia quântica já chegou até nós

Page 48: cripto

Que outras surpresas nos aguardam?

Page 49: cripto

?