Вы находитесь на странице: 1из 38

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa sob a tica da Complexidade de Algoritmos


Felipe Pontes
Universidade Federal de Campina Grande - UFCG Departamento de Sistemas e Computao - DSC Programa de Ps-Graduao em Informtica

25 de outubro de 2006

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Roteiro
1 2 3 4 5 6 7 Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Motivao

Criptograa trata a seguinte situao: Alice deseja enviar uma mensagem para Bob atravs de um canal inseguro; Os canais mais utilizados so obtidos atravs de redes telefnicas que permitem a fcil interceptao de mensagens; Alice deseja que apenas Bob conhea o contedo da mensagem; Necessidade de mecanismos para a codicao da mensagem.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Motivao

Alice e Bob devem combinar os algoritmos de codicao (C) e decodicao (D) da mensagem; Tais algoritmos podem ser conhecidos publicamente; A privacidade assegurada atravs de duas strings:
c - chave de codicao; d - chave de decodicao.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Motivao

Alice codica a mensagem atravs de C (c , x ) = y e Bob decodica atravs de D (d , y ) = x ; C e D devem ser cuidadosamente selecionados, de modo que D seja o inverso de C; C e D devem ser algoritmos que podem ser computados em tempo polinomial; No deve existir meio de um atacante computar x a partir de y, sem conhecer d.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Criptograa de Chave Simtrica

Quando c = d o mtodo chamado de criptograa de chave simtrica; Os algoritmos de codicao e decodicao podem ser simplesmente um ou exclusivo sobre a mensagem; C (c , x ) = c x = y e D (c , y ) = c y ; D o inverso de C (D (c , C (c , x )) = x ); Para um atacante derivar x a partir de y ele deve conhecer c.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Criptograa de Chave Simtrica

A chave deve ser combinada previamente atravs de um meio de comunicao seguro; A chave deve ter o mesmo tamanho que as mensagens (por conta do ou exclusivo); A chave deve ser trocada a cada envio de mensagem para evitar que seu padro seja descoberto.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Criptograa de Chave Pblica

No mtodo de criptograa de chave pblica, apenas a chave de codicao conhecida publicamente. A chave de decodicao guardada em segredo; Alice pode codicar uma mensagem para Bob utilizando a chave pblica dele; Bob decodica a mensagem atravs de sua chave privada; Nesse mtodo computacionalmente invivel deduzir d a partir de c e x a partir de y, sem conhecer d.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Criptograa de Chave Pblica


possvel encontrar y gerando aleatoriamente strings x e testando se C (c , x ) = y ; Como x no pode ser mais que polinomialmente maior que y, comprometer um sistema que utiliza criptograa de chave pblica um problema em FNP ; Sistemas de criptograa de chave pblica seguros s podem existir caso P = NP ; Mesmo se P = NP a existncia de sistemas seguros no garantida.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way
Denio: Funes One-Way Seja f uma funo de strings em strings, f dita one-way se:
1

f um-para-um e para toda entrada x, f (x ) no mais do que polinomialmente maior ou menor que x. 1 |x | k |f (x )| |x |k , onde k > 0; f est em FP, ou seja, pode ser computada em tempo polinomial; f 1 no est em FP, ou seja, no existe algoritmo que dado y, encontre x em tempo polinomial de modo que f (x ) = y , ou retorne no se no existir.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way

f 1 a qual se supe no estar em FP , est em FNP , pois um atacante pode checar se x realmente x, testando se f (x ) = y ; Mesmo se P = NP no existem garantias que funes one-way realmente existam; Suspeita-se que as funes fMULT e fEXP sejam do tipo one-way.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way - fMULT

fMULT (p , C (p ), q , C (q )) = p .q , onde p e q so dois primos, tal que p < q e C (p ) e C (q ) so certicados de primalidade de p e q; fMULT um-para-um, pode ser computvel em tempo polinomial e no existe algoritmo que fatore nmeros primos grandes; No conhecido algoritmo para inverter fMULT . Sem levar em considerao computao quntica.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way - fEXP

fEXP (p , C (p ), r , x ) = (p , C (p ), r x mod p ), onde p um primo, C (p ) seu certicado de primalidade, r uma raiz primitiva mdulo p e x um inteiro menor que p; No se conhece algoritmo para inverter fEXP em tempo polinomial; Problema de logaritmo discreto.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way - fRSA

As funes fMULT e fEXP no podem ser usadas separadamente como base de um sistema de criptograa de chave pblica; Uma combinao delas, resultando na funo fRSA , pode ser usada como base para tal sistema; fRSA (x , c , p , C (p ), q , C (q )) = (x c mod pq , pq , c ), onde p e q so primos, pq o produto deles e possui log pq bits e c tal que mdc (c , (n)1 ) = 1.

1 1 (n) = pq .(1 p ).(1 q ) = pq p q + 1 Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

Funes One-Way - fRSA

fRSA uma funo one-way:


fRSA um-para-um, o que satisfaz a propriedade 1 da denio de funes one-way; fRSA pode ser computada em tempo polinomial, propriedade 2; No se conhece algoritmo que inverta fRSA em tempo 1 polinomial. fRSA no est em FP .

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

RSA

Mtodo desenvolvido em 1978 por R. L. Rivest, A. Shamir e L. Adleman do MIT; Baseado em teorias matemticas que at ento no tinham aplicao prtica; O mtodo RSA de criptograa computacionalmente seguro.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

RSA

Se todos os computadores pessoais do mundo (aprox. 260 milhes, em 1997) trabalhassem para quebrar uma nica mensagem cifrada com PGP 2 , levaria-se em mdia 12 milhes de vezes a idade do universo (aproximadamente 13, 7 bilhes de anos, segundo a NASA) para decifr-la. William Crowell, vice-diretor do NSA.

Pretty Good Privacy - www.pgp.com


Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

RSA
Bob escolhe e guarda os primos p e q, anunciando o produto pq, bem como a chave de codicao c; Alice usa c para codicar uma mensagem a ser enviada para Bob atravs de x c mod pq = y ; Bob usa d, um outro resduo mdulo pq, tal que c .d = 1 + k (pq ), para um inteiro k , onde d o inverso de c no anel mdulo (pq ); Bob decodica a mensagem y fazendo y d = x cd = x 1+k (pq ) = x mod pq , pois x (pq ) = 1 mod pq pelo teorema de Fermat.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa de Chave Simtrica Criptograa de Chave Pblica

RSA

Qualquer algoritmo que fatore inteiros ecientemente pode ser usado para inverter fRSA de maneira eciente; Deve-se fatorar pq, descobrindo p e q, computar (pq ) e a partir de seu resultado juntamente com c recuperar d atravs do algoritmo de Euclides; A inverso de fRSA se reduz a inverso de fMULT .

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade

As classes de complexidade estudadas no so adequadas para classicar as funes one-way; Classe UP para melhor agrupar funes one-way; Denio: Mquina de Turing no Ambgua Uma mquina de Turing no determinstica dita no ambgua se para qualquer entrada x existe no mximo uma computao aceita.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade

UP a classe de linguagens aceitas por uma maquina de Turing no determinstica, no ambgua e limitada em tempo polinomial; P UP NP :
P UP , pois uma mquina determinstica pode ser dita uma mquina no determinstica que possui apenas uma escolha a cada passo; UP NP , pois mquinas no ambguas fazem parte, por denio, de um tipo especial de mquinas no determinsticas.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade

Teorema: UP = P se e s se no existirem funes one-way. A prova consiste em mostrar que:


se existe uma funo one-way f, ento existe uma linguagem Lf tal que UP = P; por outro lado, se existe uma linguagem L UP P (UP = P), ento possvel construir uma funo one-way.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade

Espera-se que P = UP e que UP = NP ; A informao mais til no contexto de criptograa se P = UP e no se UP = NP ; Completude NP no til para identicar funes one-way; Infelizmente acredita-se que no existem problemas UP completos ; Acredita-se que UP seja uma classe semntica.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade
O estudo de complexidade baseia-se geralmente no estudo do pior caso dos algoritmos; Para o estudo de criptograa essa suposio no vlida; Seu um atacante puder decodicar mesmo algumas poucas mensagens a segurana poder estar comprometida. Uma nica mensagem pode ser extremamente importante; Mesmo que a decodicao das mensagens restantes fosse de ordem exponencial; A suposio de pior caso utilizada na propriedade 3 da denio de funes one-way.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade
A propriedade 3 deve ser substituda por: no existe um inteiro k e um algoritmo o qual para um n grande o suciente, 2n compute f 1 (y ) em tempo O (nk ), para pelo menos n k strings y de tamanho n. No existe um algoritmo que inverte f em tempo polinomial para algumas entradas de tamanho n; Isso no suciente, pois se baseia em um algoritmo determinstico, e um atacante poderia utilizar algoritmos randmicos; Suspeita-se que fMULT e fEXP sejam funes que respeitam essa nova propriedade, mas no podem ser usadas como base para um sistema criptogrco de chave pblica.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa e Complexidade
Alm das propriedades das funes one way, existem outras propriedades que devem existir para uma funo em um sistema de criptograa de chave pblica:
Pode-se ecientemente realizar uma amostra do domnio da funo one way; Existe uma funo de entrada d, polinomialmente computvel, que torna o problema da inverso simples.

Isso pode ser mapeado em RSA para:


Bob pode gerar pares de chaves pblicas ou secretas rapidamente (abundncia de primos); Bob pode decodicar a mensagem de Alice de modo eciente.

Funes one-way que possuem essas propriedades e considerando reservas sobre a propriedade 3 so ditas funes trapdoor.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa Randmica
Mesmo com a utilizao de funes trapdoor, um atacante pode decodicar algumas mensagens importantes; O determinismo existente no sistema permite que um atacante detecte repeties nas mensagens; Um tipo de mensagem que pode ser facilmente decodicada uma mensagem de um nico bit; Suponha que Alice deseja enviar um nico bit b {0, 1} para Bob, usando o mtodo RSA. Se Alice codicar b como uma mensagem comum, o bit codicado ser igual ao original. bc = b.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Criptograa Randmica
Como soluo Alice pode criar aleatoriamente um inteiro c mod pq = y para Bob que x pq 2 e transmitir (2x + b ) decodica y como usual e encontra b como o ltimo bit do inteiro decodicado; Est claro que qualquer mtodo que consiga quebrar essa maneira randmica de codicar as mensagens pode ser usado para quebrar o RSA; Essa maneira mais lenta que o RSA original, no entanto no possui os problemas existentes no mtodo RSA (deteco de repeties, sorte na recuperao de mensagens importantes, etc.).
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Protocolos

A insero de criptograa diculta o estudo de algoritmos para solucionar um problema; Trade-o: segurana versus complexidade da soluo.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Certicados
Alice deseja enviar uma mensagem e garantir que foi ela quem enviou; Assinaturas de mensagens podem ser implementadas atravs de sistemas de chave pblica; Alice assina uma mensagem atravs de SAlice (x ) = (x , D (dAlice , x )); Bob extrai D (dAlice , x ) e codica-a usando a chave pblica de Alice para encontrar a mensagem x; Isso ilustra uma caracterstica avanada de sistemas criptogrcos de chave pblica: a comutatividade; A decodicao inverte a codicao e vice-versa.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Provas Interativas
Supe-se que Alice tenha poder computacional exponencial e Bob polinomial; Alice deseja convencer Bob de que uma frmula qualquer satisfatvel; Alice pode enviar uma atribuio que torna satsfatvel para Bob que utiliza seus resumido poder computacional para se convencer que a atribuio torna a frmula satisfatvel; Por outro lado, se for insatisfatvel Alice no conseguir convencer Bob disso; Se Bob puder usar randomizao e falsos positivos e negativos forem tolerados com uma pequena probabilidade de erro, ento ele poder decidir linguagens em BPP.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Provas Interativas

Denio: Sistemas de Prova Interativa Um sistema de prova interativa (A,B) um protocolo entre Alice e Bob. Alice executa um algoritmo em tempo exponencial A e Bob executa um algoritmo randmico em tempo polinomial B. A entrada do protocolo uma string x, conhecida por ambos os algoritmos. Os dois trocam uma seqncia de mensagens, na qual Alice envia as mensagens mpares e Bob envia as pares. Se a ltima mensagem {sim , no }, Bob sinaliza o nal aprovando ou desaprovando a entrada.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Provas Interativas

Denota-se por IP a classe de todas as linguagens decididas por um sistema de prova interativa; IP contm NP e BPP ; NP a subclasse de IP na qual Bob no usa randomizao; BPP a subclasse de IP na qual Bob ignora as respostas de Alice; O problema de saber se dois grafos no so isomorfos est na classe IP .

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Conhecimento Zero

Supe-se que Alice tenha resolvido o problema 3 COLORING (NP-completo) e quer convencer Bob de que sua soluo est certa; Alice pode atravs de um sistema de prova interativa convencer Bob disso; Bob pode ser desonesto e roubar a autoria da soluo para si.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Certicados Provas Interativas Conhecimento Zero

Conhecimento Zero

Para que Alice possa convencer Bob que sua soluo est correta sem revel-la, pode-se elaborar um sistema na qual ela mande os pares de ns do grafo e as cores criptografadas; Bob tem como saber se a soluo est correta sem ter que saber quais as cores utilizadas; Usando redues possvel concluir que todos os problemas em NP possuem uma prova que utiliza o protocolo de conhecimento zero.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Concluses
Criptograa pode ser observada intimamente com complexidade de algoritmos; RSA um mtodo at ento seguro para troca de mensagens criptografadas; Enquanto P = NP ; O desenvolvimento da computao quntica, na qual os computadores no so determinsticos, fatalmente aposentar o mtodo RSA; Novos mtodos baseados em criptograa quntica devem surgir.
Felipe Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Referncias Bibliogrcas

Evaristo, J. (2002). Introduo lgebra Abstrata. EDUFAL. Papadimitriou, C. H. (1994). Computational Complexity. Addison-Wesley.

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Introduo Mtodos de Criptograa Criptograa e Complexidade de Algoritmos Criptograa Randmica Protocolos Concluses Referncias Bibliogrcas

Dvidas

Felipe

Criptograa sob a tica da Complexidade de Algoritmos

Вам также может понравиться