paint-brush
Mejora de la criptografía con circuitos cuánticos y distribución de clavespor@angelinatsuboi
1,184 lecturas
1,184 lecturas

Mejora de la criptografía con circuitos cuánticos y distribución de claves

por Angelina Tsuboi13m2023/05/04
Read on Terminal Reader

Demasiado Largo; Para Leer

La computación cuántica utiliza las leyes de la física, como la mecánica cuántica, para realizar cálculos significativamente más rápido que las computadoras clásicas. Esto abre la puerta a miles de aplicaciones potenciales, como el modelado financiero, la optimización, la comunicación cuántica y la criptografía cuántica. En este artículo, proporcionaré un breve resumen de los circuitos cuánticos y los principios de la mecánica cuántica que hacen que todo funcione.
featured image - Mejora de la criptografía con circuitos cuánticos y distribución de claves
Angelina Tsuboi HackerNoon profile picture


Es probable que si ha estado al día con las últimas tecnologías informáticas, probablemente haya oído hablar del concepto de computación cuántica. Aunque la terminología puede hacer que el campo suene un poco intimidante y abstruso, los principios de la computación cuántica y sus aplicaciones se pueden entender en un nivel intuitivo con suficiente exposición y experiencia.


La computación cuántica utiliza las leyes de la física, como la mecánica cuántica, para realizar cálculos significativamente más rápido que las computadoras clásicas. Esto abre la puerta a miles de aplicaciones potenciales, como el modelado financiero, la optimización, la comunicación cuántica y la criptografía cuántica (en las que profundizaré más adelante en este artículo). A medida que la tecnología continúa avanzando, una cantidad cada vez mayor de sistemas informáticos eventualmente adoptará estrategias de computación cuántica para permitir una amplia gama de aplicaciones y resolver problemas predominantes mediante la aplicación de principios físicos fundamentales.


En este artículo, proporcionaré un breve resumen de los circuitos cuánticos y los principios de la mecánica cuántica que hacen que todo funcione.


Tabla de contenido

  • Estados cuánticos y Qubits
  • Vectores de estado y la esfera de Bloch
  • Circuitos cuánticos
  • Profundizando más en las puertas cuánticas
  • Ejemplo de circuito cuántico
  • Aplicaciones de circuitos cuánticos
  • Criptografía cuántica
  • Distribución de clave cuántica
  • Mecánica detrás de QKD
  • Ejemplo de vulnerabilidad: RSA
  • Protocolo BB84
  • Conclusión

Estados cuánticos y Qubits

Antes de comenzar la inmersión profunda en los circuitos cuánticos, descubramos de qué están compuestos los circuitos cuánticos: puertas cuánticas y qubits.


Qubits

Las computadoras clásicas como la que probablemente esté usando en este momento se basan en bits para transportar información. Un bit representa un estado que solo puede ser uno de los dos valores 0 y 1. Los bits se pueden juntar para formar binarios que se pueden usar para representar cualquier información, desde números hasta texto. Por ejemplo, el número 12 está representado por 1100 en binario. Esto se debe a que el binario tiene una base de 2, lo que significa que sus posibles ranuras de valor pueden ser 2⁰, 2¹, 2³, 2⁴, etc. Aplicando este concepto, la conversión de 12 a binario quedaría de la siguiente manera…


8 4 2 1 1 1 0 0 -> 8 + 4 + 0 + 0 -> 12


Sabemos que 8 y 4 suman 12, por lo que a 8 y 4 se les asigna el valor de 1 en binario. Por otro lado, 2 y 1 son irrelevantes para producir la salida de 12, por lo que a ambos se les da el valor de 0. Esto nos da el valor binario final de 1100 para el número 12.


Podemos aplicar el principio de los bits a la computación cuántica para comprender los qubits. Los qubits, al igual que los bits, se utilizan para representar los estados de una computadora; sin embargo, a diferencia de los bits, pueden existir en una superposición de estados, lo que significa que podrían representar tanto el 0 como el 1 simultáneamente. Pero, ¿cómo podría ser esto? ¿Cómo puede una unidad representar ambos valores posibles al mismo tiempo?


Superposición

Para comprender mejor la superposición, usemos una analogía. Imagina lanzar una moneda al aire. Mientras la moneda está en el aire, se encuentra en un estado de superposición donde la moneda representa los valores de cara y cruz simultáneamente. Solo podemos saber definitivamente el valor de la moneda cuando cae al suelo y su estado de superposición colapsa dando como resultado cara o cruz. De manera similar, en la mecánica cuántica, un qubit (también conocido como bit cuántico) puede existir en un estado en el que representa los valores de 0 y 1. Solo podemos decir el estado definitivo del qubit una vez que colapsa en 0 o 1.


Puertas cuánticas

Las puertas cuánticas son muy similares a las puertas lógicas en un circuito. Una puerta lógica, que se aplica tanto a las computadoras clásicas como a las cuánticas, es una estructura que recibe una entrada binaria (es decir, 0 y 1, electrones que giran hacia arriba y electrónica que gira hacia abajo, gatos y perros, etc.) y da como resultado un solo valor (es decir, 1, electrón spin-up y un perro) usando un sistema llamado función booleana. Estas puertas se pueden usar juntas para producir circuitos robustos. La diferencia entre las puertas clásicas y las puertas cuánticas surge una vez que introduces los qubits. Lo que diferencia a las puertas cuánticas de las puertas clásicas es la superposición, la reversibilidad y el entrelazamiento. A diferencia de las puertas clásicas que no tienen la mecánica cuántica a su disposición, las puertas cuánticas pueden retener información sobre qué valores pasan a través de ellas, haciéndolas inherentemente reversibles. Todo lo que pasa a través de una puerta cuántica se puede revertir, sin embargo, el mismo principio no se mantiene para las puertas clásicas. En resumen, se utiliza una puerta cuántica para manipular entradas en salidas deseadas específicas.


Enredo

Un último concepto importante para aprender es el enredo. El entrelazamiento cuántico ocurre cuando los estados de dos o más partículas se vuelven interrelacionados e interdependientes. Esto permite a los investigadores determinar el estado de una partícula midiendo el estado de la otra partícula, independientemente de la distancia que las separe. Por ejemplo, si están presentes partículas que giran hacia arriba y hacia abajo, puede inferir con precisión la configuración de la partícula que gira haciendo referencia al estado de la partícula que gira. El entrelazamiento se vuelve importante una vez que analizamos más a fondo los algoritmos cuánticos, especialmente aquellos que dependen de canales de comunicación seguros.


Vectores de estado y la esfera de Bloch

Teoría vectorial

Antes de profundizar en la representación de estados con vectores, es importante comprender algunos conocimientos preliminares de los vectores.


Vectores estatales

En física cuántica, los vectores de estado se utilizan para describir el estado actual del sistema. Un vector de estado alberga una colección de números dentro de un vector donde cada elemento del vector contiene la probabilidad de que el qubit se encuentre en un estado específico.


Un ejemplo simple es el siguiente…


Imagen de Qiskit



La imagen de arriba ilustra un qubit |0⟩ que definitivamente genera el 0 cuando se mide. Del mismo modo, también debe haber un qubit que genere 1 mostrado por |1⟩. Sabemos que estos dos estados son mutuamente excluyentes porque no hay convergencia entre los estados (el qubit genera un 0 o un 1). Esto está representado arriba por vectores ortogonales. Podemos aplicar el mismo concepto a un ejemplo un poco más complicado a continuación...



Imagen de Qiskit




La imagen de arriba (indicada por |q0⟩) describe un estado más matizado que solo |0⟩ y |1⟩. El qubit anterior se puede reescribir de la siguiente manera:



Imagen de Qiskit




Este estado demuestra un vector de estado para el qubit q0 donde la salida no es completamente |0⟩ o |1⟩ sino que la salida es una combinación lineal de los dos, también conocida como superposición.


Esfera Bloch

Para visualizar los fenómenos abstractos de una superposición, los físicos cuánticos utilizan una herramienta matemática llamada Bloch Sphere para visualizar los posibles estados de un qubit. Cualquier punto de la Esfera de Bloch puede ser un estado posible para un qubit. La siguiente imagen visualiza un qubit en el estado de |+⟩ donde theta = pi / 2 y phi = 0



Imagen de Qiskit



Circuitos cuánticos

Para demostrar los qubits y las puertas cuánticas en acción, podemos mirar un diagrama de circuito donde las entradas se muestran a la izquierda y las salidas a la derecha. Las operaciones intermedias son puertas representadas por símbolos oscuros. Este es un circuito típico para una computadora estándar basada en bits. Las señales de entrada son A, B y C, todas pasan al circuito y son manipuladas por las puertas intermedias para producir la señal resultante Q. Este es un diagrama de circuito clásico que visualiza un circuito clásico.


Imagen de Todo sobre circuitos


Los diagramas de circuitos cuánticos elevan un poco más esta convención de circuitos porque también deben tener en cuenta su reversibilidad inherente. Por lo tanto, se ven un poco diferentes y siguen algunas reglas diferentes a las de los circuitos clásicos. Así es como se ve un circuito cuántico...


Imagen de Qiskit


Desglosemos este circuito en sus componentes:


  • Cada línea horizontal (es decir, q0, q1 y q2) representa un solo qubit
  • Las letras más a la izquierda indican el nombre de cada qubit (es decir, q0, q1 y q2)
  • El diagrama está dividido en columnas donde cada columna representa un paso en la secuencia del algoritmo. Puede pensar en ellos como pasos en momentos secuenciales de tiempo (como notas en la música)
  • Los bloques intermedios representan puertas cuánticas que realizan operaciones en qubits.


La diferencia clave entre el circuito cuántico y el circuito clásico es que el circuito cuántico muestra los qubits en líneas horizontales rectas, mientras que las puertas cuánticas tienen la misma cantidad de qubits de entrada y salida , mientras que los circuitos clásicos tienen líneas de bits que pueden ir en varias direcciones.

Profundizando más en las puertas cuánticas

Puerta X de Pauli

Pauli X-gate proporciona una introducción sencilla al funcionamiento interno de las puertas cuánticas. Su propósito es muy simple: la negación. Muy similar a la puerta NOT clásica, la puerta X de Pauli cambia el estado del qubit a su valor opuesto, que se describe en la tabla de verdad a continuación. Aplicada al mundo físico, la función de la puerta X convierte el estado de giro ascendente de un electrón en un estado de giro descendente y viceversa.
|0>|1> O |1>|0>




Puerta Y y puerta Z de Pauli

De manera similar a la puerta X, la puerta Y de Pauli es una operación de un solo qubit que convierte:

|0> → -i|1> Y |1> → i|0>


Esto se puede mostrar girando el qubit alrededor del eje Y en la esfera de Bloch.


La puerta Z de Pauli también es una operación de un solo qubit que mapea |1> → -|1> y no cambia |0>. La operación de puerta Z se puede visualizar mediante una rotación sobre el eje z de la esfera de Bloch por pi radianes.




Representaciones de la esfera de Bloch de las puertas Pauli X, Y y Z


Puerta Hadamard

La puerta de Hadamard es la puerta más ubicua utilizada en la computación cuántica. Es una operación de un solo qubit que da como resultado el siguiente mapeo:


∣0> → (|0> + |1>)/√2 Y ∣1> → ( |0> — |1>)/√2


Esto crea una superposición igual de los dos estados básicos de qubit, lo que significa que el estado tendrá la misma probabilidad de ser 1 o 0.



Puertas controladas

Una puerta controlada es una operación de más de 2 qubits en la que más de un qubit puede actuar como control para alguna operación en un qubit. Por ejemplo, puertas CX, CY y CZ.



Puerta X controlada

La puerta x controlada, también conocida como puerta CX, actúa en 2 qubits y realiza las operaciones NOT en el segundo qubit cuando el estado del primer qubit es |1>.



Imagen de StackExchange



Otras puertas

Hay muchas más puertas que están más allá del alcance de lo que puede cubrir este artículo. Si desea profundizar en otras puertas cuánticas y sus funcionalidades, le recomendaría consultar este resumen de operaciones y puertas cuánticas de Qiskit.


Ejemplo de un circuito cuántico

Llevemos más lejos nuestro conocimiento de los circuitos cuánticos aplicándolo para analizar este circuito de ejemplo a continuación...




Este circuito de ejemplo anterior utiliza dos puertas Hadamard y una puerta CNOT (también conocida como CX) para crear un estado entrelazado.


Inicialmente, la aplicación de las dos puertas Hadamard crea un estado de superposición, luego aplicamos la puerta CX. El estado inicial del qubit es |0⟩.


Cuando pasamos ese estado a través de una puerta de Hadamard, la salida es |+⟩. Como tenemos dos puertas de Hadamard en este circuito, obtenemos el producto tensorial de los dos valores, que es |+⟩ ⊗ |+⟩. Esto da como resultado la salida de |00⟩ + |01⟩ + |10⟩ + |11⟩ porque aplicar la puerta CX no hace nada en este caso.


Después de operar este circuito, la salida debe ser de 4 etapas con probabilidades iguales.



Imagen de Qiskit



Si visualizamos el vector de estado para cada qubit usando Bloch Sphere, podemos ver que aplicar la puerta de Hadamard a cada uno de los qubits resultó en un cambio de la base Z(|0⟩, |1⟩) a la base X, y la La puerta CX no alteró nada como se muestra en la imagen a continuación...



Imagen de Qiskit


Aplicaciones de circuitos cuánticos

Los circuitos cuánticos tienen una amplia gama de aplicaciones, incluidas las simulaciones cuánticas que simulan el comportamiento de los sistemas cuánticos, como el modelado del comportamiento de materiales con propiedades únicas, la resolución de problemas de optimización complejos en una amplia gama de campos, desde las finanzas hasta la logística, y algoritmos de aprendizaje automático como los se utiliza para el reconocimiento de imágenes y audio, y aplicaciones de ciberseguridad como la criptografía.


Criptografía cuántica

Ahora podemos aplicar nuestro conocimiento de la mecánica cuántica para comprender cómo se puede emplear para garantizar la seguridad de la comunicación. La criptografía cuántica permite un canal seguro para la comunicación entre dos partes mediante el intercambio de claves de cifrado entre ellos para cifrar y descifrar mensajes. Los sistemas criptográficos tradicionales que se basan en tecnologías informáticas clásicas se basan en principios matemáticos que pueden romperse y descifrarse rápidamente con computadoras potentes. La criptografía cuántica resuelve este problema utilizando el principio de incertidumbre de la mecánica cuántica para hacer imposible que un intruso intercepte la comunicación entre dos partes sin ser detectado.


Distribución de clave cuántica

Un protocolo que implementa la criptografía cuántica es la distribución de claves cuánticas (también conocido como QKD). Es el método de criptografía cuántica más estudiado. QKD utiliza una serie de fotones para transmitir un secreto representado por una secuencia aleatoria conocida como clave. Al hacer esto, podemos detectar cuándo una clave está comprometida al comparar los valores en cada extremo de la transmisión. Con los sistemas informáticos clásicos, como una línea telefónica, es posible interceptar un código secreto "escuchando".


Sin embargo, no hay forma posible de hacer esto con QKD porque cualquier intento de observar una clave cifrada cuántica interrumpirá los fotones que pasan a través de la transmisión, lo que conducirá a un valor diferente al final. Vamos a referirnos a la imagen de abajo para demostrar este fenómeno. Alice y Bob quieren intercambiar una clave secreta entre ellos, pero también quieren evitar que Eve husmee en los mensajes que se envían. Al usar QKD, Alice puede enviar mensajes seguros a Bob mediante la transmisión de fotones en estados cuánticos específicos. Bob puede descifrar el mensaje midiendo cada uno de los fotones enviados por Alice para descifrar su estado.


Imagen de IEEE


El principio de incertidumbre nos dice que cualquier tipo de medición realizada en un estado cuántico de una partícula alterará indefinidamente su estado. En QKD, esto se usa como un mecanismo de protección porque si Eve intenta medir las partículas cuánticas enviadas por Alice a Bob, los estados de las partículas terminarán siendo alterados dando a conocer su presencia. Además, si Eve intenta copiar de forma encubierta las partículas enviadas durante la transmisión, no podrá hacerlo gracias al "teorema de no clonación" . Este sistema proporciona una manera para que tanto Alice como Bob transmitan claves secretas, también conocidas como bloc de notas de un solo uso, sin la paranoia autoritaria de que Eve podría estar husmeando en sus mensajes.


QKD admite muchos protocolos diferentes. Algunos incluyen QKD de fotón único que utiliza un fotón para transmitir información entre Alice y Bob, QKD de pulso láser débilmente coherente que usa pulsos láser débiles para enviar estados de fotones y QKD de fotones entrelazados que envía pares de fuentes de fotones entrelazados a Alice y Bob.

Mecánica detrás de QKD

El canal cuántico físico en el que tiene lugar QKD utiliza una variedad de sistemas físicos como fotones, iones o circuitos superconductores. Para QKD basado en fotones, el circuito generalmente usa una fuente de fotones individuales, un divisor de haz, dos filtros de polarización y dos detectores de fotones individuales.


El circuito está construido de modo que cuando Alice envía una secuencia de fotones individuales a Bob, cada uno con un estado de polarización aleatorio, Bob elige al azar entre los dos estados de polaridad para medir los fotones que determinan el valor del bit clave final. Una vez que se han medido todos los fotones, Alice y Bob pueden comparar el subconjunto de cada uno de sus resultados usando un canal clásico para detectar cualquier intento de espionaje.

Ejemplo de vulnerabilidad: RSA

El algoritmo criptográfico RSA (también conocido como Rivest–Shamir–Adleman) es un protocolo ampliamente utilizado para asegurar la comunicación a través de canales públicos. Sin embargo, las computadoras cuánticas introdujeron una vulnerabilidad inherente en el algoritmo que dependía de la ineficiencia de los sistemas informáticos clásicos para factorizar grandes números.


En respuesta a esta vulnerabilidad, los investigadores de seguridad han desarrollado múltiples algoritmos de resistencia cuántica como Quantum-Safe RSA (también conocido como QS-RSA). QS-RSA es una versión modificada de RSA que utiliza una función matemática cuántica segura alternativa para generar claves públicas y privadas mientras conserva las funciones tradicionales de cifrado/descifrado de RSA.

Protocolo BB84

Otro protocolo criptográfico cuántico seguro es BB84. Para el Protocolo BB84, definimos que el 0 binario se configure en 0° en base rectilínea o 45° en base diagonal. De manera similar, el 1 binario está representado por 90° en base rectilínea o 135° en base diagonal.


Imagen de Mart Haitjema.



En primer lugar, Alice envía información a través del canal cuántico seleccionando aleatoriamente una cadena de bits y bases (rectilíneas o diagonales) de igual longitud. Posteriormente, cada bit de la cadena se itera y Alice transmite un fotón de la misma polarización a través del canal a Bob. Una vez que Bob recibe los fotones, elige aleatoriamente una base para cada fotón para medir su polaridad. Si la polaridad que elige coincide con la enviada por Alice, encontrará correctamente el bit enviado por Alice. Si el bit no coincide con el que envió Alice, a Bob se le asignará un bit aleatorio.


En segundo lugar, Alice y Bob se comunican a través de un canal público para comunicar las bases que utilizó Bob para medir los fotones enviados por Alice. Luego, Alice le devuelve a Bob las bases que Bob pudo adivinar correctamente para los bits codificados. Posteriormente, Alice y Bob eliminan los bits codificados y medidos en diferentes bases, lo que da como resultado una cadena de bits idéntica llamada clave desplazada .



Transmisión de ejemplo de protocolo BB84. Imagen de MR. Como si



Para verificar si alguien está husmeando en la transmisión de información (ejem Eve), Alice y Bob pueden intercambiar algunos bits de la clave cambiada que se supone que deben coincidir. Si alguno de los bits intercambiados no coincide, podemos asegurar que Eve estaba escuchando la transmisión. La siguiente imagen muestra un ejemplo en el que Eve estaba monitoreando la transmisión entre Bob y Alice. Aunque Alice y Bob tenían seis bases coincidentes, solo una de esas bases coincide revelando la presencia de Eve. Esto hará que Alice y Bob vuelvan a otro canal Quantum para continuar con sus comunicaciones.


Transmisión de ejemplo de protocolo BB84 con una intercepción de Eve. Imagen de MR. Como si



Conclusión

En general, este artículo ofrece un pequeño vistazo a las tecnologías emergentes detrás de la computación cuántica. Espero que los ejemplos y las descripciones proporcionados hayan ayudado a dilucidar algunos conceptos de la mecánica cuántica: circuitos cuánticos, entrelazamiento, superposición, puertas cuánticas como la puerta Y de Pauli y algoritmos y protocolos de criptografía cuántica como QS-RSA y BB84. La mecánica cuántica ha revolucionado la criptografía al proporcionar métodos más efectivos para asegurar los canales de comunicación. Está claro que la aplicación de la mecánica cuántica a aplicaciones específicas de ciberseguridad continuará transformando la forma en que nos comunicamos y protegemos nuestros datos en los años venideros.


También publicado aquí.