10 Criptografía cuántica

El campo de la criptografía se ha desarrollado de forma espectacular en el último siglo, impulsado primero por la necesidad de comunicaciones secretas 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 segunda revolución cuántica, que supone una amenaza para los sitemas de cifrado actuales, pero al mismo tiempo permite también la creación de una nueva criptografía más segura.

10.1 Sistemas clásicos de criptografía

Hasta el descubrimiento de la criptografía de clave pública en la década de 1970, todos los sistemas de cifrado requerían una clave privada, es decir un secreto compartido entre el transmisor y receptor. Un sistema de cifrado sencillo y efectivo de clave privada es la libreta de un solo uso. Aunque las primeras referencias a este sistema de cifrado se remontan a 1882, sería la patente de Gilbert Vernam en 1917 la que impulsaría su desarrollo.

La libreta de un solo uso aplica una operación XOR para codificar una secuencia binaria con una clave: 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 (Shannon 1949):

  • 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, las condiciones que require son poco prácticas (al necesitar claves enormes que además no pueden ser reutilizadas) y los esquemas 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 clasifican entre algoritmos de clave privada y de clave pública.

Los algoritmos de clave privada, como puede ser el ampliamente utilizado AES, utilizan claves privadas de longitud menor a la del mensaje transmitido. El ataque más eficiente para estos algoritmos, a no ser que presenten fallos en su diseño, se basa en probar todas las claves posibles sobre un mensaje cifrado lo que se conoce ataque por fuerza bruta, y su seguridad dependen en gran medida de la longitud de la clave empleada.

Los algoritmos de clave pública, en cambio, dependen de la dificultad computacional de realizar ciertas operaciones matemáticas. Por ejemplo, el algoritmo RSA, que es utilizado para cifrar muchas de las comunicaciones en Internet, basa su seguridad en la complejidad de factorizar números grandes.

A diferencia de la libreta de un solo uso, los sistemas actuales de clave pública y privada 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 la Parte 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.

10.2 Fundamentos de la criptografía 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.

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:

Teorema 10.1 (Ganancia de información implica perturbación) Para discriminar dos estados cuánticos que no son ortogonales entre sí, sólo es posible extraer información modificando el estado original.

Demostración. Consideremos un sistema cuántico que se puede encontrar en uno de dos posibles estados puros ψoφ,\begin{align*} \ket{\psi} \quad\text{o}\quad \ket{\varphi}, \end{align*} tales que ψφ0\braket{\psi|\varphi}\neq 0, es decir, no son ortogonales entre sí.

Queremos extraer información sobre el estado en el que se encuentra el sistema sin modificarlo. Para obtener información sobre ψ\ket{\psi} y φ\ket{\varphi} necesitaríamos una transformación UU que, para un estado auxiliar a\ket{a} independiente de los estados a discriminar, generara U(ψa)=ψb,U(φa)=φb.\begin{align} U \bigl( \ket{\psi} \otimes \ket{a} \bigr) &= \ket{\psi} \otimes \ket{b},\\ U \bigl( \ket{\varphi} \otimes \ket{a} \bigr) &= \ket{\varphi} \otimes \ket{b'}. \end{align} La transformación UU debe ser unitaria por los principios de la mecánica cuántica y los estados ψ\ket{\psi} y φ\ket{\varphi} deben permanencer inalterados a su salida. Si los estados b\ket{b} y b\ket{b'} fueran diferentes, entonces sería posible aplicar una medida sobre los mismos y así extraer información.

A continuación vamos a realizar un producto interior entre los estados a la izquierda de las identidades (1)-(2). Se cumple además que el producto interior se preserva bajo transformaciones unitarias: (ψa)UHU(φa)=(ψa)(φa)=(ψφ)(aa)=ψφaa,\begin{align*} \bigl(\bra{\psi} \otimes \bra{a}\bigr)U^H U\bigl(\ket{\varphi} \otimes \ket{a}\bigr) &= \bigl(\bra{\psi} \otimes \bra{a}\bigr)\bigl(\ket{\varphi} \otimes \ket{a}\bigr)\\ &= \bigl( \braket{\psi|\varphi} \bigr) \otimes \bigl(\braket{a|a}\bigr)\\ &= \braket{\psi|\varphi} \braket{a|a}, \end{align*} dónde hemos utilizado la propiedad del producto mixto del producto de Krönecker.

De forma similar, aplicando el producto interior de los estados a la derecha de las identidades (1)-(2), obtenemos ψφbb\braket{\psi|\varphi} \braket{b|b'}. Entonces, para que exista esa transformación UU, se debe cumplir que ψφaa=ψφbb.\begin{align*} \braket{\psi|\varphi} \braket{a|a} = \braket{\psi|\varphi} \braket{b|b'}. \end{align*} Dado que ψ\ket{\psi} y φ\ket{\varphi} no son ortogonales por suposición, ψφ0\braket{\psi|\varphi}\neq 0, y debemos tener bb=aa.\begin{align*} \braket{b|b'} = \braket{a|a}. \end{align*} Utilizando que aa=1\braket{a|a}=1 (al estar normalizado por ser un estado cuántico), esto implica que b\ket{b} y b\ket{b'} deben cumplir bb=1\braket{b|b'}=1 y ser así idénticos. Dado que no es posible b\ket{b} y b\ket{b'} diferentes sin modificar los estados ψ\ket{\psi} y φ\ket{\varphi} originales, concluimos que para extraer información sobre estos estados debemos alterar alguno de ellos.

Este resultado junto con el teorema de la no clonación (Teorema 8.1), hacen que un atacante espía no pueda acceder a la información de un estado cuántico diseñado de forma adecuada sin ser detectado. En cambio, un usuario legítimo que conozca la base utilizada en el proceso de codificación sí puede diseñar un POVM para extraer la información del estado mediante una medida. Intuitivamente, un estado cuántico se comporta 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 la forma correcta de abrir la caja, siendo alterada en cualquier otro caso.

Ejemplo 10.1 Alice almacena cierta información secreta en un estado cuántico utilizando una clave binaria que solo conoce ella misma. Por simplicidad, vamos a asumir que la informació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. Como las 4 posibilidades en las que se encuentra el estado no son ortogonales entre sí, el teorema de “ganancia de información implica perturbación” garantiza que si intenta acceder a esta información siempre podrá ser detectado.

Jupyter notebooks: Octave, Python

10.3 Distribución cuántica de clave

El primer esquema criptográfico 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 (Bennett and Brassard 1984). 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, que describimos a continuación, 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:

  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*}

  3. 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)}.

  4. 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\}.

  5. Al final de la transmisión, Alice y Bob intercambian b\boldsymbol{b} y c\boldsymbol{c}, posiblemente a través de un canal de comunicaciones 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 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.

Ejercicio 10.1 Demuestre que:

  • Para las posiciones en las que bi=cib_i=c_i, se tiene que Pr{Ai=A^i}=1\Pr\bigl\{A_i = \hat{A}_i\bigr\} = 1, es decir, ai=a^ia_i=\hat{a}_i.
  • Para las posiciones en las que bicib_i \neq c_i, se tiene que Pr{Ai=A^i}=12\Pr\bigl\{A_i = \hat{A}_i\bigr\} = \frac{1}{2}.

Jupyter notebooks: Octave, Python

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.

Ejemplo 10.2 Imaginemos que en el instante ii, Alice ha generado los bits de clave ai=1a_i=1 y bi=1b_i=1, y por tanto, ha codificado el estado ρA(i)=Π\rho_A^{(i)} = \Pi_{-}. Eve conoce el esquema de codificación, pero no conoce el valor de aia_i ni de bib_i, así que escoje una base al azar para realizar una medida con resultado eie_i:

  • Si Eve aplica el POVM {Π0,Π1}\{\Pi_{0}, \Pi_{1}\}, entonces Pr{Ei ⁣= ⁣0}=Pr{Ei ⁣= ⁣1}=12\Pr\bigl\{E_i\!=\!0\bigr\} = \Pr\bigl\{E_i\!=\!1\bigr\} = \frac{1}{2} y el estado pasa a ser: ρE(i)={Π0,ei=0,Π1,ei=1.\begin{align*} \rho_E^{(i)} = \begin{cases} \Pi_{0}, & e_i=0,\\ \Pi_{1}, & e_i=1. \end{cases} \end{align*}

  • Si Eve aplica el POVM correcto {Π+,Π}\{\Pi_{+}, \Pi_{-}\}, entonces Pr{Ei ⁣= ⁣1}=1\Pr\bigl\{E_i\!=\!1\bigr\} = 1 y la medida siempre resulta en el bit correcto ei=1e_i=1. Por tanto, el estado colapsado pasa a ser ρE(i)=ρA(i)=Π\rho_E^{(i)} = \rho_A^{(i)} = \Pi_{-}.

En el segundo caso, Eve puede transmitir el estado ρE(i)\rho_E^{(i)} a Bob y la intrusión permanecería indetectada, ya que ρE(i)=ρA(i)\rho_E^{(i)} = \rho_A^{(i)}. Sin embargo, en el primer caso tenemos que ρE(i)ρA(i)\rho_E^{(i)} \neq \rho_A^{(i)}. Si Eve transmite este estado ρE(i)\rho_E^{(i)} a Bob y éste realiza su medida en la base {Π+,Π}\{\Pi_{+}, \Pi_{-}\}, entonces obtendrá un resultado Pr{A^i=0}=Pr{A^i=1}=12\Pr\bigl\{\hat{A}_i = 0\bigr\} = \Pr\bigl\{\hat{A}_i = 1\bigr\} = \frac{1}{2} independientemente del valor de eie_i.

Concluimos que en las posiciones donde Eve se ha equivocado en la base de medida, ya no se tiene por qué cumplir ai=a^ia_i=\hat{a}_i, aunque coincidan las secuencias bi=cib_i=c_i.

Jupyter notebooks: Octave, Python

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:

  1. Alice y Bob comparten aia_i y a^i\hat{a}_i para algunas posiciones en las que bi=cib_i=c_i. Si todos los bits compartidos coinciden, se asume que la comunicación no ha sido comprometida y estos bits son descartados en la clave final. Si algunos no coinciden, entonces concluyen que la comunicación ha sido interceptada y descartan la clave completa.

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.2 Considere una implementación del protocolo BB84 sobre un canal cuántico ideal.

  • Si Eve intercepta la transmisión eligiendo su base de medida al azar de forma equiprobable, 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%?

Jupyter notebooks: Octave, Python

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 formas acceder a su interior 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.

  • Este protocolo requiere que cada bit 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 su copia de ρA(i)\rho_A^{(i)} almacenada. Por ejemplo, cuando el protocolo de distribución de clave se implementa con tecnología fotónica, 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 varios fotones con la misma polarización. Aún así, en estos sistemas es también muy complicado separar y “almacenar” uno de esos fotones para su procesado posterior. Además, este problema se puede mitigar con técnicas de amplificación de privacidad.

El proceso de amplificación de privacidad es capaz de incrementar la seguridad a costa de reducir la longitud de la clave resultante. Podemos ver su funcionamiento 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 Protocolo 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á utilizando 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 (Kak 2006). 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 protocolo de doble llave 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=(UBHUBI)(UAHUAI)ρA(UAHUAI)(UBHUBI)=ρ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(\underbrace{U_B^H U_B}_{I}\bigr) \bigl(\underbrace{U_A^H U_A}_{I}\bigr) \rho_A \bigl(\underbrace{U_A^H U_A}_{I}\bigr) \bigl(\underbrace{U_B^H U_B}_{I}\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.3 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 α=π/4\alpha = \pi/4 y que β=π/3\beta = -\pi/3. 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].

Jupyter notebooks: Octave, Python

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.

Referencias

Bennett, Charles H., and Gilles Brassard. 1984. “Quantum Cryptography: Public Key Distribution and Coin Tossing.” In Proceedings of IEEE International Conference on Computers, Systems, and Signal Processing, 175–79. Bangalore, India. https://doi.org/10.48550/arXiv.2003.06557.
Kak, Subhash. 2006. “A Three-Stage Quantum Cryptography Protocol.” Foundations of Physics Letters 19 (3): 293–96. https://doi.org/10.1007/s10702-006-0520-9.
Shannon, C. E. 1949. “Communication Theory of Secrecy Systems.” Bell System Technical Journal 28 (4): 656–715. https://doi.org/10.1002/j.1538-7305.1949.tb00928.x.