criptografÍa - departamento de matemática aplicada...

61
CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA E.T.S.I. Informática Universidad de Sevilla Curso 2007/2008 Criptografía de clave pública

Upload: buithuy

Post on 11-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

CRIPTOGRAFÍA5º CURSO DE INGENIERÍA INFORMÁTICA

E.T.S.I. Informática

Universidad de Sevilla

Curso 2007/2008

Criptografía de clave pública

Page 2: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

SI la clave es pública cualquiera puede

descifrar,… ¿o no?

Idea fundamental:

◦ Asimetría separación de claves: una pública que

cifra y otra privada que descifra.

Dos ejemplos:

1. El cartero fiel:

Clave pública: mi dirección.

Clave privada: la llave de mi buzón.

2. El fabricante de cajas de seguridad:

Clave pública: una caja abierta, que se bloquea al cerrarla.

Clave privada: mi llave de la caja.

Page 3: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

Cifrado y descifrado asimétrico: la clave

pública la tienen todos, la clave privada

sólo la tiene el destinatario:

¡Ni el mismo emisor puede descifrar!

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 4: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

El concepto de criptosistema de clave pública fue

descubierto por James Ellis (Government

Communications Headquarters) al final de los años

60 (7 años antes que DH).

Clifford Cocks desarrolló esas ideas y descubrió un

criptosistema equivalente a RSA en 1973 (3-4 años

antes que Rivest, Shamir y Adleman).

Malcolm Williamson, buscando fallos en el trabajo de

Cocks, descubre el Intercambio de claves DH en

1975 (un año antes que Diffie y Hellman).

Un poco de (pre)historia:

Los servicios secretos no supieron valorar estos

descubrimientos, pero los mantuvieron en secreto y el mérito

fue para otros.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 5: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

Whitfield Diffie y Martin Hellman publicaron

el artículo “New Directions in Cryptography”

en 1976.

• Los autores afirman que

sería posible implementar

criptosistemas de clave

pública usando esotéricas

funciones relacionadas con

difíciles problemas

matemáticos.

• No hacen propuestas

concretas.

Hellman, Merkle y Diffie

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 6: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

¿Cuáles son esas mágicas funciones

matemáticas?

Funciones de un solo sentido:

◦ En realidad son funciones biyectivas… ¡de otra forma no

se podría descifrar!

◦ Lo importante es que para ser capaz de invertirlas hay

que conocer cierta información: ¡la clave privada!.

◦ Si no se conoce la clave privada es computacionalmente

imposible invertir la función.

¿Quién conoce una función así?

◦ Esta pregunta queda en pie tras el artículo de Diffie y

Hellman.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 7: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CRIPTOGRAFÍA DE CLAVE PÚBLICA

La función de un solo sentido,

trabajando en el sentido fácil.

La información necesaria es

pública.

La función sólo puede invertirse

si se conoce la clave privada.

Sólo para tus ojos.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 8: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: MOCHILA DE MERKLE-HELMAN

Merkle y Hellman propusieron en 1977 el

que fue (probablemente) el primer

sistema de cifrado de clave pública.

Basado en el problema subset-sum:

El problema es NP-completo y es llamado

a menudo el problema de la mochila.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 9: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: UN PARÉNTESIS MATEMÁTICO

El caso de la mochila supercreciente:Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 10: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: GENERACIÓN DE CLAVES

Cada usuario crea su clave pública y

la correspondiente clave privada:Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 11: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: CIFRADO Y DESCIFRADO

B cifra un mensaje para A

A descifra el mensaje de B

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 12: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: ¿POR QUÉ FUNCIONA EL DESCIFRADO?

La operación que se realiza en el descifrado es:Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 13: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

MH: SEGURIDAD

El problema general subset-sum es NP-completo,

pero el particular de la mochila derivada de una

supercreciente no lo es.

Se conoce un ataque capaz de romper el

criptosistema en tiempo polinomial.

El único sistema criptográfico basado en el

problema de la mochila para el que aún no se

conoce un ataque con éxito es el de Chor-

Rivest.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 14: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA

En 1977 Ron Rivest, Adi Shamir y Len Adleman

propusieron un criptosistema de clave pública

sustentado en el que pasó a llamarse el

problema RSA, basado en la factorización de

enteros.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 15: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

Inversos módulo n :Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 16: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

Teorema Chino del Resto (TCR)Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 17: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

s = 1, t = m, q = e;

mientras (q > 0)

si (q & 1) // si q es impar

s = s * t;

q = q / 2; // división entera(desplazamiento)

t = t * t;

retorna s;

100 =11001002

1──M──► 2──C──► 4 ──M──► 8 ──C──► 64──C──► 4096 ──C──► 16777216 ──M──► 33554432──C──► 1125899906842624──C──► 1267650600228229401496703205376

Cálculo de potencias enteras

o La idea:

o El seudocódigo de una versión no recursiva sería así:

o Sin ordenador es un poco diferente. Ejemplo de cálculo de 2100:

⟶ 1C1C0C0C1C0C0 ⟶ MCMC0C0CMC0C0 ⟶ MCMCCCMCC

No son100 multiplicaciones,

sino sólo 9 (máximo = 2· nº de

bits del exponente - 1).

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 18: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

Si el número obtenido no es primo volvemos a

sortear los bits intermedios y repetimos hasta

obtener un primo.

Construcción de primos grandes

1 * * ················· * * 1

Se construye un entero impar de 𝑘 bits:

El primero y el último bit se ponen a 1 y los bits

intermedios se eligen al azar.

La probabilidad de que el número así construido

sea primo es de 2 / (𝑘·ln 2)

¿Cómo saber si hemos encontrado un primo?

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 19: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

Test de primalidad de Miller-RabinCriptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 20: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: UN PARÉNTESIS MATEMÁTICO

Búsqueda de primos fuertes: test de

GordonCriptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 21: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: EL PROBLEMA

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 22: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA Y LA FACTORIZACIÓN

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 23: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: GENERACIÓN DE CLAVES

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 24: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: CIFRADO Y DESCIFRADO

B cifra un mensaje para A

1. Obtiene la clave pública de A (𝑛, 𝑒)2. Representa el mensaje como un entero 𝑚

en el intervalo [0, 𝑛-1]3. Calcula 𝑐 = 𝑚𝑒 mod 𝑛.4. Envía el texto cifrado 𝑐 a A.

A descifra el mensaje de B

1. Usa su clave privada para recuperar

𝑚 = 𝑐𝑑 mod 𝑛.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 25: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: ¿POR QUÉ FUNCIONA EL DESCIFRADO?

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 26: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: DESCIFRADO CON EL TCR

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 27: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: SEGURIDAD

En 1977 Ron Rivest profetizó que factorizar

un número de 125 dígitos llevaría 40.000

billones de años.

El desafío RSA-129 (129 dígitos, 425 bits):

◦ 1143816257578888676692357799761466120102182967212423

6256256184293570693524573389783059712356395870505898

9075147599290 026879543541

= 34905295108476509491478496199038

98133417764638493387843990820577 *

32769132993266709549961988190834

461413177642967992942539798288533

◦ Resuelto en abril de 1994 por un equipo dirigido por D.

Atkins, M. Graff, A. Lenstra y P. Leyland usando 600

ordenadores conectados a través de Internet.

◦ http://www.math.okstate.edu/~wrightd/numthry/rsa129.html

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 28: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: SEGURIDAD

Con el siguiente escenario:

◦ Capacidad de cálculo (mips por año):

◦ La potencia de cálculo se multiplica por 10 cada 5 año y

las Matemáticas avanzan cada año.

Tamaños recomendados de claves:

Particular (P) Gran empresa (E) Gobierno (G)

10.000 10.000.000 1.000.000.000

Año Contra P Contra E Contra G

1995 768 1280 1536

2000 1024 1280 1536

2005 1280 1536 2048

2010 1280 1536 2048

2015 1536 2048 4096

2045 8192 16384 32768

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 29: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: NECESIDAD DE RELLENO

1. Algunos valores del mensaje pueden dar

cifrados inseguros:

◦ Los valores m=0 y m=1 siempre se cifran en sí mismos.

◦ Con exponentes pequeños y valores pequeños de m, el

cifrado podría ser estrictamente menor que el módulo y el

texto en claro podría obtenerse haciendo la raíz e-ésima,

sin tener en cuenta el módulo.

2. Siempre hay mensajes que se cifran en sí

mismos (al menos 9). De hecho su número

exacto es :

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 30: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: NECESIDAD DE RELLENO

3. RSA es determinista, por lo que es viable un ataque de texto elegido: el atacante construye un diccionario de textos probables y sus cifrados. Interceptando un texto cifrado, el atacante puede usar este diccionario para descifrar el mensaje.

Protección: combinar RSA con algún esquema de relleno (como por ejemplo estándares como PKCS).

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 31: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: ATAQUE DE PRIMOS CERCANOS

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 32: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: FACTORIZACIÓN DE FERMAT

Mersenne propuso a Fermat el problema de decidir si era primo el número 2027651281

Fermat contestó rápidamente:

2027651281 = 44021· 46061

El método:

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 33: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: MÚLTIPLES CLAVES QUE DESCIFRAN

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 34: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: MÚLTIPLES CLAVES QUE DESCIFRAN

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 35: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: ELECCIÓN DE CLAVES

Algunos criterios para una buena clave:

Existen algoritmos para generar buenas claves

y pruebas para validar su calidad.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 36: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

RSA: ELECCIÓN DE CLAVES

Error: elegir un mismo módulo n y distribuir

distintos pares (𝘦, 𝘥) a los usuarios de la

organización.

◦ Por lo delicado de la buena elección del módulo, es un error

bastante frecuente.

◦ El problema es que el conocimiento de un simple par (𝘦, 𝘥)puede revelar la factorización de n y romper todo el

sistema.

Debe evitarse el uso repetido de un pequeño

exponente de cifrado.

◦ Por ejemplo, un mensaje enviado a 3 destinatarios que han

elegido e=3, es muy probable que pueda ser descifrado

usando el TCR.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 37: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL

En 1985, Taher Elgamal publicó un artículo

titulado ‘A Public key Cryptosystem and A

Signature Scheme based on discrete Logarithms’.

طاهر الجمل

Taher Elgamal

Propone un novedoso sistema de

cifrado de clave pública basado en el

problema del logaritmo discreto.

El criptosistema de Elgamal ha

demostrado ser muy flexible y algunos

de los sistemas más modernos se

inspiran en él.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 38: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: UN PARÉNTESIS MATEMÁTICO

El problema del logaritmo discreto

◦ Un grupo (𝐺, ·) de 𝑛 elementos es cíclico si existe

un 𝑔 ∊ 𝐺 (generador) tal que 𝐺 = {1, 𝑔, 𝑔²,⋯ , 𝑔𝑛⁻¹}.Entonces para todo 𝑎 ∊ 𝐺 existe un entero 𝑘 con

0≤ 𝑘 ≤ 𝑛―1 tal que 𝑔𝑘 = 𝑎. Se dice que 𝑘 es el

logaritmo discreto de 𝑎 de base 𝑔.

◦ El problema del logaritmo discreto consiste en

hallar 𝑘 conocidos 𝐺, 𝑔 y 𝑎.

◦ En grupos finitos grandes (p. e. en el grupo

multiplicativo de ℤ𝑝 con 𝑝 un primo fuerte), este

problema es computacionalmente intratable.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 39: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: UN PARÉNTESIS MATEMÁTICO

Búsqueda de un generadorCriptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 40: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: GENERACIÓN DE CLAVES

Cada usuario crea su clave pública y

la correspondiente clave privada:

1. Construye un primo grande 𝑝 y un generador

del grupo multiplicativo de ℤ𝑝.

2. Elige aleatoriamente un entero 𝑎, 1 ≤ 𝑎 ≤ 𝑝 - 2y calcula 𝛽 = 𝑔𝑎 mod 𝑝.

3. La clave pública es (𝑝, 𝑔, 𝛽). La clave privada es

𝑎.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 41: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: CIFRADO Y DESCIFRADO

B cifra un mensaje para A

1. Obtiene la clave pública de A (𝑝, 𝑔, 𝛽) .2. Representa el mensaje como un entero 𝑚

en el intervalo [0, 𝑝―1].3. Elige al azar un entero 𝑘, 1 ≤ 𝑘 ≤ 𝑝 – 2.

4. Calcula 𝛾 = 𝑔𝑘 mod 𝑝 y 𝛿 = 𝑚 · 𝛽 𝑘 mod 𝑝.5. Envía el texto cifrado 𝑐 = (𝛾, 𝛿) a A.

A descifra el mensaje de B

1. Usa su clave privada para recuperar

𝑚 = 𝛾𝑝 – 1 – a · 𝛿 mod 𝑝.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 42: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: ¿POR QUÉ FUNCIONA EL DESCIFRADO?

Por el Teorema de Fermat, se tiene que

en ℤ𝑝

Y entonces:

Con lo que

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 43: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: EFICIENCIA

El proceso de descifrado hace sólo una potencia,

pero el de cifrado requiere dos, de exponente 𝘬,

que pueden hacerse más rápidas eligiendo

adecuadamente el exponente.

Una desventaja es que el mensaje cifrado es el

doble de largo que el original.

Una gran ventaja es que al elegirse 𝘬 de forma

aleatoria, el cifrado de un mismo texto dará

resultados diferentes, aunque esto es

transparente para el descifrado.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 44: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

ELGAMAL: SEGURIDAD

La seguridad de Elgamal se basa en la dificultad

de resolver un problema de logaritmo discreto.

Resulta crítico que se usen diferentes enteros

aleatorios 𝑘 para cada mensaje. Si se usara el

mismo 𝑘 para 𝑚₁ y 𝑚₂, dando lugar a los cifrados

(𝛾₁, 𝛿₁) y (𝛾₂, 𝛿₂), entonces 𝛿₁/ 𝛿₂= 𝑚₁ / 𝑚₂ y

el conocimiento de uno de los mensajes revelaría

el otro.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 45: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: CRIPTOGRAFÍA DE CURVAS ELÍPTICAS

No se trata de un nuevo criptosistema, sino de un nuevo enfoque.

Se trata de usar funciones de un solo sentido en un contexto nuevo, usando una aritmética que hace los problemas más difíciles.

Las curvas elípticas han sido muy estudiadas desdehace más de150 años. Su uso en Criptografía fuepropuesto en 1985 independientemente por Neal Koblitz (Univ. de Washington) y Victor Miller (IBM, Yorktown Heights).

Una curva elíptica es una curva en el plano tal que cada línea que la corta en 2 puntos, la corta además exactamente en un tercer punto.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 46: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Una curva elíptica sobre ℝ está formada por el

conjunto de los puntos (𝑥, 𝑦) tales que satisfacen

una ecuación de la forma 𝑦²= 𝑥³ + 𝑎𝑥 + 𝑏 con 𝑎, 𝑏números reales cumpliendo 4𝑎³+27𝑏²≠0.

Cada elección de 𝑎 y 𝑏 da lugar a

una curva diferente.

En http://www.certicom.com/

content/live/resources/ecc_tutori

al/ecc_javaCurve.html se pueden

experimentar las curvas

resultantes para distintos valores.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 47: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Una curva elíptica sobre un cuerpo finito está

formada por un conjunto finito de puntos.

• Hay simetría

horizontal .

• Nótese que tiene 31puntos.

• El número de puntos

de la curva no es

siempre primo, por

lo que se elige un

subgrupo cíclico

suficientemente

grande.

Curva elíptica 𝑦² = 𝑥³ + 𝑥 +10 sobre 𝔽₂₃

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 48: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Aritmética geométrica:

◦ El opuesto (negativo) de un punto 𝑃= (𝑥, 𝑦) es su simétrico

respecto al eje 𝑥 : ‒𝑃= (𝑥, ‒𝑦).

◦ Para sumar dos puntos 𝑃, 𝘘 (con 𝑃≠‒𝘘 ) se traza una línea

que los une, que corta a la curva en otro punto 𝘙; entonces

𝑃+𝘘 = ‒𝘙.

Para sumar 𝑃 y ―𝑃 lo anterior no

funciona ya que la línea que los

une no corta a la curva en otro

punto. Para evitar este problema

se añade un punto del infinito que

se designa por 𝒪, y por definición

se dice que 𝑃+(‒𝑃)=𝒪 (y por

tanto 𝑃 + 𝒪 = 𝑃).

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 49: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Aritmética geométrica:

◦ Para sumar 𝑃 consigo mismo se traza la tangente en 𝑃, que

corta a la curva en otro punto ‒ 𝘙; entonces 2𝑃 = 𝑃 + 𝑃 = 𝘙

Caso especial:

Si 𝑃= (𝑥, 0) entonces

la tangente es vertical

y no corta de nuevo a

la curva. Entonces se

establece que 2𝑃 = 𝒪

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 50: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Aritmética algebraica:

Haciendo que todo funcione:

◦ http://www.certicom.com/content/live/resources/ecc_tutorial

/ecc_javaCurve.html

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 51: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

Curvas elípticas sobre cuerpos finitos:

◦ En Criptografía los cálculos deben ser exactos, por lo que se

usan curvas elípticas sobre cuerpos finitos, que contendrán

un número finito (aunque muy grande) de puntos.

◦ Algunos cuerpos finitos bien conocidos: F=ℤ𝘱 con 𝘱 primo

(usados en RSA, Elgamal, …)

◦ Otros: cuerpos finitos F𝘱𝘮 con 𝘱 primo. Los elementos del

cuerpo se representan como polinomios.

◦ Ejemplos interactivos con curvas elípticas en cuerpos finitos:

http://www.certicom.com/content/live/resources/ecc_tutorial/ecc

_twopoints.html

http://www.certicom.com/content/live/resources/ecc_tutorial/ecc

_ecfm24.html

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 52: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: UN POCO DE MATEMÁTICAS

El problema del logaritmo discreto en curvas elípticas:

◦ Dados dos puntos 𝑃 y 𝘘 en el grupo (aditivo) de la curva, encontrar un entero 𝘬 tal que 𝘬𝑃=𝘘

◦ Ejemplo: en la curva elíptica definida sobre F₂₃ por la ecuación 𝘺²=𝘹³+9𝘹+17, hallar el logaritmo discreto 𝘬 de 𝘘=(4, 5) de base 𝑃=(16,5)

Mediante fuerza bruta:

Así el logaritmo discreto de 𝘘 en base 𝑃 es 𝑘=9.

◦ En un caso real, 𝑘 será muy grande y este ataque serácomputacionalmente imposible.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 53: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: ELGAMAL ELÍPTICO

Cada usuario construye su clave pública y la

correspondiente privada:

◦ Elige un primo 𝑝 y una curva elíptica sobre ℤ𝑝

𝑦²= 𝑥³ + 𝑎𝑥 + 𝑏 con 4𝑎³+27𝑏² ≢ 0 (mod 𝑝).

◦ Elige un punto 𝐺 de la curva que sea de orden

primo (el orden es el primer entero 𝑞 tal que

𝑞𝐺 = 𝒪) y de tamaño similar a 𝑝.

◦ Se elige un entero 𝑑∊ [0, 𝑞―1] y se hace 𝘉 = 𝑑𝘎.

◦ La clave pública es (𝑎, 𝑏, 𝑞, 𝘎, 𝘉).

◦ La clave privada es 𝑑.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 54: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: ELGAMAL ELÍPTICO

B cifra un mensaje para A

1. Obtiene la clave pública de A (𝑎, 𝑏, 𝑞, 𝘎, 𝘉).2. Representa el mensaje como un punto 𝑀 en la

curva.3. Elige al azar un entero 𝑘, 1 ≤ 𝑘 ≤ 𝑞 – 2.

4. Calcula 𝛤 = 𝑘𝐺 y 𝛥 = 𝑀 + 𝑘𝘉.5. Envía a A el texto cifrado 𝑐 = (𝛤, 𝛥).

A descifra el mensaje de B

1. Usa su clave privada para calcular:

𝛥 – 𝑑𝛤 = 𝑀 + 𝑘𝘉 – 𝑑𝑘𝐺 = 𝑀 + 𝑘𝑑𝐺– 𝑑𝑘𝐺 = 𝑀

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 55: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: ELGAMAL ELÍPTICO

Dos problemas en Elgamal elíptico:

1. ¿Cómo representar un mensaje que es una

cadena de bits como un punto de la curva?

Una propuesta: se convierte el mensaje en un

número 𝑥 y se toma un punto 𝑀 = (𝑥 , ±𝑦) de la

curva. El signo de 𝑦 no importa, pero el problema es

que puede que no exista tal punto.

Hay otras opciones, pero ninguna natural.

2. Puede ser vulnerable a ataques de texto

cifrado elegido.

El Gamal elíptico no es un estándar.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 56: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: ALGUNOS ESTÁNDARES

Estándar P1363 de la IEEE de criptografía de clave pública: Standard Specifications For Public-Key Cryptography.

http://grouper.ieee.org/groups/1363/

14.2 - Grupo de evaluación criptográfica Europeo NESSIE: New European Schemes for Signature, Integrity and Encryption.

http://www.cryptonessie.org/

14.3 - Grupo de evaluación criptográfica Japonés CRYPTREC: Cryptography Research and Evaluation Committee

http://www.ipa.go.jp/security/enc/CRYPTREC/index-e.html

14.4 - Estándar SECG: The Standards for Efficient CryptographyGroup (SECG)

http://www.secg.org/

14.5 - Estándar NIST: The NIST Computer Security Division

http://csrc.nist.gov/

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 57: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: ALGUNOS ESTÁNDARES

El criptosistema basado en curvas elípticas más

ampliamente respaldado es el llamado Integrated

Encryption Scheme (IES).

IES ha sido aprobado como estándar por distintas

entidades: ANS X9F1, CRYPTREC, IEEE P1363,

NESSIE, NSA Suite B.

Puede verse con más detalle en

◦ http://en.wikipedia.org/wiki/Integrated_Encryption

_Scheme

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 58: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: SEGURIDAD

Certicom es la principal empresa comercial de CCE, esta organización posee 130 patentes, y ha vendido licencias a NSA por 25 millones de dólares.

También ha patrocinado varios desafíos a algoritmos CCE. El más complejo resuelto hasta ahora, con clave de 109 bits, fue roto por un equipo de investigadores a principios de 2003. usando un ataque masivo en paralelo basado en el ataque de cumpleaños, con más de 10.000 PC's de tipo Pentium funcionando continuamente durante 540 días.

Se estima que la longitud de clave mínima recomendada para CCE (163 bits) requeriría 108

veces los recursos utilizados para resolver el problema con 109 bits.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 59: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: SEGURIDAD

Ataque basado en la paradoja del cumpleaños

¿De qué tamaño debe ser un grupo de

personas elegidas al azar para que la

probabilidad de tener al menos dos con el

mismo cumpleaños sea mayor del 50%?

¡Sólo 23!

Idea básica: las colisiones (valores repetidos) aparecen antes

de lo esperado; por ejemplo: si un banco autentica sus

transacciones bancarias con 64 bits, el número de

autenticaciones será 2⁶´≅ 18 trillones.

En un ataque de cumpleaños un atacante en realidad sólo

necesita ver 2³²≅ 4000 millones de transacciones.

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 60: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: SEGURIDAD

Tamaños estimados de claves en los distintos problemas estudiados para obtener una seguridad equivalente:

Un tamaño pequeño implica una mejor gestión de las claves, más velocidad, menor tamaño del cifrado y menos necesidad de memoria.

PLD (bits) RSA (bits) PLDE (bits) Ratio

1024 1024 163 1:6

3072 3072 256 1:12

7680 7680 384 1:20

15360 15360 512 1:30

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas

Page 61: CRIPTOGRAFÍA - Departamento de Matemática Aplicada Ima1.eii.us.es/Material/Cripto_ii_ClavePublica.pdf · Criptografía –5º Curso de Ingeniería Informática –Universidad de

Criptografía – 5º Curso de Ingeniería Informática – Universidad de Sevilla

CCE: CONCLUSIONES

Las buenas implementaciones de CCE son muy seguras: no se les conoce ningún ataque subexponential que haya tenido éxito.

Más atractivos que los anteriores porque requieren claves mucho más cortas para el mismo nivel de seguridad.

Más rápidos que los anteriores.

Menores requerimientos de memoria que los anteriores.

Ideales para dispositivos portátiles como PDAs, smartcards, móviles, etc.

Algunos ejemplos de protocolos que usan CCE:

◦ EC Digital Signature Algorithm (ECDSA).

◦ Intercambio de llaves EC Diffie-Hellman (ECDH).

Sólo un problema: ¡es aún nuevo!

Criptografía

de clave pública

El criptosistema

de mochila de

Merkle-Hellman

El criptosistema

RSA

El criptosistema

Elgamal

Criptografía de

curvas elípticas