Title: Criptografia Cuantica El Profe Diaz
1Una aplicación práctica de la Física Cuántica
- Criptografía Cuántica Experimental
Lic. Carlos Díaz
2Partes de la presentación
- Breve historia de la criptografía clásica
- Criptografía clásica actual
- Criptografía Cuántica. Protocolo BB84
3Breve historia de la criptografía clásica
4Conceptos 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.
5Historia 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.
6Historia 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.
7Historia 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.
8Historia 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.
9Historia de la Criptografía
- 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.
10Criptografía clásica actual
11Terminologí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
12Algoritmo 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 A0,1, un texto en claro
mm1m2mL donde mi?A y una clave de la misma
longitud kk1k2kL donde 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 cc1c2cL dondecimi XOR ki y 1iL - 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
13Algoritmo 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 3
y 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 lt 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 ac mod N - Sea a 11 el texto en claro entonces el mensaje
encriptado a enviar es b 115 mod 21 2 - Alice envía el mensaje encriptado b a Bob y él lo
desencripta utilizando abd mod N - a 25 mod 21 11De esa manera Bob recupera el
mensaje original.
14Seguridad 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 - N279978339112213278708294676387226016210704467869
55428537560009929326128400107609345671052955360856
06182235191095136578863710595448200657677509858055
76135790987349501441788631789462951872378692218239
83 - 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 - p353246193440277012127260497819846436867119740019
76250236493034687761212536794232000585479565280883
49 - q792586995447833303334708584148005968773797585736
42199607343303414557678728181521353814093047401854
67
15Seguridad 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).
16Criptografía Cuántica
17Criptografía Cuántica
- 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
18Distribució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
10101000
Alice
Bob
Distribución de la clave Canal Cuántico
11010010
11010010
Clave
Clave
XOR
Mensaje encriptado
01111010
XOR
10101000
Mensaje
10101000
01111010
Mensaje encriptado
Mensaje
19Distribució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.
Bob
Alice
Eve
Distribución de la clave Canal Cuántico
00011010
10111100
20Protocolo 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 n8 bits - Alice genera una cadena aleatoria a de 4nd 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.
Justificación longitud cadena
21Protocolo Cuántico BB84
- Bob recibe los 4nd 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 (4nd)/2.
En el ejemplo las bases iguales están sombreadas
de verde, obtienen una clave de 25 bits.
Casos de medida
22Protocolo 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 QBER1/128.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.
23Protocolo 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 d 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 -
24Protocolo 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
25Bases 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.
- 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.
26Fó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 - Bob Eve
27FIN
Preguntas?
Gracias por su atención