Quantum Key Distribution (QKD)

Você já ouviu falar de Distribuição de Chaves Quânticas (QKD)?

Samuraí Brito
6 min readJul 14, 2022
Figura retira do site.

À medida que a tecnologia avança o mundo se torna cada vez mais digital, manter a segurança na transferência de dados se tornou uma obrigatoriedade. Para se comunicar com segurança é necessário criptografar a mensagem de maneira que apenas quem está enviando e recebendo entendam mensagem. A criptografia evoluiu com o passar dos anos e continua evoluindo, já que suas técnicas se tornam obsoletas muito rapidamente, devido a uma constante busca por brechas.

O grande desafio na criptografia não é encriptar os dados em si, mas compartilhar, de maneira segura, a chave para descriptografar a mensagem entre as pessoas que estão se comunicando. Esse compartilhamento se chama distribuição de chaves. Atualmente, a abordagem mais comum entre criptologistas é criar protocolos de criptografia baseados na dificuldade de resolver cálculos matemáticos. Entretanto, esse método é vulnerável ao aumento do poder computacional e/ou a novos algoritmos, tornando-o eventualmente quebrável. É vulnerável também à computação quântica, que vem se fortalecendo muito nos últimos anos.

Criptografia Pós-quântica

O NIST tem estudado os protocolos existentes e identificado possíveis ameaças da computação quântica a protocolos como RSA (via algoritmo de Shor) e AES (via algoritmo de Grover — ameaçado dependendo do tamanho da chave).

Em 2016 o NIST lançou uma competição para encontrar novos protocolos de criptografia chamados de Quantum Resistent que se baseiam em problemas complexos demais para serem resolvidos tanto por computadores clássicos como quânticos e provavelmente irão compor os novos protocolos de comunicação segura. Recentemente o NIST concluiu a terceira rodada do processo de padronização da Criptografia Pós-Quântica (PQC), que seleciona algoritmos criptográficos de chave pública para proteger as informações através do advento dos computadores quânticos. Um total de quatro algoritmos candidatos foram selecionados para padronização e quatro algoritmos adicionais continuarão na quarta rodada (ver mais detalhes aqui).

Criptografia Quântica

Criptografia é o processo de criptografar e proteger os dados tal que somente as pessoas que têm a chave secreta correta consigam descriptografar os dados e ter a acesso à mensagem. A criptografia quântica usa as propriedades naturais da Mecânica Quântica para transmitir dados de maneira segura de tal forma que não possa ser hackeado.

Distribuição de chaves

A comunicação segura consiste na habilidade de criptografar a mensagem que se deseja enviar de uma maneira que somente o receptor e o remetente possam descriptografá-la, mas que seja impossível para algum espião descobri-la. Uma maneira de conseguir fazer isso é por meio do compartilhamento de chaves secretas que são utilizadas para criptografar e descriptografar a mensagem. O grande problema consiste em compartilhar a chave de maneira segura de forma que apenas o remetente e o receptor tenham acesso à chave. O QKD utiliza os princípios da Mecânica Quântica para garantir o compartilhamento seguro da chave secreta e assim criptografar e descriptografar a mensagem.

Para tornar nosso exemplo um pouco mais claro, suponha que tenhamos duas pessoas querendo se comunicar: Alice e Bob.

  • Alice envia a mensagem (transmissor)
  • Bob recebe a mensagem (receptor)

A segurança é geralmente é feita com o uso de uma chave, a qual é conhecida somente pelo transmissor e receptor da mensagem.

Se a chave pode ser distribuída com segurança entre o trasmissor e o receptor, a mensagem criptografada pode ser enviada com segurança por meio de um canal público de comunicação. Sem a chave, a probabilidade de descriptografar com êxito a mensagem é praticamente zero.

Em geral, a chave é somente um bitstring — sequência de 0s e 1s, e somente é conhecida por Alice e Bob, as duas partes que estão se comunicando.

Portanto, o problema da comunicação segura consiste em garantir segurança na distribuição da chave.

Quantum Key Distribution usa as leis da mecânica quântica para garantir a segurança na distribuição das chaves utilizando um canal quântico de comunicação.

Figura retirada do site.

Normalmente, as informações são codificadas em fótons únicos, conforme mostrado na figura acima. Alice pode escolher codificá-los em uma “sequência de bits” usando um dos dois estados, como polarização vertical (V) ou horizontal (H), e ela também pode escolher codificar em dois estados diferentes; aqui, duas combinações desses estados rotulados +45° e -45°.

Bob então escolhe medir em um dos dois, o que chamamos de bases — ou ele mede H,V, ou ele mede +45°, -45°. Se ele medir em uma base diferente daquela que Alice usou para preparar, então sua resposta será aleatória e descartada, mas se eles escolherem a mesma, terão resultados perfeitamente correlacionados; Alice envia H e Bob detecta H, e estes são mantidos. Esta última etapa exige que Alice e Bob se comuniquem sobre qual base foi usada, mas não revela nenhuma informação sobre o resultado, que agora se torna a chave secreta.

É importante observar que a criptografia quântica só será utilizada para produzir e distribuir as chaves, não para transmitir a mensagem. A chave gerada poderá ser utilizada com qualquer algoritmo de criptografia escolhido. O algoritmo mais comumente associado com a criptografia quântica é o one-time pad, pois ele tem comprovadamente uma segurança perfeita [1] quando usado com uma chave aleatória do mesmo tamanho que a mensagem [2][3].

A beleza que a física quântica traz para essa solução é que, se um espião ou um hacker tentar interceptar a geração da chave, eles introduzirão erros e se revelarão. É importante ressaltar que isso acontece antes que qualquer informação seja codificada ou comunicada!

  1. Ver mais em: Provably Secure
  2. C.E. Shannon, “A Mathematical Theory of Communication”, Bell System Technical Journal, July (1948) p.379; October (1948) p.623.
  3. C.E. Shannon, “Communication Theory of Secrecy Systems”, Bell System Technical Journal, vol.28–4, (1949) pp.656–715.

Protocolo BB84

O protocolo BB84 foi criado por Charles Bennett e Gilles Brassard em 1984. Esse foi o primeiro protocolo de QKD e se baseia nos postulados da Mecânica Quântica para garantir segurança nos protocolos de distribuição de chave.

O protocolo se baseia na possibilidade de enviar estados quânticos via um canal quântico de comunicação para gerar a chave secreta que será compartilhada entre as partes que estão comunicando.

Protocolo BB84 step by step:

  1. Alice pode enviar um dos quatro estados abaixo:
Estados que a Alice pode enviar para Bob.

Os estados |0> e |+> estão associados ao bit 0 e os estados |1> e | — > estão associados ao bit 1. A sequência de estados é aleatória e cada dupla de estados está associado a uma base de preparação, como descrito abaixo.

Cada um dos estados acima está associado a uma base de medição ou preparação como mostrado na imagem abaixo:

Os estados |0> e |1> estão associados ao operador de Pauli Z, enquanto que os estados |+> e |-> estão associados ao operador de Pauli X.

2. Aleatoriamente Alice escolhe as bases de preparação dos estados. Uma maneira de fazer isso pode ser utilizando a algoritmo abaixo:

Possível maneira de construir essa parte do protocolo em código. A sequência que define os estados (string b) é que irá compor a chave secreta entre Alice e Bob.

3. Alice envia os estados quânticos para Bob usando um canal quântico de comunicação.

4. Bob aleatoriamente escolhe a base para medir os estados que a Alice enviou.

Nos casos em que Bob mede na base diferente da base da Alice, o resultado é aleatório.

5. Ao final do protocolo Alice e Bob anunciam suas bases de medição e ficam apenas com a sequência de bits em que as bases escolhidas foram as mesmas.

Bem, espero que tenham gostado do conteúdo e na próxima postagem estarei mostrando como simular a distribuição de chaves quânticas usando o Qiskit.

Até mais!!!

--

--

Samuraí Brito

PhD em Física. Líder da iniciativa de tecnologias quânticas do Itaú-Unibanco. Além disso sou mãe, esposa, professora, cientista e amo tudo que faço!!!