10 Criptografía cuántica

El campo de la criptografía se ha desarrollado de forma espectacular en el último siglo, en gran medida durante la segunda guerra mundial y más recientemente, debido a la aparición y evolución de Internet. Este campo está sufriendo de nuevo una gran transformación debido al cambio de paradigma que implica la mecánica cuántica, tanto como amenaza para los sitemas criptográficos actuales como posible herramienta para la creación de nuevos sistemas criptográficos incondicionalmente seguros.

10.1 Sistemas clásicos de criptografía

Quizás uno de los avances más relevantes en el ámbito de la criptografía fue el desarrollo de sistemas de cifrado basados en una libreta de un solo uso. Aunque las primeras referencias a este esquema de encriptación se remontan a 1882, sería la patente de Gilbert Vernam en 1917 la que impulsaría su desarrollo. Esta patente propone el uso de una operación XOR para codificar una secuencia binaria con una clave binaria: si=mici,\begin{align*} s_i = m_i \oplus c_i, \end{align*} donde sis_i denota es el dígito ii-ésimo del mensaje cifrado; mim_i es el dígito correspondiente del mensaje a cifrar; \oplus hace referencia a la operación XOR; y cic_i es el correspondiente dígito de la clave de cifrado. Este esquema de encriptación se puede revertir aplicando de nuevo la operación XOR con la clave y bajo ciertas condiciones proporciona una seguridad perfecta:1

  • La clave debe ser tan larga como el mensaje.
  • La clave debe ser perfectamente aleatoria y secreta.
  • La clave nunca puede ser reutilizada.

A pesar de las garantías de seguridad del sistema, estas condiciones son poco prácticas (al requerir claves enormes que además no pueden ser reutilizadas) y los algoritmos que se utilizan hoy en día para establecer canales de comunicaciones seguros se basan en algoritmos muy diferentes.

Los algoritmos criptográficos empleados en la actualidad se basan en la dificultad computacional de realizar ciertas operaciones matemáticas. Por ejemplo, el algoritmo RSA, que es ampliamente utilizado para cifrar las comunicaciones en internet, basa su seguridad en la complejidad de factorizar números grandes. A diferencia de la libreta de un solo uso, este tipo de algoritmos ofrecen una seguridad condicional, es decir, son seguros sólo si el atacante no tiene una potencia computacional suficientemente alta para romper el sistema criptográfico.

Por ello, avances recientes en computación cuántica que veremos en el Bloque IV de la asignatura ponen en jaque muchos de los algoritmos de criptografía clásica. Un ejemplo es el algoritmo de Shor, que, utilizando un ordenador cuántico, permite factorizar números grandes en tiempo polinómico (es decir, el tiempo requerido en la factorización crece de forma polinómica con el número de dígitos de la cifra a factorizar). Dada la longitud de las claves empleadas por RSA, los ordenadores cuánticos con la tecnología existente hoy en día todavía no ponen en peligro las comunicaciones cifradas en internet. Sin embargo, se espera que en los próximos años la potencia de estos ordenadores se incremente exponencialmente y sea necesario utilizar algoritmos criptográficos seguros contra posibles ataques de computación cuántica.

Al mismo tiempo que la computación cuántica supone una amenaza a los sistemas criptográficos actuales, las leyes de la mecánica cuántica permiten la creación de sistemas de transmisión incondicionalmente seguros. Esto es así ya que, mientras que la criptografía clásica se basa en la dificultad computacional de realizar ciertas tareas, la criptografía cuántica se basa en los propios principios de la mecánica cuántica. Por tanto, estos sistemas criptográficos serán seguros mientras se cumplan las leyes de la mecánica cuántica.

10.2 Principio de funcionamiento

La característica que hace un sistema de comunicaciones cuántico criptográficamente seguro es el hecho de que, si no conoces la base en la que está codificada la información de un estado cuántico, no es posible aplicar un proceso de medida a este estado sin destruir la información que contiene. Así, si un atacante espía accede al estado cuántico no pude acceder al contenido del estado, ya que no sabe como realizar la medida del mismo. En cambio, un usuario legítimo que conozca la base utilizada sí puede diseñar un POVM para extraer la información del estado mediante una medida.

Intuitivamente, podemos visualizar un estado cuántico como una caja cerrada con distintas formas posibles a la hora de abrirla. En esta caja se puede ``guardar’’ información, pero ésta sólo es accesible a través de una de las posibles formas de abrir la caja, siendo estruida en cualquier otro caso.

Podemos ilustrar esta propiedadde una forma más concreta con la codificación de un bit de información en la polarización de un fotón. Para hacer esto, se puede preparar el fotón con una polarización horizontal/vertical en función del bit a transmitir, o con una polarización circular izquierda/derecha, o con cualquier otra combinación de dos polarizaciones que sean ortogonales entre sí. En el proceso de medida de un fotón, podemos distinguir sin errores cualquier par de estados ortogonales, por lo que podríamos determinar el bit codificado en el mismo. Sin embargo, para realizar este proceso se debe decidir con antelación cuál es el par de polarizaciones que se van a distinguir. Si no se conoce el esquema utilizado a la hora de codificar la información, no se puede extraer la misma del fotón sin destruirlo.

Ejemplo 10.1 Alice almacena cierta información secreta en un estado cuántico, para ello utiliza una clave binaria que solo conoce ella misma. Por simplicidad, vamos a asumir que la infromación a almacenar es un único bit s{0,1}s\in \{0,1\} y Alice utiliza una clave c{0,1}c \in \{0,1\}.

Para proteger esta información, Alice considera los siguientes estados cuánticos puros Π0=[1000],Π1=[0001],Π+=12[+1+1+1+1],Π=12[+111+1],\begin{align*} \Pi_{0}=\begin{bmatrix}1&0\\0&0\end{bmatrix},\quad \Pi_{1}=\begin{bmatrix}0&0\\0&1\end{bmatrix},\quad \Pi_{+}=\frac{1}{2}\begin{bmatrix}+1&+1\\+1&+1\end{bmatrix},\quad \Pi_{-}=\frac{1}{2}\begin{bmatrix}+1&-1\\-1&+1\end{bmatrix}, \end{align*} y sigue el siguiente esquema de codificación:

  • Si la clave es c=0c=0, Alice prepara el estado ρ={Π0,s=0,Π1,s=1.\begin{align*} \rho = \begin{cases} \Pi_{0}, & s=0,\\ \Pi_{1}, & s=1. \end{cases} \end{align*}
  • Si la clave es c=1c=1, Alice prepara el estado ρ={Π+,s=0,Π,s=1.\begin{align*} \rho = \begin{cases} \Pi_{+}, & s=0,\\ \Pi_{-}, & s=1. \end{cases} \end{align*}

Como Alice conoce la clave cc, puede recuperar la información almacenada a través de una medida en la base correspondiente, con el POVM {Π0,Π1}\bigl\{\Pi_{0}, \Pi_{1}\bigr\} para c=0c=0, o usando el POVM {Π+,Π}\bigl\{\Pi_{+}, \Pi_{-}\bigr\} cuando c=1c=1.

Sin embargo, un atacante, aunque tenga acceso al estado ρ\rho no puede acceder a la información contenida en él, al no conocer la base de medida correspondiente. Si escoge una de las dos bases al azar, existe un 50% de posibilidades de que escoja la incorrecta, en cuyo caso destruiría la información contenida en ρ\rho, debido al colapso de la función de onda. En el proceso de codificación, Alice podría considerar incluso más pares de estados, de forma que la probabilidad de que el atacante acierte la base de medida se vería reduciría todavía más, a costa de aumentar la longitud de la clave.

10.3 Distribución cuántica de clave

El primer esquema criptográfico práctico que vamos a estudiar permite generar una clave binaria en dos localizaciones diferentes de una forma totalmente segura utilizando los principios de la mecánica cuántica, lo que se conoce como distribución cuántica de clave. Este proceso no permite transmitir información por sí mismo, pero permite generar una clave de longitud arbitraria que se puede utilizar, por ejemplo, en un esquema de cifrado con una libreta de un solo uso. Por tanto, bajo ciertas premisas que veremos, un esquema de distribución cuántica de clave permite establecer un canal de comunicaciones con una seguridad perfecta.

El primer sistema de distribución cuántica de clave fue presentado por Bennet y Brassard en una conferencia científica en 1984, y es por tanto relativamente reciente.2 Este protocolo se denomina habitualmente como BB84, por las iniciales de sus autores y su año de publicación. El funcionamiento de este sistema criptográfico aparece representado de forma esquemática en la siguiente figura:

Diagrama de bloques de un sistema de distribución cuántica de clave basada en el protocolo BB84.

Protocolo BB84:

  1. Inicialmente, Alice genera de forma aleatoria dos secuencias binarias de longitud nn, a=[a1  a2    an],b=[b1  b2    bn],\begin{align*} \boldsymbol{a} &= [a_1\;a_2\;\cdots\;a_n],\\ \boldsymbol{b} &= [b_1\;b_2\;\cdots\;b_n], \end{align*} y Bob genera también una secuencia binaria aleatoria de la misma longitud, c=[c1  c2    cn].\begin{align*} \boldsymbol{c} &= [c_1\;c_2\;\cdots\;c_n]. \end{align*} Asumimos que los bits generados por Alice y Bob son equiprobables e independientes entre sí.

  2. Alice realiza nn transmisiones por el canal cuántico, que denotamos por i=1,,ni=1,\ldots,n. En el instante ii, Alice elige una base {Π0,Π1}\{\Pi_{0}, \Pi_{1}\} o {Π+,Π}\{\Pi_{+}, \Pi_{-}\} en función del valor de bib_i y codifica el bit aia_i en esa base:

  • Si bi=0b_i=0, Alice prepara el estado ρA(i)={Π0,ai=0,Π1,ai=1.\begin{align*} \rho_A^{(i)} = \begin{cases} \Pi_{0}, & a_i=0,\\ \Pi_{1}, & a_i=1. \end{cases} \end{align*}
  • Si bi=1b_i=1, Alice prepara el estado ρA(i)={Π+,ai=0,Π,ai=1.\begin{align*} \rho_A^{(i)} = \begin{cases} \Pi_{+}, & a_i=0,\\ \Pi_{-}, & a_i=1. \end{cases} \end{align*}
  1. Alice transmite el estado ρA(i)\rho_A^{(i)} resultante a Bob por un canal cuántico ideal, de forma que ρB(i)=ρA(i)\rho_B^{(i)}=\rho_A^{(i)}.
  2. Bob mide el cúbit ρB(i)\rho_B^{(i)} con respecto a una de las bases {Π0,Π1}\{\Pi_{0}, \Pi_{1}\} o {Π+,Π}\{\Pi_{+}, \Pi_{-}\}. Dado que no conoce la base que Alice ha utilizado en la codificación, Bob realiza la elección de base en función de su propia secuencia cic_i. Denominamos al resultado de la medida como a^i{0,1}\hat a_i \in\{0,1\}.
  3. Al final de la transmisión, Alice y Bob intercambian b\boldsymbol{b} y c\boldsymbol{c}, posiblemente a través de un canal inseguro.
  • Si bi=cib_i=c_i, se cumple que ai=a^ia_i=\hat{a}_i, ya que ρ(i)\rho^{(i)} se ha codificado y decodificado en la misma base.
  • Si bicib_i \neq c_i, no se puede garantizar ai=a^ia_i=\hat{a}_i, por lo que se descartan esos bits de la clave generada.

Al final de la transmisión, Alice y Bob obtienen una clave con aproximadamente la mitad de longitud de la secuencia transmitida. Esto es así porque las secuencias binarias b\boldsymbol{b} y c\boldsymbol{c} se han generado al azar, de una forma independiente. Por tanto, Pr{Bi=Ci}=12\Pr\bigl\{B_i = C_i\bigr\} = \frac{1}{2}, y una vez terminado el protocolo tendremos que aproximadamente en la mitad de las posiciones se cumple que bi=cib_i=c_i.

Seguridad del protocolo BB84

En el análisis anterior no hemos indicado por qué es (o cómo hacer que sea) este protocolo seguro. A continuación veremos como se comporta este esquema de distribución de clave ante un dispositivo atacante, que denominaremos Eve con acceso completo a la transmisión por el canal cuántico entre Alice y Bob:

Distribución cuántica de clave basada en el protocolo BB84 con un atacante interceptando el canal cuántico.

Por los principios de la mecánica cuántica, Eve no puede conocer el contenido del estado ρA(i)\rho_A^{(i)} sin aplicar una operación de medida. Sin embargo, sabemos que aplicar una operación de medida colapsa el estado y no se puede revertir. Así, si Eve realizase la medida en la base incorrecta, destruiría la información contenida en ese estado. Vamos a verlo con un ejemplo concreto.

En análisis descrito en este ejemplo sugiere la forma de detectar la presencia de Eve. Para lograr esto, se sigue el protocolo de distribución cuántica de clave BB84 ya presentado. Al terminar, Alice y Bob pueden compartir y comparar algunas posiciones de la clave generada y así verificar que coinciden. Así, añadimos un último paso al protocolo anterior:

El número de bits que se comparten en esta fase va a depender de la probabilidad de detección de la presencia de Eve requerida por la aplicación. Esto se estudia en detalle en el siguiente ejercicio.

Ejercicio 10.1 Considere una implementación del protocolo BB84 sobre un canal cuántico ideal.

  • Si Eve ``escucha’’ la transmisión eligiendo su base al azar, determine la probabilidad de que no coincidan dos bits codificados y medidos en la misma base por Alice y Bob, es decir, Pr{AiA^i}\Pr\{ A_i \neq \hat{A}_i \} para un índice ii tal que bi=cib_i=c_i.
  • Para este ataque, ¿cuantos bits aia_i y a^i\hat{a}_i necesitan comparar Alice y Bob para detectar a Eve con una probabilidad del 9999%?

Debilidades del protocolo BB84

Hemos visto que la clave del funcionamiento de este protocolo es interpretar un estado cuántico como una caja cerrada con varias posibles ``puertas’’ y que sólo se puede abrir un vez. Este planteamiento no asume una cierta capacidad computacional por parte de Eve, y se basa directamente en los principios de la mecánica cuántica. A pesar de esta garantía de seguridad, existen diversos puntos que ponen en peligro la robustez del protocolo BB84. Aunque no veremos en detalle todos los posibles ataques, a continuación presentamos algunas de sus debilidades y cómo mitigarlas:

  • El protocolo BB84, al igual que muchos sistemas criptográficos, es vulnerable a un ataque man-in-the-middle en el que Eve se hace pasar por Bob para Alice y al mismo tiempo por Alice para Bob en todo el proceso:

Esquema de un ataque man-in-the-middle.

Para esto, Eve necesita tener un control total tanto del canal cuántico como del canal clásico auxiliar utilizado para compartir las secuencias aa, bb y cc. Este riesgo se puede mitigar mediante certificados de identidad y un protocolo de firma adecuado.

  • La seguridad del protocolo BB84 no es evidente en presencia de ruido, que es inevitable en sistemas reales. El ruido puede producir una transformación no deseada del estado cuántico transmitido. Así, en presencia de ruido, se producirían discrepancias entre los bits de clave aia_i y a^i\hat{a}_i, que podrían deberse bien al ruido o bien a la presencia de Eve interceptando la transmisión. Como contramedida, se podría estimar la cantidad de ruido del enlace y así intentar distinguir su efecto de la presencia del atacante, que incrementaría la tasa de errores de una forma notable.

  • Otro punto relevante de cara a la implementación práctica de este esquema de comunicaciones es que su seguridad precisa que cada bit de clave se transmita en un único estado cuántico. De otra forma, si Alice genera dos o más copias de ρA(i)\rho_A^{(i)}, Eve podría conservar una de ellas y transmitir las restantes a Bob. De esta forma, cuando alice y Bob comparten las secuencias bb y cc, Eve sabría en que base debe efectuar su medida sobre la copia ρA(i)\rho_A^{(i)} conservada. Este problema es muy relevante cuando el protocolo de distribución de clave se implementa sobre un sistema de comunicaciones óptica en el que los estados cuánticos se corresponden a fotones. Dada su naturaleza, es muy complicado garantizar que un láser genera un único fotón, y es posible que se transmitan de forma esporádica paquetes de 2 o 3 fotones con la misma polarización. Este problema se puede mitigar con técnicas de amplificación de privacidad como la mostrada en el siguiente punto.

  • Es posible que el atacante no acceda a todos los cúbits transmitidos, sino sólo a algunos de ellos para dificultar su detección. Este tipo de ataque se puede mitigar con un esquema de amplificación de privacidad. Este proceso es capaz de incrementar la seguridad a costa de reducir la longitud de la clave generada. Podemos ver el funcionamiento de un esquema de amplificación de privacidad con un ejemplo. Para ello, cosideremos que Alice y Bob han generado una clave s=0100111001001101,\begin{align*} s = 01\underline{\textbf{001}}110\underline{\textbf{0}}10\underline{\textbf{01}}1\underline{\textbf{01}}, \end{align*} donde se han resaltado en negrita y subrayado los bits comprometidos a los que Eve ha tenido acceso. Si aplicamos una operación XOR a pares de bits consecutivos y nos quedamos con el resultado obtenemos la nueva clave s=10011001,\begin{align*} s' = 1\underline{\textbf{0}}01100\underline{\textbf{1}}, \end{align*} y si repetimos este proceso una segunda vez obtenemos s=1111.\begin{align*} s'' = 1111. \end{align*} Se puede ver que en esta última clave ya no hay ninguna posición que se encuentre comprometida. Este proceso de amplificación de privacidad se puede aplicar de forma independiente en Alice y Bob, y aumenta la seguridad de la clave generada a cambio de reducir la longitud 1616 de la clave inicial ss hasta los 44 bits de la clave ss''.

10.4 Protocolos de doble llave

El protocolo de distribución cuántica de clave estudiado en la sección anterior ha tenido un gran impacto y ya se está explotando de forma comercial en transmisiones que requieren una confidencialidad absoluta. Estas pueden ser, por ejemplo, ciertas transmisiones de inteligencia o transferencias bancarias de primer nivel. Aunque actualmente la distribución cuántica de clave es un proceso lento y caro, viene a sustituir el transporte de claves de libreta de un solo uso, que muchas veces se realiza en furgones blindados, proceso todavía mucho más lento y más caro. A pesar de su importancia, un protocolo de distribución cuántica de clave no permite la transmisión segura de un mensaje por sí mismo y requiere un canal clásico auxiliar para su funcionamiento.

En esta sección plantearemos un esquema criptográfico que si permite la transmisión de un mensaje arbitrario, posiblemente compuesto por información cuántica, de una forma segura Este protocolo se basa en realizar una doble encriptación del estado cuántico utilizando ciertos operadores unitarios que cumplen la propiedad de conmutatividad. La siguiente figura muestra el funcionamiento de este esquema criptográfico, que denominaremos por motivos evidentes:

Diagrama de bloques de un sistema de criptografía cuántica de doble llave.

Si analizamos el estado resultante después de aplicar cada operación, se tiene que:

  1. Alice aplica UAU_A para obtener UAρAUAHU_A \rho_A U_A^H.
  2. Bob aplica UBU_B para obtener UB(UAρAUAH)UBHU_B \bigl(U_A \rho_A U_A^H\bigr) U_B^H.
  3. Alice aplica UAHU_A^H para obtener UAH(UBUAρAUAHUBH)UAU_A^H \bigl(U_B U_A \rho_A U_A^HU_B^H \bigr) U_A.
  4. Bob aplica UBHU_B^H para obtener UBH(UAHUBUAρAUAHUBHUA)UBU_B^H \bigl( U_A^H U_B U_A \rho_A U_A^HU_B^H U_A \bigr) U_B.

Si las transformaciones unitarias UAU_A y UBU_B conmutan entre sí (es decir, si UAUB=UBUAU_A U_B = U_B U_A), entonces se tiene que el estado a la salida del protocolo está dado por ρB=UBHUAHUBUAρAUAHUBHUAUB=(UBHUB)(UAHUA)ρA(UAHUA)(UBHUB)=ρA.\begin{align*} \rho_B &= U_B^H U_A^H U_B U_A \rho_A U_A^HU_B^H U_A U_B\\ &= \bigl(U_B^H U_B\bigr) \bigl(U_A^H U_A\bigr) \rho_A \bigl(U_A^H U_A\bigr) \bigl(U_B^H U_B\bigr) = \rho_A. \end{align*} Se debe tener en cuenta que en este protocolo el estado que circula entre Alice y Bob siempre se encuentra codificado con alguna transformación unitaria desconocida para un posible atacante. Por tanto, éste último nunca puede acceder al contenido de este estado.

Ejercicio 10.2 Considere un protocolo de doble llave para la transmisión de un estado binario. Alice y Bob aplican las transformaciones unitarias UA=[cos(α)sin(α)sin(α)cos(α)]U_A = \bigl[\begin{smallmatrix} \cos(\alpha)& -\sin(\alpha)\\\sin(\alpha)& \cos(\alpha) \end{smallmatrix}\bigr] y UB=[cos(β)sin(β)sin(β)cos(β)]U_B = \bigl[\begin{smallmatrix} \cos(\beta)& -\sin(\beta)\\\sin(\beta)& \cos(\beta) \end{smallmatrix}\bigr], que se corresponden a rotaciones con dos ángulos secretos α\alpha y β\beta, respectivamente.

  • Demuestre que estas transformaciones son conmutativas, es decir, que UAUB=UBUAU_A U_B = U_B U_A.

  • Asuma ahora que α=π/2\alpha = \pi/2 y que β=π\beta = -\pi. Determine los estados intermedios del protocolo de doble llave para la transmisión segura de un estado ρA=[3/4001/4]\rho_A = \bigl[\begin{smallmatrix} 3/4& 0\\ 0 & 1/4 \end{smallmatrix}\bigr].

A pesar de la simplicidad de este esquema de codificación, su implementación práctica es muy compleja con la tecnología actual. Esto es así porque este sistema requiere aplicar diferentes transformaciones a cada estado cuántico (por ejemplo, fotones) y además éstos deben recorrer la distancia que separa a Alice y Bob en tres ocasiones sin interactuar con el entorno (de otra forma se destruiría su contenido). Por todo ello, por ahora no existen aplicaciones comerciales de este tipo de sistemas criptográficos.