Provavelmente, se você está atualizado com as tecnologias de computação mais recentes, provavelmente já ouviu falar sobre o conceito de computação quântica. Embora a terminologia possa fazer o campo parecer um pouco intimidador e obscuro, os princípios da computação quântica e suas aplicações podem ser entendidos em um nível intuitivo com exposição e experiência suficientes.
A computação quântica utiliza as leis da física, como a mecânica quântica, para realizar cálculos significativamente mais rápidos do que os computadores clássicos. Isso abre as portas para milhares de aplicações potenciais, como modelagem financeira, otimização, comunicação quântica e criptografia quântica (nas quais irei me aprofundar mais adiante neste artigo). À medida que a tecnologia continua avançando, uma quantidade crescente de sistemas de computador acabará adotando estratégias de computação quântica para permitir uma ampla gama de aplicações e resolver problemas prevalentes aplicando princípios físicos fundamentais.
Neste artigo, fornecerei um breve resumo dos circuitos quânticos e dos princípios da mecânica quântica que fazem tudo funcionar.
Antes de começarmos o mergulho profundo nos circuitos quânticos, vamos descobrir do que os circuitos quânticos são compostos - portas quânticas e qubits.
Computadores clássicos como o que você provavelmente está usando agora dependem de bits para transportar informações. Um bit representa um estado que pode ser apenas um dos dois valores 0 e 1. Os bits podem ser agrupados para formar um binário, que pode ser usado para representar qualquer parte da informação, desde números até texto. Por exemplo, o número 12 é representado por 1100 em binário. Isso ocorre porque o binário tem uma base de 2, o que significa que seus slots de valor possíveis podem ser 2⁰, 2¹, 2³, 2⁴ e assim por diante. Aplicando esse conceito, a conversão de 12 para binário seria a seguinte…
8 4 2 1 1 1 0 0 -> 8 + 4 + 0 + 0 -> 12
Sabemos que 8 e 4 somam 12, então 8 e 4 recebem o valor de 1 em binário. Por outro lado, 2 e 1 são irrelevantes para produzir a saída de 12, então ambos recebem o valor 0. Isso nos dá o valor binário final de 1100 para o número 12.
Podemos aplicar o princípio dos bits à computação quântica para entender os qubits. Os qubits, assim como os bits, são usados para representar os estados de um computador; no entanto, ao contrário dos bits, eles podem existir em uma superposição de estados, o que significa que podem representar 0 e 1 simultaneamente. Mas como isso poderia ser? Como uma unidade pode representar ambos os valores possíveis ao mesmo tempo?
Para entender melhor a superposição, vamos usar uma analogia. Imagine jogar uma moeda no ar. Enquanto a moeda está no ar, ela está em um estado de superposição onde a moeda representa os valores de cara e coroa simultaneamente. Só podemos saber definitivamente o valor da moeda quando ela cai no chão e seu estado de superposição desmorona, resultando em cara ou coroa. Da mesma forma, na mecânica quântica, um qubit (também conhecido como bit quântico) pode existir em um estado em que representa os valores de 0 e 1. Só podemos dizer o estado definido do qubit quando ele se transforma em 0 ou 1.
As portas quânticas são muito semelhantes às portas lógicas em um circuito. Uma porta lógica, que se aplica a computadores clássicos e quânticos, é uma estrutura que recebe uma entrada binária (ou seja, 0 e 1, elétrons com spin para cima e eletrônicos com spin para baixo, cães e gatos, etc.) e resulta em um único valor (ou seja, 1, elétron spin-up e um cachorro) usando um sistema chamado função booleana. Essas portas podem então ser usadas juntas para produzir circuitos robustos. A diferença entre portões clássicos e portões quânticos surge quando você introduz qubits. O que diferencia os portões quânticos dos portões clássicos são a superposição, a reversibilidade e o emaranhamento. Ao contrário dos portões clássicos que não possuem mecânica quântica à sua disposição, os portões quânticos podem reter informações sobre quais valores passam por eles, tornando-os inerentemente reversíveis. Tudo o que passou por um portão quântico pode ser revertido, no entanto, o mesmo princípio não é mantido para os portões clássicos. Resumindo, um portão quântico é usado para manipular entradas em saídas específicas desejadas.
Um último conceito importante a aprender é o emaranhamento. O emaranhamento quântico ocorre quando os estados de duas ou mais partículas se tornam interligados e interdependentes. Isso permite que os pesquisadores determinem o estado de uma partícula medindo o estado da outra partícula, independentemente da distância que as separa. Por exemplo, se partículas spin-up e spin-down estiverem presentes, você pode inferir com precisão a configuração da partícula spin-down referenciando o estado da partícula spin-up. O emaranhamento torna-se importante quando examinamos mais profundamente os algoritmos quânticos, especialmente aqueles que dependem de canais de comunicação seguros.
Antes de mergulhar mais fundo na representação de estado com vetores, é importante entender alguns conhecimentos preliminares sobre vetores.
Na física quântica, os vetores de estado são usados para descrever o estado atual do sistema. Um vetor de estado hospeda uma coleção de números dentro de um vetor onde cada elemento do vetor contém a probabilidade do qubit estar em um estado específico.
Um exemplo simples é o seguinte…
A imagem acima ilustra um qubit |0⟩ que emite definitivamente o 0 quando é medido. Da mesma forma, também deve haver um qubit que emita 1 mostrado por |1⟩. Sabemos que esses dois estados são mutuamente exclusivos porque não há convergência entre os estados (o qubit gera um 0 ou um 1). Isso é representado acima por vetores ortogonais. Podemos aplicar o mesmo conceito a um exemplo um pouco mais complicado abaixo…
A imagem acima (indicada por |q0⟩) descreve um estado com mais nuances do que apenas |0⟩ e |1⟩. O qubit acima pode ser reescrito da seguinte forma:
Este estado demonstra um vetor de estado para o qubit q0 onde a saída não é totalmente |0⟩ ou |1⟩, mas a saída é uma combinação linear dos dois, também conhecida como superposição.
Para visualizar os fenômenos abstratos de uma superposição, os físicos quânticos usam uma ferramenta matemática chamada Bloch Sphere para visualizar os possíveis estados de um qubit. Qualquer ponto na esfera de Bloch pode ser um estado possível para um qubit. A imagem abaixo visualiza um qubit no estado de |+⟩ onde theta = pi / 2 e phi = 0
Para demonstrar qubits e portas quânticas em ação, podemos olhar para um diagrama de circuito onde as entradas são mostradas à esquerda e as saídas à direita. As operações intermediárias são portões representados por símbolos obscuros. Este é um circuito típico para um computador padrão baseado em bits. Os sinais de entrada são A, B e C, que são todos passados para o circuito e manipulados pelas portas intermediárias para produzir o sinal resultante Q. Este é um diagrama de circuito clássico que visualiza um circuito clássico.
Os diagramas de circuitos quânticos elevam um pouco mais essa convenção de circuitos porque eles também precisam levar em consideração sua reversibilidade inerente. Portanto, eles parecem um pouco diferentes e seguem algumas regras diferentes dos circuitos clássicos. Aqui está a aparência de um circuito quântico…
Vamos dividir este circuito em seus componentes:
A principal diferença entre o circuito quântico e o circuito clássico é que o circuito quântico mostra qubits exibidos em linhas horizontais retas, enquanto os portões quânticos têm a mesma quantidade de qubits de entrada e saída , enquanto os circuitos clássicos têm linhas de bits que podem ir em várias direções.
O Pauli X-gate fornece uma introdução simples ao funcionamento interno dos portões quânticos. Seu propósito é muito simples: negação. Muito semelhante ao portão NOT clássico, o portão X de Pauli inverte o estado do qubit para seu valor oposto, que é descrito pela tabela de verdade abaixo. Aplicada ao mundo físico, a função do X-gate transforma o estado de spin-up de um elétron em um estado de spin-down e vice-versa.
|0> → |1> OU |1> → |0>
Da mesma forma que o X-gate, o Pauli Y-gate é uma única operação de qubit que converte:
|0> → -i|1> E |1> → i|0>
Isso pode ser mostrado girando o qubit em torno do eixo Y na esfera de Bloch.
O Pauli Z-gate também é uma operação de qubit único que mapeia |1> → -|1> e não altera |0>. A operação Z-gate pode ser visualizada por uma rotação em torno do eixo z da esfera de Bloch por pi radianos.
Representações da esfera de Bloch dos portões de Pauli X, Y e Z
O portão Hadamard é o portão mais onipresente usado na computação quântica. É uma única operação de qubit que resulta no seguinte mapeamento:
∣0> → (|0> + |1>)/√2 E ∣1> → ( |0> — |1>)/√2
Isso cria uma superposição igual dos dois estados básicos de qubit, o que significa que o estado terá uma probabilidade igual de ser 1 ou 0.
Um portão controlado é uma operação de 2+ qubits em que mais de um qubit pode atuar como um controle para alguma operação em um qubit. Por exemplo, portas CX, CY e CZ.
Portão X Controlado
O x-gate controlado, também conhecido como portão CX, atua em 2 qubits e executa as operações NOT no segundo qubit quando o estado do primeiro qubit é |1>.
Existem muitos outros portões que estão além do escopo do que este artigo pode cobrir. Se você quiser dar uma olhada mais profunda em outros portões quânticos e suas funcionalidades, eu recomendaria olhar para este resumo de operações e portões quânticos do Qiskit.
Vamos aprofundar nosso conhecimento sobre circuitos quânticos, aplicando-o para analisar este circuito de exemplo abaixo…
Este circuito de exemplo acima utiliza dois portões Hadamard e um portão CNOT (também conhecido como CX) para criar um estado emaranhado.
Inicialmente, a aplicação das duas portas Hadamard cria um estado de superposição, então aplicamos a porta CX. O estado inicial do qubit é |0⟩.
Quando passamos esse estado por uma porta Hadamard, a saída é |+⟩. Como temos duas portas Hadamard neste circuito, obtemos o produto tensorial dos dois valores que é |+⟩ ⊗ |+⟩. Isso resulta na saída de |00⟩ + |01⟩ + |10⟩ + |11⟩ porque aplicar a porta CX não faz nada neste caso.
Depois de operar este circuito, a saída deve ser de 4 estágios com probabilidades iguais.
Se visualizarmos o vetor de estado para cada qubit usando a Bloch Sphere, podemos ver que a aplicação do portão Hadamard a cada um dos qubits resultou em uma mudança de Z(|0⟩, |1⟩) para a base X, e a O portão CX não alterou nada como mostra a imagem abaixo…
Os circuitos quânticos têm uma ampla gama de aplicações, incluindo simulações quânticas que simulam o comportamento de sistemas quânticos, como modelar o comportamento de materiais com propriedades únicas, resolver problemas complexos de otimização em uma ampla gama de campos, de finanças a logística, e algoritmos de aprendizado de máquina, como os usado para reconhecimento de imagem e áudio e aplicativos de segurança cibernética, como criptografia.
Agora podemos aplicar nosso conhecimento da mecânica quântica para entender como ela pode ser empregada para garantir a segurança da comunicação. A criptografia quântica permite um canal seguro para comunicação entre duas partes, trocando chaves de criptografia entre elas para criptografar e descriptografar mensagens. Os sistemas criptográficos tradicionais que dependem de tecnologias de computação clássicas são baseados em princípios matemáticos que podem ser quebrados e descriptografados rapidamente por computadores poderosos. A criptografia quântica resolve esse problema usando o princípio da incerteza da mecânica quântica para tornar impossível para um bisbilhoteiro interceptar a comunicação entre duas partes sem ser detectado.
Um protocolo que implementa a criptografia quântica é a distribuição de chaves quânticas (também conhecida como QKD). É o método mais amplamente estudado de criptografia quântica. O QKD utiliza uma série de fótons para transmitir um segredo representado por uma sequência aleatória conhecida como chave. Ao fazer isso, podemos detectar quando uma chave está comprometida comparando os valores em cada extremidade da transmissão. Com sistemas de computação clássicos, como uma linha telefônica, é possível interceptar um código secreto “escutando”.
No entanto, não há como fazer isso com QKD porque qualquer tentativa de observar uma chave criptografada quântica interromperá os fótons que passam pela transmissão, levando a um valor diferente no final. Vamos nos referir à imagem abaixo para demonstrar esse fenômeno. Alice e Bob querem trocar uma chave secreta um com o outro, mas também querem evitar que Eve bisbilhote nas mensagens que eles enviam um ao outro. Usando QKD, Alice é capaz de enviar mensagens seguras para Bob transmitindo fótons em estados quânticos específicos. Bob é capaz de descriptografar a mensagem medindo cada um dos fótons enviados por Alice para decifrar seu estado.
O princípio da incerteza nos diz que qualquer tipo de medição realizada em um estado quântico de uma partícula alterará seu estado indefinidamente. Em QKD, isso é usado como um mecanismo de proteção, pois se Eve tentar medir as partículas quânticas enviadas por Alice para Bob, os estados das partículas acabarão sendo alterados tornando sua presença conhecida. Além disso, se Eve tentar copiar secretamente as partículas enviadas durante a transmissão, ela não conseguirá graças ao “teorema da não clonagem” . Esse sistema fornece uma maneira de Alice e Bob transmitirem chaves secretas, também conhecidas como one-time pad, sem a paranóia autoritária de que Eve pode estar bisbilhotando suas mensagens.
O QKD suporta muitos protocolos diferentes. Alguns incluem um único fóton QKD que utiliza um fóton para transmitir informações entre Alice e Bob, Weak-Coherent Laser Pulse QKD que usa pulsos de laser fracos para enviar estados de fótons e Entangled Photon QKD que envia pares de fontes de fótons emaranhados para Alice e Bob.
O canal quântico físico no qual QKD ocorre usa uma variedade de sistemas físicos como fótons, íons ou circuitos supercondutores. Para QKD baseado em fótons, o circuito geralmente usa uma fonte de fótons únicos, um divisor de feixe, dois filtros de polarização e dois detectores de fóton único.
O circuito é construído de forma que, quando Alice envia uma sequência de fótons individuais para Bob, cada um com um estado de polarização aleatório, Bob escolhe aleatoriamente entre os dois estados de polaridade para medir os fótons que determinam o valor final do bit chave. Uma vez que todos os fótons tenham sido medidos, Alice e Bob podem comparar o subconjunto de cada um de seus resultados usando um canal clássico para detectar qualquer tentativa de espionagem.
O algoritmo criptográfico RSA (também conhecido como Rivest–Shamir–Adleman) é um protocolo amplamente usado para proteger a comunicação em canais públicos. No entanto, os computadores quânticos introduziram uma vulnerabilidade inerente no algoritmo, que dependia da ineficiência dos sistemas de computação clássicos para fatorar grandes números.
Em resposta a essa vulnerabilidade, os pesquisadores de segurança desenvolveram vários algoritmos resistentes a quantum, como o Quantum-Safe RSA (também conhecido como QS-RSA). O QS-RSA é uma versão modificada do RSA que usa uma função matemática alternativa de segurança quântica para gerar chaves públicas e privadas, mantendo as funcionalidades tradicionais de criptografia/descriptografia RSA.
Outro protocolo criptográfico com segurança quântica é o BB84. Para o protocolo BB84, definimos o binário 0 para ser configurado em 0° na base retilínea ou 45° na base diagonal. Da mesma forma, o binário 1 é representado por 90° na base retilínea ou 135° na base diagonal.
Em primeiro lugar, Alice envia informações através do canal quântico selecionando aleatoriamente uma sequência de bits e bases (retilíneas ou diagonais) de igual comprimento. Posteriormente, cada bit da string será iterado e Alice transmitirá um fóton de mesma polarização pelo canal para Bob. Assim que Bob recebe os fótons, ele escolhe aleatoriamente uma base para cada fóton para medir sua polaridade. Se a polaridade que ele escolher corresponder à enviada por Alice, ele encontrará corretamente o bit enviado por Alice. Se o bit não corresponder ao que Alice enviou, Bob receberá um bit aleatório.
Em segundo lugar, Alice e Bob se comunicam por meio de um canal público para comunicar as bases que Bob usou para medir os fótons enviados por Alice. Em seguida, Alice envia de volta para Bob as bases que Bob conseguiu adivinhar corretamente para os bits codificados. Posteriormente, Alice e Bob removem os bits codificados e medidos em bases diferentes, resultando em uma cadeia de bits idêntica chamada de chave deslocada .
Para verificar se alguém está bisbilhotando a transmissão de informações (ahem Eve), Alice e Bob podem trocar alguns bits da chave shift que deveriam corresponder. Se algum dos bits trocados não corresponder, podemos garantir que Eve estava ouvindo a transmissão. A imagem abaixo mostra um exemplo onde Eve estava monitorando a transmissão entre Bob e Alice. Embora Alice e Bob tivessem seis bases correspondentes, apenas uma dessas bases corresponde revelando a presença de Eva. Isso fará com que Alice e Bob voltem para outro Canal Quântico para continuar suas comunicações.
No geral, este artigo fornece um pequeno vislumbre das tecnologias emergentes por trás da computação quântica. Espero que os exemplos e descrições fornecidos tenham ajudado a elucidar alguns conceitos da mecânica quântica: circuitos quânticos, emaranhamento, superposição, portões quânticos como o portão Y de Pauli e algoritmos e protocolos de criptografia quântica como QS-RSA e BB84. A mecânica quântica revolucionou a criptografia, fornecendo métodos mais eficazes para proteger os canais de comunicação. É claro que a aplicação da mecânica quântica a aplicativos específicos de segurança cibernética continuará a transformar as formas como nos comunicamos e protegemos nossos dados nos próximos anos.
Também publicado aqui.