21
CRISTIAN MAURICIO PAZ FERNANDEZ YHEISSON ALEXANDER PAZ TROCHEZ CRIPTOGRAFIA DE CURVA ELÍPTICA

criptografia de curva elipticas

Embed Size (px)

Citation preview

Page 1: criptografia de curva elipticas

CRISTIAN MAURICIO PAZ FERNANDEZ YHEISSON ALEXANDER PAZ TROCHEZ

CRIPTOGRAFIA DE CURVA ELÍPTICA

Page 2: criptografia de curva elipticas

DEFINICION•No se trata de un nuevo criptosistema, sino de un

nuevo enfoque• Se trata de usar funciones de un solo sentido en un

contexto nuevo, usando una asimétrica que hace los problemas más difíciles •Una curva elíptica es una curva en el plano tal que cada

línea que la corta en 2 puntos, la corta además exactamente en un tercer punto

Page 3: criptografia de curva elipticas

ECUACION:Definición de la curva elíptica y2 ≡ x3 + ax + b Las variables a y b deben satisfacer la ecuación: 4*a^3+27*b^2 ≠O

Page 4: criptografia de curva elipticas

Izquierda: curva elíptica con a=-10 y b=5.

Derecha: curva elíptica con a=-2 y b=5.

Page 5: criptografia de curva elipticas

Parámetros de dominioLos parámetros de dominio establecen el contexto para realizar las tareas de cifrado y descifrado utilizando basándose en la teoría de curvas elípticas. Estos parámetros en curvas elípticas sobre Fp se componen de un séxtuple: T=(p,a,b,G,n,h)

Page 6: criptografia de curva elipticas

Par de claves en curvas elípticas

El criptosistema de curva elíptica es de carácter asimétrico. Esto significa que para las operaciones de cifrado y descifrado necesita generar dos claves, una pública y una privada.

Page 7: criptografia de curva elipticas

ECIESECIES (Elliptic Curve Integrated Encryption Scheme – Esquema Integrado de Encriptación de Curva Elíptica) fue propuesto por Mihir Bellare y Philip Rogaway como una versión mejorada del esquema de encriptación El-Gamal● Función de acuerdo de claves.● Función hash.● Función de descubrimiento de claves.● Código de autenticación de mensaje.● Algoritmo de encriptación simétrico

Page 8: criptografia de curva elipticas

Genera un valor secreto compartido desde la clave privada de A y la clave pública de B, de tal forma que si ambas partes, A y B, ejecutan este proceso, con las claves correspondientes como entrada recuperan el mismo secreto compartido.

Función de acuerdo de claves:

Page 9: criptografia de curva elipticas

Función hashUna función hash o función de una sola vía permite computar su resultado de manera relativamente rápida, pero en cambio, calcular la entrada de la función a partir del resultado, es un proceso prácticamente inviable. Estas funciones reciben como parámetro un mensaje de longitud variable y retornan el valor hash con una longitud fija del mensaje. Esto quiere decir que independientemente de la longitud del mensaje, la longitud del valor hash siempre es el mismo. MD5 y SHA son las funciones hash más implementadas en criptografía.

Page 10: criptografia de curva elipticas

Función de descubrimiento de

clavesEl acrónimo de estas funciones es KDF (Key Derivation Functions). El objetivo de estas funciones es obtener una o más claves a partir de un valor secreto compartido utilizando una función hash.

Page 11: criptografia de curva elipticas

Código de autenticación del mensaje

El código de autenticación del mensaje (MAC – Message Authentication Code) es la información usada para comprobar la autenticidad de un mensaje transmitido entre dos partes. Para la generación de este código se emplean las funciones hash.

Page 12: criptografia de curva elipticas

Algoritmo de encriptación simétrico• La finalidad de este algoritmo es mantener la confidencialidad de

la transmisión de la información entre dos partes.Modo CBC de 3-key TDES: Se implementa para compartir claves

de 24 octetos o 192 bits. De esta clave, pueden definirse 3 claves, cada una de 64 bits. Los bits de cada clave son reemplazados con bits de paridad.

Esquema de encriptación XOR: Ejecuta la operación XOR a la clave y el mensaje en el momento de cifrar del lado del emisor, y, en recepción, se ejecuta de nuevo esta operación sobre el mensaje recibido y la clave para la recuperación del texto original.

Page 13: criptografia de curva elipticas

Antes de iniciar la operación de cifrado es necesario que las dos partes definan los parámetros de dominio de la curva elíptica, Función de descubrimiento de claves, Código de autenticación del mensaje , el esquema de encriptación simétrico, la función de acuerdo de claves; además, las dos partes deben compartir su clave pública. Los pasos para la operación de cifrado se describen a continuación, teniendo en cuenta que el mensaje a cifrar es M:

Operación de cifrado

Page 14: criptografia de curva elipticas

• El emisor debe generar un par de claves, d como clave secreta y Q como clave pública, teniendo como base la información de los parámetros de dominio de la curva. •Utilizar el acuerdo de claves de Diffie-Hellman para

descubrir un elemento que pertenezca a Fp, que será el secreto compartido, a partir de la clave secreta del emisor y de la clave pública del receptor.•Usar la función KDF para generar una clave de longitud

fija. Esta longitud es el tamaño de la clave de la encriptación simétrico, más, el tamaño de la clave MAC de autenticación, teniendo como base el elemento o secreto compartido de Diffie-Hellman.

Page 15: criptografia de curva elipticas

• Extraer del resultado de la función KDF una parte como clave de encriptación simétrica y la otra parte como clave para generar el código de autenticación del mensaje.•Utilizar el esquema de cifrado simétrico y cifrar el

mensaje.•Utilizar la operación de marcado de la función MAC con

la clave MAC generada, para marcar el mensaje cifrado. •Unificar la clave pública del emisor, con el mensaje

cifrado y el resultado de la función MAC. El resultado de esta unión es el mensaje transmitido.

Page 16: criptografia de curva elipticas

Operación de descifrado• En recepción el mensaje recibido es primero divido en cada una

de las partes que fue estructurado, se separa la clave pública Q, el mensaje cifrado y la etiqueta del mensaje. • Comprobar que la clave pública Q es un punto de la curva

elíptica. • Utilizar el acuerdo de claves de Diffie-Hellman para descubrir un

elemento que pertenezca a Fp, que es el secreto compartido, a partir de la clave secreta del receptor y de la clave pública Q.

Page 17: criptografia de curva elipticas

• Usar la función KDF para generar una clave de longitud fija a partir del secreto compartido• De la clave de longitud fija resultante de aplicar la función

KDF, seleccionar la clave de cifrado simétrico y la clave para la autenticación del mensaje.• Con la clave MAC, realizar la verificación de marcado del

mensaje.• Luego de comprobar la autenticidad del mensaje se descifra

el mensaje con el esquema simétrico acordado.• El resultado de ese proceso de descifrado es el mensaje

original.

Page 18: criptografia de curva elipticas

Aplicaciones del Logaritmo Elíptico

Podemos usarlo, por ejemplo, para intercambiar claves de forma segura, siguiendo el protocolo de Diffie y Hellman:

Ana y Belén necesitan compartir una clave común para cifrar sus comunicaciones. Sospechan que Eva ha pinchado su línea telefónica y escuchará todo lo que envíen a través de ella.Para empezar eligen una curva elíptica que genere un grupo de orden muy grande y acto seguido eligen un punto P de dicha curva. Una vez hecho esto cada una, de manera secreta, elige un número que llamaremos a en el caso de Ana y b en el caso de Belén. Ana calculará a · P y se lo enviará a Belén. Belén calculará b · P y se lo enviará a Ana.

Page 19: criptografia de curva elipticas

En este punto Eva, que ha estado escuchando todo el rato, conoce los puntos P , a · P y b · P pero es incapaz de calcular a o b porque el logaritmo elíptico es computacionalmente intratable. Ana y Belén tampoco pueden calcular b y a (respectivamente) pero no es necesario. Ana conoce a y b · P así que puede calcular a · (b · P ) y Belén conoce b y a · P así que puede calcular b · (a · P ). Es decir, han obtenido una clave común (a · b) · P que Eva no puede calcular con la información que tiene (P , a · P y b · P ).

Page 20: criptografia de curva elipticas

En resumen, usando criptografía con curvas elípticas podemos asegurar cuatro propiedades

básicas de nuestras comunicaciones:

• Confidencialidad: Nadie más puede leer los mensajes dirigidos a mí.• Integridad: El texto no ha sido modificado desde que lo

firmé.• Autenticidad: El destinatario puede estar seguro de que soy

quien digo ser.• No Repudio: No puedo negar que dije lo que dije.

Page 21: criptografia de curva elipticas

CONCLUSIONES• El uso de curvas elıpticas es muy actrativo para dispositivos mobiles

red de sensores tarjetas inteligentes todas las aplicaciones donde hay restricci´on de recursos y sea necesaria la seguridad