¿Sueñan los crackers con ordenadores cuánticos?

Post on 06-May-2015

3.686 views 2 download

description

En esta charla divulgativa Gonzalo Álvarez Marañón explica de forma amena y clara cómo funciona el criptoanálisis cuántico y de qué manera amenaza a la criptografía tradicional. ¿Qué ocurriría con la criptografía de clave pública si mañana se pusiera en funcionamiento un ordenador cuántico? ¿Servirían de algo RSA, Diffie-Hellman, o las curvas elípticas? ¿Cuál es el futuro de la criptografía en la era post-cuántica?

Transcript of ¿Sueñan los crackers con ordenadores cuánticos?

¿Cómo funcionan los

ordenadores?

Computación clásica

BITUnidad de información

0

1

)(xfy

procesador

clásico1011 0101

Computación cuántica

QBITUnidad de información

0

1

0 y 1

Bit 0:

Bit 1:

0

1

10 ba

122

ba

Superposición de estados

Esfera de Bloch

x

y

z

|0>

|1>

Ninguna medida revela el

estado original de un qubit

desconocido

No pueden obtenerse a y b

)(xfy

Entrada: )10(2

1

)1()0(10 fbfabaf

La función f se evalúa para

ambos valores a la vez

Salida: superposición de

todas las posibles respuestas

procesador

cuántico

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0100

1111

0010

0011

0001

0101

0110

1101

1000

0111

1010

1011

1100

1001

0000

1110

Paralelismo cuántico

¡2N cálculos a la vez!

La medida obtendrá un

resultado aleatorio

¿Cómo obtener resultados

útiles?

Problema

búsqueda en la guía

telefónica

¿Cuántas búsquedas para

encontrar el nombre a partir

del número?

N/2búsquedas en promedio

¿Puede ayudar la mecánica

cuántica?

grover

0 X

1 R

2 P

3 A

contrario casoen ,0)(

Pa ecorrespond si,1)(

xf

xxf

1)2(f

Superposición de todas las x

posibles

11,10,01,00

)10(2

1)10(

2

1

112

110

2

101

2

100

2

1

1/2 1/2 1/2 1/2

|00> |01> |10> |11>

1/2 1/2

-1/2

1/21/4

1

Inversión sobre

la medial*=m-(l-m)=2m-l

Oráculo si f(x)=1, invierte la fase

100%probabilidad de encontrar la

respuesta correcta

4 qubits

…|0010>…

1/4

1/4

-1/4

7/32

3/16

11/16

47,2%probabilidad de encontrar la

respuesta correcta

3/16

11/16

3/16

-11/16

17/128

5/64

61/64

90,8%probabilidad de encontrar la

respuesta correcta

¿Cuántas iteraciones para

100% de éxito?

4

N

0 200 400 600 800 10000

200

400

600

800

1000

lineal

raiz

Guía telefónica con 1 millón

de nombres

11días con algoritmos clásicos

1.000segundos con algoritmo de

Grover

¿Impacto en criptografía?

Búsqueda exhaustiva de

claves

Amenaza a la criptografía

simétrica

¿Solución?

Claves más largas

¿Qué pasa con la asimétrica?

¿Es seguro RSA?

¿En qué se basa su fortaleza?

Problema de la factorización

¿Factores de 15?

3 x 5

¿Factores de 391?

17 x 23

Último reto RSA768 bits en 6 meses en 80 PCs

12 de diciembre de 2009

¿Cuánto se tarda en hacer

operaciones matemáticas?

Sumar dos números de N bits

Tiempo lineal: O(N)

Multiplicar dos números de N

bits

Tiempo cuadrático: O(N2)

Factorizar un número de N

bits

Tiempo exponencial: O(eN)

0 2 4 6 8 100

200

400

600

800

1000

1200

lineal

pol

exp

No se ha probado que RSA

sea seguro

Problema difícil, pero

¿imposible?

¿Puede acelerarse

cuánticamente?

Shor

Transformada de Fourier

1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, …

periodo = 4

71=7,

72=49,

73=343,

74=2401,

75=16807,

76=117649,

77=823453,

mod 15

7, 4, 13, 1, 7, 4, 13, …

Exponenciación modular

ax mod N

Si la periodicidad q es par se

pueden calcular los factores

de N

gcd(aq/2 + 1, N)

gcd(aq/2 – 1, N)

Ejemplo

a=7, N=15, q=4, ¿factores?

15 = 3 x 5

Los circuitos lógicos

cuánticos son rápidos

buscando periodicidades

QFT

Paso 1

Registro de 2c > N estados

superpuestos

|00…000> + |00…001> + |00…010> +…+ |11…110> + |11…111>

Paso 2

Registro de c qubits a |0>

000000

Paso 3

Elegir un número a < N al azar y

primo con N

ax mod N

|0>|0>+|1>|0>+|2>|0>+|3>|0>+|4>|0>+|5>|0>+|6>|0>+…1er registro

2º registro

N=15

a=7

|0>|1>+|1>|7>+|2>|4>+|3>|13>+|4>|1>+|5>|7>+|6>|4>+…

Medida en 2º registro

|1>|7>+|5>|7>+|9>|7>+|13>|7>+|17>|7>+…

Transformada Fourier

período = 4

Tiempo polinómico

Jaque mate a RSA

¿Solución?

Problema del logaritmo

discreto

ab = c

¿b?

¡Shor también lo resuelve en

tiempo polinómico!

¿Curvas elípticas?

y2 = x3 + ax + b

Modificaciones de Shor

rompen ECC y HECC

¿ha muerto la criptografía de clave pública?

RSA

DH

HECC

Sistemas

basados en

factorización

Sistemas

basados en

LD

Podemos esperar a ver si se

construyen o no ordenadores

cuánticos …

… o entrar ya en la era

post-cuántica

Celosías

Codificación

Hashes

Ecuaciones

cuadráticas

multivariadas

Necesitamos eficiencia,

confianza y usabilidad

Estar preparados para la era

post-cuántica…

¡si llega!