290 likes | 1.62k Views
En esta primera entrega de la página web "El Santuario de la Computación Cuántica" (http://elprofediaz.iespana.es) del famoso Profe Díaz de Lima Perú se muestra una presentación de la Criptografía Cuántica, desarrollando primeramente una breve historia de la criptografía para después describir las bases de la criptografía clásica y finalmente terminar explicando con detalle la criptografía cuántica, en especial el protocolo BB84.
E N D
Criptografía Cuántica Experimental Una aplicación práctica de la Física Cuántica Lic. Carlos Díaz elprofediaz@hotmail.com http://elprofediaz.iespana.es
Partes de la presentación • Breve historia de la criptografía clásica • Criptografía clásica actual • Criptografía Cuántica. Protocolo BB84 elprofediaz@hotmail.com http://elprofediaz.iespana.es
Breve historia de la criptografía clásica Parte I elprofediaz@hotmail.com http://elprofediaz.iespana.es
Conceptos importantes • La criptología (del griego kryptós “oculto” y lógos “palabra”) es el arte de encriptar y desencriptar mensajes, está formada por la criptografía y el criptoanálisis. • La criptografía (del griego kryptós “oculto” y graphein “escritura”) es el arte de encriptar un mensaje y desencriptarlo usando una clave. • El criptoanálisis (del griego kryptós “oculto” y analýein “desamarrar”) es el arte de desencriptar un mensaje encriptado sin conocer la clave. Entendiéndose por Arte, el conjunto de reglas necesarios para hacer algo bien. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Historia de la Criptografía • La criptografía es tan antigua como la civilización, diversas razones militares, políticas, religiosas o comerciales impulsaron desde tiempos remotos el uso de las escrituras secretas. • El primer uso de tipo militar constatado es en la guerra entre Esparta y Atenas en el siglo V a.C. El encriptado consistía en la introducción de símbolos innecesarios que desaparecían al enrollar el mensaje en un rodillo llamado escítala de longitud y grosor determinados. AACSNIICTCOAINLFLARAAEBS AACSNIICTCOAINLFLARAAEBS elprofediaz@hotmail.com http://elprofediaz.iespana.es
Historia de la Criptografía • En el siglo I a.C., Julio César utilizó un método que consistía en sustituir cada letra por la que ocupaba cierto número de posiciones más adelante en el abecedario. • En la Edad Media, San Bernardino utilizaba un signo para cada consonante, tres distintos para cada vocal e intercalaba símbolos sin sentido. Así evitaba la regularidad de los signos y conseguía que el criptoanálisis por el método de frecuencia no fuese efectivo.El análisis de frecuencia consiste en buscar signos que tengan similar frecuencia al de una letra del alfabeto. Por ejemplo, en un texto extenso en español la letra “E” aparece un 16.78%, la “A” 11.96%, la “O” 8.69%, la “L” 8.37%, la “S” 7.88%, la “N” 7.01%, la “D” 6.87%, la “R” 4.94%, la “U” 4.80%, etc. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Historia de la Criptografía • En 1466 León Battista Alberti, crea la primera máquina de criptografía consistente en dos círculos concéntricos, que giran independientes consiguiendo cada una un alfabeto de transposición. • En el siglo XVI Girolamo Cardano empleó una tarjeta perforada que debía colocarse sobre el texto para poder leerlo. S = C I ENC I AS S = GBRFGBDM S = C I ENC I AS S = GBRFGBDM elprofediaz@hotmail.com http://elprofediaz.iespana.es
Historia de la Criptografía • Napoleón que empleó el método Richelieu y Rossignol que consistía en asignar números a grupos de una o más letras. • En la I Guerra Mundial los alemanes emplearon el método ADFGX que consistía en convertir las distintas letras del mensaje en un par de otras letras, conforme una tabla encabezada, a izquierda y encima, por ADFGX y que contenía en su interior una mezcla aleatoria de todos los caracteres del alfabeto utilizado. Este cifrado se mezclaba con una palabra clave cualquiera que sólo debían conocer el emisor y el receptor. Sin embargo el criptoanalista Georges Jean Pain de la inteligencia francesa rompió la seguridad del ADFX contribuyendo a la derrota alemana. UNI DXXAXG UNI DXXAXG elprofediaz@hotmail.com http://elprofediaz.iespana.es
Historia de la Criptografía El operador transmitía: "ATAD, SHIDA, WOLACHI, CHINDI, BELASANA, NASHDOIETSO, MOUSI, TSENIL, TSA, TSENIL, DIBEYATZIE" y el receptor la traducía al inglés: "GIRL, UNCLE, ANT, DEVIL, APPLE, LION, CAT, AXE, NEEDLE, AXE, LAMB" La primera letra de cada palabra formaba la palabra codificada, en este caso: GUADALCANAL • En la II Guerra Mundial los alemanes usaban la máquina Enigma. Mientras que los norteamericanos empleaban el código navajo que utilizaba como base el dialecto de los indios navajos. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Criptografía clásica actual Parte II elprofediaz@hotmail.com http://elprofediaz.iespana.es
Terminología de la Criptografía Clásica • Distribución de clave privada • Alice y Bob intercambian con anterioridad una clave secreta. • La clave de encriptación y desencriptación es la misma. • El algoritmo más usado es el One -Time Pad(1917) y es absolutamente seguro contra un espía de poder computacional ilimitado (1949). • La seguridad depende de la seguridad durante el intercambio de la clave. • Distribución de clave pública • En la actualidad el algoritmo más usado es el RSA (1978), se basa en la factorización de números grandes. • La seguridad se basa en los complejos cálculos matemáticos para descubrir la clave de desencriptación. • La clave de encriptación y desencriptación son diferentes. • La clave de encriptación es pública. • La clave de desencriptación es secreta. Alice Bob Texto en claro Texto encriptado Texto encriptado Texto en claro Clave de encriptación Clave de desencriptación Eve elprofediaz@hotmail.com http://elprofediaz.iespana.es
Algoritmo One – Time Pad • En 1917 Gilbert Verman crea el algoritmo One - Time Pad. Consiste en utilizar una clave aleatoria tan grande como el mensaje a encriptar y usada una sola vez. • En 1949 Claude Shannon demostró que es un algoritmo absolutamente seguro. Procedimiento: • Sea el alfabeto A={0,1}, un texto en claro m=m1m2…mLdonde miєA y una clave de la misma longitud k=k1k2…kLdonde kiєA • Sea el mensaje a enviar FC. • ASCII(F) = 70 = 01000110. ASCII(C) = 67 = 01000011 • m = 0100011001000011 • k = 0110100101100010 • El algoritmo de encriptación produce el mensaje encriptado c=c1c2…cL dondeci=mi XOR ki y 1≤i≤L • m = 0100011001000011 • k = 0110100101100010 • c = 0010111100100001 • Para desencriptar se emplea el mismo algoritmo. Se realiza la operación XOR entre la clave k y el mensaje encriptado c, obteniéndose el texto en claro m. • k = 0110100101100010 • c = 0010111100100001 • m = 0100011001000011 elprofediaz@hotmail.com http://elprofediaz.iespana.es
Algoritmo RSA • En 1978, Rivest, Shamir y Adleman, desarrollaron el primer algoritmo de distribución de una clave pública: el RSA. Consiste básicamente en utilizar el producto de dos números primos grandes para encriptar mensajes y estos números primos para desencriptar. • Bob elige dos números primos bastantes grandes p y q, y obtiene un número enteroN = pq. • Para ilustrar usemos dos números pequeños: p = 3y q = 7; N = 21 • Elige un número c que no tiene común divisor con el producto (p-1)(q-1). • (3-1)(7-1)=12, elegimos c =5 que no tiene común divisor con 12 • Bob calcula un d tal que: (cd) mod (p-1)(q-1) = 1. • (5d) mod 12 = 1 entonces d = 5 • Bob envía por un canal no seguro, por ejemplo Internet, los números N y c, pero no p ni q ni d. N y c constituyen la clave pública, mientras que p, q y d es la clave privada. • N =21; c =5 • Alice desea enviar un mensaje a Bob el cual puede ser representado por el número aa < N (Si el número a es N o es demasiado grande se puede dividir en varias partes y enviarlas por separado). Alice calcula el mensaje encriptado b utilizando: b = acmod N • Sea a = 11el texto en claro entonces el mensaje encriptado a enviar es b = 115mod 21 = 2 • Alice envía el mensaje encriptado b a Bob y él lo desencripta utilizando: a=bdmod N • a = 25mod 21 = 11De esa manera Bob recupera el mensaje original. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Seguridad de la Criptografía Clásica • La seguridad de la criptografía clásica actual depende de la complejidad matemática de los algoritmos utilizados y de la limitada potencia de cálculo de las computadoras actuales. Por ejemplo para factorizar el número de 200 dígitos: N=27997833911221327870829467638722601621070446786955428537560009929326128400107609345671052955360856061822351910951365788637105954482006576775098580557613579098734950144178863178946295187237869221823983 Y obtener sus dos factores primos p y q, se tardaría aproximadamente 55 años en una sola computadora de 2.2 GHz AMD Opteron. El 9 de mayo del 2005, F. Bahr, M. Boehm, J. Franke, and T. Kleinjung, usando una red de 80 computadoras de 2.2 GHz AMD Opteron consiguieron factorizarla en 3 meses, obteniendo: p=3532461934402770121272604978198464368671197400197625023649303468776121253679423200058547956528088349 q=7925869954478333033347085841480059687737975857364219960734330341455767872818152135381409304740185467 elprofediaz@hotmail.com http://elprofediaz.iespana.es
Seguridad de la Criptografía Clásica • Según el Centro de Computación Cuántica de la Universidad de Oxford una máquina actual tardaría miles de millones de años en factorizar una cifra de mil dígitos, en cambio una computadora cuántica solo tardaría minutos. • Se predice que en unos 15 años aparecerán las primeras computadoras cuánticas y podrán resolver fácilmente los problemas que son inmensamente difíciles o imposibles para las computadoras actuales y por tanto todos los protocolos de seguridad quedarán obsoletos. • Actualmente el reciente desarrollo de procesadores cuánticos de semiconductores (2009), especiales para factorizar, hacen que la seguridad de la criptografía clásica sea cada vez más frágil. Es importante mencionar que ya existen dos algoritmos cuánticos que factorizan números: el algoritmo de Shor (1994) y el algoritmo de las Sumas de Gauss (2006). elprofediaz@hotmail.com http://elprofediaz.iespana.es
Criptografía Cuántica Parte III elprofediaz@hotmail.com http://elprofediaz.iespana.es
CANAL CUÁNTICO ALICE BOB La Palma 144 Km Tenerife La Gomera Criptografía Cuántica El record actual de distancia transmitida se logro en el 2007, donde científicos europeos transmitieron una clave cuántica por aire a una distancia de 144 Km, utilizando el protocolo BB84. Desde la isla La Palma hasta la isla Tenerife en España. • La Criptografía Cuántica es la criptografía que utiliza los principios de la Física Cuántica para crear y distribuir una clave secreta. Y es intrínsecamente segura. • El primer protocolo de distribución de una clave cuántica fue propuesto por Bennett y Brassard en 1984 (BB84) y la primera transmisión de señales cuánticas fue realizada por ellos en los laboratorios de IBM en octubre de 1989 a una distancia de 32 cm. Record actual elprofediaz@hotmail.com http://elprofediaz.iespana.es
Distribución de Clave Cuántica sin espía usando el protocolo BB84 Distribución del mensaje encriptado: Canal Clásico Por ejemplo Alice quiere enviar la letra z, código ASCII 122,en binario 01111010 Alice Bob 10101000 Distribución de la clave: Canal Cuántico 11010010 Clave Clave 11010010 Mensaje encriptado XOR XOR Mensaje 01111010 10101000 10101000 Mensaje encriptado Mensaje 01111010 elprofediaz@hotmail.com http://elprofediaz.iespana.es
Distribución de Clave Cuántica con espía usando el protocolo BB84 Antes de enviar el mensaje Alice y Bob sacrifican parte de sus claves con el fin de compararlas. Si detectan que existe una diferencia superior a cierto porcentaje establecido por el ruido y eficiencia de la máquina entonces sospechan que han sido espiados y NO envían ningún mensaje. Alice Eve Bob Distribución de la clave: Canal Cuántico 00011010 10111100 elprofediaz@hotmail.com http://elprofediaz.iespana.es
1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 a x + x + + + x + x + + x x + + + + x x + x + x x + x x x + x x + + x x + + + x + x + x x x + + x b \ - / - | - \ | / | - \ / | - - | / / - / - / \ - / \ \ | / \ - | \ / - - | / - / - \ / \ - | \ c c \ - / / | - \ | / - - \ / | - - | / / - / - \ \ | / \ \ | / \ - | \ / - - | / / / - \ / \ - | \ Protocolo Cuántico BB84 + Base Diagonal Es un protocolo que utiliza fotones polarizados para codificar lainformación expresada en bits. Utiliza dos bases conjugadas(rectilínea y diagonal) para construir una clave cuántica. Veamos un ejemplo donde se tiene un ruido de 10% y sin espías. Alice quiere enviar a Bob un mensaje de n bits.Por ejemplo la letra z, código ASCII 122,en binario 01111010, es decir que n=8 bits Alice genera una cadena aleatoria ade 4n+δbits, luego genera aleatoriamente otra cadena b con la bases + o que asignará a cada bit de la cadena a. Por último genera una cadena c que contiene las polarizaciones de acuerdo a la base y al bit que Alice desea enviar. Por ejemplo, sea 48 la cantidad de bits enviados por Alice (Utilizó un =16). Alice envía los bits (fotones polarizados) a Bob mediante un canal cuántico. Durante el envío de fotones puede ocurrir que algunos fotones cambien su polarización debido al ruido. En el ejemplo las celdas amarillas muestran estos cambios de polarización durante el envío. La clave sin procesar que genera el protocolo es aproximadamente el 50% de los bits enviados. Y en general se utiliza el 50% de esta clave para calcular el QBER, quedando aproximadamente el 25% de los bits enviados. Es decir : Resulta un poco más de los n bits que se necesitan para enviar el mensaje. Este excedente se usará para la corrección de errores. El valor se determina de manera experimental. Base Rectilínea elprofediaz@hotmail.com http://elprofediaz.iespana.es Justificación longitud cadena
a 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 b x + x + + + x + x + + x x + + + + x x + x + x x + x x x + x x + + x x + + + x + x + x x x + + x c \ - / - | - \ | / | - \ / | - - | / / - / - / \ - / \ \ | / \ - | \ / - - | / - / - \ / \ - | \ c \ - / / | - \ | / - - \ / | - - | / / - / - \ \ | / \ \ | / \ - | \ / - - | / / / - \ / \ - | \ b' + + + x x x + + x + x + + x + + x x x x + + x + x x + x + + x x + + x + x + x x + + + x x + + x c' ? - ? / ? ? ? | / - ? ? ? ? - - ? / / ? ? - \ ? ? / ? \ | ? \ ? | ? / - ? | \ ? ? - ? / \ - | \ a' ? 1 ? 0 ? ? ? 0 0 1 ? ? ? ? 1 1 ? 0 0 ? ? 1 1 ? ? 0 ? 1 0 ? 1 ? 0 ? 0 1 ? 0 1 ? ? 1 ? 0 1 1 0 1 1 1 0 1 0 1 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 a x + x + + + x + x + + x x + + + + x x + x + x x + x x x + x x + + x x + + + x + x + x x x + + x b \ - / - | - \ | / | - \ / | - - | / / - / - / \ - / \ \ | / \ - | \ / - - | / - / - \ / \ - | \ c \ - / / | - \ | / - - \ / | - - | / / - / - \ \ | / \ \ | / \ - | \ / - - | / / / - \ / \ - | \ c + + + x x x + + x + x + + x + + x x x x + + x + x x + x + + x x + + x + x + x x + + + x x + + x b' ? - ? / ? ? ? | / - ? ? ? ? - - ? / / ? ? - \ ? ? / ? \ | ? \ ? | ? / - ? | \ ? ? - ? / \ - | \ c' ? 1 ? 0 ? ? ? 0 0 1 ? ? ? ? 1 1 ? 0 0 ? ? 1 1 ? ? 0 ? 1 0 ? 1 ? 0 ? 0 1 ? 0 0 ? ? 1 ? 0 1 1 0 1 a' Protocolo Cuántico BB84 Bob recibe los 4n+δ fotones y mide la polarización de cada uno de ellos utilizando una cadena aleatoria b’ de bases + o . Esta medida resulta en polarizaciones que se almacenan en la cadena c’ y por último traduce el resultado en una cadena de bits a’. En el ejemplo, el signo de ? denota el caso cuando no se sabe de antemano en que polarización colapsará el fotón. Alice y Bob utilizando un canal clásico comparan las cadenas b y b’, descartan las posiciones en las que las bases elegidas difieren y obtiene una subcadena de a’ de longitud aproximada (4n+δ)/2. En el ejemplo las bases iguales están sombreadas de verde, obtienen una clave de 25 bits. elprofediaz@hotmail.com http://elprofediaz.iespana.es Casos de medida
Clave Alice 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 C l a ve Bob 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 Clave Alice 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 Clave Bob 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 Alice 0 1 0 0 1 0 0 0 1 1 1 1 Bob 0 1 0 1 1 0 0 0 1 1 1 1 Protocolo Cuántico BB84 Al final de la transmisión Alice y Bob obtiene sus claves. Denominadas claves en bruto o claves sin procesar.En el ejemplo, 2 bits de la clave son distinto para ambos (fondo amarillo). Aquí termina el aporte cuántico. Calculo del QBER (Quantum Bit Error Rate) La tasa de error de qubits (QBER) indica el porcentaje de bits de las claves Alice y Bob que son distintos. Se eligen al azar una parte de la cadena obtenida y se sacrifica comparando vía un canal clásico. En el ejemplo se elige 12 bits para comparar (columnas sombreadas de celeste). Al comparar, Alice y Bob estiman el QBER. En el ejemplo QBER=1/12=8.3%. Si el QBER es mayor que un límite fijado de antemano, se reinicia el protocolo, sino se procede a la corrección de errores. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Alice 1 0 0 1 0 1 0 1 0 1 0 0 0 Bob 1 0 1 1 0 1 0 1 0 1 0 0 0 Alice 0 1 0 0 1 0 0 Bob 0 1 0 0 1 0 0 Alice 0 1 0 0 1 0 0 0 Bob 0 1 0 0 1 0 0 0 Protocolo Cuántico BB84 Reconciliación de información (Corrección de errores) Para corregir los errores, por ejemplo, se divide la clave que queda en bloques de 4 bits y se compara su paridad. Si son diferentes se elimina todo el bloque, pero si son iguales solo se elimina el último bit y el resto queda en la clave. El primer bloque (amarillo) de Alice tiene paridad par y el de Bob paridad impar así que se eliminan. En el segundo bloque (verde) ambos tienen paridad par y en el tercer bloque (azul) ambos tienen paridad impar, así que se procede a eliminar sus correspondientes últimos bits, quedando las claves para Alice y Bob de la siguiente manera: Se obtiene una clave de 7 bits, pero se necesita 8 bits para transmitir un carácter, usualmente se elije un δ grande para no tener este problema de una clave muy pequeña. Alice y Bob deben ponerse de acuerdo en una técnica para completar las claves, por ejemplo se completa lo que falta con los primeros bits, aunque podría también elegirse una selección aleatoria. Se obtiene por tanto: elprofediaz@hotmail.com http://elprofediaz.iespana.es
Alice 0 1 0 0 1 0 0 0 Bob 0 1 0 0 1 0 0 0 Alice 0 1 0 1 1 0 0 0 Alice 0 1 0 1 1 0 0 0 Bob 0 1 0 1 1 0 0 0 Bob 0 1 0 1 1 0 0 0 Alice 0 1 0 1 0 0 0 0 Bob 0 1 0 1 0 0 0 0 Alice 1 1 0 1 0 0 1 0 Bob 1 1 0 1 0 0 1 0 Protocolo Cuántico BB84 • Amplificación de privacidad • La amplificación de privacidad reduce la información que tiene un posible espía aumentando los errores en su clave, esto se logra mezclando los bits usando alguna función. Por ejemplo, se selecciona aleatoriamente dos bits y se realiza la operación XOR para luego reemplazar el resultado en cualquier posición aleatoria. • La clave tiene 8 bits, así que repetiremos la operación 8 veces. Los bits elegidos tendrán fondo amarillo y el que se reemplazará color verde. • A medida que se avanza la clave se va transformando, el éxito de la amplificación se basa en que si un espía empieza a mezclar sus bits, en algún momento mezclará un bit correcto con uno incorrecto obteniendo un resultado que no coincide con el bit de Alice y Bob, aumentando así la cantidad de bits erróneos de su clave. Luego de 8 amplificaciones se podría obtener, por ejemplo: • Así, Alice y Bob tienen sus claves idénticas y están listos para transmitir el mensaje. 2ra mezcla 1ra mezcla Resultado Resultado elprofediaz@hotmail.com http://elprofediaz.iespana.es
Bases de la seguridad de la Criptografía Cuántica Demostración del Teorema de la No Clonación Supongamos que existe un operador que puede copiar un estado en otro: Apliquemos el operador para copiar el qubit: Pero el operador U es lineal: Las ecuaciones 1 y 2 son diferentes por tanto concluimos que no existe un operador U que clone estados. U La Criptografía Cuántica genera claves inviolables por 3 razones vinculadas a los principios de la Mecánica Cuántica: • El principio de incertidumbre de Heisenberg: que afirma que existen pares de propiedades que son incompatibles en el sentido que la medida de una de ellas vuelve aleatoria el valor de la otra, estas propiedades en criptografía cuántica son las polarizaciones de los fotones de bases conjugadas. Esto significa que si se mide la polarización en una base, el resultado en la otra base será aleatorio. • Tercer postulado de la mecánica cuántica: Al medir un estado cuántico este colapsa indefectiblemente en otro estado. Esto significa que si Eve mide el fotón antes de llegar a Bob podría modificar su polarización y Bob recibiría un fotón con una polarización distinta a la que envió Alice. • Teorema de la no clonación: Los estados cuánticos no se pueden copiar. Esto significa que el espía Eve no puede obtener una copia para analizarla independientemente. elprofediaz@hotmail.com http://elprofediaz.iespana.es
Fórmulas probabilísticas que describen el protocolo cuántico BB84 Para un sistema afectado por un ruido % y bajo un ataque de un espía con capacidad de interceptación %, se dedujo las siguientes fórmulas: BobEve elprofediaz@hotmail.com http://elprofediaz.iespana.es
FIN ¿Preguntas? Gracias por su atención elprofediaz@hotmail.com http://elprofediaz.iespana.es