La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Implementación del Algoritmo de ElGamal

Presentaciones similares


Presentación del tema: "Implementación del Algoritmo de ElGamal"— Transcripción de la presentación:

1 Implementación del Algoritmo de ElGamal
Melesio Márquez Oropeza Alba M. Sánchez Gálvez Facultad de Ciencias de la Computación

2 Criptografía con Curvas Elípticas
Conceptos Criptografía de Llave pública tipo ElGamal Implementación Resultados Consideraciones Finales

3 (Ecuación reducida de Weierstrass)
Curva Elíptica Se 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).

4 Campos Finitos

5 Campos Finitos

6 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

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

8 Curva Elíptica (y2 = x3 + ax + b)
Multiplicación (método binario)

9 Criptografía con Curvas Elípticas
Conceptos El algoritmo de ElGamal Implementación Resultados Consideraciones Finales

10 Criptografía de Llave Pública

11 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.

12 Criptosistema ElGamal
Se 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

13 Criptosistema ElGamal

14 Criptosistema ElGamal
1) Se obtiene la Clave Pública del receptor 2)Se convierte el mensaje a un punto ME(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

15 Criptosistema ElGamal
Para obtener el mensaje: M = M2 – sM1 Lo anterior funciona ya que : M2 – sM1 = (M + kB) – s(kP) = M + skP – skP = M

16 Criptosistema ElGamal
Los 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

17 Criptosistema ElGamal
Es importante generar un k aleatorio distinto para cada mensaje Si 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’

18 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)

19 Ataques conocidos POLLARD’S RHO ALGORITHM.
Versión aleatorizada del Baby-step Gigant step pasos

20 Criptografía con Curvas Elípticas
Conceptos El algoritmo de ElGamal Implementación Resultados Consideraciones Finales

21 Protocolo Criptográfico
Arquitectura CRIPTOSISTEMA Aritmética en E(Fp) Codificador Mensaje Protocolo Criptográfico

22 Diagrama de clases Aritmética Curva Punto

23 Diagrama de clases ElGamal

24 Implementacion Aritmetica
Librería JAVA : BigInteger Funciones de soporte para aritmética de precisión arbitraria. Ej.

25 Implementación Aritmética
Archivo que contiene los parámetros de una curva

26 Curvas recomendadas por NIST

27 Implementacion El Gamal
Constructor de Clase: La aritmética es transparente al algoritmo

28 Implementación Cifrador
Convertir una cadena de texto a elemento de Fp: M - es el mensaje convertido a elemento de Fp L -es el tamaño del alfabeto Ci – El carácter i-ésimo de la cadena

29 Implementación

30 Implementación

31 Implementación

32 Criptografía con Curvas Elípticas
Conceptos El algoritmo de ElGamal Implementación Resultados Consideraciones Finales

33 Tiempos de ejecución

34 Conclusiones La 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

35 !!GRACIAS!!


Descargar ppt "Implementación del Algoritmo de ElGamal"

Presentaciones similares


Anuncios Google