Вы находитесь на странице: 1из 72

Seguridad de la Información

Prof. Marcelo Palma Salas

@ Marcelo Palma Salas


Criptografía Asimétrica o de Clave Pública
 Revolución de la criptografía.
 Diffie & Hellman (1976).
 Basada en funciones matemáticas.
 Métodos anteriores solo usaban permutaciones y
substituciones.
 Claves diferentes para cifrar y descifrar.
 Impacto positivo en el sigilo, distribución de llaves y
autenticación.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


2
Criptografía Simétrica x Asimétrica
 Criptografía asimétrica ya no es resistente a criptoanálisis.
 Resistencia depende del tamaño de llave y algoritmo de
cifrado.
 Criptografía simétrica no se torno obsoleta e inútil.
 Alto uso de recursos computacionales para cifrar
asimétricamente.
 Distribución de llaves en la criptografía asimétrica no es
trivial.
 Requiere agente central para llaves públicas.
 Protocolos no son mas simples ni eficientes que los de la
criptografía simétrica.

@ Marcelo Palma Salas Capítulo 5: Criptografía Asimétrica


3
Motivaciones para la Criptografía Asimétrica
 Dificultades en la distribución de las llaves secretas.
 Distribución es el punto débil en la criptografía simétrica.
 Necesidad de autenticar documentos digitalmente.
 ¿Como garantizar que un mensaje fue enviado por
alguien en particular?

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


4
Características de la Criptografía Asimétrica (CA)
 Características necesarias:
 Uso de llaves distintas para cifrar y descifrar
 Inviabilidad de obtener la clave privada, aún conociendo:
 algoritmo de cifrado,
 llave pública,
 muestras del texto cifrado.
 Opcional
 El uso de cualquier de las llaves para cifrar y descifrar,
indistintamente.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


5
Usos de Criptografía Asimétrica
 Codificación (cifrado) & Decodificación (descifrado)
 Proveer secreto (sigilo) para mensajes.
 Autenticación
 Garantizar la identidad del transmisor
 Intercambiar la llave de sesión
 Proveer seguridad en la obtención de nuevas llaves.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


6
Notación en Criptografía Asimétrica
 Llave Secreta o de Sesión: Ks
 Usada en la criptografía simétrica
 Llave Pública: Kpu
 Llave Privada: Kpr
 Mensaje decodificada o descifrado:
P = {P1, P2, ... , PM}
 Mensaje codificada o cifrado:
C = {C1, C2, ... , CN}

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


7
Usos de Criptografía Asimétrica: Secreto (Sigilo)
 Cualquiera puede cifrar y enviar un mensaje P a Bob (Beto).
 Solamente Bob podrá leer el texto P.
C = EKpuB(P)
P = DKprB(C)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


8
Usos de Criptografía Asimétrica: Autenticación
 Cualquiera puede descifrar C con EKprA(P).
 Solamente Ana podría haber enviado el texto P.
C = EKprA(P)
P = DKpuA(C)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


9
Usos de Criptografía Asimétrica:
Secreto y Autenticación
 Cualquiera puede descifrar C con EKprA(P).
 Solamente Ana podría haber enviado el texto P.
Z = EKpuB{EKprA(P)}
 Solamente Bob podrá leer el texto P.
P = DKpuA{DKprB(P)}

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


10
Condiciones para la Criptografía Asimétrica
 Condiciones necesarias:
 Generación de un par de llaves: viable
 Cifrado con llave pública: viable
 Descifrado con llave privada: viable
 Conseguir la llave privada a partir de llave pública:
inviable o viceversa.
 Conseguir la llave privada a partir de la llave pública e
texto cifrado: inviable.
 Deseable:
 Invertir papeles de las llaves pública y privada: viable.
 Obs:
 Viable: solución en tiempo polinomial.
 Inviable: solución en tiempo exponencial.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


11
Criptoanálisis en Criptografía Asimétrica
 Ataque por Fuerza Bruta
 Prevención con el uso de llaves grandes.
• También dificulta el uso del esquema de cifrado del
algoritmo.
 Compromiso entre tamaños de llaves es necesario.
 Conclusión:
 Criptografía asimétrica restricta a:
• distribución de las llaves y
• autenticación.

@ Marcelo Palma Salas 12


Magnitudes de tiempo y criptoanálisis (2006)
Longitud de la clave Tiempo necesario para romper la clave La tabla muestra el tiempo
medio de criptoanálisis
40 bits 2 segundos
necesario para romper una
48 bits 9 minutos clave de cifra simétrica
56 bits 40 horas mediante fuerza bruta, en
64 bits 14 meses este caso usando la potencia
de cálculo alcanzada en el DES
72 bits 305 años
Challenge III en 1999, unos
80 bits 16
78.250 (2 ) años 250.000 millones de claves
96 bits 5.127.160.311 (232) años por segundo con la máquina
DES Cracker y unos 100.000
112 bits 48
336.013.578.167.538 (2 ) años computadores a través de
128 bits 22.020.985.858.787.784.059 (264) años Internet. Según la ley de
Moore, en el 2018 esta
potencia de cálculo se
Referencia de tiempo con números grandes
multiplicaría por 20 o más.
Edad planeta 10 34
10.000.000.000 (10 = 2 ) años
La seguridad de 128 bits de una cifra simétrica es
Edad universo 11 37
100.000.000.000 (10 = 2 ) años equivalente a la de 1.024 bits de cifra asimétrica.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


Magnitudes de tiempo y criptoanálisis (2016)
Time (in days) to Crack the Password: security1
1600

1400 1411.2

1200
Time (in
1000 1008.78
days) to
crack the
800 781.42 password:
651.78 security1
600

400 374
224.94 157.1 144.68 130.68 117.26 104.26
200 199.52 132.68 121.68 113.26
146.68 89.84
0

Fuente:
@ Marcelohttps://www.betterbuys.com/estimating-password-cracking-times/
Palma Salas
Criptoanálisis en Criptografía Asimétrica

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


15
Criptoanálisis en Criptografía Asimétrica
 Ataque tipo mensaje probable.
 Dato: mensaje consiste de llave de sesión KS de n bits:
C = EKpu (KS)
 El criptoanalista genera y cifra con la llave pública, 2n
llaves KSi : C = EKpu (KSi), i = 0, 1, 2, …, 2n -1.
 El criptoanalista busca Ci = C.
 Esfuerzo limitado a 2n busquedas e independiente de Kpu
y Kpr.
 Ataque puede ser prevenido incluyendo bits aleatorios
extras en la llave de sesión KS.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


16
Intercambio de clave de Diffie y Hellman
• El comienzo de los sistemas de clave pública se debe al estudio
hecho por Whitfield Diffie y Martin Hellman (1976).
Protocolo de Intercambio de Claves de Diffie y Hellman
A y B seleccionan un grupo multiplicativo (con inverso) p y
un generador  de dicho primo, ambos valores públicos.
• A genera un número aleatorio a y envía a B a mod p
• B genera un número aleatorio b y envía a A b mod p
• B calcula (a)b mod p = ab mod p y luego destruye b
• A calcula (b)a mod p = ba mod p y luego destruye a
• El secreto compartido por A y B es el valor ab mod p

http://www.cs.purdue.edu/homes/ninghui/courses/Fall04/lectures/diffie-hellman.pdf 
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica
17
Ejemplo de intercambio de clave de DH
Alice (A) y Bob (B) van a intercambiar una llave de sesión
dentro del cuerpo primo p = 1.999, con  = 33. El usuario
A elegirá a = 47 y el usuario B elegirá b = 117.

Algoritmo:
• A calcula a mod p = 3347 mod 1.999 = 1.343 y se lo envía a B.
• B calcula b mod p = 33117 mod 1.999 = 1.991 y se lo envía a A.
• B recibe 1.343 y calcula 1.343117 mod 1.999 = 1.506.
• A recibe 1.991 y calcula 1.99147 mod 1.999 = 1.506.

La clave secreta compartida por (A) y (B) será K = 1.506

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


18
¿Puede un intruso atacar la clave DH?

Un intruso que conozca las claves públicas p y  e


intercepte el valor a mod p que ha enviado A y el
valor b mod p que ha enviado B no podrá descubrir
los valores de a, de b y ni menos ab mod p ...

Salvo que se enfrente al Problema del Logaritmo Discreto


(PLD) que se vuelve computacionalmente intratable para
valores del primo p grandes.

http://en.wikipedia.org/wiki/Discrete_logarithm 
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica
19
Seguridad del intercambio de clave de DH
• La seguridad del intercambio de clave de Diffie y Hellman radica
en la imposibilidad computacional a la que se enfrentará el
criptoanalista al tener que resolver el problema del logaritmo
discreto para encontrar la clave privada que se encuentra en el
exponente de la expresión i mod p = C.
• Como p y  serán públicos, al capturar el valor C el atacante
deberá resolver i = log C mod p, un problema no polinomial
(debido a la operación final dentro del módulo p) que para
valores grandes de p (del orden o superior a los 1.000 bits)
resulta computacionalmente imposible encontrar su solución.
• El algoritmo propuesto inicialmente es vulnerable ante un ataque
del tipo “MAN IN THE MIDDLE” como veremos a continuación.
No obstante, esta vulnerabilidad puede evitarse.
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica
20
¿Es vulnerable el protocolo de DH?
• A elige un número a entre 1 < a < p-1 y envía a B a mod p.
• C intercepta a mod p, elige un número c con 1 < c < p-1 y
envía a B c mod p.
• B elige un número b con 1 < b < p-1 y envía a A b mod p
• C intercepta b mod p y envía a A c mod p (valor anterior)
• A y B calculan sus llaves kA = (c)a mod p, kB = (c)b mod p
• C calcula también las llaves: ¿Qué hacer? Una solución a
este problema
• kCA = (a)c mod p es la marca
temporal
• kCB = (b)c mod p (timestamp).
Por lo tanto, a partir de ahora C tiene “luz verde” y puede
interceptar todos los mensajes que se intercambian A y B.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


21
Intercambio de clave DH entre n usuarios
El protocolo DH se puede generalizar para n usuarios: sea n = 3.
A, B y C seleccionan un grupo p y un generador 
• A genera un número aleatorio a y envía a mod p a B
• B genera un número aleatorio b y envía b mod p a C
• C genera un número aleatorio c y envía c mod p a A
• A recibe c mod p y calcula (c)a mod p y se lo envía a B
• B recibe a mod p y calcula (a)b mod p y se lo envía a C
• C recibe b mod p y calcula (b)c mod p y se lo envía a A
• A recibe bc mod p y calcula (bc)a mod p = bca mod p
• B recibe ca mod p y calcula (ca)b mod p = cab mod p
• C recibe ab mod p y calcula (ab)c mod p = abc mod p
• El secreto compartido por A, B y C es el valor abc mod p
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica
22
Condiciones del intercambio de clave D-H
CONDICIONES DEL PROTOCOLO:
• El módulo p debe ser un primo grande, al menos de 1.024
bits.
• Interesa que el Indicador de Euler (p) = p-1, además del
valor 2, tenga factores primos grandes.
• El generador  debe ser una raíz primitiva del módulo p.
 Si el módulo es un primo pequeño, se puede hacer un ataque
por fuerza bruta dentro de un tiempo razonable.
 Si el generador no es una raíz primitiva del grupo p, entonces la
operación i mod p (1  i  p-1) no genera todos los restos del
grupo y esto facilita el ataque por fuerza bruta.
https://es.wikipedia.org/wiki/Función_φ_de_Euler  Veamos un ejemplo

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


23
Algoritmo RSA
 Desarrollado en 1977 por Rivest, Shamir y Adleman en el MIT
(publicado en 1978).
 Respuesta al desafío lanzando por Diffie y Helman en 1976.
 El mas popular de los algoritmos de Criptografía Asimétrica.
 Cifrado por bloques:
 Texto cifrado o no, es conformado
por n enteros del 0 a n-1.
 Basado en funciones
exponenciales.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


24
Uso de RSA
• Cifrado
C = Pe mod n
• Descifrado
P = Cd mod n = (Pe)d mod n = Ped mod n
• Obs:
 Llave pública: Kpu = (e, n)
 Llave privada: Kpr = (d, n)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


25
Observaciones en RSA
• Existen valores que satisfacen
¿ C = Ped mod n ?

• ¿ Es viable calcular Pe y Cd para todo P < n ?

• ¿ Es viable calcular d a partir de e, n y pares (P, C) ?

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


26
Fundamentos de RSA (I)
• Si P < n, entonces P = P mod n.

• Si P mod n = Ped mod n, entonces


Ped ≡ P mod n
(Ped y P son congruentes módulo n)

• Si mdc(a, b) = 1, entonces a y b son relativamente primos (RP,


primos entre si).

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


27
Fundamentos de RSA (II)
• Función Totient de Euler: ϕ(n)
- ϕ(n) retorna el número de enteros menores que n y RP en
relación a n.
 Si n es primo, entonces ϕ(n) = n - 1
- Si p y q son números primos y n = p*q, entonces
ϕ(n) = ϕ(pq) = (p-1)(q-1)
• Si p y q son primos y k un entero, entonces
mk ϕ(n)+1 ≡ mk (p-1)(q-1)+1 ≡ m mod n
(Teorema de Euler)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


28
Fundamentos de RSA (III)
• Si ped ≡ P mod n, entonces
e d = k ϕ (n) +1 o
e d ≡ 1 mod ϕ (n) o
e d ≡ 1 mod {(p-1)(q-1)} o
e ≡ d -1mod {(p-1)(q-1)}

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


29
Generación de Llaves en RSA
• Seleccionar dos números primos p y q.
• Calcular n = p*q y ϕ(n) = (p-1)(q-1)
• Seleccionar entero d tal que:
- mcd(ϕ(n),d) = 1 y 1<d< ϕ(n)
• Calcular e tal que e d ≡ 1 mod ϕ(n)
• Llave pública: Kpu = (e, n)
• Llave privada: Kpr = (d, n)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


30
Ejemplo de Uso de RSA
• Seleccionar dos números primos p = 3 y q = 11.
• Cálculo de n y ϕ(n):
n = p*q = 33; ϕ(n) = (p-1)(q-1) = 20
• Selecciona la llave para descifrar d:
d = 7, ya que mdc(20,7) = 1, y 1<7<20
• Cálculo de e : 7e ≡ 1 mod 20; luego e = 3.
• Cifrar P = 19:
C = Pe mod n = 193 mod 33 = 28.
• Descifrar P = Cd mod n = 287 mod 33 = 19
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica
31
Criptoanálisis en RSA (I)
• Ataque
- Factorizar n en sus 2 factores p y q:
permite obtener ϕ(n) y calcular d.
• Contra-ataque: p y q grandes.
- Mejor algoritmo de factorización lleva tiempo
proporcional a esqrt {ln n x ln ( ln n)}
Tamaño de n Tiempo (1012 códigos/seg)
100 dígitos 3 horas
150 dígitos 4 meses
200 dígitos 3170 años

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


32
Criptoanálisis en RSA (II)
• Ataque
- Determinar ϕ(n) o d directamente, sin saber p y q:
• Tarea tan difícil como factorizar n.

- Intentar todas las posibles llaves privadas (fuerza


bruta).
• Contra-ataque: usar llaves grandes.
• Desventaja: algoritmo lento

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


33
Distribución de Llaves de Sesión usando
Algoritmos de Llave Pública
• Algoritmos de llave pública son lentos
- Mejor utilizarlos para distribuir las llaves secretas de
sesión de algoritmos más rápidos.
• Distribución simple
- Alice genera un par (KpuA, KprA) y envia a Bob
(KpuA, IDA).
- Bob genera KS y envia a Alice codificado con KpuA.
- Alice recupera KS usando KprA y establece con Bob
un canal secreto, usando un algoritmo más rápido
con KS.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


34
Falla en la Distribución Simple
• El mecanismo anterior es vulnerable a ataques activos.
- Alice genera un par (KpuA, KprA) y envia a Bob el par
(KpuA, IDA).
- Carmen intercepta mensajes e intercambia KpuA por
KpuC.
- Bob genera KS y envia a Alice el cifrado con KpuC.
- Carmen intercepta el mensaje, descifra KS y envia
EKpuA(KS) a Alice.
- Como Carmen conoce KS, podrá descifrar todas las
comunicaciones futuras entre Alice y Bob.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


35
Distribución de Llave de Sesión con Secreto y
Autenticación
• Asumiendo que Alice y Bob ya intercambiaron sus llaves
públicas de un modo seguro:

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


36
Método Híbrido
• Uso de llaves públicas para distribuir llaves de sesión
puede ser lento en ambientes que necesitan distribuir
muchas llaves.
• Solución:
- Centro de distribución de llaves (KDC) comparte una
clave maestra con cada usuario.
- Llave maestra usada para distribuir llaves de sesión.
- Llaves públicas usadas para distribuir y actualizar
esporádicamente llaves maestras.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


37
Distribución de Llaves Públicas
• Cuatro categorias principales:
• Anuncio Público
• Directório Público
• Autoridad administradora de llaves
• Certificados

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


38
Distribución por Anuncio Público
 Cada parte envia a otras su llave pública.
 Popularidad del software PGP (Pretty Good Privacy)
estimula la práctica de anexar llave pública en cada
mensaje enviada.
 Problemas:
 Distribución no controlada de llaves.
 Usuario A puede hacer pasar por B, creando y
distribuyendo una llave como si fuera A.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 39


Distribución por Anuncio Público

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 40


Distribución por Directorio Público
 Un directorio público conteniendo llaves públicas.
 Es administrado por alguna entidad de confianza.
 Características:
 Para cada parte se genera un par (nombre, llave).
 Las partes tienen que registrar sus llaves usando algún
mecanismo confiable de autenticación.
 Las partes pueden substituir sus llaves en cualquier
momento.
 Llaves son accedidas a través de una publicación (lista)
impresa por la entidad administradora o electrónicamente
(canal autenticado es fundamental).

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 41


Distribución por Directorio Público

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 42


Autoridad Administradora de
Llaves
 Características:
 Implementa control mas estricto sobre la distribución de
llaves de directorio público.
 La autoridad posee sus propias llaves pública y privada para
garantizar la distribución.
 Otras partes deben conocer con seguridad la llave pública
de la autoridad.
 La distribución uso un protocolo con 7 mensajes:
 4 de ellas son necesarias pocas veces.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 43


Protocolo de Distribución de Llaves
1) Alice envía a la autoridad el pedido con fecha
solicitando la llave pública de Bob.
2) La autoridad responde con un mensaje cifrado por
KprAut conteniendo:
- KpuB: La llave pública de Bob,
- Pedido original: garantia de integridad.
3) Alice envía a Bob un mensaje cifrado por la KpuB
conteniendo:
- Identificador de Ana: IDA,
- Número aleatorio (nonce) N1: identifica transacción.
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 44
Protocolo de Distribución de Llaves
4) , 5) Bob obtiene de la autoridad la llave pública de
Alice, como en los pasos 1) y 2).
6) Bob envía a Alice un mensaje cifrado por KpuA
conteniendo nonce N1 y un nuevo nonce N2.
- Garantía de la identidad de Bob es reforzada por N1.
7) Alice devuelve a Bob el nonce N2.
- Garantía de la identidad de Alice es reforzada por N2.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 45


Protocolo de Distribución de Llaves

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 46


Certificados Públicos
 Directorios públicos son cuellos de botella y sujetos a
ataques.
 Certificados:
 Permiten el intercambio confiable de llaves entre partes sin
entrar en contacto con la autoridad;
 Son creados por autoridades certificadoras;
 Las partes pueden verificar la autenticidad de los
certificados.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 47


Características de los Certificados
 Cualquier parte puede leer un certificado para obtener la
llave pública del dueño del mismo.
 Cualquier parte puede verificar si el certificado:
- Es de origen autentico,
- Está integro,
- Todavía está válido.
 Solamente la autoridad certificadora puede crear y
actualizar los certificados.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 48


Uso de Certificados
 Las partes interesadas solicitan certificados a la autoridad,
entregando sus llaves públicas.
- Pedido debe ser hecho personalmente o usando un canal de
comunicación confiable.

 Las autoridades entregan el certificado para A en la forma:


CA = EKprAut (T, IDA, KpuA)

 La parte B recibe el certificado y lo verifica:


(T, IDA, KpuA) = DKpuAut {EKpuAut (T, IDA, KpuA)}
T: Indica el plazo de validad del certificado
IDA: entrega la identidad del portador del certificado

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 49


Protocolo de Intercambio de
Certificados

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 50


Cuestiones y ejercicios (1 de 2)
1. Los usuarios A, B, C y D desean intercambiar una clave usando el
método DH. Proponga un protocolo genérico que solucione este
problema y presente un ejemplo en el cuerpo p = 23 y elija .
2. Diseñe un sistema RSA en el que p = 53, q = 113. Elija como clave
pública el mínimo valor posible de 2 dígitos.
3. Para los datos de diseño del ejercicio 3, cifre el número M = 121 y
luego descífrelo. Use el algoritmo de exponenciación rápida.
4. Vuelva a descifrar el criptograma usando ahora el Teorema del
Resto Chino. Aunque en este caso haya hecho más cálculos ¿por
qué es interesante usar aquí el Teorema del Resto Chino?
5. Si p = 353 y q = 1.103, cifre el mensaje ASCII de cuatro caracteres M
= HOLA en bloques de tamaño eficiente (mínimo) para e = 17.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


Cuestiones y ejercicios (2 de 2)
6. En el sistema RSA con p = 11 y q = 19, se elige como clave pública e
= 31. ¿Cuántas y cuáles son las claves privadas parejas?
7. Para los mismos datos del ejercicio anterior, ¿cuántos y cuáles son
los mensajes no cifrables? ¿Qué sucede si ahora e = 33?
8. ¿Cuántos pasos debe realizar una factorización de un número n de
120 dígitos? Si tenemos un sistema que consume 1 seg por paso,
¿cuántos años tardaríamos más o menos en factorizar ese número?
9. El valor encontrado en el ejercicio anterior, ¿es siempre fijo o es
sólo una aproximación? Justifique su respuesta.
10. Como podemos atacar RSA

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica


Curvas Elipticas (CE)
 En 1987 Neal Koblitz & Victor Miller propusieron utilizar
CE sobre cuerpos finitos GF(q) sobre algunos
criptosistemas existentes.
 Asi nacio: ECC = Elliptic Curve Cryptography.
 Ventajas:
 Emplea llaves más pequeñas
 Pueden ser más rápidas
 Y mantienen la misma seguridad
 que las utilizadas en criptosistemas como RSA y ElGamal.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 53


Características de las CE (I)
 Una curva elíptica es una curva algebraica proyectiva no
singular sobre K.
 donde K es un cuerpo o estructura algebraica en la cual se
realizan operaciones de adición y multiplicación,
cumpliendo un conjunto de propiedades.
 K de género 1, puede describirse como una ecuación de
forma:
y² = x³ - px – q
 Donde p y q son elementos K tales que el polinomio del
miembro derecho x³ - px – q no tenga ninguna raíz doble.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 54


Características de las CE (II)
 Así, podemos definir que una CE es un conjunto de todos
los puntos (x,y) que satisfacen la ecuación anterior,
 y tales que x e y sean elementos de la cerradura algebraica
de K.
 Los puntos de la curva cuyas coordenadas pertenezcan
ambas a K se llaman puntos K-racionales.

¿Cuál de las dos curvas


elípticas cumple nuestra
ecuación de K de género 1?

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 55


Características de las CE (III)
 Una CE definida sobre los números reales en el plano
cartesiano, utiliza la siguiente ecuación:
y² + axy + by = x³ + cx² +dx +e
 Retornando las posibles CE:

Curvas Elípticas

Curvas no Elípticas

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 56


Suma de dos puntos en CE (I)
 Si tenemos dos puntos de la curva p y q, entonces:
 podemos describir de forma univoca un tercer punto (-R),
 -R será la intersección de la curva con la línea (p,q).
 Donde p + q + R = 0
 Los dos métodos utilizados para encontrar n son:

 Métodos de la cuerda

 Método de la tangente

@ Marcelo Palma Salas 57


Suma de dos puntos en CE (II)

@ Marcelo Palma Salas 58


Condiciones de las CE para la
criptografía
 Debido a los errores de redondeo asociados a los números
reales, las curcas elípticas trabajan sobre:
 Cuerpos finitos
 No deben cruzar entre sí
 No deben presente picos
 Así las curvas tienen
un número finito de
Puntos, cuyas coordenadas
son números enteros.
e.g. p = (8, 13), q = (3, 5),
R = (14, 8)

@ Marcelo Palma Salas 59


Criptografía de Curvas Elípticas (CCE)
 La posesión de la Kpu no proporciona suficiente
información para determinar la Kpr.
 Dada la ecuación: y² = x³ + ax + b, con GF.
 Su fortaleza se basa en el problema del logaritmo discreto
sobre el conjunto de puntos (PLDCE).
 PLDCE es más difícil de resolver que el correspondiente PLD
utilizado por otros criptosistemas asimétricos.
 Permitiendo reducir el tamaño de la llave.
 Con el conjunto de puntos G que forma la curva, se
adiciona el punto O, llamado de punto en el infinito,
conformando el grupo abeliano finito.
@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 60
Campos Finitos Fp
 Un campo finito es un conjunto compuesto por un
número finito de elementos.
 Ya un campo finito Fp es un conjunto de enteros módulo
p, donde p es un número primo.
 El conjunto de enteros módulo p consiste en todos los
enteros de 0 a p-1 y sus operaciones mate’máticas son
hechas en aritmética modular:
 a = b mod n

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 61


Curvas Elípticas sobre Fp (I)
 Son el conjunto de (x, y) que satisfacen la ecuación
y² mod p = x³ + ax + b mod p, con restricción
4a³ + 27b² ≠ 0.
 talque que a, b, x e y pertenezcan a Fp mas un punto en el
infinito O.

 Otra característica importante de las CCE es la selección


del punto base G, que posee un orden n y un cofactor h.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 62


Curvas Elípticas sobre Fp (II)
 Ejemplos de CE sobre Fp para p = 19, 87, 127 y 487

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 63


Problema del Logaritmo Discreto
para CE
 Conocidos P e Q, encontrar k tal que Q = kP.

 O en el caso de campo finito Fp, conocidos a e b,


encontrar k tal que b = ak mod p.

 No se encontró un algoritmo de tiempo polinomial que se


ejecute en un computador clásico para resolver la
ecuación. Sin embargo, no existe una prueba matemática
que comprueba lo contrario.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 64


Generación de las Llaves
 La Llave Privada:
 Kpr, un entero seleccionado aleatoriamente ente 1 y n-1.
 Siendo n la orden de nuestro punto base G.
 La Llave Pública:
 Ponto Kpu = Kpr * G (1)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 65


Cifrado basada en ElGamal

Alice cifra el mensaje M


mapeada en el punto G
con su llave privada y la
llave pública de Bob:

C = M + KprA*KpuB (2)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 66


Descifrado basada en ElGamal

Bob recibe el mensaje


cifrado C, y la descifra
usando la llave privada
y la llave pública de Alice

M = C - KprB*KpuA (3)

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 67


Matemática en CCE basada en
ElGamal
 La mensaje puede ser recuperada a partir de (3):
 M=C - KprB*KpuA (2)

= (M + KprA*KpuB) - KprB*KpuA (1)

= (M + KprA*(KprB * G)) - KprB* (KprA * G)

= M + (KprA* KprB * G) - (KprB* KprA * G)

=M

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 68


Selección de las Curvas Elípticas
 Curvas ya seguras son predefinidas por:
 NIST (National Institute of Standards and Technology) en un
documento llamado FIPS PUB 186-3 – Digital Signature
Standand (DSS)
 SECG (Standards for Efficiente Cryptofraphy Group) en
SEC2: Recommended Elliptic Curve Domain Parameters.

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 69


Ejemplo: Parámetros
recomendados para ECP256k1
Sextuple T = (p,a,b,G,n,h) where the finite field Fp is defined by:
 p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F
The curve E: y2 = x3+ax+b over Fp is defined by:
 a = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
 b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000007
The base point G in compressed form is:
 G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B
16F81798
 and in uncompressed form is:
 G = 04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B
16F81798
 483ADA77 26A3C465 5DA4FBFC 0E1108A8 FD17B448 A6855419 9C47D08F
FB10D4B8
 Finally the order n of G and the cofactor are:
 n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C
D0364141
 h = 01 Capítulo 3: Criptografía Asimétrica
@ Marcelo Palma Salas 70
Tamaños de llaves

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 71


Otras utilizaciones de CCE
 Diffie-Hellman
 DSA  Elliptic Curve Digital Signature Algorithm (ECDSA)

http://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/

@ Marcelo Palma Salas Capítulo 3: Criptografía Asimétrica 72

Вам также может понравиться