350 likes | 548 Views
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.
E N D
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
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
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)
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
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.
FIRMAS DIGITALES • Garantizan autenticidad e integridad • Para evitar repudiación se utiliza un servidor de certificados (Notaria) • No garantizan secreto
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.
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
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.
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), xZp, yZp, que satisfacen la ecuación (1), junto con el punto 0.
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)
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.
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.
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 - PE(Zp), y se llama inverso aditivo de P.
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,
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.
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
CUERPO F2m • Operaciones en F2m • Suma • Resta • Multiplicación • Cálculo del Inverso Multiplicativo • Exponenciación
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
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.
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.
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 Loges 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
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
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
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
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.
[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
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.