Computación Cuántica y Criptografía

(Para Alessandro Fiori)
21/08/19

El ser humano, por su naturaleza, necesita evolucionar y comunicarse.
La comunicación es uno de los aspectos fundamentales en el crecimiento de un ser humano y esto se refleja en todas sus actividades. Toda actividad humana necesita relaciones que se mantengan a través del Lenguaje, sea del tipo que sea, por cualquier medio y forma, independientemente de la actividad en sí o del medio de comunicación utilizado. Los medios de comunicación utilizados por el hombre han evolucionado con el tiempo haciéndose cada vez más complejos, hasta la actualidad, permitiendo al hombre comunicarse a grandes distancias y en tiempo real, gracias a la tecnología.

El secreto de la comunicación siempre ha sido un factor fundamental, necesario para el buen funcionamiento de las actividades humanas. Para garantizar el secreto, nació la Criptografía, que es la Ciencia que estudia métodos para asegurar que un mensaje solo pueda ser leído por el destinatario autorizado. Esta necesidad, de hecho, ya se sentía en los tiempos de los antiguos romanos, cuando Julio César, para comunicar órdenes a sus tropas, usó su propio código ahora conocido como el "Cifrario di Cesare".

Un cifrado es una herramienta creada específicamente para "cifrar" y "descifrar" mensajes mediante el uso de un algoritmo simple. El Cifrario di Cesare, solo para dar un ejemplo, se puede utilizar para cifrar un texto "moviendo" las letras a cifrar en tres posiciones a la derecha, de esta manera: La palabra "HOLA", se convierte en "FLDR" (abriendo un imagen para explicar el "desplazamiento").

Retrocediendo a tres posiciones, el texto incomprensible "FLDR" vuelve a "CIAO".
Obviamente, este algoritmo hasta la fecha es muy "vulnerable" y fácilmente descifrable, con un poco de paciencia, incluso a mano, de computadoras simples.

Pero detengámonos por un segundo en el concepto de "algoritmo vulnerable". Es fácil ver cómo, incluso a partir del ejemplo dado, la criptografía desempeñó un papel importante en varias campañas militares, en todas las edades.

Evidentemente dos ejércitos en guerra intentan robarse información entre sí, tanto para poder predecir y aniquilar las estrategias enemigas antes de la batalla, como para descubrir sus movimientos durante la misma. Para cubrir esta necesidad nació el "criptoanálisis", que es el conjunto de métodos y estudios para intentar descifrar el mensaje sin conocer su "clave".

Todavía refiriéndose al Cifrado César, la "clave" utilizada por Julio César era tres (junto con la dirección en sentido horario o antihorario), o el número de posiciones para el "desplazamiento" de las letras del alfabeto. 
Una clave diferente devuelve un texto diferente como resultado, esto significa que el remitente y el destinatario deben tener la misma clave, una para cifrar y enviar el mensaje, la otra para descifrarlo y leerlo.
De esto deriva uno de los principales problemas en el uso de este tipo de algoritmo (criptografía simétrica): la distribución de la clave.

Quizás el ejemplo más famoso de criptoanálisis al que nos podemos referir ocurrió durante la Segunda Guerra Mundial, cuando Alan Turing creó la máquina "Coloso", un pariente muy distante de las computadoras modernas, diseñada para descifrar los mensajes cifrados con la máquina Enigma (en realidad, el su especialización, a saber, Lorenz SZ40 y SZ42).

Es fácil ver que a través del Criptoanálisis, si un Ejército logra descifrar las comunicaciones del enemigo, puede lograr una ventaja enorme y fundamental.

En la práctica, en casos extremos, el enemigo ya no puede realizar ningún movimiento ni preparar una estrategia secreta. Esta posibilidad de "romper" los algoritmos utilizados para garantizar el secreto del enemigo, ha provocado una carrera inexorable entre los matemáticos, con quienes han intentado crear algoritmos cada vez más complejos y quienes han intentado descifrarlos. En ese período, de hecho, nació el único cifrado perfecto, que es el único cifrado cuya seguridad e inviolabilidad ha sido probada matemáticamente, el One Time Pad.

El cifrado Vernam, también llamado "One Time Pad" (cuaderno desechable), es un algoritmo de cifrado especial, cuya seguridad ha sido matemáticamente probada por Claude Shannon, un ingeniero estadounidense considerado el padre de la teoría de la información, en 1949.

La seguridad de One Time Pad se produce si, y solo si:
- La clave es al menos tan larga como el texto a cifrar
- La clave es "realmente aleatoria", es decir, no se permiten programas que generen números. Esto se debe a que el software, para generar una secuencia de números aleatorios, utiliza algoritmos que comienzan desde "un punto de partida".

Este punto de partida (que puede ser un número por ejemplo) significa que la serie de números generados no es realmente aleatoria. Para un atacante, puede ser posible encontrar el "punto de partida" y con el mismo algoritmo volver a generar todos los números "aleatorios" generados previamente. Por esta razón, el software de generación de números se define como "pseudoaleatorio" o "Pseudoaleatorio".
- La clave DEBE usarse solo una vez.
Esto causa problemas, ya que es muy difícil intercambiar mensajes muy largos, y una vez que los "pads" están terminados, una clave que siempre es realmente aleatoria debe regenerarse e intercambiarse con el destinatario.

Para superar estas limitaciones, se diseñó la "Criptografía asimétrica", utilizando cifras "con una clave pública".

Este tipo particular de algoritmos, ampliamente utilizado para la web y las comunicaciones en tiempo real, como los chats, requiere que un individuo esté asociado con dos claves, una estrictamente personal (privada) y otra para compartir con todos (pública). Un interlocutor puede cifrar un mensaje con la clave pública del destinatario, pero solo el destinatario puede leer el mensaje, descifrándolo gracias a su propia "clave privada". Dado que todos los cifrados de clave pública basan su seguridad en complejas funciones matemáticas, para descifrar un mensaje sin conocer la clave se requiere una potencia de cálculo enormemente superior a las máquinas actualmente en el mercado, demostrando ser prácticamente imposible, aunque teóricamente factible gracias a un ataque de fuerza bruta (es decir, probar todas las combinaciones posibles) o usar una red de computadoras que juntas intentan forzar el algoritmo a través de sus vulnerabilidades matemáticas.

Hasta la fecha, la criptografía está presente en prácticamente todos los momentos de nuestras vidas, solo pensemos, por ejemplo, en sitios web que ponen a disposición el protocolo "HTTPS", que es un sistema de intercambio de datos entre nuestro navegador, el programa que utilizamos para navegar Internet y el sitio web visitado.

Otro ejemplo es el cifrado de extremo a extremo (por ejemplo el cifrado de WhatsApp), que es un sistema de intercambio que permite que solo los interlocutores interesados ​​lean el contenido de la comunicación. Con cifrado de extremo a extremo ni siquiera el servidor de El propio Whatsapp puede leer el contenido de los mensajes intercambiados. Sin embargo, es necesario recordar que la aplicación Whatsapp y otras similares son de código cerrado, por lo que no se le da al público conocer las operaciones reales que realiza la aplicación.

Es bueno recordar, de hecho, que incluso si la aplicación se reconoce públicamente como confiable, no es un misterio que algunos gobiernos puedan pedir a las empresas interesadas que implementen puertas traseras (literalmente "puertos de servicio" para leer mensajes) o protocolos como el "protocolo fantasma" (es decir, un "interlocutor fantasma", en este caso el gobierno, que, como parte de la conversación, podía leer los mensajes sin esfuerzo).
Es fácil ver que la carrera por las tecnologías no tiene frenos y esto puede sugerir que a medida que pasa el tiempo, estos cifrados pueden "romperse" gracias a procesadores y potencias de cómputo cada vez más potentes, por lo que corremos para escondernos actualizando algoritmos o creándolos. nuevo, cada vez más resistente y seguro.

Sin embargo, esta "persecución mutua" podría sufrir un cambio importante, gracias a una nueva tecnología que está surgiendo en estos años, que realmente podría cambiar el mundo de la comunicación y la criptografía, o "Computación Cuántica".

La Computadora Cuántica es un nuevo tipo de computadora, que explota los principios de la Mecánica Cuántica para poder realizar operaciones y procesar información. De hecho, para funcionar, la Computadora Cuántica no usa el bit ordinario, sino el "qubit" o "bit cuántico". El qubit se diferencia del bit "clásico" en que no es un simple "0" o "1", sino que codifica la información en función del estado del átomo que se observa.

Como ejemplo, el bit ordinario se puede representar lanzando la moneda en el clásico "cabeza o cruz".
El resultado del lanzamiento representa "0" o "1", que va a codificar los bits.

Ahora imagine que toma la misma moneda y la gira sobre sí misma, e imagine que la moneda nunca se detiene. La moneda tendrá dos estados, que se pueden representar como información binaria "0" o "1". La misma moneda se puede encontrar, sin embargo, en la "superposición de estados", es decir, los estados "0" y "1" pueden combinarse entre sí para dar vida a un cierto número de nuevos estados.
Esta combinación, que es el principio de superposición de los estados, permite ampliar la codificación de la información, lo que permite ampliar exponencialmente las posibilidades de cálculo.

El principio de superposición es el primer postulado de la mecánica cuántica. Establece que se pueden agregar (superponer) dos o más "estados cuánticos", generando un estado cuántico válido. Además, cada estado es la suma (superposición) de varios estados cuánticos.

Un "estado cuántico" o "estado cuántico" es la representación matemática de un sistema físico, o una "porción del universo" o un fenómeno, el objeto de estudio.

Basado en los principios de la mecánica cuántica, se han construido sistemas muy complejos, llamados "computadoras cuánticas".

La primera realización de este sistema se remonta a 2001, cuando IBM crea la primera computadora cuántica en 7 qubit.

En 2007, la compañía "D-Wave Systems" realiza el primer procesador cuántico en 16 qubit.

Siempre D-Wave Systems, realiza en el 2011 el "D-Wave One", que es una computadora con 128 qubit, el primer procesador cuántico que se comercializa.

En el 2013 se produce el "D-Wave Two", procesador a 512 qubit.

Entre 2016 y 2019, IBM proporciona la llamada "Experiencia Cuántica", que es una plataforma en la Nube, que proporciona procesadores y redes cuánticos.

Las dos plataformas (D-Wave e IBM) son muy diferentes entre sí.

En detalle, el D-Wave Two está formado por circuitos superconductores.

Cada superconductor representa un qubit.

El sistema se mantiene a una temperatura de -271 grados Celsius.

Cuando la temperatura aumenta, los electrones pueden rotar sobre sí mismos, con la misma probabilidad, tanto en sentido horario como en sentido antihorario, generando así la superposición de estados, necesarios para el funcionamiento de la computadora cuántica.

IBM Quantum Experience, por otro lado, presenta una infraestructura de nube conectada que le permite programar hasta 5 qubits y ejecutar su propio software cuántico en un procesador cuántico, o en un simulador conectado en la nube. La Experiencia Cuántica permite la creación de software cuántico hasta 5 líneas de "código", una por qubit.

Es fácil ver cómo ha comenzado una "fiebre cuántica", pero ¿por qué?
La principal razón de esta carrera hacia el "bit cuántico" se encuentra en la guerra, o más bien en la "conquista" de la información del enemigo. Cualquiera que tenga un interés militar intenta "romper" los sistemas criptográficos del enemigo, y la enorme potencia de cálculo de la computadora cuántica parece prometer milagros. Sin embargo, como cualquier tecnología, cada herramienta puede ser utilizada tanto por el atacante como por el defensor.

Pero volvamos por un momento al Perfect Cipher, el One Time Pad.
Este cifrado no se usa comúnmente, ya que la distribución de la clave es un problema que no se puede resolver fácilmente en una red informática normal. Por lo tanto, se estudió la posibilidad de usar One Time Pad de una manera nunca antes vista utilizando los mismos principios de la mecánica cuántica.

Dos investigadores y profesores universitarios (Geraldo A. Barbosa - Universidad del Sur de California y Jeroen van de Graaf - Universite de ´Montreal) en el 2015 presentaron un sistema clave de creación y distribución para One Time Pad, explotando el "ruido" presente en Un cable de fibra óptica al paso del fotón.

El ruido es una interferencia, una ligera alteración, en comparación con la señal original.
El ruido es perfectamente aleatorio, por lo que puede usarse para generar un número ilimitado de claves y también para distribuirlas fácilmente, resolviendo los problemas del One Time Pad presentado hasta ahora.

La llamada "Distribución de claves cuánticas" o QKD también se creó para el uso del One Time Pad. A través de la Distribución de Claves Cuánticas, es posible, a través de los principios de la mecánica cuántica, generar claves y distribuirlas de manera segura, esto debido a que cualquier medida en un sistema cuántico altera su estado (principio de incertidumbre), en consecuencia los interlocutores descubrirían inmediatamente que alguien está intentando capturar la clave distribuida (y obviamente, dado que la medición está alterada, la clave "capturada" no sería la correcta).

En cuanto a los usos militares, los escenarios evolucionan constantemente.
Si en 2016 China lanzó el primer satélite, el Micius, para comunicaciones cuánticas en órbita, las posibilidades de estos nuevos sistemas se están estudiando en todo el mundo.

En detalle, el satélite Micius (nombre derivado de un antiguo filósofo chino) es el primer satélite experimental que forma parte de un proyecto mucho más grande llamado "QUESS" (Experimentos cuánticos a escala espacial), un proyecto de investigación internacional en el campo de la física cuántica. . Los objetivos del proyecto son traer una red cuántica encriptada entre Asia y Europa para 2020, y para 2030 extender esta red a nivel mundial.

El proyecto QUESS tiene como objetivo crear una red que no solo sea "criptográficamente" segura, sino también imposible de interceptar, y esto es posible gracias a otro principio de la física cuántica que no está presente en la física clásica, llamado "enredo".

El entrelazamiento cuántico es un fenómeno que ocurre en condiciones particulares en las que un "estado" cuántico no puede estudiarse o describirse individualmente, sino solo como una "superposición de estados".
De esto se deduce que la medición de un estado también determina el valor de otros simultáneamente.
Un grupo de investigadores de Glasgow logró fotografiar el enredo entre dos fotones (imagen).

Gracias a este fenómeno especial, el proyecto QUESS pudo realizar la primera teletransportación de fotones gracias al satélite Micius. El proyecto QUESS se encuentra actualmente en desarrollo y, a pesar de las limitaciones (la red no se puede utilizar con la presencia de luz solar), la primera videollamada en la red cuántica se realizó en 2016. Por lo tanto, obtener la supremacía en esta área podría tener una gran ventaja sobre los competidores.

Dada la potencia de cálculo de las computadoras cuánticas y el riesgo real al que los cifrados que se utilizan actualmente no pueden resistir, los criptógrafos están estudiando algoritmos, especialmente creados para soportar estas computadoras extremadamente poderosas. De este estudio nació el término "criptografía poscuántica".

Sin embargo, existen algoritmos que ya pueden resistir un ataque informático cuántico si se usan con una clave suficientemente larga.

Uno de ellos es el AES, o el Estándar de cifrado avanzado, que es utilizado por el gobierno estadounidense para proteger los documentos clasificados como "alto secreto", que cualquier persona puede utilizar e incluidos en numerosos Frameworks, o paquetes, para desarrolladores, para crear software

Las diversas compañías, como Microsoft e IBM, también están lanzando simuladores de computadoras cuánticas al público en general, para aprender a programar en este tipo de máquina.

Microsoft también lanzó un lenguaje especial, llamado "Q #" (Q-sharp) y ejercicios, llamados "Katas", para aprender cómo usar esta nueva tecnología.

¿Estas listo para el futuro? ... porque, después de todo, ¡ya está aquí!

Para saber más:

https://www.dwavesys.com/home
https://www.research.ibm.com/ibm-q/
https://docs.microsoft.com/en-us/quantum/language/?view=qsharp-preview
http://www.difesaonline.it/evidenza/cyber/difendersi-dai-computer-quanti...
http://www.difesaonline.it/evidenza/eventi/enigma-la-macchina-cifrante-c...o-el-caso-de-2agm
https://arxiv.org/abs/1406.1543
https://en.wikipedia.org/wiki/Q_Sharp
https://cloudblogs.microsoft.com/quantum/2018/07/23/learn-at-your-own-pa... 
http://www.difesaonline.it/recensioni/andrew-hodges-alan-turing-storia-d...