melesio márquez oropeza alba m. sánchez gálvez facultad de ciencias de la computación

35
Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Upload: jose-luis-espinoza-coronel

Post on 31-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Melesio Márquez Oropeza

Alba M. Sánchez Gálvez

Facultad de Ciencias de la Computación

Page 2: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Conceptos

Criptografía de Llave pública tipo ElGamal

Implementación

Resultados

Consideraciones Finales

Criptografía con Curvas Elípticas

Page 3: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Curva ElípticaSe define por medio de una ecuación:

E: y2 = x3 + ax + b

(Ecuación reducida de Weierstrass)

Los coeficientes a,b pueden ser números Reales o estar en un campo finito de orden p GF(p).

Page 4: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Campos Finitos

Page 5: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Campos Finitos

Page 6: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Curva Elíptica (y2 = x3 + ax + b)

Si se cumple que: 4a3 + 27b2 ≠ 0

Entonces E define un grupo abeliano G(E)

Se definen 2 Operaciones : Adición y multiplicación

Page 7: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Curva Elíptica (y2 = x3 + ax + b)Suma: método de la cuerda y tangente

Page 8: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Curva Elíptica (y2 = x3 + ax + b)

Multiplicación (método binario)

Page 9: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Conceptos

El algoritmo de ElGamal

Implementación

Resultados

Consideraciones Finales

Criptografía con Curvas Elípticas

Page 10: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptografía de Llave Pública

Page 11: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Problema del Logaritmo Discreto (ELDP)La seguridad de CCE depende de la dificultad del

ECDL:Sean P y Q dos puntos en una curva elíptica, tales

que: kP = Q, donde k es un escalar.

Dados P y Q, no es factible computacionalmente obtener k, si k es lo suficientemente grande.

k es llamado el logaritmo discreto de Q en la base P.

Page 12: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamalSe establece una curva E sobre un campo

finito Fp

Se elige un entero s y se elige un punto P

Calcular B = sP

Los puntos P,B, Fp y la curva E forman la clave pública

Page 13: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamal

Page 14: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamal1) Se obtiene la Clave Pública del receptor

2)Se convierte el mensaje a un punto ME(Fp)

3)Se elige un entero aleatorio k y se calcula M1 = kP

4)Calcular M2 = M + kB

5)Se envían M1 y M2 al receptor

Page 15: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamalPara obtener el mensaje:

M = M2 – sM1

Lo anterior funciona ya que :

M2 – sM1 = (M + kB) – s(kP) = M + skP – skP = M

Page 16: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamalLos puntos M1 y M2 son públicos

Si se puede calcular el logaritmo discreto, se puede utilizar P y B para encontrar s (la clave Privada)

Se utiliza s para obtener el mensaje haciendo:

M = M2 - kB

Page 17: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Criptosistema ElGamalEs importante generar un k aleatorio distinto

para cada mensajeSi tenemos M y M’ , y encriptamos utilizando

el mismo numero k M1 = M1’

Se calcula M2’ – M2 = M’ – M

Si conocemos M, entonces:M’ = M – M2 + M2’

Page 18: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Ataques conocidos

Búsqueda exahustiva – Calcular sucesivamente los multiplos de P:

2P, 3P, … hasta obtener Q

Puede tomar hasta n pasos, (n es el orden de la Curva)

Page 19: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Ataques conocidos

POLLARD’S RHO ALGORITHM.

Versión aleatorizada del Baby-step Gigant step

pasos

Page 20: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Conceptos

El algoritmo de ElGamal

Implementación

Resultados

Consideraciones Finales

Criptografía con Curvas Elípticas

Page 21: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Arquitectura

Aritmética en E(Fp)

Protocolo Criptográfico

Mensaje

CRIPTOSISTEMACRIPTOSISTEMA

Page 22: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Diagrama de clasesAritmética

Curva

Punto

Page 23: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Diagrama de clasesElGamal

Page 24: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementacion AritmeticaLibrería JAVA : BigInteger

Funciones de soporte para aritmética de precisión arbitraria.

Ej.

Page 25: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementación AritméticaArchivo que contiene los parámetros de una

curva

Page 26: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Curvas recomendadas por NIST

Page 27: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementacion El GamalConstructor de Clase:

La aritmética es transparente al algoritmo

Page 28: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementación CifradorConvertir una cadena de texto a elemento de

Fp:

M - es el mensaje convertido a elemento de FpL -es el tamaño del alfabeto

Ci – El carácter i-ésimo de la cadena

Page 29: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementación

Page 30: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementación

Page 31: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Implementación

Page 32: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Conceptos

El algoritmo de ElGamal

Implementación

Resultados

Consideraciones Finales

Criptografía con Curvas Elípticas

Page 33: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

Tiempos de ejecución

Page 34: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

ConclusionesLa importancia de separar los componentes

de un criptosistema basándonos en el paradigma POO.

Flexibilidad de las librerías de JAVA para la implementación de la aritmética

Posibilidad de extender el criptosistema agregando módulos

Page 35: Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

!!GRACIAS!!