Implementación del Algoritmo de ElGamal

Slides:



Advertisements
Presentaciones similares
Criptografía como recurso para el aula de matemáticas. El arte de esconder Firmas digitales La firma digital es una sucesión de bits que se obtienen mediante.
Advertisements

PROGRAMACION ORIENTADA A OBJETOS
Curso de Seguridad Informática
Criptografía: Fundamentos, aplicaciones e implementación
Organización de Computadoras UNLA
Integrales indefinidas. Teoremas 2º Bachillerato
Modulación de pulsos.
Diseño y análisis de algoritmos
Arquitectura CLARO-TECNOTREE
ALGORITMO DE LLAVE PUBLICA/ASIMETRICA
Introducción a la Estadística Informática
FIRMAS DIGITALES UTILIZANDO
PROGRAMACION DE ESTRUCTURAS DE DATOS
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Ecuación de Underwood para separaciones de clase 2: raíz común
Algoritmo y Estructura de Datos I
POO (Programación Orientada a Objetos)
DERIVADAS PARCIALES Gráficas.
ALGORITMOS Y ESTRUCTURAS DE DATOS
Ecuaciones diferenciales
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 02/03/04 Archivo con 13 diapositivas Jorge Ramió Aguirre.
MÉTODO DE ENCRIPTACIÓN BASADO EN EL ALGORITMO R.S.A
Procesamiento digital Parte 3 - Filtros
Algoritmos de búsqueda
Sistemas decimal, binario, octal y hexadecimal
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Criptografía de clave privada: Cifrado de Vernam o “one-time pad”
(Organización y Manejo de Archivos)
Programacion Web Practica 1 Estudio de la aplicación distribuida: Apache Hadoop.
Presentado por:  Andrés Cantos Rivadeneira  Bolívar Elbert Pontón “MÓDULO DE RECOMENDACIONES DE PÁGINAS A VISITAR EN LA WIKIPEDIA, BASADO EN LAS APORTACIONES.
Organización del Computador 1 Sistemas de Representación.
Criptografía Simétrica LUIS ALFONSO JIMÉNEZ PIEDRAHITA.
SEGURIDAD DE REDES CARRERA DE INGENIERÍA DE SISTEMAS Ing. Moisés Toapanta, MSc. Guayaquil, junio del 2014.
Práctica 1 Teoría de errores
M. en C. José Andrés Vázquez Flores
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
TRANSFORMADA DISCRETA DE FOURIER - DFT
Laura Itzelt Reyes Montiel

Organización del Computador I Verano 2007
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
¿Qué matemáticas están presentes en la aplicación de la computación en el ámbito científico? César Fernández R. Hipótesis cognitiva: La matemática que.
INFORMACIÓN CUÁNTICA  Límites de la tecnología actual  Futuro de la tecnología de computadores  Soporte de la información  Unidad de información.
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 14 diapositivas Jorge Ramió Aguirre.
PROGRAMACION ORIENTADA A OBJETOS
FUNCIONES PARA OPERAR CON EXPRESIONES ALGEBRAICAS
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 28 diapositivas Jorge Ramió Aguirre.
Integrantes : Eduardo Gutiérrez Droguett Yoshio Jujihara Astorga Eduardo Becerra Olivares Nicolás Ibarra Betanzo Johan Contreras Ramírez Profesor: Luis.
Presente un cuestionario con los aspectos mas importantes sobre los
Protocolo ssl. Introducción El protocolo SSL (Secure Sockets Layer) fue diseñado con el objeto de proveer privacidad y confiabilidad a la comunicación.
Por: Juan Giovanny Lima González.
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
IV. GRAMÁTICAS DISTRIBUIDAS Y TABLAS DE SÍMBOLOS
de la Información en Computadoras

TALLER DE DESARROLLO WEB
Regla de Laplace para el cálculo de probabilidades
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
para Ingenieros Químicos
ALGEBRA CON VECTORES Y MATRICES Uso de MatLab.
Villamizar Luis Miguel. Variables aleatorias Se denomina variable aleatoria al conjunto imagen de esta correspondencia, es decir, al conjunto de los números.
FACTORIZACIÓN POR: Moisés Inostroza C..
Criptografía. La criptografía (del griego κρύπτω krypto, «oculto», y γράφω griego graphos, «escribir», literalmente «escritura oculta») es el arte o arte.
Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
Operaciones algebraicas
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

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

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

(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).

Campos Finitos

Campos Finitos

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

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

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

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

Criptografía de Llave Pública

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.

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

Criptosistema ElGamal

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

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

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

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’

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)

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

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

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

Diagrama de clases Aritmética Curva Punto

Diagrama de clases ElGamal

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

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

Curvas recomendadas por NIST

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

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

Implementación

Implementación

Implementación

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

Tiempos de ejecución

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

!!GRACIAS!!