1 / 34

FIRMAS DIGITALES UTILIZANDO CURVAS ELIPTICAS

FIRMAS DIGITALES UTILIZANDO CURVAS ELIPTICAS. Msc Miguel Cadena Carter Msc Juan Carlos Martínez Q Laboratorio de Computo especializado UNAB. PROBLEMA. Transmisión de información en forma segura en un medio inseguro. Redes Lan Manejo de documentos Internet Comercio electrónico.

aisha
Download Presentation

FIRMAS DIGITALES UTILIZANDO CURVAS ELIPTICAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FIRMAS DIGITALES UTILIZANDO CURVAS ELIPTICAS Msc Miguel Cadena Carter Msc Juan Carlos Martínez Q Laboratorio de Computo especializado UNAB

  2. PROBLEMA • Transmisión de información en forma segura en un medio inseguro. • Redes Lan • Manejo de documentos • Internet • Comercio electrónico

  3. SERVICIOS • Autenticidad Se debe garantizar que la identidad del emisor este directamente relacionada con el documento • Integridad Se debe eliminar la posibilidad de alteraciones al documento • No repudio

  4. Criptografía • Simétrica o Convencional (una sola clave) • Se encripta y se decripta con la misma clave • Rápida • Grandes cantidades de información • Pública (dos clave) • Clave Privada (KR) • Clave Pública (KU) • Se encripta con una clave, se decripta con la otra. • Lenta • Cantidades pequeñas de información (una clave de criptografia convencional)

  5. FUNCIONES HASHh = H(M) • El propósito de una función hash es producir una “huella digital” de un archivo. • Tiene las siguientes características • H puede aplicarse a mensajes de cualquier tamaño. • H produce salidas de longitud fija • H(M) fácil de calcular en hardware y software • Comp. infactible encontrar M’tal que H(M’)= h

  6. FUNCION SHA1 • Produce un resumen del archivo de 160 Bits de longitud. • Divide el mensaje en bloques de 512 bits, agrega un “1” seguido de “0”s cuando el bloque es < 512. • Procesa cada bloque en secuencia utilizando la salida de cada bloque como entrada para el próximo.

  7. Qué es una firma digital?

  8. FIRMAS DIGITALES • Garantizan autenticidad e integridad • Para evitar repudiación se utiliza un servidor de certificados (Notaria) • No garantizan secreto

  9. CARACTERISTICAS • Los procedimientos de firmas digitales se apoyan en problemas matemáticos cuya solución es computacionalmente infactible si se desconocen las claves de acceso • El conocimiento de las claves de acceso permite la solución del problema en forma rápida.

  10. ESQUEMA GENERAL DE FIRMA DIGITAL Emisor (A) Receptor (B) h’ m || m Comparación D h E EKRa[H(m)] Kpuba KRa M = Mensaje h = Hash del mensaje (emisor) h’ = Hash del mensaje (receptor) D = Decriptamiento E = Proceso de encriptamiento Kpuba = Clave pública de A || = Concatenación KRa = Clave privada de A

  11. Firmas Digitales Utilizando CurvasElípticas • El algoritmo se basa en el problema del logaritmo discreto en el grupo formado por los puntos de una curvas elíptica definida en un cuerpo de Galois. • El mejor algoritmo conocido corre en tiempo exponencial.

  12. Qué es una curva elíptica? Una curva elíptica E sobre Zp ( p>2) esta definida por una ecuación de la forma y2 = x3 + ax + b, (1) donde a, b Zp, y 4a3 + 27b2 0 (mod p), junto con un punto especial 0, llamado el “punto en el infinito”. El conjunto E(Zp) consiste en todas las puntos (x, y), xZp, yZp, que satisfacen la ecuación (1), junto con el punto 0.

  13. Qué es una curva elíptica? • Ejemplo 3 (curva elíptica sobre Z23) • Sea p = 23 y E: y2 = x3 + x definida sobre Z23. • Los puntos en E(Z23) son los siguientes: (0, 1) (0,5) (1, 18) (9,5) (9,18) (11,10) (11,13) (13,5) (13, 18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4)(20,19) (21,6) (21,17)

  14. Formula de adición Existe una regla para “sumar” dos puntos sobre una curva elíptica E(Zp), de tal forma que la suma sea otro punto de la curva. El conjunto de puntos E(Zp) junto con la operación de suma anteriormente mencionada forman un grupo abeliano, donde el punto infinito O es el elemento neutro.

  15. Formula de adición Sean P = (x1, y1) y Q = (x2, y2) dos puntos distintos en una curva elíptica E. Entonces la suma de P y de Q, denotada por R = (x3, y3), se define de la forma siguiente. Primero trace la línea a través P y Q; esta línea intercepta la curva elíptica E en un tercer punto. Entonces R es la reflexión de este punto sobre el eje x.

  16. Formula de adición Si P = (x1, y1), entonces el doble de P, denotado R = (x3, y3) se define como sigue. Primero trace la línea tangente a la curva elíptica en P. Esta línea intercepta a la curva elíptica en un segundo punto. La reflexión de este punto respecto al eje x es R. 1. P + O = O + P = P para todo el P E(Zp). 2. Si P = (x, y) E(Zp), entonces (x, y) + (x, - y) = O. El punto (x, - y) se denota por - PE(Zp), y se llama inverso aditivo de P.

  17. Formula de adición Sean P = (x1, y1) E(Zp) y Q = (x2, y2) E(Zp), dondeP - Q. Entonces P+Q = (x3, y3), donde x3 = 2 - x1 - x2, y3 = (x1 -x3) - y1,

  18. Suma de Puntos

  19. CUERPOS • Conjunto de elementos con dos operaciones definidas (suma, multiplicación) • Suma es un grupo aditivo abeliano • Multiplicación es un grupo multiplicativo abeliano (todos los elementos 0 tienen su inverso multiplicativo) • El campo es finito si tiene un número finito de elementos. El orden de F es el numero de elementos de F. • Ejemplos Reales, Complejos, Enteros mod p.

  20. CUERPO F2m • Los elementos de F2m son polinomios de grado menor que m con coeficientes en el cuerpo F2. • El Cuerpo F2m es finito y tiene 2m elementos que se pueden representar por cadenas de unos y ceros con una longitud máxima de m

  21. CUERPO F2m • Operaciones en F2m • Suma • Resta • Multiplicación • Cálculo del Inverso Multiplicativo • Exponenciación

  22. Curva elíptica en el Cuerpo F24 g7 = (1011) g8 = (0101) g9 = (1010) g10 = (0111) g11 = (1110) g12 = (1111) g13 = (1101) g14 = (1001) g15 = (0001) g0 = (0001) g1 = (0010) g2 = (0100) g3 = (1000) g4 = (0011) g5 = (0110) g6 = (1100) g7 = (1011) g = (0010) f(x) = x4 + x + 1. WWW.CERTICOM.COM

  23. Curvas Elípticas • El conjunto conformado por las soluciones a la curva mas el punto en el infinito junto con la operación de suma de puntos conforman un grupo aditivo.

  24. Qué es un grupo?

  25. Ejemplos de Grupos Ejemplo 1 (Los enteros modulo n) Zn = {0, 1, 2,.., n - 1}, bajo la adición modulo n, forman un grupo de orden n. Si p es un número primero, entonces los elementos diferentes a cero de Z*p = {1, 2,.., p -1}, forman un grupo de orden p – 1, bajo operación de multiplicación modulo p.

  26. El problema del logaritmo discreto • Sea G un grupo finito cíclico de orden n. Sea  un generador de G y sea G. El logaritmo discreto de  a la base , expresado como Loges el único entero x , 0  x  n-1, tal que  = x • Si el grupo es aditivo el problema del logaritmo discreto es: • Dados P y Q miembros del grupo, encontrar un numero k tal que kP = Q;k se denomina el logaritmo discreto de Q en la base P

  27. Ejemplo En el grupo Z*13 cual es el logaritmo discreto de 8 en la base 7. 7x mod 13 = 8 • 70 mod 13 = 1 • 71 mod 13 = 7 • 72 mod 13 = 10 • 73 mod 13 = 5 • 74 mod 13 = 9 • 75 mod 13 = 11 • 76 mod 13 = 12 • 77 mod 13 = 6 • 78 mod 13 = 3 • 79 mod 13 = 8

  28. ESQUEMA DE FIRMA NYBERG-RUEPPEL • Sea e el valor hash del documento • Sea E una curva elíptica • Sea P un punto de la curva con un orden grande y primo. • Sea s la clave privada del emisor s=H(f1) • Sea Q = sP la clave publica del emisor

  29. ESQUEMA DE FIRMA NYBERG-RUEPPEL • Generar un número aleatorio k y calcular R = kP • Usando la componente x del Punto P como si fuese un entero,calcular. c = x + e mod n d = k - sc mod n

  30. ESQUEMA DE FIRMA NYBERG-RUEPPEL • El par (c,d) es la firma del documento representado por el valor hash • Para verificar La firma se debe calcular R’= dP + cQ Usando la componente x de R’ e’ = c-x’ mod n Se calcula un nuevo hash del documento y si el mismo es igual a e’ , la firma es correcta.

  31. [ELIPCUR1] CERTICOM WHITE PAPER. REMARKS ON THE SECURITY OF THE ELLIPTIC CURVE CRIPTOSYSTEM. CERTICOM. 1997 [ELIPCUR1] CERTICOM WHITE PAPER. REMARKS ON THE SECURITY OF THE ELLIPTIC CURVE CRIPTOSYSTEM. CERTICOM. 1997

  32. Conclusiones • La teoría de curvas elípticas y los desarrollos de software de dominio publico permiten a través de su estudio la construcción de aplicaciones que ofrecen los servicios de Autenticidad e Integridad. • Los servicios de secreto e intercambio de claves de criptografía simétrica se pueden implementar fácilmente a partir de las aplicaciones realizadas. • Es necesaria el mejoramiento de las técnicas de programación para evitar la exposición de información critica en memoria y los ataques por desbordamiento de pila. • Se requiere mayor investigación sobre métodos para generación de buenas curvas en tiempo polinomial.

  33. APLICACIÓN PARA REALIZAR FIRMAS DIGITALES

More Related