49
Matemática e Criptografia Severino Collier Coutinho UFRJ

Matemática e Criptografia Severino Collier Coutinho UFRJ

Embed Size (px)

Citation preview

Page 1: Matemática e Criptografia Severino Collier Coutinho UFRJ

Matemática e Criptografia

Severino Collier Coutinho

UFRJ

Page 2: Matemática e Criptografia Severino Collier Coutinho UFRJ

Criptologia

• Criptografia arte de esconder mensagens

• Criptoanálise arte de quebrar mensagens

Criptos = escondido em grego

Page 3: Matemática e Criptografia Severino Collier Coutinho UFRJ

História

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

Page 4: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

Abre parêntesis...

Page 8: Matemática e Criptografia Severino Collier Coutinho UFRJ

Hieróglifos egípcios

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

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

Page 9: Matemática e Criptografia Severino Collier Coutinho UFRJ

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

• Segue Horapollo.

• Língua copta.

Page 10: Matemática e Criptografia Severino Collier Coutinho UFRJ

A chave

• Pedra de Rosetta.

• Descoberta em 1799.

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

Page 11: Matemática e Criptografia Severino Collier Coutinho UFRJ

O decifrador

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

• Língua derivada do copta.

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

Page 12: Matemática e Criptografia Severino Collier Coutinho UFRJ

O alfabeto

Page 13: Matemática e Criptografia Severino Collier Coutinho UFRJ

Determinativos

= htr = cavalo

• O determinativo é o desenho do cavalo.

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

Page 14: Matemática e Criptografia Severino Collier Coutinho UFRJ

Linear B• Descoberta em Creta.

• Decifrado por M. Ventris em 1953.

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

Page 15: Matemática e Criptografia Severino Collier Coutinho UFRJ

Vale do Indo• Ainda não decifrada.

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

Page 16: Matemática e Criptografia Severino Collier Coutinho UFRJ

Fecha parêntesis...

Page 17: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

RSA

Chave públicamais popular

Inven-tado em 1976

Rivest Shamir

Adleman

Page 20: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

Porém ...

O universo só tem 1011 anos!

Page 26: Matemática e Criptografia Severino Collier Coutinho UFRJ

Portanto...

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

Page 27: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

Entretanto...

Decodificada em 1994:

“The magic words are squeamish ossifrage”

Page 29: Matemática e Criptografia Severino Collier Coutinho UFRJ

Como foi feito

• 600 computadores de voluntários

• Em 25 países

• Dados reunidos usando um supercom-putador

• Tempo total: oito meses!

Page 30: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

RSA-1602152741102718889701896015201312825429257773588845675980170497676778133145218859135673011059773491059602497907111585214302079314665202840140619946994927570407753

Fatores

45427892858481394071686190649738831656137145778469793250959984709250004157335359 e

47388090603832016196633832303788951973268922921040957944741354648812028493909367

Page 32: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

O Futuro Próximo

• Sistema usa curvas elípticas.

Page 36: Matemática e Criptografia Severino Collier Coutinho UFRJ

Grupo da curva elíptica

• Podemos somar pontos em uma curva elíptica.

• Isto torna a curva em um grupo.

Page 37: Matemática e Criptografia Severino Collier Coutinho UFRJ

ECC

• Fixe uma curva E e P E.

• Chave secreta: inteiro positivo k.

• Chave pública: Q = kP.

Page 38: Matemática e Criptografia Severino Collier Coutinho UFRJ

Suponha...

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

Page 39: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

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: Matemática e Criptografia Severino Collier Coutinho UFRJ

ECC: quebrando

Calcular k conhecendo Q = kP.

Problema do Logaritmo Discreto

Page 42: Matemática e Criptografia Severino Collier Coutinho UFRJ

O Futuro Distante

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

• Criptografia quântica.

Page 43: Matemática e Criptografia Severino Collier Coutinho UFRJ

As perguntas finais...

Page 44: Matemática e Criptografia Severino Collier Coutinho UFRJ

Quão próximo, ou distante?

Page 45: Matemática e Criptografia Severino Collier Coutinho UFRJ

Assim...?

Page 46: Matemática e Criptografia Severino Collier Coutinho UFRJ

Não!

Page 47: Matemática e Criptografia Severino Collier Coutinho UFRJ

Assim!

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

Page 48: Matemática e Criptografia Severino Collier Coutinho UFRJ

Que outras surpresas nos aguardam?

Page 49: Matemática e Criptografia Severino Collier Coutinho UFRJ

?