jueves, 28 de agosto de 2014

Criptografía XX

Nos quedamos con la idea de la creación de un ordenador cuántico, ¿no?
La diferencia entre un ordenador clásico y uno cuántico sería básicamente que si les hacemos dos preguntas, el clásico tiene que responder primero una y luego otra. En cambio un ordenador cuántico podría responder las dos al mismo tiempo. Algo así como desdoblarse en dos universos diferentes y tratarlas las dos a la vez.
Imaginemos que le pedimos a un ordenador clásico que busque que número elevado al cuadrado da como resultado 10000. Primero probaría con el 1, luego con el 2, luego con el 3, etc... hasta llegar al 100 dónde encontraría el resultado. Si, supongamos, que le costara hacer cada cálculo 1 segundo, tardaría 100 segundos en encontrar el número. Un ordenador cuántico solo tardaría 1 segundo en encontrarlo.
Agarraos que vienen curvas.
Representemos los número como partículas giratorias, que pueden girar hacia la derecha o la izquierda. Si gira hacia la derecha representa el 1 y si lo hace a la izquierda representa el 0. Una secuencia de partículas se representa mediante 1s y 0s, o un número binario.
Queremos encontrar el número que representan 7 partículas girando: 11010000 que en decimal es el número 104.
En un ordenador clásico probaríamos primero con las 7 partículas 0000001 (1 en decimal), luego con 0000010 (2 en decimal), etc... hasta alcanzar el 104.
En un ordenador cuántico tenemos que conseguir la superposición de cada partícula, es decir, que cada una gire en los dos sentidos a la vez. Si a una partícula girando a la derecha le lanzamos un pulso de energía suficiente podemos hacer que gire a la izquierda, pero si el pulso es débil, puede que cambie o puede que no. Si la partícula está en un lugar que no podemos observar y lanzamos un pulso débil, entonces puede estar en cualquiera de los dos estados. Está en superposición. (como el gato de la caja).
Si colocamos en superposición a 7 partículas en un ordenador cuántico, las 7 representan simultáneamente los 128 estados diferentes en los que se pueden encontrar. Por lo que sólo es necesario hacer una operación para encontrar el número 104, a diferencia del ordenador clásico que necesitaría hacer 104 operaciones.
Es raro, pero tómatelo como quieras, o es un ordenador que hace los 128 cálculos a la vez o son 128 entidades informáticas en universos diferentes, cada una con un sólo cálculo.
Parece un poco inútil todo esto, pero con solo 250 partículas giratorias o qubits (bits cuánticos) se pueden representar unas 10^75 (un 1 seguido de 75 ceros) combinaciones (que es más que los átomos que componen el universo). Un ordenador cuántico podría realizar 10^75 operaciones simultáneas en un solo segundo.
La teoría está muy bien, pero... ¿como se construye un ordenador cuántico? el mayor problema es que la superposición viene definida intrínsecamente como un estado inobservable. Si miramos, ya no hay superposición y el ordenador cuántico no sabría ni sumar 2 mas 2. Y otro problema es que no se sabía como programarlo. Pero en 1994 Peter Shor pudo definir un programa útil para un ordenador cuántico, y justamente ese programa definía los pasos para factorizar un número gigante. Notición!! justo lo que hacia falta para romper una cifra RSA. Lástima que el programa existía pero el ordenador no. Recordemos que 600 ordenadores necesitaron varios meses para factorizar un número de 129 dígitos, el ordenador cuántico podría haberlo hecho en un instante. Un par de años después Lov Grover hallo otro programa que buscaba en una lista a una velocidad altísima. Básicamente lo que hace falta para romper una cifra DES. Un ordenador clásico que pueda probar 1 millón de claves por segundo le costaría mil años (sí 1000) en romper la cifra DES, uno cuántico con el programa de Grover la encontraría en menos de 4 minutos. Ya tenemos en marcha la carrera contrarreloj de la construcción física de un ordenador cuántico.  ¿Ventaja o amenaza? Depende de su uso.
Mientras, los criptógrafos se ocupan de encontrar un sistema de cifrado que consiga hacer frente a un ordenador cuántico. En la próxima entrada veremos como avanza la cosa. Leer más...