|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Criptografia Quântica X Criptografia Clássica
Criptografia (kriptós = escondido, oculto; grápho = grafia) é a ciência de escrever em cifra ou em códigos, isto é, através de técnicas diversas, permite tornar incompreensível uma mensagem originalmente escrita com clareza, de forma que somente o destinatário a decifre e a compreenda. Podemos dividir a ciência em duas: a Criptografia Clássica e a Criptografia Quântica.
Os algoritmos modernos utilizam uma chave para controlar a codificação e decodificação da mensagem. Tipicamente, a codificação de uma mensagem M possui um emissor chamado Alice, e um receptor chamado de Bob. A mensagem M é escrita em um alfabeto A, e cada símbolo do alfabeto pode ser mapeado para um valor inteiro. Então, para enviar a mensagem para Bob, Alice:
Bob por sua vez:
Para que o algoritmo seja eficaz, as funções devem possuir a propriedade de uma ser o inverso da outra. Além de que, Alice deve computar Criptografar eficientemente, enquanto que uma pessoa não autorizada não deve ser capaz de computar Decriptar eficientemente. Entende-se eficiência por rapidez. Existem funções com essas propriedades, que são chamadas funções trapdoor. Elas são fáceis de computar, mas difíceis de inverter, a menos que se conheça ou se tenha acesso a uma chave secreta K. Então, para criptografar uma mensagem M Alice computa:
E para recuperar a mensagem, Bob computa:
De acordo com a chave que utiliza, os algoritmos clássicos podem ser: Simétricos ou de chave privada - utilizam uma única chave tanto para criptografar quanto decriptar a mensagem. Desse modo, os envolvidos na comunicação precisam possuir a mesma chave e esta deve ser secreta. Para que este mecanismo possa funcionar com segurança é necessária a existência de um canal seguro para a transmissão da chave, e esta deve ser trocada a cada nova comunicação, caso contrário está sujeita a ser quebrada por criptoanálise. Um exemplo de algoritmo simétrico é o One Time Pad. Assimétricos ou de chave pública - utilizam duas chaves no processo: a chave pública para criptografar a mensagem, e a chave privada para decriptar. Não havendo troca de chaves! Seu exemplo mais conhecido é o RSA. A Criptografia Clássica possui alguns pontos falhos em relação ao uso de chaves: 1) Em relação aos algoritmos de chave simétrica (One-Time Pad), o problema reside em como obter/manter um canal seguro para a troca de chaves, pois sempre pode haver alguém espionando o canal e assim, passivamente, obter uma cópia da chave transmitida, e não há como detectar a presença do espião. 2) Já os algoritmos de chave assimétricos (RSA) têm sua segurança baseada numa pretensa intratabilidade computacional pelo fato de que os algoritmos de fatoração para os computadores atuais são de ordem exponencial, o que praticamente invalida a quebra do protocolo. Porém, segundo Shor, a fatorização de números pode ser feita em tempo polinomial num computador quântico, o que coloca em xeque a segurança desses sistemas criptográficos. 3) Em qualquer dos métodos é impossível saber classicamente se há alguém monitorando o canal de comunicação. Uma saída para esses problemas é encontrada na Criptografia Quântica cuja segurança é baseada nas leis da Física Quântica, e promete que: 1) se alguém interceptar a troca de chaves será possível detectar sua presença, e 2) se as chaves são usadas no método One-Time Pad, então segurança completa é obtida.
Criptografia Quântica Apesar do nome Criptografia Quântica já ter se tornado comum no meio científico, na realidade ela engloba apenas a troca segura de chaves, utilizando para isso, princípios da Mecânica Quântica, mais precisamente, a natureza quântica dos fótons. É preciso, portanto, utilizar métodos clássicos para a troca da mensagem propriamente dita. Devido a isso, a Criptografia Quântica também é conhecida como Distribuição Quântica de Chaves ou QKD (Quantum Key Distribuition). Distribuição Quântica de Chaves (QKD) Uma das propriedades mais importantes da Mecânica Quântica é a impossibilidade de cópia da informação (estado) quântica, segundo o teorema da Não-Clonagem. Por outro lado, não se pode medir ou obter informação de um estado quântico genérico, do qual não se tenha conhecimento a priori, sem que se perturbe o sistema. A idéia da Criptografia Quântica está justamente na utilização destas propriedades quânticas. Desse modo, se algum espião tentar ler (medir) a informação que está sendo enviada através de um canal quântico, irá modificá-la, sendo possível perceber sua presença. A informação quântica é
representada pelo qubit (quantum bit), em oposição ao bit clássico. Um
exemplo de realização física de um qubit é o spin-1/2 de uma partícula
quântica que pode estar no estado para cima
Protocolos quânticos para troca de chaves só foram desenvolvidos recentemente, como o B92 e o protocolo EPR. Destacaremos aqui o pioneiro e mais famoso, o BB84. BB84 O primeiro protocolo de Criptografia Quântica foi proposto em 1984 por Bennett e Brassard[BB84]. Ele é utilizado para estabelecer uma chave entre Alice e Bob para ser usada em um protocolo de Criptografia Clássica, permitindo detectar se Eva está espionando a comunicação. Há dois canais utilizados: o quântico, onde serão transmitidos os fótons, e o público, onde será feito todo o resto da comunicação. E Eva pode estar monitorando os dois. Inicialmente, Alice e Bob escolhem dois alfabetos para representar os bits 0 e 1, que são duas bases: a retilínea e a diagonal. O protocolo parte do princípio que o canal público é autenticado: cada um dos envolvidos sabe e tem garantia da identidade do outro. A base retilínea
A base diagonal
Na primeira parte do protocolo, Alice deve enviar uma seqüência aleatória de bits para Bob através do canal quântico. Para isso, ela faz: 1. Alice gera uma seqüência aleatória de bits que será usada para construir a chave secreta entre ela e Bob. 2. Para cada bit da seqüência gerada
no passo 1, Alice escolhe aleatoriamente entre as duas bases do alfabeto. Assim, ela gera os fótons polarizados de acordo com sua seqüência de bits e de bases, e os envia a Bob. 3. Ao receber os fótons de Alice, Bob não sabe quais as bases ela escolheu para gerá-los. Assim, ele gera uma seqüência aleatória de bases escolhendo entre as duas do alfabeto. 4. Bob utiliza essas bases para medir os fótons recebidos. Ao medi-los, Bob nem sempre obtém a informação correta, isto é, se a base que ele escolheu coincidir com a de Alice, ele obtém o valor correto do bit, caso contrário, ele obterá um bit de valor aleatório. Na média, em 50% das vezes, Bob vai errar. No final da medição, Bob e Alice terão, cada um, uma seqüência de bits.
Chave Inicial O canal de comunicação
a partir de agora é o canal público, e nessa segunda parte do protocolo,
Alice e Bob irão extrair uma chave inicial
As seqüências obtidas por cada um devem coincidir em 100%, a menos que a Eva tenha tentado escutar a comunicação realizada no canal quântico ou o mesmo seja ruidoso. Assumiremos que o canal não introduz ruído, logo toda perturbação será causada devido à presença de um espião. No caso acima, não havia espião, então a chave inicial não contém erro. Suponha então que Eva estivesse no canal, e interceptasse os fótons que Alice enviou, medindo-os e depois enviando-os a Bob. Como ela também não saberia quais bases Alice utilizou, ela iria escolher suas bases também aleatoriamente, acertando-as 50% das vezes. Logo, quando Bob fosse medir os fótons, ele também iria introduzir erro, e por fim, o erro introduzido pelo espião seria de 25%.
Estimativa de Erro De posse da chave inicial, Alice e Bob devem calcular a taxa de erro da comunicação para saber se Eva está ou não espionando. Para calcular a taxa de erro R, eles comparam pequenos trechos de suas chaves, por exemplo, eles retiram das suas chaves os bits das posições pares formando um bloco para comparação, e anunciam esses bits publicamente. No final da comparação, eles obtém a taxa de erro R como sendo a proporção entre os erros encontrados e o tamanho do bloco. Assim, se essa taxa R ultrapassar a taxa de erro máxima Rmax, estipulada por eles como sendo o nível de segurança requerido, a comunicação não é segura e Eva está espionando o canal. Eles devem então, reiniciar o protocolo, com Alice enviando novos fótons a Bob. Caso R < Rmax, eles continuam o processo para produzir uma chave livre de erros, chamada chave reconciliada. Reconciliação de chaves Nessa fase, Alice e Bob precisam remover todos os erros das suas chaves iniciais e produzir uma chave livre de erros, a chave reconciliada. Eles concordam publicamente numa permutação aleatória e a aplica as suas chaves. Em seguida a particionam em blocos de tamanho k, onde k é escolhido de modo a ser improvável que cada bloco possua mais de um erro. Para cada bloco, Alice e Bob anunciam a paridade do mesmo comparando-as e retiram o último bit do bloco. Cada vez que as paridades divergirem, eles iniciam uma pesquisa binária para encontrar o erro, isto é, dividem o bloco em dois sub-blocos, realizam o cheque de paridade em cada sub-bloco, comparam os resultados e retiram o último bit do sub-bloco. Essa pesquisa continua até que o bit errado seja localizado e excluído. Ao consertar um bloco, repete o procedimento para o próximo bloco até percorrer todos os blocos da chave consertando-os. Ao final, repete-se o procedimento, isto é, permuta-se a chave novamente, escolhe um novo valor k para dividir a chave em blocos, faz o cheque de paridade, etc... Quando, para algum número fixo de N repetições desse procedimento, nenhum erro é encontrado, Alice e Bob assumem com alta probabilidade que suas chaves não possuem erros, chamando-as então de chave reconciliada, e passam para a próxima fase. Amplificação de Privacidade Alice e Bob possuem
agora uma chave reconciliada comum que é parcialmente secreta. Iniciam
então o processo de amplificação de privacidade que é a extração de uma
chave secreta a partir de uma chave parcialmente secreta. Assumimos que n é o número de bits da chave reconciliada e s um parâmetro de segurança ajustável. Alice e Bob selecionam publicamente (n-k-s) subconjuntos aleatórios da chave reconciliada, mas sem revelar seu conteúdo. Eles então, computam a paridade de cada subconjunto selecionado e estabelecem os resultados como sendo a chave final secreta. A informação que Eva
tem sobre a chave final é, na média, menos de 2-s/ln2 bits da chave!. De posse de uma chave secreta, eles podem iniciar agora um algoritmo clássico de troca de mensagens. Utilizando o One-Time Pad, Alice e Bob conseguem uma comunicação 100% segura na troca de mensagens, dado que suas chaves compartilhadas são secretas. Fonte: http://www.dsc.ufcg.edu.br/~gmcc/mq/criptografia.html Tópicos Relacionados:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||