Artigo
Artigo
Computação Quântica e o Apocalipse Criptográfico
A ciência da computação já saiu da era da eletrônica e deu os primeiros passos no universo quântico. Isso deve representar todo um desenvolvimento que nos trará uma disruptura na forma de processamento de informações e, nesse processo, nos ajudará a resolver muitos dos problemas difíceis do mundo.
A computação “clássica” atingiu seus limites: tanto em tamanho físico, com a nanotecnologia, quanto em performance, com a álgebra booleana. Como alternativa, tem-se construído computadores com mais núcleos, o que permite efetivar processamentos paralelos. Há também pesquisas em andamento que buscam alternativas para melhorar a performance dos atuais modelos de computadores. Um exemplo é o computador que utiliza as propriedades das cadeias de DNA para armazenar informações e efetivar operações lógicas. Há também os Autômatos Celulares, que trabalham com células capazes de armazenar mais que duas possibilidades, ou mais que dois estados. Isso possibilita utilizar, para esse três ou mais estados, a álgebra linear, diferentemente da álgebra booleana. São, porém, ideias que ainda até então não prosperaram.
Um dos problemas de difícil solução é encontrar dois números primos entre si que, multiplicados, dê um número inteiro, como, por exemplo, 63531. Um algoritmo probabilístico foi criado em 1994 nos laboratórios da AT&T por Peter Shor, professor de matemática aplicada. Nos laboratórios da empresa de tecnologia, ele propôs uma solução não linear utilizando simulação por computadores clássicos. Naturalmente, o problema é resolvido com maior rapidez, mas ainda não o suficiente para solucionar cálculos com números maiores.
O marco aqui foi resolver o problema com um toque de aleatoriedade, até então não utilizada em processamento, mas já proposta por Richard Feynman. O pesquisador do MIT, em 1981, sugeriu utilizar o modelo da Mecânica Quântica para estudos de processamento quântico. Em 1985, David Deutsch, da Universidade de Oxford, aceitou o desafio de Feynman e descreveu uma Máquina de Turing Quântica, a primeira simulação do Computador Quântico. Nessa busca por melhorar a performance de processamento, a Computação Quântica surge como um dos modelos com mais promessas de revolução nessa busca por melhorar a performance de processamento.
Para se falar em Computação Quântica, é preciso um pouco de Mecânica Quântica, pois há regras que são estranhas para nosso dia a dia, mas que funcionam nesse universo e que respondem à essa realidade, sendo, portanto, consistentes. Uma forma de explicar essas estranhezas é o paradoxo do gato de Shrödinger. De forma simplificada, um gato e um frasco contendo veneno são postos em uma caixa lacrada; o frasco pode ser quebrado, liberando o veneno e matando o gato, mas não se sabe se isto ocorreu. Antes de sabermos, a Mecânica Quântica sugere que o gato estará simultaneamente vivo e morto. Os estados vivo e morto somente existem simultaneamente enquanto a tampa da caixa estiver fechada (este é o tempo de processamento). Ao abrir, o gato estará ou vivo ou morto (estados possíveis de serem medidos: estado inicial ou outro estado). Durante o tempo em que a caixa permanece fechada, as diversas possibilidades ocorrem ao mesmo tempo e, embora não sejam medidas, as possibilidades podem ser descritas por meio de combinação linear dos dois estados, como uma superposição dos estados vivo e morto!
Esta propriedade de simultaneidade inspira um processamento massivamente paralelo. Foi isto que Feynman propôs, e sua ideia se tornou um marco. Porém, os pontos mais importantes para entender o que é Computação Quântica e as reações que provocou são resumidos a seguir:
- O simples limite a que chegamos, de trabalhar em nível atômico, não é suficiente por si só para se entender o processamento quântico.
- Faz-se processamento quântico quando se analisam os diversos estados não mensuráveis permitidos pela mecânica quântica.
- Estes estados não mensuráveis possuem propriedades exclusivamente quânticas, tais como emaranhamento, superposição e decoerência.
- Estas propriedades são responsáveis pelas “estranhezas” da quântica. No entanto, são elas que permitirão o processamento quântico.
- O grande problema é como usar estas propriedades da Mecânica Quântica para fabricar o Computador Quântico.
Tal processo faz o bit clássico se transformar em um bit quântico, ou quantum bit, simplificado como qubit ou qbit. O bit quântico não se restringe aos dois estados, mas superpõe vários. Se na Computação Clássica se escrevem os bits 0 e 1, na Computação Quântica são escritos os qubits |0〉e |1〉. Assim, um estado ψ como superposição pode ser descrito pela combinação linear |ψ〉=α|0〉+β|1〉em que α e β representam o peso (ou a amplitude de probabilidade) dos qubits, com a restrição de que α2+β2= 1. Esta descrição leva, matematicamente, as infinitas possibilidades dos estados entre 0 e 1 clássicos. Mas, fisicamente, podemos pensar em mil, milhão ou bilhão, dependendo da precisão que se consiga tecnologicamente.
Isso se refere a um qubit. Mas, e se num sistema houver dois qubits? Para a Mecânica Quântica, estes estados se superpõem e forma-se, assim, um estado emaranhado, “compartilhado”, cujo resultado final será uma quantidade de superposições muito maior: mil ao quadrado, milhão ao quadrado, ou bilhão ao quadrado.
O que Feynman propôs foi utilizar, no processamento de dados, os estados existentes na Mecânica Quântica. Assim, todos os estados seriam processados simultaneamente numa única operação, em uma única porta lógica, com uma quantidade enorme de informações.
Esta operação seria realizada no mesmo tempo de processamento que o de uma operação na Computação Clássica. Ou seja, em milionésimos de segundo. Na prática, isso leva a um processamento “massivamente paralelo”, capaz de quebrar chaves criptográficas em poucas operações e em poucos segundos. Seria um caos na informação de hoje e nada mais permaneceria secreto.
Deve-se ter em mente que a Computação Quântica não irá resolver problemas que a Computação Clássica, mas apenas abreviar o tempo de processamento. Porém, isso ocorreria de tal forma que tornaria possível aquilo que consideramos inalcançável por demandar um tempo muito longo. São esses os problemas que terão solução. Hoje, para quebrar uma chave criptográfica, levaríamos um tempo muito longo, da ordem de anos ou de séculos de processamento. Com a Computação Quântica, levaríamos segundos ou no máximo horas (menos que um dia).
Shor propõe um algoritmo envolvendo passos aleatórios que consegue reduzir consideravelmente o tempo de computação, tornando-se um passo importante no avanço da ciência da Computação Quântica. Assim, pode-se perceber a diferença de grandezas. O quadro 1 mostra a aplicação do Algoritmo de Shor, quanto a bits e qubits e, também, entre os tempos para fatorar números utilizando-se a Computação Clássica e a computação Quântica (algoritmo de Shor).
Comprimento do número a ser fatorado (em bits) | Tempo de fatoração (algoritmo clássico) |
Tempo de fatoração (algoritmo de Shor) |
512 | 4 dias | 34 segundos |
1024 | 100 mil anos | 4,5 minutos |
2048 | 100 mil bilhões de anos | 36 minutos |
4096 | 100 bilhões de quatrilhões de anos | 4,8 horas |
Qubits (tecnologia quântica) | Bits (tecnologia clássica) |
1 qubit | 2 bits |
2 qubits | 4 bits |
3 qubits | 8 bits |
5 qubits | 32 bits |
10 qubits | 1.024 bits = 1 Kilo Bit |
20 qubts | 1.048.576 bits = 1 Giga bit |
30 qubits | 1.073.741.824 bits = 1 Tera bit |
Com base nos dois quadros acima, pode-se concluir que o tempo de processamento com um número razoavelmente baixo de qubits é mais do que suficiente para quebrar qualquer chave utilizada em processamento hoje. Mesmo as chaves mais complexas serão desmascaradas em muito pouco tempo. Isto é o caos na informação.
No próximo artigo, saiba se já existe o computador quântico e quais seriam as consequências dessa tecnologia!