Criptografia Clássica e Quântica

Desde cedo, o Homem compreendeu que tinha necessidade de comunicar em segurança entre si. Para tal, inventaram-se várias formas de “esconder” a mensagem privada de “olhares indesejáveis”. Um exemplo (dos mais antigos conhecidos) são os hieróglifos dos egípcios.

Actualmente, o processo mais usado para se comunicar em segurança é usando a criptografia. A criptografia clássica apresenta-se como uma solução provisória, pois dependendo do tempo que se pretenda que a mensagem seja secreta, os métodos usados podem ser ou não fiáveis, isto porque é possível decifrar as mensagens cifradas usando computadores. Normalmente isto não constituiria um problema, pois pode-se ter uma encriptação o quão complexa quanto necessária para que a desencriptação demore um tempo superior ao tempo que se pretende que a mensagem se mantenha segura. O problema será se neste momento se pretender tornar segura uma mensagem durante vários anos – tendo em conta que os computadores quânticos poderão ser uma realidade dentro de pouco tempo, estes com o seu elevado poder de processamento, conseguirão obter a mensagem decifrada em tempos indesejáveis. Assim, torna-se necessário desenvolver métodos de criptografia alternativos.

Criptografia Clássica

Existem duas formas gerais de tornar uma mensagem segura: usando um código ou uma cripta. Um código é apenas a substituição de uma palavra por outra (por exemplo, no Dia-D da Segunda Guerra Mundial, as praias de desembarque das tropas eram conhecidas pelos códigos Omaha, Juno, etc.), deste modo pode-se dizer que um código manipula o significado da mensagem, ao invés da cifra que funciona como uma alteração da representação da mensagem. Um exemplo clássico, será o cifrar da palavra “cubo” para “dvcp”, em que apenas se substituiu cada letra pela seguinte do alfabeto (cifra usada por Júlio César). Uma outra técnica clássica foi a usada pelos espartanos: o scytale (figura) – a primeira máquina criptográfica, em que pela transposição das letras de uma certa forma, a mensagem se tornava visível. Estes são então os dois métodos básicos de criptografia: transposição e substituição. Combinando-as conseguem-se criptas mais robustas.

199pxskytalepd0

Figura – Scytale.

Foi através do estudo de quebra de cifras que se inventou o primeiro computador digital, daí considerar-se que a criptografia é a “mãe” da ciência de computadores. Destes surgiu uma criptografia baseada em algoritmos de tratamento de bits, os quais representam uma chave que deverá decifrar a mensagem. A chave deverá ser, por isso, uma sequência aleatória de caracteres (neste caso bits), de modo a que só através do algoritmo correcto esta possa ser identificada.

Objectivos

O objectivo da criptografia, como já referido, é assegurar uma comunicação segura, ou seja, a mensagem criptada deverá garantir a confidencialidade – só o destinatário da mensagem deverá ser capaz de ler a mensagem, a integridade – o destinatário deverá ser capaz de determinar se a mensagem foi alterada na transmissão da mesma, a autenticação – o destinatário deverá ter forma de saber se a mensagem lhe foi enviada pelo remetente esperado, e o não-repúdio – o remetente não poderá negar o envio da mensagem.

Ainda que estes sejam os objectivos naturais da criptografia, existem métodos criptográficos que não verificam todas as condições, quer por impossibilidade técnica, quer por não ser desejável (por exemplo, se for requerido que o remetente se mantenha anónimo, a autenticidade não será uma condição a verificar).

Deste modo, existem métodos criptográficos específicos para verificar estas condições, os quais podem ser divididos em dois grupos: criptografia simétrica e criptografia assimétrica.

Criptografia Simétrica

A criptografia actual baseia-se na troca de chaves entre um remetente (chamemos-lhe José) e um destinatário (chamemos-lhe Maria). É desejável que um possível usurpador (chamemos-lhe António) não consiga quebrar a privacidade entre a transmissão do José e da Maria. O tamanho da chave apresenta-se como uma parâmetro importante, visto que quanto maior esta for, mais difícil será de a decifrar, no entanto, também mais complicado será de a distribuir de modo seguro.

Nos algoritmos de chave simétrica (também conhecidos por algoritmos de chave privada), existe uma só chave, a qual deverá ser apenas partilhada pelo José e pela Maria. A desvantagem deste método é claramente poder provar com segurança que o António não teve realmente hipótese de obter uma cópia da chave, no entanto, o algoritmo computacional tem a vantagem de ser centenas (por vezes milhares) de vezes mais rápido que um algoritmo baseado em criptografia assimétrica (seguidamente explanado), isto comparando algoritmos de igual qualidade (em termos de segurança). Assim, quando se usa este método deverá ter-se o cuidado de mudar de chave muitas vezes, tentando sempre que o António não tenha acesso a estas. Um outro problema deste método é o facto da Maria não ter hipótese de verificar a autenticidade da mensagem, pois se o António conseguir obter a chave, poderá fazer-se passar pelo José, sem que nada o denuncie.

Criptografia  Assimétrica

Este tipo de criptografia usa um par de chaves: uma privada e uma pública, em que a primeira deverá estar na posse da Maria e a segunda na posse de qualquer pessoa – enviada por uma transmissão não segura, que pode ser interceptada pelo António.

Estas chaves têm a particularidade de que uma mensagem cifrada pela chave privada apenas pode ser decifrada pela chave pública, e do mesmo modo, uma mensagem cifrada pela chave pública só pode ser decifrada pela chave privada.

Deste modo, a Maria (detentora da chave privada) pode enviar a chave pública ao José, o qual de seguida pode cifrar com a sua chave pública a mensagem que quer enviar à Maria – a qual só poderá ser decifrada pela Maria, pois é a única que possui a chave privada – garante-se assim a confidencialidade. De modo inverso, consegue-se provar a autenticidade – a Maria cifra a sua mensagem com a chave privada, e assim o José ao conseguir decifrar a mensagem, fica a saber que foi a Maria que lhe enviou a mensagem.

Este método tem, assim, a vantagem de não depender da segurança associada à distribuição de chaves, no entanto, os algoritmos usados são bastante mais pesados computacionalmente que os da criptografia simétrica, baseando-se na factorização de números suficientemente grandes, sendo de destacar o algoritmo RSA que é dos mais usados actualmente (apesar de o desencriptar ser lento, a encriptação é rápida – o algoritmo é apenas complexo num sentido).

Limitações

Com um computador pessoal actual, a factorização de um número de 600 dígitos decimais levaria cerca de 100 biliões (10^14) anos, o que é mais que suficiente para se poder afirmar que a chave é segura. O problema está na possibilidade de se vir a desenvolver computadores quânticos, os quais se prevê que conseguiriam fazer o mesmo cálculo em alguns minutos, levando a que a anterior chave segura passasse a ser uma chave facilmente deslindada.

Por outro lado, não está matematicamente provado que este método de factorização não possa ter algum tipo de limitação desconhecido que ponha em causa a segurança do algoritmo, sendo assim, enquanto tal não for provado, a utilização deste método deverá ser feita com uma certa cautela.

Qualquer método de criptografia clássico não pode garantir com segurança absoluta de que o António não tenha tido acesso à mensagem.

A Criptografia Quântica (CQ) surge, então, como a possível solução para estes problemas actuais da criptografia, usando, para tal, leis físicas – o Princípio da Incerteza de Heisenberg, em particular.

 

Criptografia Quântica

Aconselha-se que antes de prosseguirem leiam os artigos Mecânica Quântica e o Carácter Dual da Luz e da Matéria, sob pena de não compreenderem muito do que se segue.

Qubits

Um bit é a identidade fundamental em informação, podendo tomar dois valores: “0” ou “1”.

Classicamente, um bit é como que um interruptor entre dois estados distintos de energia, os quais devem estar suficientemente afastados para que não ocorram transições espontâneas de um estado para o outro.

Analogamente, em quântica tem-se o qubit, que não é mais que um sistema de apenas dois estados: |0> e |1> (esta é a formulação de Dirac para funções de onda – são kets, mas para compreenderem o que se segue, basta pensarem que representam dois estados diferentes de energia). Assim, qualquer sistema quântico que tenha dois estados distintos pode ser usado como sendo um qubit.

A propriedade essencial dos estados quânticos quando se usa a codificação para bits é a possibilidade de coerência e sobreposição, o que permite que um estado quântico apenas tome um dado valor, depois da sua medição!

A CQ pode ser conseguida através de partículas simples ou com entanglement. Os protocolos deste último são bastante mais complexos, portanto não os vou referir. Só para ficarem com uma ideia: estados entanglement (entrelaçados) são como que conjuntos de estados quânticos que têm a particularidade de estarem de tal forma correlacionados, que quando se mede um dos estados, os outros ficam determinados (está intrinsecamente relacionado com a famosa “spooky action at a distance” – acção fantasmagórica à distância, expressão usada por Einstein para se referir a este fenómeno curioso). Com isto já conseguem supor qual a sua aplicabilidade em CQ: só se determina o estado enviado quando se tiver a certeza que chegou em segurança.

Partículas Simples

Existem duas metodologias fundamentais na distribuição de chaves criptográficas através de partículas simples (sem entanglement) baseadas na forma como estas podem transportar a informação: polarização e fase.

Bennett e Brassard foram os primeiros a propor a utilização de fotões polarizados para efectuar a transmissão de chaves. Consumaram a sua ideia usando pulsos de luz verde em espaço livre, em distâncias de 40 cm. Esta experiência representou um dos primeiros passos da CQ a nível experimental. Posteriormente, usando este mesmo protocolo, na Universidade de Geneva, conseguiu-se uma distância de 1 km, substituindo o meio de transmissão (espaço livre) por fibra óptica. Actualmente, conseguem-se distâncias de algumas dezenas de quilómetros.

Luz polarizada é luz que se propaga apenas por certos planos paralelos, como podem ver na seguinte figura (nesta conceptualização não pensem na luz como partícula, mas sim como onda):

dsdlcdpolariza

Considerando pulsos de luz polarizada, cada pulso contendo apenas um fotão. Cada fotão codifica um qubit segundo a sua polarização, que pode ser horizontal ou vertical (planos horizontais ou verticais), o que, usando a notação de Dirac, pode ser representado como |↔> e |↨>, respectivamente. Vai-se considerar que |↔> codifica o “1” e |↨> o “0”. Usando esta codificação, o José poderá enviar qualquer tipo de informação para a Maria, desde que tenha o cuidado de fazer a sua chave aleatória, de tal modo que haja igual probabilidade de “0” e “1”. A polarização é controlada através de uma célula de Pockels (PC), que permite ao José escolher entre quatro tipos de polarização (duas bases: horizontal-vertical, 0º e 90º, e diagonal, -45º e 45º).

A Maria, para detectar a chave usa primeiro uma PC que lhe permite rodar a configuração do setup (0º e 45º, dependendo da base que queira escolher) e seguidamente usa um polarizador de divisor de feixe (PBS) que transmite a polarização vertical e reflecte a horizontal (isto na base de 0º).

A Maria só irá detectar correctamente a polarização do fotão enviado pelo José se ambos estiverem a usar a mesma base (quando ambas as PC estão com a mesma direcção de polarização), caso contrário existe 50% de probabilidades de que a Maria efectue uma medição incorrecta. Por outro lado, visto que os detectores não são perfeitos, há a possibilidade de que o detector da Maria falhe na detecção de algum fotão. Assim, torna-se evidente que este sistema é inútil para o envio de mensagens, visto que apenas uma fracção destas seria realmente enviada, no entanto, para a transmissão de chaves criptográficas o sistema já pode ser útil, como será verificado posteriormente.

No que toca à confidencialidade, o setup apresentado até aqui seria completamente inútil, pois o António teria a possibilidade de fazer as mesmas medições que a Maria, copiar a mensagem e enviar à Maria. Para que tal não seja possível, o José terá que proceder a uma outra escolha aleatória: a da base – os fotões serão aleatoriamente polarizados segundo a base horizontal-vertical antes apresentada, ou segundo a base diagonal, em que |/ > denota  o  “1”  e | \ > denota o “0”. Pela rotação do sistema com a PC, a Maria (ou o António) podem escolher fazer a medição na base + ou x (que são respectivamente a base horizontal-vertical e a base diagonal). A mecânica quântica assegura de que caso se escolha a base errada, o fotão terá igual probabilidade de ser medido como “0” ou “1”, não existindo nada no fotão que revele qual o “caminho” que irá tomar. Isto implica que o António nunca irá ter a certeza de que a sua medição foi correcta, pois o facto de medir uma dada polarização numa dada base, pode significar que escolheu a base correcta e como tal o fotão tem realmente essa polarização, como também pode significar que escolheu a base errada e, por acaso, o fotão foi detectado com uma outra dada polarização. Daí ser importante que cada pulso tenha apenas um fotão, para que o António não tenha a possibilidade de efectuar a mesma medição mais que uma vez e desse modo conseguir determinar se está a usar a base correcta ou não. Sublinho que uma medição da polarização com a base errada altera a base de polarização do fotão. Se ainda assim, o António decidir interceptar a transmissão e efectuar as suas medições, bastará uma vez escolher a base errada para que introduza um erro suplementar na chave que o José estava a enviar à Maria, os quais terão depois possibilidade de verificar esse mesmo erro, podendo concluir que a transmissão terá sido interceptada pelo António. (Esta estratégia do António é conhecida como intercept-resend estrategy – estratégia intercepção-reenvio – que é apenas uma das várias possibilidades ao dispor do António.)

Pode-se, assim, construir um exemplo de um protocolo de polarização:

  • O José escolhe uma base aleatoriamente ( + ou x );
  • O José faz corresponder a cada polarização um valor (“0” ou “1”), e envia para a Maria;
  • A Maria escolhe também de modo aleatório uma base e obtém com ela uma dada polarização, ou falha no registo devido a perdas na detecção ou transmissão, (o conjunto de bits obtido é a chave);
  • O José e a Maria usam um canal público para dizerem quais as bases usadas em cada fotão. Eliminam os fotões onde usaram bases diferentes. A chave será constituída apenas pelos bits correspondentes ao uso da mesma base;
  • Se os bits de bases iguais tiverem valores diferentes, isso significa que provavelmente o António terá interceptado a mensagem (e com isso a alterado com as suas medições com bases diferentes), ou que foram causadas devido a imperfeições no setup (no entanto, por questões de segurança, as perturbações devem ser sempre atribuídas ao António, para se obter um grau de certeza maior quanto à confidencialidade da transmissão, o que implica também, que se tenha que usar um sistema quase perfeito);
  • Para transformar a chave recebida que pode conter uma parte corrupta e não inteiramente secreta numa chave utilizável e secreta, o José e a Maria precisam de recorrer a alguns procedimentos, como o cálculo da razão de erro da transmissão, para inferir sobre o máximo de informação que pode ser lida pelo António (pois o António poderia beneficiar, por exemplo, do facto de o sistema não ser perfeito), corrigindo-se de seguida este erro, reduzindo o potencial de informação que o António poderia obter até um dado nível desejado. Os bits restantes deste processo são a chave secreta.

As montagens de polarização são muito aplicadas em espaço livre, onde a polarização é conservada. Ao se tentar implementar em fibras ópticas surgem complicações: despolarização e flutuações aleatórias devido à dupla refracção (no núcleo e na bainha da fibra). O primeiro problema pode ser parcialmente resolvido usando fontes mais coerentes. O segundo, apesar de a escala de tempo ser grande (cerca de uma hora) em condições estáveis, assim que se começa a experiência os tempos diminuem muito, tornando a transmissão impossível. A solução será o uso de um sistema electrónico de compensação, que permita a monitorização e correcção da polarização sempre que necessário, no entanto, esta solução requer que haja um alinhamento entre o setup do emissor e do receptor, o que pode ser uma impossibilidade em certas circunstâncias.

Usando ainda partículas simples, em vez de codificar os bits na polarização, a codificação pode ser feita na fase (trata-se de uma outra propriedade ondulatória da luz), o que tem a vantagem de que se possa usar com maior facilidade as fibras ópticas como meio de transmissão, pois neste caso há uma boa conservação da fase.

De modo análogo ao que acontecia com a polarização, aqui tem-se que a base + pode ter os bits codificados na fase de 0 ou π radianos, enquanto que na base x, os bits terão fase π/2 e 3π/2. Neste caso, as PC são substituídas por módulos de fase (PM). Isto não é mais que uma extensão do interferómetro de Mach-Zehnder, em que a ligação entre o José e a Maria é feito através de fibras ópticas.

As dificuldades começam a evidenciar-se quando se pretendam usar fibras ópticas com mais de 20 km, isto porque, nesse caso, a diferença de fase será difícil de manter constante.

Pode-se concluir que a criptografia quântica tem potencial teórico para vir a ser muito usada futuramente, no entanto, no que toca à implementação experimental existem problemas técnicos por resolver, os quais dependem nomeadamente do desenvolvimento de outros campos da nanotecnologia, como a responsável pela produção de fontes que consigam criar pulsos de um só fotão por pulso (pois mais que um fotão por pulso, significa que o António tem a possibilidade de medir um fotão e deixar seguir o outro, pelo que pode ter a sorte de obter informação, sem que seja detectado). De qualquer forma, já existem sistemas à venda (bastante limitados), que já são usados, por exemplo, para comunicação entre bases militares. Em particular, pode-se referir que existe um sistema de CQ que liga a Casa Branca ao Pentágono, o que demonstra a credibilidade que a CQ já conseguiu adquirir.

AliceBob

Bob: “Oh Alice, tu és a única para mim.”

Alice: “Mas Bob… Num mundo quântico como poderemos ter a certeza?”

Nota 1: A parte da CQ está um pouco técnica. Caso tenham dúvidas, podê-las-emos discutir nos comentários.

Nota 2: Este artigo foi originalmente escrito em 2009, portanto, desde lá até hoje, já pode haver algumas novidades, nomeadamente nos “números”. Ainda no mês passado saiu a notícia que a Toshiba desenvolveu um sistema que permite a partilha de uma mesma linha de transmissão por 64 utilizadores, ao invés de apenas 2, como era normal em CQ.

2 comentários

3 pings

  1. E como ela surgiu, em 2009?

    1. Ela quem? O único “2009” que refiro é na nota 2, e refiro-me à data em que escrevi o presente texto. A Criptografia Quântica é mais antiga, claro. Ela surgiu “basicamente” em 1984, quando Bennett e Brassard propuseram o seu primeiro protocolo (como referido em cima, e conhecido por BB84 – os protocolos seguintes ficaram também conhecidos pelas iniciais dos nomes dos autores, mais o ano em que foram propostos). Digo “basicamente”, porque a ideia de usar a mecânica quântica na criptografia já tinha sido avançada por Stephen Wiesner nos anos 70.

  1. […] se supõe que seja NP é o que concerne a factorização de números primos, a qual é central em criptografia. Se se demonstrasse tratar de um problema P, a criptografia clássica deixaria de ser segura, uma […]

  2. […] que governam o mundo. Bússola. Balão de Ar Quente. Lei da Gravitação Universal. Holograma. Criptografia. Espaço Vazio. Composição do Corpo […]

  3. […] Desde cedo, o Homem compreendeu que tinha necessidade de comunicar em segurança entre si. Para tal, inventaram-se várias formas de “esconder” a mensagem privada de “olhares indesejáveis”.  […]

Deixe um comentário

O seu endereço de email não será publicado.

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.