Criptografía clásica: debilidades

Podemos clasificar la criptografía clásica en tres grandes grupos: los algoritmos hash, la criptografía de clave simétrica y la criptografía de clave pública.

Veremos a continuación, una breve explicación de las características de cada uno de ellos para entender el porqué de su debilidad frente a la computación cuántica.

Para finalizar, trataremos el concepto de Cryptographic Agility o Criptoagilidad.

Una función criptográfica hash es un algoritmo matemático que toma datos y los transforma generando una única salida, acortada y de longitud fija: “digest”. Se utiliza, principalmente, para proteger las contraseñas evitando guardarlas en texto legible e interpretable.

Una función criptográfico-hash (CHF - Cruptographic hash function) debe cumplir varias propiedades fundamentales:

  • Uniformidad: los dígitos generados por un CHF deben distribuirse uniformemente y parecer aleatorios. El objetivo es garantizar que la salida no proporcione información sobre la entrada.
  • Determinismo: para una entrada determinada, un CHF debe crear siempre el mismo “digest”.
  • Irreversibilidad: un CHF es una función unidireccional, es decir, con un digest debe ser imposible inveertir el hashing y conseguir la entrada.

Si coinciden dos digest, podemos estar seguros de que los datos son iguales que el original. Si son diferentes, podemos estar seguros de que los datos han sido manipulados o no son auténticos.

Por lo tanto, atendiendo a estas propiedades, los CHF suelen evaluarse en función de su capacidad para hacer frente a dos tipos de ataques:

  • La resistencia a pre-imágenes (pre-image resistance) significa que conociendo un digest es imposible conseguir la entrada. Un buen CHF debe asegurarse de que si un posible atacante quiere llevar a cabo una pre-imagen no tendrá mejor opción que el uso de la fuerza bruta. Y eso requiere demasiado tiempo.
  • Resistencia a colisiones: La resistencia a colisiones significa que es difícil que dos entradas diferentes produzcan el mismo hash. Las colisiones se producen inevitablemente, ya que las digestiones son extractos y la cantidad total de hash es finito. Pero un buen CHF debe conseguir que no haya manera de inferir qué dos entradas pueden producir la misma salida.

Dado un hash determinado, un atacante usará entradas aleatorias hasta encontrar otro como ese hash. Si tenemos n bits en la entrada, hay 2n posibles valores. Por tanto, para tener un éxito igual o superior al 50%, debería realizar 2(n-1) intentos. En la computación clásica llevaría demasiado tiempo, pero utilizando la computación cuántica podría ser más viable, ya que la velocidad de computación mejora enormemente. Entonces, analizando todo lo anterior, estamos en condiciones de expresar la mayor amenaza de la hashing-criptografía: los ataques de fuerza bruta; de hecho, el algoritmo cuántico Grover's puede reducir la complejidad temporal hasta 2 (n/2).

La criptografía de CLAVE SIMÉTRICA (o de clave privada) (SKC-Symmetric Key Cryptography) es la forma más antigua e intuitiva de criptografía.

Se asegura la confidencialidad de la información mediente el intercambio cifrado de claves simétricas (SKE-Symmetric Key Exchange), y se utiliza una única clave secreta, tanto para cifrar como para descifrar.

La implantación de un sistema de clave simétrica debe garantizar los dos procesos siguientes:

  • Función de encripción, que cifra un texto normal (plain text) utilizando una clave secreta, convirtiéndolo en texto cifrado (ciphertext).
  • Función de desencriptación, que convierte el texto cifrado en texto normal utilizando la misma clave simétrica.

Por tanto, un sistema de clave simétrica debe utilizar un fuerte algoritmo de encriptación que pueda hacer frente a ataques criptográficos y garantizar la confidencialidad para compartir y gestionar la clave secreta.

Para medir la dificultad de romper un cifrado se utiliza el nivel de seguridad (security level). Esto mide el número de operaciones de computación necesarias para romper un cifrado. Normalmente se expresa en bits, por lo que un cifrado ofrece una seguridad de N bit si se necesita construir 2n para romperlo. Por ejemplo, el nivel de seguridad AES-128 es 128. Utiliza una clave de 128 bits, por lo que un ordenador clásico necesitaría 2128 operaciones para tratar todas las opciones.

 

Para entender cómo la computación cuántica puede amenazar la criptografía simétrica, analizaremos dos tipos de ataques:

  • Ataques de fuerza bruta: el algoritmo Grover's puede ejecutar la fuerza bruta contra AES-128 con 264 Dicho de otro modo, el nivel de seguridad de AES-128 frente a Grover 's es de 64 bits. El nivel de seguridad de 64 bits no se considera seguro en la actualidad. Para hacer frente a este riesgo deberíamos utilizar cifrados que utilicen claves de 256 bits. De hecho, no se prevé que a medio plazo se puedan realizar 2128 operaciones para romper cifrados, incluso utilizando ordenadores cuánticos.
  • Ataques criptoanalíticos: en lugar de utilizar la fuerza bruta, utilizan formas más eficaces para obtener la clave secreta o el texto común. La criptoagilidad es una estrategia fundamental para hacer frente a la necesidad de que los sistemas criptográficos sean capaces de modificar rápidamente los algoritmos obsoletos, afectando lo menos posible al propio sistema. Más adelante trataremos este concepto con cierta profundidad.

Los criptosistemas de clave simétrica son muy rápidos, pero tienen algunas carencias: siendo la clave utilizada la misma en los dos extremos de la comunicación, ¿cómo podemos compartir de forma segura esa clave? Además, a medida que aumentan los participantes, aumenta enormemente el número de claves necesarias, resultando que no hay mecanismo del todo eficiente ante las posibles amenazas.

Los criptosistemas de CLAVE ASIMÉTRICA (o de clave pública) intentan hacer frente a estos problemas; se basa es que cualquier interlocutor debe tener dos claves, una privada y otra pública y en que aunque estas claves estarán íntimamente unidas, ciertas propiedades matemáticas imposibilitan que conociendo una pueda obtenerse la otra.

La criptografía de clave asimétrica (AKC-Assymetric Key Criptography) es muy utilizada para:

  • Encriptación y desencriptación; para dotar de confidencialidad a los procesos de comunicación.
  • Firmas digitales; para garantizar la autenticación, integridad y no repudio.
  • Compartir la clave de forma segura; para facilitar el uso de criptosistemas simétricos. Dicho de otro modo, los sistemas asimétricos pueden combinarse con los simétricos.

Para conseguir una criptografía asimétrica segura se combinan diferentes conceptos criptográficos:

  • Clave privada secreta: es básico mantener la clave privada en secreto. El hecho de que la clave privada y la clave pública estén unidas matemáticamente hace imprescindible que sea computacionalmente imposible que terceros, aun adquiriendo la clave pública, puedan deducir la clave privada.
  • Funcionalidad puerta trampa (trapdoor): el proceso de cifrado debe ser como trapdoor one-way function: los terceros no pueden invertirlo (volver al plaintext), pero la llave privada tiene una "puerta trampa" secreta que permite invertir la operación.
  • Aleatoriedad: el proceso de creación de llaves debe tener una aleatoriedad sólida para que sean impredecibles.
  • Grandes tamaños de clave: grandes tamaños de la clave protegen contra ataques de fuerza bruta, Sin embargo, un mayor tamaño de llave aumenta el coste computacional del proceso de cifrado y descifrado; por tanto, es necesario equilibrar seguridad y eficacia.
  • Infraestructura de claves públicas (PKI-Public Key Infraestructure): en la criptografía asimétrica es muy importante asegurarse de que el propietario de la clave pública es realmente él mismo. El PKI utiliza mecanismos certificados digitales para gestionar y distribuir estas claves públicas de forma segura.

 

Una vez entendido a qué debe atender un criptosistema asimétrico, vamos a ver con qué peligro se puede encontrar:

  • Debilidad de los algoritmos: los criptosistemas asimétricos están basados en supuestos matemáticos de fortaleza, como el problema de la factorización de números enteros (Integer Factorization Problem) o el problema del logaritmo discreto (Discrete Logarithm Problem). Estas hipótesis pueden comprometerse utilizando sofisticados métodos matemáticos y computacionales. Por ejemplo, en la computación clásica el algoritmo RSA de 1024 bits ya no es seguro, mientras que el de 2048 sí lo es. Sin embargo, los expertos prevén que aprovechando la enorme capacidad factorizadora del algoritmo cuántico de Shore será posible romper también este último.
  • Generación imperfecta de claves: la falta de perfección en el proceso de creación de claves puede generar debilidades. Por ejemplo, si el generador aleatorio de números utilizado para crear las claves contiene errores y genera claves no realmente aleatorias, los atacantes pueden abrir esas claves.
  • Ataques del canal lateral (Side-channel attacks): puede ocurrir si el sistema de criptografía se está ejecutando en un dispositivo del que se puede obtener información relevante para su uso en un ataque: tiempo, consumo de energía, sonido... Por ejemplo, analizando el tiempo que se tarda en realizar las operaciones criptográficas, podríamos obtener el número de valores "1" de una clave binaria, ya que las operaciones matemáticas complejas ocuparán diferentes intervalos de tiempo cuando encuentran un "1" o un "0".
  • Intercambio de claves: en el momento de intercambiar claves el sistema puede verse sorprendido por los atacantes, por ejemplo mediante un ataque man-in-the-middle (MITM). El protocolo Diffie-Hellman puede ser especialmente vulnerable a este tipo de ataques si no se incluyen pasos adicionales para verificar el intercambio.
  • Almacenar claves: si las claves deben están almacenadas en almacenamientos seguros, para que los atacantes no puedan obtenerlas fácilmente.

La crypto-agility, o cryptographic agility, o agilidad criptográfica, o CRIPTOAGILIDAD es la capacidad de los sistemas informáticos para modificar o adaptar la tecnología criptográfica utilizada de forma eficaz y rápida para responder a nuevas amenazas o cambios tecnológicos. Esto significa que los sistemas deben poder sustituir un algoritmo criptográfico por otro sin ninguna interrupción o pérdida de seguridad. Este concepto es fundamental si se tiene en cuenta el desarrollo de ordenadores cuánticos, ya que los estándares criptográficos usados actuales pueden quedar obsoletos.

¿Por qué es tan importante hoy en día?

La importancia de la criptoagilidad se debe a varias razones, pero sobre todo hay que destacar:

  1. La amenaza de los ordenadores cuánticos: los ordenadores cuánticos potentes tendrán la capacidad de romper la mayoría de los estándares de criptografía actuales (RSA, DSA, ECC) utilizando, por ejemplo, algoritmos de Grover o Shore. Esto supone una amenaza directa para las comunicaciones seguras, los mecanismos de protección de datos y la validez de las firmas digitales.
  2. Aunque la criptografía post-cuántica se está desarrollando, la transición requiere tiempo y planificación precisa.
  3. Cambio acelerado de la ciberseguridad: constantemente aparecen amenazas y nuevas debilidades. Los sistemas sin capacidad de modificar algoritmos criptográficos están en peligro, tanto en lo que respecta a su información como a sus servicios críticos.
  4. Normativas y estándares: las nuevas normativas (por ejemplo, el proyecto Post-Quantum Cryptography Standardization de NIST) obligarán a las empresas a adaptarse a los nuevos algoritmos. El incumplimiento de las normas por parte de los sistemas que carecen de cripto-agilidad puede suponer su invalidez en un corto y medio plazo.

Para medir la criptoagilidad se utilizan diferentes criterios y enfoques, pero aún no hay estándares universales o globales completamente establecidos. Sin embargo, el NIST (National Institute of Standards and Technology) y similares han establecido una serie de criterios y pautas, entre las que destacan:

  1. Modularidad y actualizabilidad: se mide la capacidad del sistema para aceptar diferentes algoritmos y modificarlos. Si los elementos software y hardware utilizados por el algoritmo criptográfico son independientes y es rápido para implementar cambios, la agilidad es mejor.
  • El plan de transición post-cuántica del NIST recomienda la actualizabilidad modular.
  1. Continuidad de seguridad: asegurar que no se producen pérdidas de seguridad durante la transición. Para ello, el proceso de cambio de algoritmo debe superar pruebas y simulaciones rigurosas.
  • El estándar FIPS 140-3 analiza los requisitos de seguridad de los módulos de criptografía e incluye implícitamente el concepto de agilidad.
  1. Rendimiento y uso de recursos: analizar si la implantación de un nuevo algoritmo impide la velocidad del sistema o el uso de recursos. Los sistemas que no tienen un gran impacto en el rendimiento son más susceptibles de ser más ágiles.
  2. Tiempo de transición: se invierte el tiempo que tarda el sistema en sustituir un algoritmo por otro. Si son transiciones más cortas, habrá mejor agilidad de cripto.
  3. Facilidad de migración de claves y certificados: analizar los problemas o molestias que supone para el sistema el proceso de adaptación de las certificaciones a los nuevos algoritmos. Por ejemplo, se puede medir el proceso de adaptación para que los sistemas PKI (Public Key Infrastructure) sean cuántico-resistentes.

Aunque no existen estándares globales específicos para medir la criptoagilidad, son importantes las siguientes iniciativas:

  • El Post-Quantum Cryptography (PQC) Standardization Project de NIST está identificando algoritmos post-cuánticos y estableciendo pautas para guiar los procesos de transición. Hace unas semanas ha publicado los tres primeros estándares criptográficos post-cuánticos.
  • Estándares ISO/IEC 19790 y FIPS 140-3: son estándares relativos a la seguridad de los módulos criptográficos que incluyen, aunque de forma transversal, la agilidad.
  • ENISA (European Union Agency for Cybersecurity): Publica pautas para mejorar la migración y la agilidad de los algoritmos criptográficos.

La situación de las empresas depende de la madurez del sector, del tamaño y de las estrategias de seguridad.

1. Empresas con seguridad avanzada:

Grandes empresas del sector de la tecnología y la ciberseguridad (por ejemplo, IBM, Google, Microsoft): Estas ya tienen en marcha estudios y proyectos sobre criptografía post-cuántica. Utilizan algoritmos modulares y API flexibles, garantizando la posibilidad de cambios rápidos. A modo de ejemplo, IBM ha desarrollado sistemas y planes de transición diseñados para garantizar la agilidad cripto-resistente, con especial atención a la transición cuántico-resistente.

2. Empresas en situación de alto riesgo:

Pequeñas y medianas empresas de salud, manufacturas y sectores tradicionales: La mayoría aún no cuenta con una estrategia de criptoagilidad. Los sistemas de ciberseguridad aún se basan en los algoritmos clásicos actuales, como el RSA o el ECC, y no están preparados para pasar a los algoritmos post-cuánticos. Las nuevas normativas y las necesidades de transición corren el riesgo de no cubrirse.

3. Sometidos a presión normativa:

Las empresas que están en sectores regulados (por ejemplo, bancos o entidades gubernamentales) se están preparando cada vez más para la transición post-cuántica. Deben seguir las directrices de organizaciones como el NIST y la criptoagilidad será una prioridad estratégica para ellos en los próximos años.

4. Escépticos de seguridad o rezagados:

Muchas empresas aún no han sido conscientes de los riesgos de los ordenadores cuánticos y de las nuevas amenazas. Esta es la situación más peligrosa, ya que la obsolescencia de los algoritmos clásicos les provocará graves problemas de seguridad a corto plazo.

 

En conclusión:

La criptoagilidad se ha convertido una necesidad vital para garantizar la seguridad digital actual y para hacer frente a futuras amenazas. Aunque las grandes empresas ya están desarrollando estrategias, hay muchos sectores que sufren un retraso que puede provocar graves debilidades de seguridad en el futuro. La criptoagilidad debe impulsarse desde un nivel global de regulación que garantice transiciones amables y eficaces.

PQC : Post-Quantum Cryptography

¿Qué es PQC y por qué es importante?

La nueva tecnología PQC (Post-Quantum Cryptography) o criptografía post-cuántica tiene como objetivo defenderse del peligro que la capacidad de las computadoras cuánticas supondrá para la seguridad de los sistemas criptográficos actuales.

Las computadoras cuánticas, utilizando los algoritmos de Shor y Grover, serán capaces de descifrar rápidamente sistemas tradicionales como RSA y ECC; por ello, el NIST (National Institute of Standards and Technology) inició en 2016 el proceso de desarrollo de nuevos estándares seguros.

El 7 de agosto de 2024 el NIST publicó las tres primeras criptografías postcuánticas estándar oficiales, que sustituirán a RSA y ECC:

  • FIPS 203: CRYSTALS-Kyber (intercambios seguros de claves).
  • FIPS 204: CRYSTALS-Dilithium (firmas digitales).
  • FIPS 205: SPHINCS+ (firmas digitales).

Está basado en "CRYSTALS-Kyber".

  • Tipo de criptografía: mecanismo asimétrico de intercambio de claves (KEM, Key Encapsulation Mechanism).
  • Objetivo: Kyber no se utiliza para encriptar directamente el mensaje, sino que ofrece un mecanismo seguro para compartir una clave secreta. Permite proteger el resto de la seguridad de la comunicación mediante criptografía simétrica (por ejemplo, AES).
  • Base matemática: utiliza la criptografía lattice-based basada en Learning With Errors (LWE). En un sistema de ecuaciones lineales se añaden al resultado unos pequeños errores (lattices). La resolución directa de estas ecuaciones se hace muy difícil, ya que el error es casi imposible de conocer, tanto para las computadoras clásicas como para las cuánticas. El destinatario legítimo, sin embargo, puede recuperar el error. Los errores introducidos en el mensaje cifrado se controlan con las técnicas de aritmética modular y lattice-based cryptography, y el receptor utiliza su clave privada para corregir esos pequeños errores y recuperar el mensaje original.
  • Otras características:
    • Utiliza la criptografía asimétrica encriptando la clave secreta con la clave pública del destinatario. Para des-encriptar dicha clave secreta será necesario utilizar la clave privada del destinatario.
    • El tamaño de las claves es de 700-1000 bytes.
    • Se utiliza para establecer comunicaciones seguras como TLS y HTTPS.

Basado en CRYSTALS-Dilithium

  • Tipo de criptografía: esquema asimétrico de las firmas digitales.
  • Objetivo: se utiliza para autenticar documentos, actualizaciones de software o datos mediante firmas digitales. No encripta el mensaje; asegura su autenticidad e integridad.
  • Base matemática: Dilithium utiliza Module Learning With Errors (Module-LWE) y Module Short Integer Solution (Module-SIS).

Module-LWE es una extensión de LWE, en este caso el error se añade en un espacio modular en lugar de a una ecuación lineal. Esto permite un mejor rendimiento de computación y un menor tamaño de las claves.

Module-SIS: con bates espacio-lineales (y no en un espacio modular).

  • Otras características:
    • La generación y verificación de firmas digitales es muy rápida.
    • Los tamaños de clave y firma son pequeños (unos 2.500 bytes el de la firma).
    • Tiene un alto nivel de seguridad; es un sustituto fiable de los sistemas tradicionales actuales.
    • Se utiliza en aplicaciones blockchain, firmas software y protocolos de firmas digitales.

Basado en SPHINCS + firmas digitales

  • Tipo de criptografía: esquema asimétrico de firmas digitales basado en funciones hash.
  • Objetivo: utiliza el hashing, pero no para comprobar la integridad de un mensaje, sino como una tecnología interna de firmas digitales. Ofrece seguridad adicional como alternativa a Dilithium en casos especialmente críticos.
  • Base matemática: se basa en funciones hash, prescindiendo de estructuras algebraicas complejas. Para crear y verificar firmas digitales se utilizan las propiedades matemáticas de las funciones hash y no estructuras algebraicas, por lo que ofrece resistencia adicional ante la amenaza cuántica.
  • Otras características:
    • Es más lento que otros algoritmos.
    • Las firmas y el tamaño de las claves son muy grandes (de 10 a 100 KB).
    • Debido a la fiabilidad matemática de las funciones hash, es resistente a cualquier ataque "teórico”.

QC : Quantum Cryptography

Estado actual de los protocolos QC

En la criptografía cuántica existen numerosas líneas de investigación en marcha y la viabilidad práctica de algunos protocolos está demostrada, pero para conseguir la aplicabilidad de esta técnica habrá que superar problemas de fiabilidad en el transporte de luz a largas distancias y otros problemas ya identificados: que se trata, tan solo, de una solución parcial, necesidad de equipos especiales, altos costes de las infraestructuras, vulnerabilidad a ataques DoS, etc. Por ello, algunas agencias gubernamentales aconsejan que estas técnicas no se implanten todavía. No obstante, las aplicaciones de criptografías cuánticas están muy arraigadas en China (se han conseguido largas redes de fibra óptica e incluso vía satélite Micius) y varias empresas de todo el mundo ya han comenzado a comercializar y utilizar soluciones integradas de hardware.

En la actualidad existen dos grandes tendencias para implementar la criptografía cuántica:

  • Quantum key distribution (QKD): La mecánica cuántica permite el intercambio de claves para la criptografía simétrica a través de canales inseguros; la lectura/medición de un qubit en estado de superposición supone un colapso del mismo, según la interpretación de Copenage y, por tanto, si se accede a la información a través de un canal se puede detectar esa lectura en los extremos. Por ejemplo, el protocolo BB84 actúa de esta manera. Otros protocolos (por ejemplo, E91) también utilizan las propiedades del entrelazamiento cuántico. Estas técnicas implican el intercambio de qubits mediante luz polarizada, utilizando las propiedades cuánticas de los fotones.
  • Quantum coin-flipping: se basa en un juego entre dos agentes sin confianza entre los extremos que buscan la mejor estrategia para engañarse mutuamente. Este protocolo trabaja con las probabilidades matemáticas de engaño.

En la bibliografía se citan otros protocolos que se encuentran en fase de investigación:

  • Position-based quantum cryptography
  • Device-independent quantum cryptography
  • Key protocol
  • Y-00 protocol

BB84 es el primer protocolo de tendencia Quantum key distribution (QKD) diseñado para distribuir las claves de los algoritmos simétricos de encriptación. Se publicó en 1984 y se ha demostrado que puede tener una aplicación práctica, pero sólo a pequeñas distancias, ya que al transportar la luz por cables de fibra óptica por cables se transforma su polarización. No es posible separar los errores derivados de las escuchas no autorizadas que se puedan producir en el camino, por lo que el protocolo pierde fiabilidad. Pero, al margen de los detalles técnicos, se ha demostrado su eficacia para distribuir las claves compartidas de encriptación.

Analicemos la base matemática de este protocolo:

Si a una situación inicial de "0" o "1" se le aplica dos veces la puerta Hadamard, la situación final del circuito cuántico es la misma que la inicial.

Visto en formato de circuitos cuánticos quedaría así:

¿Qué necesitamos para implementar el protocolo BB84 mediante la transmisión de luz?

Una de las propiedades cuánticas de los fotones es la polarización. Según esto, el fotón, al pasar por el dispositivo llamado PBS (Polarizing Beam Splitter), será reflejado o atravesado, pudiendo interpretarse “0” o “1”. Al ser un fotón único, cogerá una vía u otra (no es posible ambas a la vez), y la probabilidad de tomar una vía u otra viene determinada por el ángulo entre los ejes de polarización del fotón y del PBS.

Si son ortogonales (coincidentes) la probabilidad será del 100% (podemos estar seguros de que se reflejará (90º) o de que atravesará el filtro (0º), uno u otro) y, por ejemplo, si es de 45º, habrá un 50% de probabilidad para cada una de las dos vías. Por tanto, en los casos en los que el ángulo no es ortogonal, diremos que la situación está superpuesta, ya que no se sabe a ciencia cierta cuál es el camino que tomará el fotón hasta que pase por PBS. Se suele decir que el PBS colapsa el estado cuántico del fotón; porque ha convertido en un valor exacto lo que antes era una probabilidad.

Además de los dispositivos PBS, se necesitan rotadores de polarización (por ejemplo, rotadores de faraday) que provocan la rotación del ángulo de polarización del fotón. Utilizando un dispositivo de este tipo, a un fotón se le produce una rotación de 45º en su ángulo de polarización.

Por lo tanto, ahora podemos equiparar la base matemática arriba descrita con lo que acabamos de comentar sobre la transmisión del fotón:

  • Al inicio de la transmisión del fotón polarizado, el qubit estará en alguna de las dos situaciones clásicas: "0" (polarización 0º) o "1" (polarización 90º).
  • En el envío se podrá aplicar una rotación de 45º a la polarización. Esa rotación equivale a aplicar una puerta Hadamard en el circuito cuántico: conduce la situación clásica a una situación superpuesta. Por ello, habrá un 50% de probabilidad de que el valor medido por el receptor coincida con el enviado. Pero si el remitente y el receptor aplican la rotación 45º (equivalente a la aplicación de la puerta Hadamard dos veces), habrá un 100% de probabilidad de que el valor que a continuación de va a medir coincida con el enviado (la base matemática del protocolo que hemos explicado en el punto anterior).
  • Al final del camino el fotón pasará por un dispositivo PBS y saldrá de él por una u otra salida ("0" o "1") es decir, se medirá el estado del qubit. 

Funcionamiento del protocolo BB84

Teniendo en cuenta todo lo anterior, el funcionamiento del protocolo BB84 para la realización de intercambios clave es el siguiente:

Alice y Bob quieren compartir una clave para la encriptación simétrica. Para ello cuentan con dos canales: uno clásico de bits, y otro de intercambio de fotones polarizados (qubits). Estos dos canales no son seguros y Eve puede leerlos sin permiso. En el canal cuántico Alice envía la información y Bob la recibe; y en el canal clásico la información se intercambia en ambas direcciones.

Para empezar, Alice crea dos series aleatorias de bits:

  • Secuencia "a_Alice", es la lista de “1” y “0” que Alice transmitirá a Bob, como qubits (fotones polarizados), con el objetivo de crear una clave compartida.
  • Secuencia "b_Alice ", esta segunda secuencia la utilizará para decidir si cambia o no la rotación de la polarización en el envío de cada fotón (qubit):
    • 0: no rotación, ortogonal: +
    • 1: rotación 45º, estado superpuesto: X

Bob también generará, al azar, una serie "b_Bob", que será la que siga para decidir, al recibir cada fotón, si lo lee con o sin rotación de polarización, como hizo Alice en el envío.

Bob guardará las lecturas que realice (mediante un dispositivo PBS) y las guardará en una serie de bits llamada “a_Bob".

Al finalizar la comunicación de los fotones, Bob y Alice compartirán, a través de canal clásico inseguro, las secuencias b_Alice y b_Bob. Se compararán las dos series: si Bob y Alice han aplicado la misma rotación, el valor leído por Bob debe ser igual al que envió Alice, A NO SER QUE ALGUIEN (EVE) haya leído el fotón por el camino y lo haya reenviado con un ángulo de polarización diferente. A continuación intercambiarán algunos de los valores enviados y leídos (por ejemplo los 100 primeros) y, si hay bits enviados y leídos con la misma rotación que tienen diferente valor, todo el proceso se desestima y habrá que repetir el protocolo desde el principio. Si todo ha ido bien, utilizarán como clave simétrica los bits enviados y recibidos que no han compartido para las validaciones (en este caso no utilizarían esos 100 primeros que han compartido por canal clásico).

Si Eve leyera el fotón en el camino tendría que decidir al azar si cambiar o no el ángulo de polarización antes de pasar a PBS para reenviárselo de nuevo a Bob. Como consecuencia de este reenvío, quizás en algunos casos “acierte” y los valores de b_Alice y b_Bob coincidan, pero habrá otros en los que no coincidan.

El protocolo se puede ejecutar mediante el siguiente circuito Qiskit:

Paso 1: Alice prepara dos series aleatorias:

  • a_Alice para enviar la información de la clave a través de qubits
  • b_Alice para decidir si envía cada qubit con o sin rotación
  • Realiza el envío de la secuencia a_Alice (qubits por vías cuánticas)

Paso 2: Bob prepara una serie b_Bob para leer cada qubit que le ha enviado Alice con o sin rotación, realiza la medición y, a través de medios clásicos, por vía pública, Alice y Bob intercambian sus secuencias “b” para ver cada uno con qué secuencia de rotación / no-rotación ha trabajado.

Paso 3: Alice y Bob intercambian ahora una secuencia con un número determinado de bits enviados y leídos de su secuencia “a” que tengan igual rotación en la emisión y en la lectura, porque deberían coincidir al 100%, 5 por ejemplo, y comprueban que los 5 que se han leído con la misma rotación han dado el resultado correcto, determinan que la transmisión es correcta, no ha sido interceptada, y pueden utilizar el resto de qubits leídos con igual rotación como clave de encriptación (no los 5 primeros porque han sido compartidos por medios públicos).

 

Veamos ahora qué ocurriría si incorporamos a EVE, que está leyendo sin permiso el mensaje a mitad de camino:

Paso 1: Alice prepara dos series aleatorias:

  • a_Alice para enviar la información de la clave a través de qubits
  • b_Alice para decidir si envía cada qubit con o sin rotación
  • Realiza el envío de la secuencia a_Alice (qubits por vías cuánticas)

Paso 2: Bob prepara una serie b_Bob para leer cada qubit que le ha enviado Alice con o sin rotación, realiza la medición y, a través de medios clásicos, por vía pública, Alice y Bob intercambian sus secuencias “b” para ver cada uno con qué secuencia de rotación / no-rotación ha trabajado.

Eve utilizará el dispositivo PBS para leer el valor de cada qubit. Si su selección rotación/no-rotación coincide con la de Alice, leerá los valores correctos al 100%, y si no coincide al 50%. Después de leer (y romper) cada fotón, tiene que preparar uno nuevo para enviárselo a Bob, con el “1” o “0” que ha leído y eligiendo al azar rotación/no-rotación.

Podríamos tener estas transmisiones/lecturas:

 

Paso 3: Alice y Bob intercambian ahora una secuencia con un número determinado de bits enviados y leídos de su secuencia “a” que tengan igual rotación en la emisión y en la lectura, porque deberían coincidir al 100%, 5 por ejemplo, y comprueban que los 5 que se han leído con la misma rotación han dado el resultado correcto, determinan que la transmisión es correcta, no ha sido interceptada, y pueden utilizar el resto de qubits leídos con igual rotación como clave de encriptación (no los 5 primeros porque han sido compartidos por medios públicos).

En este caso, Alice y Bob, al intercambiar los 5 primeros bits cuya rotación coincide en el envío y en la recepción, se darán cuenta de que hay qubits (concretamente el tercero) que se han enviado y leído con la misma rotación/no-rotación y sin embargo no coincide; así que rechazan el proceso.

Para nuestro ejemplo hemos utilizado muy pocos bits en las comprobaciones, pero hay que tener en cuenta que también hay bits que ofrecerán falsos positivos (en el ejemplo el de color azul) porque hay probabilidades en juego, y puede que Eve acierte; por lo tanto, el número de bits intercambiados deberá ser suficientemente grande para asegurarnos de que los falsos positivos no nos lleven a engaño.

El principio más importante que rige el Protocolo E91 es el  entrelazamiento cuántico. Cuando dos partículas están entrelazadas, y una determinada propiedad se mide en una de ellas, se mide el estado contrario en la otra partícula asociada. Tampoco en este caso es posible prever con certeza qué situación se observará antes de realizar la medición. El resto es similar al protocolo BB84: el canal cuántico (para el envío de fotones/qubits entrelazados) y el canal clásico (bits), ambos son utilizados por los dos extremos de la comunicación para detectar si se ha producido alguna intercepción en el trayecto. Su funcionamiento, en base al envío de fotones interconectados, es el siguiente:

Para conseguir fotones entrelazados se utiliza una fuente de fotones (Entangled Photon Source, EPS) a través de un proceso especial llamado Down-Conversion Parametric Spontaneous (SPDC). En dicho proceso, un fotón de alta energía llamado fotón "bomba" o Pump Foton, interactúa con una red de cristal especial (BBO) y se separa en dos fotones de energía más baja denominados fotones "signal" e "idler". Lo podemos ver representado en el apartado "a)" del diagrama de la derecha.

La polarización de los fotones salientes del EPS puede ser vertical u horizontal (existe una probabilidad del 50% para uno u otro) pero, además, los dos fotones que "nacen" en el proceso SPDC lo hacen entrelazados con ángulos de polarización perpendiculares; por tanto, la lectura de la polarización de uno de los fotones indica también cuál será el resultado de la medición del otro: el valor contrario al obtenido en el primero, tal y momo se muestra en el apartado "b)" del diagrama.

El EPS envía uno de estos fotones a Alice y el otro a Bob, que nada más recibir el fotón, en sus dos extremos, seleccionarán un ángulo para realizar la medición en función de un valor generado aleatoriamente (1,2 ó 3). Estos tres ángulos se miden en el mismo plano (entendiendo que el fotón viaja perpendicularmente a dicho plano) y tienen una diferencia de 45º:

En los casos en los que se ha seleccionado el mismo ángulo según el valor aleatorio en ambos extremos, las dos lecturas dan el VALOR CONTRARIO (con una seguridad del 100%) porque los dos fotones están entrelazados.

Al igual que en el protocolo BB84, las series de valores aleatorios serán compartidas por el canal ordinario. Los valores de qubit leídos correspondientes a los valores que coinciden con los ángulos (b=2, b ‘=1 y b=3, b’=2) formarán la clave de encriptación (Alice y Bob los guardarán en secreto). El resto será compartido en el canal público, con lo que se calculará la correlación estadística de estos valores en ambos extremos. Si el valor de este análisis estadístico se aleja de lo esperado  ( |S|=2/√2 ), se demuestra que el fotón ha sido leído en el trayecto y se ha vuelto a crear otro nuevo; en este caso ambos extremos cancelarán la comunicación y comenzarán de nuevo.

A destacar que en el protocolo E91 no se debe compartir parte de la clave por el canal ordinario para detectar si ha habido alguna lectura en el camino (como se hace en la BB84) sino que es el propio análisis estadístico el que certifica si ha habido o no una intrusión.

starchevron-down linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram