Ordenadores cuánticos: los aguafiestas de la criptografía clásica – Fisquito #3×07

Un fisquito de matemáticas: tercera temporada. Bueno, pues yo les voy a hablar de cómo los ordenadores cuánticos son unos aguafiestas para los criptógrafos. Ya en el fisquito dos Daniel nos habló de criptografía. ¿Qué es criptografía? Voy a hablar un minuto de criptografía. Criptografía es la ciencia de mantener los secretos en secreto. Es decir, tenemos dos personas, Alicia y Bob que quieren mantener una conversación segura. ¿Cuáles son los objetivos de la criptografía? Pues por una parte que nadie pueda leer nuestros mensaje, por otra parte que nadie pueda modificar la información. No es lo mismo quiero enviar mil euros a Ana que quiero enviar 10.000 euros a Sara.

Por otra parte que Alicia sea Alicia y Bob sea Bob. Es decir que no haya ninguna tercera persona en la conversación. Y por otra parte que si Alicia ha enviado un mensaje no niegue que ha enviado un mensaje. Es decir, los objetivos de criptografía son: confidencialidad, integridad de los datos, autenticación y el no repudio. Esos son los cuatro objetivos de criptografía. Daniel nos habló de que criptografía venía de dos vocablos: kriptos, que significa esconder y graphein que significa escribir, es decir literalmente criptografía es escritura oculta; y también nos habló de alguna criptografía clásica. Bueno, los primeros ejemplos algunos dicen que son los jeroglíficos egipcios, pero realmente lo que se considera el primer ejemplo de criptografía es la escítala griega que es simplemente transponer las letras.

¿Vale? otro ejemplo es el cifrado de César que es sustituir cada una de las letras por la que ocupa tres posiciones a la derecha. De esta forma criptography se convierte en esa palabra que no se puede comprender. En el cifrado de César tenemos diferentes claves: podemos desplazarla tres letras a la derecha o podemos desplazarla hasta tantas letras como tengamos en el alfabeto. Es decir, tenemos 26 posibles claves. Todo esto la criptografía tanto de transposiciones y sustituciones es lo que se siguió utilizando hasta el siglo XX. La máquina enigma utiliza transposiciones y sustituciones. ¿Cuál es la diferencia? La máquina enigma se utilizó durante la Segunda Guerra Mundial. ¿Cuál es la diferencia? Que hemos pasado de 26 claves que tenía el cifrado de Cesar a toda esa cantidad de claves que son un montón. Ya a mano es imposible romper la máquina enigma. Por eso Alan Turing si habrán visto películas sobre la máquina enigma habrán visto que Alan Touring necesitó crear un ordenador para poder romper la máquina enigma.

Todo lo que les he hablado hasta ahora y lo que les habló Daniel es criptografía de clave secreta. Es decir, emisor y receptor se tienen que poner de acuerdo en una clave. Se utiliza la misma clave tanto para cifrar como para descifrar. Pero eso quiere decir que antes hay que ponerse de acuerdo en una clave. Hoy en día, ¿cómo se utiliza la criptografía? Tenemos dos clientes como puede ser vuestro teléfono móvil o un ordenador y ustedes se conectan a un servidor web: a Facebook, a Amazon, a todo eso. Pues esa comunicación tiene que ser secreta. Ustedes están intercambiando datos. Esa comunicación es imposible que sea con clave secreta. No es posible que ustedes antes se hayan puesto de acuerdo en una clave con todos los servidores web.

Entonces lo que utiliza es criptografía de clave pública. ¿Qué es criptografía de clave pública? Ahora, para cifrar y descifrar utilizamos dos claves diferentes. Tenemos una clave pública que hacemos que todo el mundo la conozca, que es con la que vamos a cifrar. O sea, que cualquier persona que nos quiera enviar un mensaje va a utilizar esa clave pública que nosotros hemos repartido y nosotros somos los únicos que tenemos el secreto para descifrar. La criptografía de clave pública, como les dije, se utiliza pues en los servidores web como son los protocolos TLS o SSL que lo habrán visto cuando entran ustedes de forma segura en una página, pero también por ejemplo cuando están descargando cualquier aplicación en el móvil ustedes están utilizando criptografía de clave pública.

Es decir, cuando al ordenador les pide actualizar el antivirus ustedes tienen que asegurarse que el proveedor es realmente el del antivirus y que ustedes no están introduciendo virus en el ordenador. Bueno, pues otros ejemplos: los DNI, el pasaporte electrónico, el bitcoin no sé si lo han oído, que son las nuevas monedas que están basados en protocolos criptográficos. ¿Quién introdujo la criptografía de clave pública? La criptografía de clave pública se introdujo hace solo 40 años y fueron estos señores: Diffie y Hellman. Y matemáticamente, ¿qué significa? Pues matemáticamente son funciones que son muy fáciles en un sentido, pero muy difíciles de invertir. Es decir, son funciones de un solo sentido, excepto si tienes una información extra, si tienes una trampilla, lo que se conoce como función trampilla. Con esa trampilla podemos invertirlo de forma fácil. Veamos un ejemplo. Nosotros tenemos dos números primos, multiplicarlos es muy fácil; ahora sí tenemos un número compuesto que está formado por dos números primos factorizarlos es algo muy complejo.

Es lo que se conoce como el problema de factorización de entero. No sé si habrán oído hablar del criptosistema de RSA que es lo que se utiliza hoy en día… Pues ese criptosistema de RSA está basado en la factorización de enteros. La factorización de enteros tiene un problema. Cuanto más eficaces sean los ordenadores hay que utilizar números primos más grandes. Por eso ahora habrán visto muchas veces que se da dinero porque son números primos muy grandes. Fíjense que en 2012 ya se conseguía factorizar números con 1.061 bits, es decir con con 320 dígitos. Es decir, fíjense en la magnitud de lo que estamos trabajando. Otro problema de estos de un solo sentido con trampillas es el logaritmo discreto. Si conocemos X, sabemos calcular elevado G elevado a X modulo P. Recuerden para aquellos que no conocen, módulo es el resto de la división x P. Pero bien, si conocemos H, calcular ese X es un problema muy difícil.

Es un problema muy difícil de invertir. Los investigadores en 2013, hace nada, han conseguido un algoritmo efectivo cuando P es 2 y 3. Eso hace cosquillas a criptografía. Nosotros estamos trabajando con primos de de más de 230 dígitos. O sea que tengamos un algoritmo efectivo para primos tan pequeño hace cosquillas a criptografía. La criptografía de clave pública que utilizamos hoy en día está basada en los dos problemas que les acabo de presentar. No existe otro tipo de criptografía que utilice otro tipo de problema. Es decir factorización de entero, logaritmo discreto, que les acabo de presentar y luego una variante: logaritmo discreto sobre curvas elípticas, que lo que permite es reducir el tamaño de las claves. Fíjense hasta 2015 utilizábamos claves secretas de 2 elevado a 80 bit. Ya hay que aumentar. Eso en clave secreta pero en clave pública la clave es mucho más grande.

Una pregunta que nos tenemos realmente que hacer es: ¿son realmente estos problemas difíciles? Es decir, ¿es realmente difícil invertir ese problema? L. Massey decía: "un problema es difícil solamente si no hay nadie trabajando en él". Bueno, pues yo les puedo decir que hay muchísimos investigadores trabajando en estos dos problemas, así que no podemos con esta definición decir que un problema, que estos dos problemas son difíciles. Pero es que hay otro problema y es que si aparece el ordenador cuántico hay dos algoritmos que hacen mucho daño a la criptografía de estos dos señores: de Grover y Peter Shor.

El algoritmo de Peter Shor rompe completamente todo lo que esté basado en factorización de enteros y en el logaritmo discreto. ¿Existe el ordenador cuántico? Bueno, pues oficialmente no, pero todas las naciones están invirtiendo mucho dinero de forma secreta para crear el ordenador cuántico, ya que aquella nación que tenga al ordenador cuántico entenderá los mensajes de todo el resto de las naciones. Fíjense que el escándalo de Snowden en 2014 sacó a la luz que Estados Unidos estaba gastando más de 85 millones de dólares al año en crear un ordenador cuántico. Así que es una realidad. ¿Y qué pasa cada si aparece el ordenador cuántico? No tenemos… todo lo que conocemos de Internet, de comunicaciones seguras estará roto porque sólo está basado en factorización de enteros y en logaritmo discreto. ¿Tenemos alguna solución? Pues sí, hay solución.

Desde que apareció la criptografía de clave pública no sólo estamos los matemáticos… no sólo trabajamos con esos dos problemas aunque sean los dos que se utilizan en la realidad. En la factorización de enteros y el logaritmo discreto son problemas que tienen esta complejidad. Problemas NP. Pues, para que sean resistentes a los ordenadores cuánticos tenemos que trabajar con problemas NP completos o NP duros. Ustedes no han trabajado mucho con complejidad, pero son este tipo de problemas. ¿Cuáles son ese tipo de problemas? Hoy en día los matemáticos trabajamos con cuatro problemas de estos que estamos intentando aplicar a criptografía. Por una parte son resolver ecuaciones lineales multivariables, por otra parte decodificación de códigos lineales, por otra parte pues encontrar vectores cercanos en retículos, en redes y por otra parte funciones Hash.

El último olvídense porque está basado en criptografía de clave secreta. Pero los otros fíjense si yo les pongo este problema dudo mucho que alguien de ustedes en un mes o en un año sepa resolverlo. Ya hay retos para resolver este tipo de problemas. Encontrar vectores, supongamos que tenemos dos vectores y queremos encontrar la combinación que se aproxime más a este. Es un problema difícil también y el otro la decodificación de códigos lineales es donde yo hago mi investigación. El NIS, la agencia que pone los estándares de criptografía ya ha dicho que existe esta amenaza y ha dicho que los matemáticos tenemos que trabajar para que esto sea real, para que esto lo utilicemos dentro de dos o tres años en la vida real. Hay que trabajar. Y con esto he terminado. Muchas gracias..

As found on YouTube