viernes, 16 de mayo de 2008

Criptografia cuantica

Desde que el hombre comenzó a comunicarse con sus semejantes ha experimentado la necesidad de proteger su información confidencial de oídos y ojos indiscretos. A lo largo de la historia se han utilizado distintas técnicas de protección, desde la esteganografía para ocultar la existencia de los propios mensajes secretos, de manera que pasaran desapercibidos al enemigo, como por ejemplo gracias a la tinta invisible o a los micropuntos en letras de libros o periódicos, hasta la criptografía, para cifrar el contenido de los mensajes, de forma que sean ininteligibles para cualquiera que no posea la clave de descifrado, como la cifra de César, las rótulas de Tritemio, o los cuadrados de Polibio.

Tradicionalmente, la criptografía se ha enfrentado a dos problemas bien distintos, pero interrelacionados. Por una lado, el cifrado de los mensajes para ocultar la información que se desea transmitir. Muchos algoritmos y protocolos han sido propuestos, hasta llegar a los actuales, como DES, IDEA o Rijndael. No podemos olvidar la cinta aleatoria, el único sistema de cifrado perfectamente seguro que existe, probado matemáticamente, consistente en generar como clave una secuencia aleatoria de unos y ceros, que se suma al mensaje, previamente convertido en binario. El receptor cuenta en su poder con una cinta idéntica, realiza la suma del mensaje cifrado con ella y obtiene así el texto original. A pesar de su aparente sencillez, un mensaje cifrado por este procedimiento resulta absolutamente indescifrable, ni en un año ni en millones de eones, siempre que la cinta se utilice una sola vez (de ahí su nombre en inglés, "one-time pad").

Entonces, si este sistema es tan perfecto, ¿por qué no lo usamos todos? Éste es precisamente el segundo problema de la criptografía: la distribución de la clave, en otras palabras, ¿cómo hacer llegar la clave o la cinta aleatoria al destinatario? Si se envía por medio de un mensajero de confianza, podría caer en manos enemigas o ser copiada sin que nos enterásemos. Si se transmite por teléfono o a través de Internet, la comunicación podría ser igualmente interceptada. En definitiva, no existe forma segura de poner en conocimiento del destinatario el valor de la cinta, es decir, de la clave. Por este motivo, se han desarrollado protocolos y algoritmos que permitan compartir secretos a través de canales públicos. Hoy en día, el más usado se basa en criptografía de clave pública, como el famoso RSA.

El funcionamiento de estos algoritmos se fundamenta en la utilización de dos claves, una pública, conocida por todos, con la que se cifra la información secreta, y otra privada, sólo conocida por su propietario, con la que descifra el criptograma anterior, recuperando así la información secreta. Matemáticamente, estos algoritmos se basan en la facilidad de realizar operaciones en un sentido y en la dificultad de realizarlas en sentido contrario. Para entenderlo intuitivamente: resulta muy sencillo elevar mentalmente al cuadrado un número, por ejemplo, 8. Sin embargo, resulta muy complicado extraer mentalmente la raíz cuadrada del mismo número, 8. RSA se basa en la dificultad de factorizar números grandes. Usando los ordenadores más potentes, se tardaría varias veces la edad del universo en factorizar una clave RSA.

Así estaban las cosas, hasta que hizo su aparición en escena la computación cuántica. Cuando ya se está alcanzando el límite preconizado por la ley de Moore, que pone límite a la miniaturización de los chips, más allá del cual no puede seguirse reduciendo el tamaño de los transistores, los ojos de la industria se han vuelto con esperanza hacia los ordenadores cuánticos. Estos ingenios se basan en las propiedades cuánticas de la materia para almacenar información sirviéndose, por ejemplo, de dos estados diferentes de un átomo o de dos polarizaciones distintas de un fotón. Sorprendentemente, además de los dos estados, representando un 1 y un 0, respectivamente, el átomo puede encontrarse en una superposición coherente de ambos, esto es, se encuentra en estado 0 y 1 a la vez. En general, un sistema cuántico de dos estados, llamado qubit, se encuentra en una superposición de los dos estados lógicos 0 y 1. Por lo tanto, un qubit sirve para codificar un 0, un 1 ó ¡0 y 1 al mismo tiempo! Si se dispone de varios qubits, se podrían codificar simultáneamente cantidades de información impresionantes.

Pero la computación cuántica puede ofrecer mucho más que gran capacidad de almacenamiento de información y velocidad de procesamiento. Puede soportar formas completamente nuevas de realizar cálculos utilizando algoritmos basados en principios cuánticos. En 1994 Peter Shor, de los laboratorios AT&T Bell, inventó un algoritmo para ordenadores cuánticos que puede factorizar números grandes en un tiempo insignificante frente a los ordenadores clásicos. En 1996, Lov Grover, también de los laboratorios Bell, ideó otro algoritmo que puede buscar en una lista a velocidades increíbles. ¿Qué tienen de particular estos algoritmos desde el punto de vista de la criptografía?

Suponen la peor pesadilla de todo criptógrafo. El algoritmo de factorización de Shor demolería de una vez por todas a RSA. Si llegase a construirse un ordenador cuántico capaz de implementarlo eficientemente, se hundiría todo el edificio de la PKI: adiós al correo confidencial, al comercio electrónico, a la privacidad en línea. Por su parte, el algoritmo de Grover permite romper DES o cualquier otro algoritmo de cifrado de clave secreta, como Rijndael o RC5, en un tiempo que es raíz cuadrada del que se tardaría con un ordenador clásico. En otras palabras, todos los secretos guardados con claves de hasta 64 bits, hoy en día consideradas invulnerables, caerían como un castillo de naipes. Por ejemplo, si para atacar el DES por fuerza bruta hay que probar 256 claves con un ordenador convencional, el algoritmo de Grover reduciría el espacio de búsqueda a 228. Supondría el fin de la criptografía tal y como la conocemos actualmente, exigiendo la utilización de claves mucho más largas. Por fortuna, todavía no se ha construido un ingenio tal, ni se espera avanzar hasta estos extremos en los próximos 15 ó 25 años.

Como señala Simon Singh en su excelente libro "The Code Book", a medida que la información se convierte en uno de los bienes más valiosos, el destino político, económico y militar de las naciones dependerá de la seguridad de los criptosistemas. Sin embargo, la construcción de un ordenador cuántico acabaría con la privacidad, con el comercio electrónico y con la seguridad de las naciones. Un ordenador cuántico haría zozobrar el ya frágil equilibrio mundial. De ahí la carrera de las principales naciones por llegar primero a su construcción. El ganador será capaz de espiar las comunicaciones de los ciudadanos, leer las mentes de sus rivales comerciales y enterarse de los planes de sus enemigos. La computación cuántica, todavía en mantillas, representa una de las mayores amenazas de la historia al individuo, a la industria y a la seguridad global.

Si en la primera parte nos estremecíamos con los peligros que representa la computación cuántica para la criptografía, dada la longitud actual de claves, que debería ser doblada, nos fascinaremos a continuación con la forma como la criptografía cuántica sería capaz de implementar por primera vez una cinta aleatoria segura, soslayando el talón de Aquiles de su precaria distribución. Lo que con una mano quita la computación cuántica, con la otra repone.

La piedra angular de la criptografía cuántica es el principio de incertidumbre de Heisenberg, que, como aprendimos en la Universidad, nos enseña que no pueden conocerse simultáneamente con exactitud dos variables complementarias, como la posición y la velocidad, de una partícula. Supongamos entonces que tenemos un fotón que puede estar polarizado en una de cuatro direcciones distintas: vertical (|), horizontal (--), diagonal a la izquierda (\) o diagonal a la derecha (/). Estas cuatro polarizaciones forman dos bases ortogonales: | y --, y / y \, respectivamente.

Pues bien, el principio de incertidumbre de Heisenberg, por irracional que nos parezca, impide que podamos saber en cuál de las cuatro posibles polarizaciones se encuentra el fotón. Para conocerla, deberíamos utilizar un filtro, que podríamos imaginarnos como una ranura en una lámina, que tuviera la orientación, por ejemplo, vertical (|). Es evidente que los fotones con la misma polarización pasarán, mientras que los polarizados horizontalmente, y por lo tanto, perpendiculares al filtro, no pasarán. Sorprendentemente, ¡la mitad de los polarizados diagonalmente pasarán y serán reorientados verticalmente! Por lo tanto, si se envía un fotón y pasa a través del filtro, no puede saberse a ciencia cierta si poseía polarización vertical o diagonal, tanto \ como /. Igualmente, si no pasa, no puede afirmarse que estuviera polarizado horizontal o diagonalmente. En ambos casos, un fotón con polarización diagonal podría pasar o no con igual probabilidad.

Para utilizar estos increíbles resultados en criptografía, se acuerda representar un 1 ó un 0 de información según la polarización de los fotones que se envían. Así, en la base rectangular, que llamaremos (+), un 1 vendría representado por una polarización |, mientras que un 0, por --; mientras que en la base diagonal (x), el 1 sería la polarización / y el 0, \. En estas condiciones, para enviar un mensaje binario, Alicia va enviando fotones a Bernardo con la polarización adecuada, cambiando aleatoriamente de una base a otra.

Si un intruso, Ignacio, intercepta los fotones y mide su polarización utilizando un filtro, digamos (|), debido al principio de incertidumbre nunca podrá saber si los fotones pertenecían a la base + o x, y por lo tanto nunca sabrá qué mensaje se envió, da igual qué tipo de filtro utilice. Ahora bien, algún lector ya se estará dando cuenta de que si Ignacio se encuentra con este dilema, lo mismo le ocurrirá a Bernardo.

Efectivamente, emisor y receptor no pueden acordar de antemano qué bases se utilizarán para enviar cada fotón, porque entonces nos encontraríamos con el problema de cómo hacerse llegar mutuamente de forma segura esa lista de bases y volveríamos al principio. Tampoco pueden utilizar RSA, porque, si recuerdan, la criptografía cuántica la habría hecho zozobrar. ¿Qué solución tomar entonces?

En 1984 Charles Bennet y Gilles Brassard idearon el siguiente método para hacer llegar el mensaje al destinatario sin necesidad de recurrir a otros canales de distribución. En primer lugar, debe allanarse el camino mediante los siguientes tres pasos:

Paso 1: Alicia le envía a Bernardo una secuencia aleatoria de 1's y 0's, utilizando una elección aleatoria entre las bases + y x.

Paso 2: Bernardo tiene que medir la polarización de estos fotones. Para ello, utiliza aleatoriamente las bases + y x. Claro está, como no tiene ni idea de qué bases utilizó Alicia, la mitad de las veces estará eligiendo mal la base, por lo que, en promedio, 1 de cada 4 bits que Bernardo recibe serán erróneos.

Paso 3: para resolver esta situación, Alicia llama a Bernardo por teléfono, o se conectan a un chat, o utilizan cualquier otro canal de comunicaciones inseguro, sin preocuparles si son espiados por Ignacio, y le cuenta qué base de polarización utilizó para cada fotón que envió, + o x, aunque no le dice qué polarización concreta. En respuesta, Bernardo le cuenta a Alicia en qué casos ha acertado con la polarización correcta y por lo tanto recibió el 1 ó 0 sin error. Ahora ya, ambos eliminan los bits que Bernardo recibió con las bases erróneas, quedando una secuencia menor que la original, que constituye la clave de una cinta aleatoria 100% segura, puesto que se generó de forma completamente aleatoria por ser derivada de una secuencia original de 1's y 0's aleatoria.

¿Y qué ocurre con el malvado Ignacio? Para su desgracia, aunque intercepte los mensajes de Alicia y Bernardo, no obtendrá ninguna información útil para él, ya que nunca sabrá qué polarizaciones concretas en que cada base utilizó Alicia. Más aún, la mera presencia de Ignacio en la línea será detectada, ya que si mide la polarización de un fotón con el detector equivocado, la alterará. Lamentablemente, como el lector avispado se dará cuenta, esta alteración impediría que Alicia y Bernardo pudieran ponerse de acuerdo acerca de la secuencia aleatoria a usar como cinta, debido a que, si Ignacio cambió la polarización de un fotón por el camino, podrían obtener distintos bits incluso aunque utilicen las mismas bases.

Por consiguiente, hace falta un método para detectar que Ignacio no esté haciendo de las suyas. En realidad, resulta tan sencillo como sigue: Bernardo le cuenta a Alicia, utilizando el mismo u otro canal inseguro, cuáles son los primeros, digamos que, 50 bits de su clave aleatoria. Si coinciden con los de Alicia, entonces saben que Ignacio no les espió ni el canal tiene ruido y utilizan con seguridad el resto de los bits generados. Si no coinciden, ya saben que Ignacio metió la manaza por medio o utilizaron un canal muy ruidoso y por lo tanto deben desechar la clave entera.

En 15 años, puede decirse que no se han producido muchos más avances teóricos en el campo de la criptografía cuántica, aunque se han dado pasos de gigante en cuanto a la implementación tecnológica de lo que, de otra forma, habrían terminado como elucubraciones mentales para juegos de salón. Manipular fotones individuales constituye todo un desafío de ingeniería, que fue aceptado con entusiasmo por Bennet y un estudiante. Y así, en 1989, consiguieron la primera transmisión de señales cuánticas de la historia a una distancia de 32 cm. ¡El sueño de la distribución cuántica de claves (QKD) por fin se hacía realidad! En 1995, investigadores de la Universidad de Ginebra lo consiguieron utilizando una fibra óptica de 23 km de longitud. Actualmente, el récord de distancia de transmisión lo ostenta el laboratorio de Los Álamos en 50 km. Por su parte, en enlaces aéreos la distancia más larga ha sido de 1.6 km. Si se progresara en las transmisiones inalámbricas, incluso podría utilizarse la QKD en comunicaciones por satélite, aunque hoy por hoy todavía son inalcanzables.

Queda por resolver la cuestión de cuán segura es la QKD, ya que en la práctica el protocolo presenta ligeras debilidades (¿cómo sabe Alicia que está hablando con Bernardo?, ¿qué ocurre si alguien interrumpe su comunicación?), y el estado del arte actual de la tecnología no es capaz de fabricar aún fibras, transmisores y detectores con la perfección requerida por la QKD, como para evitar otros ataques basados en física cuántica (espejos en la fibra que dejan pasar la mitad del fotón, emisión de dos fotones simultáneamente, etc.). Hasta ahora, la única prueba rigurosa de la seguridad de QKD se debe a los investigadores Lo y Chau, quienes demostraron que, contando con la existencia de ordenadores cuánticos, la distribución cuántica de claves a lo largo de distancias arbitrarias puede tener lugar de forma incondicionalmente segura. Claro que, dado que ni en la actualidad ni en un futuro cercano se prevé la existencia de tales ingenios, el problema de la seguridad de la QKD con los sistemas actuales permanece como un problema abierto.

Estos primeros resultados en cualquier caso tan alentadores permiten acariciar la idea de anillos de fibra óptica para redes LAN o pequeñas redes WAN que conecten de la forma más segura jamás conocida distintos edificios ministeriales u oficinas bancarias de una misma ciudad. Sería el Olimpo de la criptografía. El triunfo definitivo de la seguridad y la privacidad.

Citando una vez más las palabras de Simon Singh, autor de la excelente obra "The Code Book", si los ingenieros consiguen hacer funcionar la criptografía cuántica a través de largas distancias, la evolución de los algoritmos de cifrado se detendrá. La búsqueda de la privacidad habrá llegado a su fin. La tecnología garantizaría las comunicaciones seguras para gobiernos, militares, empresas y particulares. La única cuestión en el tintero sería si los gobiernos nos permitirían a los ciudadanos usarla. ¿Cómo regularán los Estados la criptografía cuántica, enriqueciendo la Era de la Información, pero sin proteger al mismo tiempo las actividades criminales?

No hay comentarios: