Criptografía Cuántica
# Criptografía Cuántica

La Criptografía Cuántica es una forma más moderna para la encriptación que viene fundamentada en los postulados de la mecánica cuántica.

## Encriptación Clásica

Para poder saber con detalle como funciona la encriptación cuántica primero se necesita saber de la base de la parte. La encriptación se define como un procedimiento de seguridad que consiste en la alteración, mediante algoritmos, de los datos que componen a un archivo, el cual, se tiene como objetivo que terceras personas no puedan tener acceso a la información que se contiene, si no poseen el mecanismo para descifrar el contenido (Significados, 2019). Mediante la encriptación, se ha logrado mejorar grandemente la transferencia segura de datos y documentos, mediante los diferentes medios por los que el ser humano tiene acceso. Esto permite que la privacidad, un derecho humano, sea respetado y toda aquella información, sea sensible o no, que sea compartida con alguien en específico, no logre ser ultrajada por terceros y visible al resto de las personas.

Aunque, la encriptación es un potente aliado en contra de la filtración de información a terceros, este método no es perfecto ni invencible. Si bien la encriptación va mejorando y perfeccionándose al pasar de los años, así mismo lo hacen los métodos para desencriptar. Existiendo así múltiples casos donde datos sensibles fueron filtrados a terceros, mediante el hackeo y descifrado de los métodos de encriptación utilizados. Podemos nombrar algunos casos famosos:

-Sony y PlayStation: Durante la primavera del 2011, el servicio de Sony denominado “PlayStation Network”, el cual permite que sus consolas se conecten a internet para realizar compras en línea, jugar de manera “online” y usar otros servicios asociados, tuvo que ser suspendido durante varios días, debido a que existió una vulneración de los datos de los usuarios. Esto provocó que la información de 75 millones de usuarios fueran expuestos a terceros, donde la información más sensible contenida por Sony fuera la información bancaria de dichos usuarios. Esto provocó que millones de jugadores tuvieran que cancelar sus tarjetas de crédito y cambiar las contraseña de sus cuentas, a su vez, Sony tuvo que lidiar con demandas colectivas, pérdidas estimadas de 100 millones de dólares y un grave daño a su imagen como una empresa digna de confianza para brindar datos sensibles.

-Collection1: Esta es considerada la mayor filtración de datos de la historia. Se dio a conocer a mediados de enero del año 2019, donde aproximadamente más de mil millones de cuentas y contraseñas fueron puestas a la venta por los perpetradores. Los responsables vendieron la información en carpetas denominadas “Collection1”, “Collection 2”, y así hasta la quinta carpeta, además que existieron dos carpetas adicionales. Estos datos fueron recolectados a lo largo de diferentes intromisiones a diferentes páginas web, esto en un lapso de varios años.

Si bien la encriptación ha tomado relevancia durante los tiempos modernos, debido al crecimiento exponencial de intercambio de información por medio del internet, esta práctica se remonta desde siglos antes de Cristo. Entre los siglos X y VII a. C., se evidenció el uso de un método de encriptación, el cual consistía en escribir por transposición (por cambio de posición de las letras), consistía en escribir el mensaje en una tira de cuero y, mediante un palo de un diámetro en específico, enrollar la tira y por cada vuelta que hiciera, una letra en específico aparecería, logrando así transmitir el mensaje deseado con cierta seguridad de que los enemigos no podrían saber su contenido, a pesar de tener la tira en su poder.

## Encriptación Cuántica

Para hablar de la encriptación cuántica, es necesario primero describir qué es un qubit y cómo éste se relaciona con el bit clásico. Las matemáticas y los conceptos físicos detrás de esta herramienta son muy complicadas, así que se tratará de explicar qué es un quibit y su importancia en la desencriptación de la manera más sencilla posible para que cualquier persona pueda entenderlo. Lo que se busca con el qubit es hacer uso de las propiedades cuánticas inherente a la materia para desencriptar o encriptar un mayor volumen de datos utilizando una menor cantidad de unidades de datos, como el bit.

La ventaja del qubit sobre el bit clásico es que puede estar en una superposición de estados, debido a su naturaleza cuántica. Por ejemplo, puede estar en una superposición donde el estado “1” sea “más importante” que el estado “0”, o donde ambos estados sean de igual importancia. Cuán “importante” es un estado en esta superposición viene dado por el coeficiente complejo que acompaña cada estado. Ahora bien, como nos dice la mecánica cuántica, el simple hecho de medir obliga a las partículas a escoger un estado en particular, las obliga a decidir si serán “1” o “0”. Sin embargo, los qubits poseen esta naturaleza “indeterminada” en dos ejes, así, un qubit puede tomar uno de cuatro valores, cuál valor tome, dependerá del instrumento con el que se mida. Dicho de otra manera, un qubit puede tomar valores de “arriba” o “abajo” si se mide con un instrumento determinado, llamémosle instrumento A, o puede tomar valores de “izquierda” o “derecha” si se mide con un instrumento B. Esto es importante porque de esto depende el valor que tomará el qubit una vez sea medido. Así, si se mide un qubit cualquiera con el instrumento A, se le obliga a tomar estrictamente el valor de “arriba” o “abajo, que desde aquí, llamaremos a estos estados 0 y 1 respectivamente. Del mismo modo, si se mide el qubit con el instrumento B, solo podrá tomar el valor de “izquierda” o “derecha”, que de ahora en adelante llamaremos a estos estados 2 y 3 respectivamente. Ahora bien, volvamos a retomar los coeficientes que acompañan a estos estados. Estos números están directamente relacionados con la probabilidad de que, al medir un qubit, obtengamos el estado 0 o el esta 1, si se mide con el instrumento A. Lo mismo aplica para el instrumento B con los estados 2 y 3. Concretamente, esta probabilidad viene dada por el módulo cuadrado de estos coeficientes. Así, si tenemos 100 qubits y los medimos con el instrumento A, nos daremos cuenta de que entre más grande sea el coeficiente del estado 1, más veces aparecerá este estado en esos 100 qubits (la probabilidad de medir ese estado es directamente proporcional a su coeficiente). De manera análoga sucede con el estado 0.

Dado que la computación cuántica es una poderosa herramienta para la desencriptación de claves encriptadas de manera clásica, lo mejor es encriptar las claves de manera cuántica también. Esto es el método de Quantum Key Distribution (QKD). Explicar este método es mucho más sencillo con un ejemplo. Imaginemos que Alice quiere mandarle una clave encriptada a Bob, así que toma 10 qubits y los prepara de manera aleatoria con cualquiera de los estados 0, 1, 2 o 3 y se los manda a Bob, quien debe medirlos para saber qué estado preparó Alice. Ahora bien, Bob debe decidir primero qué instrumento quiere usar, si el A o B, así que tendrá un 50 % de posibilidades de acertar el instrumento correcto para medir el estado que preparó Alice. Digamos que Alice preparó el qubit con el instrumento A, si Bob escoge mal, o sea, el B, hay un 50 % de posibilidad de que el qubit colapse al estado que preparó Alice. Por el contrario, si Bob escoge bien el instrumento, o sea, el A, hay un 100 % de probabilidades de que el qubit colapse en el estado que Alice preparó.

En resumidas, si Bob escoge bien el instrumento, es seguro que dará con el estado que Alice preparó, pero si lo escoge mal, el qubit solo colapsará en el estado que Alice preparó un 50 % de las veces. Una vez que Alice le manda la cadena de qubits a Bob y este mide cada qubit, Bob y Alice hacen público el instrumento que han utilizado para medir cada qubit y eliminan los casos en los que estos instrumentos no coinciden. Así, quedarán solo los qubits que han sido preparados y medidos con el mismo instrumento. Seguidamente, Alice le dice a Bob que revele una cierta cantidad de resultados. Si nadie ha tocado los qubits más que Alice y Bob, estos estados en los que colapsaron los qubits de Bob deben ser exactamente iguales a los que Alice preparó, pues ya eliminaron los qubits que fueron medidos y preparados con diferentes instrumentos. Si esto sucede, entonces pueden estar seguros de que la clave es segura y de que nadie ha manipulado estos qubits. Este método de encriptación es conocido como BB84 (Dur, W y Heusler, S.,2013).

## Personaje Importantes en la Criptografía Cuántica

Charles Bennett y Gilles Brassard: Descubrieron el concepto de criptografía cuántica y es uno de los padres fundadores de la teoría de la información cuántica moderna. Desarrolló un sistema de criptografía cuántica , conocido como BB84 , que permite la comunicación segura entre partes que inicialmente no comparten información secreta, basado en el principio de incertidumbre.

Gilles Brassard: Es uno de los primeros pioneros de la información cuántica en el mundo. Sus avances más famosos son la invención de la criptografía cuántica y la tele transportación cuántica, ambas reconocidas universalmente como piedras angulares fundamentales de toda la disciplina.

Emmy Noether: Para poder hablar de criptografía cuántica o incluso computación cuántica primero se pasa por la física cuántica, Emmy fue una matemática y física teórica de origen alemán. Egresada de la Universidad de Erlangen-Núrember. Ella realizó aportes importantes en el campo del álgebra y desarrolló el Teorema de Noether, el cual prueba que las leyes de la física clásica son independientes del tiempo y del espacio, lo cual sentó las bases del la física cuántica.

Alba Cervera: De origen español es física con un máster en Astrofísica, Física de Partículas y Cosmología de la Universidad de Barcelona, ha sido galardonada con el IBM Q Awards. Actualmente estás trabajando en la implementación de los algoritmos híbridos en la computación cuántica.

## Algoritmos de Encriptación

Para entender qué son los algoritmos de encriptación se desarrollará primero qué es y cómo funcionan. Se entiende como algoritmo para encriptación a una función matemática usada en los procesos de encriptación y desencriptación. Trabaja en combinación con una llave (un número, palabra, frase, o contraseña) para encriptar y desencriptar datos. Para encriptar, el algoritmo combina matemáticamente la información a proteger con una llave provista. El resultado de este cálculo son los datos encriptados. Para desencriptar, el algoritmo hace un cálculo combinando los datos encriptados con una llave provista, siendo el resultado de esta combinación los datos desencriptados (exactamente igual a como estaban antes de ser encriptados si se usó la misma llave). Si la llave o los datos son modificados el algoritmo produce un resultado diferente.

Tenemos que estos algoritmos se dividen en tres tipos:

* Algoritmo simétrico: O bien conocidos como clave secreta encripta y desencripta con la misma llave. Las principales ventajas de los algoritmos simétricos son su seguridad y su velocidad. Entre estos se encuentran: DES, RC2, IDEA, Blowfish, etc.
* Algoritmo asimétrico: O clave pública se caracteriza por usar una clave para encriptar y otra para desencriptar. Una clave no se derivará de la otra. Emplean longitudes de clave mucho mayores pero la complejidad de cálculo que comportan los hace más lentos. Por ello, los métodos asimétricos se emplean para intercambiar la clave de sesión mientras que los simétricos para el intercambio de información dentro. Acá se encuentran los siguientes: RSA, ElGamal, Diffie-Hellman, etc.
* HASH: Una función o método para generar claves o llaves que representen de manera casi unívoca a un documento, registro, archivo, etc., resumir o identificar un dato a través de la probabilidad, utilizando una función hash o algoritmo hash. Un hash es el resultado de dicha función o algoritmo. Entre estos están el: MD5, DSA, SHA-1, entre otros.

Estos algoritmos poseen una desventaja en común, la cual es que todos los algoritmos criptográficos mencionados anteriormente son vulnerables a los ataques de fuerza bruta (tratar sistemáticamente con cada posible clave de encriptación) buscando colisiones. La fuerza bruta es más fácil de aplicar en la medida que pasa el tiempo y nos referimos en la medida que pasa el tiempo al desarrollo de computadores cuánticos los cuales pueden explotar las vulnerabilidades con mayor facilidad.

Aprovechar las potencialidades de este tipo de computación requiere de la construcción de algoritmos cuánticos cuyo diseño está sujeto a las características matemáticas del problema a resolver (Gyongyosi and Imre, 2019). Uno de los primeros y más importantes hasta el momento es el algoritmo de Shor. Shor logró demostrar que su algoritmo reduce exponencialmente el tiempo necesario para la factorización de números y abrió el camino para el diseño de algoritmos cuánticos con aplicaciones en diferentes áreas del conocimiento.

## Algoritmos en la Criptografía Cuántica

Algoritmo de Shor: Fue propuesto por Peter Shor en el año 1994. Este algoritmo logró demostrar una reducción exponencial en el tiempo de cálculo para la realización de factorizaciones en número primos. Este algoritmo realiza los procesos en paralelo por ello las compuertas cuánticas son capaces de realizar un número determinado de cálculo en forma simultánea. Para la resolución de problemas este algoritmo emplea matemáticas asociadas a la teoría de números, el análisis de Fourier, números complejos, entre otros. Este algoritmo dejaría obsoleto a algoritmos como el RSA.

Algoritmo de Grover: Fue inventado por Lov K. Grover en 1996. Es un algoritmo de carácter probabilístico, por lo que produce la respuesta correcta con una determinada probabilidad de error, que, no obstante, puede obtenerse tan baja como se desee por medio de iteraciones. Este algoritmo tiene múltiples implementación entre ellas la criptografía, podría aplicar fuerza bruta a una clave criptográfica simétrica de 128 bits en aproximadamente 2^64 iteraciones, o una clave de 256 bits en aproximadamente 2^128 iteraciones, este puede no ser necesariamente el algoritmo más eficiente.

Algoritmo de Deutsch-Jozsa: Es un algoritmo cuántico determinista propuesto por David Deutsch y Richard Jozsa en 1992. Este algoritmo es de poco uso práctico actual, es uno de los primeros ejemplos de un algoritmo cuántico que es exponencialmente más rápido que cualquier posible algoritmo clásico determinista. Este proporciona una solución para un caso específico simple y devuelve una función booleana (Falso o Verdadero) por lo que se vuelve determinista comparando dos funciones.

## Ventajas

En la criptografía convencional se utilizan claves secretas las cuales requieren de un correo seguro que las distribuya, pero esto puede provocar muchos riesgos como la intrusión en la comunicación, pero en la criptografía cuántica esto se ve solucionado mediante la distribución cuántica de llaves, ya que sustituye el correo seguro por una transmisión fotónica. Ahora, como la criptografía cuántica está fundamentada en la mecánica cuántica, debido al principio de incertidumbre de Heisenberg estas claves pueden ser copiadas.

Sabemos que las computadoras cuánticas están basadas en sistemas de dos estados llamados qubits, según Montoya (2004), “Un ordenador cuántico con longitud de palabra de 32 qubits tendría una potencia de cálculo equivalente a la de unos 4300 millones de ordenadores personales de 32 bits”. Por lo que al ser más potentes, las computadoras cuánticas tendrían la capacidad de hacer cálculos exponenciales de una manera más rápida y eficiente que las computadoras convencionales. La criptografía cuántica se vería beneficiada, ya que con la potencia que tiene a disposición podría descifrar mensajes cifrados con criptografía convencional sin mucho problema.

Carrillo, Flórez, Cuadros, Ortiz y Dávila (2020) nos dicen que, “Una de las mayores ventajas de la criptografía cuántica, es su capacidad de detectar los intrusos y las intercepciones en el canal”. Como vimos uno de los protocolos utilizados en la criptografía cuántica es el protocolo B92, en este protocolo se envía un fotón a la vez, ya que, si se envían más y hay un intruso en el canal de comunicación, el intruso podría desviar una cantidad de ellos y con ayuda de un polarizador los podría medir. Es por esto que se envía solo uno, ya que así el receptor gracias al teorema de imposibilidad de clonación podría detectar un mayor error en la comunicación en caso de que haya un intruso y junto con el emisor podrían darse cuenta de que alguien está tratando de espiar los mensajes.

Hemos visto que el Algoritmo de Shor en un algoritmo polinomial que nos brinda una solución para la factorización de número enteros, según Lara (2019), “Este algoritmo es importante para la computación cuántica ya que demostró que con la ayuda de un computador cuántico se realizan cálculos para factorizar números muy grandes en periodos cortos, es decir pasaría de millones de años a cuestión de segundos”. Por lo que gracias a este algoritmo y la potencia con la que cuentan las computadoras cuánticas se podría desencriptar una comunicación cifrada de manera convencional mediante la factorización de números enteros grandes de una forma rápida y eficaz.

## Desventajas

A pesar de las grandes ventajas que nos brinda la encriptación cuántica, no todo es color de rosa. Este novedoso método de encriptación también presenta diversas desventajas y desafíos a superar para ser determinado el mejor de su tipo.

Recordemos que la computación cuántica todavía está en una fase experimental, por lo que en sí, todavía no es alcanzable para la gran mayoría de las empresas para poder usarlo. Además, debido a que la encriptación consiste en el uso de fotones, las herramientas a usar para poder hacer la codificación son de un coste mucho mayor a las usadas para la encriptación convencional, esto le resta competitividad y se le dificulta su extensión de uso alrededor del mundo.

En el caso de la piratería, hay una gran debilidad, la cual consiste en enviar un gran pulso al receptor, el cual podría cegarlo y así no pueda leer los fotones los cuales traen la información encriptada. Además, con respecto a las herramientas a usar, también existe la posibilidad de que el láser, el cual posee una intensidad tan baja para producir únicamente un fotón, produzca dos fotones en lugar de uno, lo que haría que exista una información replicada en la encriptación, y así, si un tercero desea conseguir dichos datos sin ser detectado, conseguiría el fotón replicado y el sistema no se daría cuenta de ello, ya que si quiera sabía que había un réplica.

Finalmente, otro caso posible, es el fallo en la detección de uno de los fotones. Donde, aunque el fotón si haya golpeado el detector, este no lo detecte y, así, saltar una alarma de un posible ataque pirata, cuando simplemente fue un error del mismo sistema.

