Introducción
La criptografía cuántica es una nueva área dentro de la criptografía que hace uso de los principios de la física cuántica para transmitir información de forma tal que solo pueda ser accedida por el destinatario previsto.
Para poder llegar a explicar los detalles de la criptografía cuántica se necesitan establecer algunos conceptos básicos de criptografía y física cuántica que serán de ayuda para la comprensión del tema. Pero antes que nada se expone el problema que la criptografía cuántica intentará solucionar.
El Problema de Alice y Bob
A continuación se plantea un problema del cual participan dos caracteres principales, Alice y Bob. Alice desea comunicarse con Bob, pero como no se encuentran en el mismo lugar, lo hará a través de algún tipo de enlace.
El problema en cuestión se presenta con la aparición de un tercer personaje al que llamaremos Eve, quien intentará escuchar la comunicación entre Alice y Bob quienes al mismo tiempo no desean ser escuchados.
La criptografía presenta varios métodos para evitar que si una comunicación es escuchada por terceras personas, éstas puedan comprender su contenido.
La criptografía cuántica provee una contribución única al campo de la criptografía. La criptografía cuántica provee un mecanismo que permite a las partes que se están comunicando entre si a:
Detectar Automáticamente Escuchas
En consecuencia, proporciona un medio para determinar cuando una comunicación encriptada ha sido comprometida, es decir si se está efectuando una escucha secreta y no autorizada sobre la misma.
A partir de de este momento se hará uso de los nombres Alice, Bob y Eve para referirse respectivamente al emisor, al receptor y a quien escucha secretamente los mensajes de una comunicación.
Los nombres Alice y Bob son utilizados tradicionalmente en lugar de las letras A y B en ejemplos de comunicaciones y criptografía para hacer referencia a los participantes de una comunicación entre dos puntos. El nombre Eve proviene de la palabra inglesa Evesdropper cuya traducción es “quien escucha secretamente”.
Conceptos de Criptografía
Las técnicas de encriptación se suelen dividir en dos grupos: algoritmos de clave privada y algoritmos de clave pública. A los algoritmos de clave privada se los llama también algoritmos de encriptación simétricos o convencionales mientras que a los de clave pública también se los suelen denominar algoritmos antisimétricos.
Modelo de Criptografía Convencional o de Clave Privada
En el modelo convencional, el mensaje original que es comprensible se convierte en un mensaje que aparentemente es aleatorio y sin sentido. El proceso de encriptación consta de dos partes, un algoritmo y una clave. La clave es un valor que es independiente del texto o mensaje a cifrar. El algoritmo va a producir una salida diferente para el mismo texto de entrada dependiendo de la clave utilizada.
Una vez cifrado, el mensaje puede ser transmitido. El mensaje original puede ser recuperado a través de un algoritmo de desencriptación y la clave usada para la encriptación.
Modelo de Criptografía de Clave Pública
Los algoritmos de criptografía pública se basan en una clave para encriptación y una clave relacionada pero distinta para la desencriptación. Estos algoritmos tienen la característica de que es computacionalmente imposible determinar la clave de desencriptación (clave privada) a partir del algoritmo criptográfico y la clave de encriptación (clave pública).
Los pasos del proceso de encriptación con clave pública son los siguientes:
- Cada sistema genera un par de claves para ser usadas en la encriptación y desencriptación de los mensajes que envíen y reciban.
- Cada sistema publica su clave de encriptación (clave pública). La clave de desencriptación relacionada (clave privada) se mantiene en privado.
- Si Alice desea enviar un mensaje a Bob, encripta el mensaje utilizando la clave pública de Bob.
- Cuando Bob recibe un mensaje lo desencripta usando su clave privada. Nadie puede desencriptar el mensaje porque solo Bob conoce su clave privada.
El algoritmo RSA
Introducido por Ron Rivest, Adi Shamir y Len Adleman del MIT en 1978 el Algoritmo Rivest-Shamir-Adleman (RSA) es el único de los algoritmos de clave pública masivamente utilizados en la actualidad.
Los mensajes son encriptados en bloques que poseen un valor en binario menor o igual que un número n. Es decir en bloques de longitud menor o igual a log2(n). La encriptación y desencriptacion se realiza de la siguiente manera, para un bloque de mensaje M y un mensaje cifrado C:
C = Me mod n
M = Cd mod n = (Me)d mod n = Med mod n
Tanto el emisor como el receptor conocen el valor de n. el emisor conoce el valor de e, y el emisor el valor de d. por lo tanto este es un algoritmo con una clave pública {e,n} y una clave privada {d,n}
Generación de las claves
- Se seleccionan dos números primos, p y q
- Se calcula n = p x q.
- Se calcula Φ(n) = (p-1)(q-1)
- Se selecciona un entero usando: mcd (Φ(n),e) = 1 y 1 < e < Φ(n)
- Se calcula d = e-1 mod Φ(n)
- Clave Pública KU = {e,n}
- Clave Privada KR = {d,n}
Definiciones previas
Principio de Superposición
Si se piensa al qubit como un electrón en un campo magnético. El spin[2] del electrón puede estar en alineación con el campo, o en estado “spin-up”, o alineado opuestamente al campo, o en estado “spin-down”, el cambio de un estado se logra mediante un pulso de energía, por ejemplo de un láser. Supongamos que se necesita 1 unidad de energía para cambiar de un estado. ¿Que pasa si solo le suministramos la mitad de la energía requerida y aislamos la partícula completamente de las influencias externas? De acuerdo con la ley cuántica la partícula entra en una superposición de estados donde se comporta como si estuviese en ambos estados simultáneamente.
Espín: Momento angular intrínseco de una partícula subatómica (rotación sobre su propio eje). La teoría cuántica indica que el espín sólo puede adoptar dos valores a los que se los denomina “½” y “-½”
Principio de incertidumbre de Heisenberg
La ley o principio de Heisenberg establece que en el mundo subatómico no es posible conocer al mismo tiempo los valores de dos magnitudes diferentes de una partícula elemental, ya que el hecho de medir la primera interfiere con nuestra capacidad de medir la segunda.
Teorema de No Clonación
El teorema de no clonación es un resultado de la mecánica cuántica que prohíbe la creación de copias idénticas de un estado cuántico arbitrario y no conocido. Fue introducido por Wootters, Zurek, y Dieks en 1982, y tiene fuerte implicancia en el campo de la computación cuántica.
El Bit de Shannon o Bit “Clásico”
El bit de Shannon solo puede tomar uno de dos valores posibles que generalmente se denotan con 0 ó 1, pero en ningún caso puede tomar los dos valores a la vez. Estos bits tienen la propiedad de que pueden ser copiados.
El Qubit
En computación cuántica un número de partículas elementales como los electrones o fotones son utilizadas, y sus cargas o su polarización actúan como la representación de 0 y/o 1 a estas partículas se las llama Quantum Bit o Qubit.
En contraste con el bit clásico de Shannon, por el principio de superposición de la física cuántica, el Qubit puede ser 0 y 1 a la vez. Además a diferencia del Bit de Shannon el Qubit no puede ser copiado a causa de el teorema de no clonación.
Ejemplos de Qubit
Un ejemplo de qubit es una partícula con spin ½ que puede estar en un estado spin-up al que se llama 1 o en un estado spin-down al que se lo llama 0 o en una superposición de ambos estados siendo 0 y 1 al mismo tiempo.
Otro ejemplo de qubit es el estado de polarización de un fotón. Un fotón puede estar en un estado de polarización vertical ↕ al que le asignamos un valor 1. Puede estar en un estado de polarización horizontal ↔ al que le asignamos un valor 0. O puede estar en una superposición de estos dos estados, en este caso se lo interpreta con 1 y 0 al mismo tiempo.