0% encontró este documento útil (0 votos)
11 vistas33 páginas

03 - Criptografía Asimétrica y Funciones Hash

El documento aborda la criptografía asimétrica, destacando su funcionamiento, características y el algoritmo RSA, que permite el cifrado y la firma digital. También se discuten las funciones hash criptográficas, su importancia para la integridad de los datos y sus propiedades esenciales. Se enfatiza el uso de estas tecnologías en la seguridad de la información y la autenticación.

Cargado por

Rosa Melano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas33 páginas

03 - Criptografía Asimétrica y Funciones Hash

El documento aborda la criptografía asimétrica, destacando su funcionamiento, características y el algoritmo RSA, que permite el cifrado y la firma digital. También se discuten las funciones hash criptográficas, su importancia para la integridad de los datos y sus propiedades esenciales. Se enfatiza el uso de estas tecnologías en la seguridad de la información y la autenticación.

Cargado por

Rosa Melano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Pericia Informática

Criptografía Asimétrica
Funciones hash

Susel Fernández Melián


Contenidos
2

 Criptografía asimétrica
 Características

 Cifrado y firma digital


 Algoritmo RSA

 Funciones hash
 Motivación y definición
 Características

 Aplicaciones
Motivación. Criptografía Asimétrica
3

 Problema de la criptografía simétrica:


 Compartir de manera segura la clave
secreta
Clave de Clave de
K cifrado K descifrado
Texto cifrado
E(K,m)
texto claro Algoritmo Algoritmo
m Cifrado Descifrado.
Texto claro
m=D(K,E(K,m))
Criptografía Asimétrica
4

Clave de Clave de
K cifrado de descifrado
K de Bob
A
Alice Texto cifrado B

Algoritmo E(KA,m) Algoritmo


texto claro
m Cifrado Descifrado. Texto claro

m=D(KB,E(Ka,m))

 Criptografía asimétrica (de clave pública): KA!=KB


 Una clave pública (puede tenerla cualquiera).
 Una clave privada (que tengo que proteger).
5
Criptografía de Clave Pública
 Funcionamiento
 El emisor emplea la clave pública del receptor para cifrar
 El receptor emplea su clave privada para descifrar
 Las claves son complementarias: Si cifro con la
pública, descifro con la privada y viceversa.
 Generación de la pareja de claves

 Se basa en funciones trampa de un único sentido


◼ Fácil calcularlas en una dirección, pero difícil hacerlo en la otra
◼ Por ejemplo: dados p y q, es fácil calcular su producto n=pq
pero, dado n, es difícil determinar p y q
6
Criptografía de Clave Pública
Importante: Si se cifra con la clave pública, se descifra
con la clave privada y viceversa.
 Cifrado
 Ciframos utilizando la clave pública del receptor
 El receptor puede recuperar el mensaje usando su clave privada
 Firma digital
 Firmamos cuando ciframos con nuestra clave privada
 Cualquiera puede verificar la firma descifrando con nuestra clave
pública
 Sólo nosotros hemos podido firmar
 Versión digital de la firma manuscrita (más o menos ☺)
7
RSA
 Inventado por Rivest, Shamir y Adleman (MIT)
 RSA es el patron de oro de la criptografía de clave pública
 Sean p y q dos primos grandes
 Sea N = pq
 Elijamos e primo relativo con (p−1)(q−1)
 Obtenemos d tal que ed mod (p−1)(q−1) = 1
ed-1 →divide de forma exacta a (p−1)(q−1)
 La clave pública es (N,e)
 La clave privada es d (secreto)
RSA
8

 Para cifrar un mensaje M se calcula:


C = Me mod N
 Para descifrar un criptograma C se calcula:
M = Cd mod N
 Nótese que tanto e como N son valores públicos
 Si Trudy puede factorizar N, puede usar e para
determinar d, dado que ed mod (p−1)(q−1) = 1
→ Factorizar N rompe RSA
9
Ejemplo RSA
 Ejemplo de RSA (de bolsillo)
 Seleccionamos dos primos p = 11, q = 3
 Por tanto, N = pq = 33 y (p − 1)(q − 1) = 20
 Seleccionamos e = 3 (primo relativo con 20)
 Encontrar d tal que ed mod 20 = 1, determinamos
que d = 7
 Clave pública: (N, e) = (33, 3)
 Clave privada: d = 7
10
Ejemplo RSA
 Clave pública de Alice: (N, e) = (33, 3)
 Clave privada de Alice: d = 7
 Supongamos que Bob quiere enviar a Alice un mensaje:
M=8
 El criptograma C se calcula como:
C = Me mod N = 83 = 512 mod 33 = 17
 Alice descifra C para recuperar el mensaje M como:
M = Cd mod N = 177 mod 33= 410,338,673 mod 33
= 12,434,505  33 + 8 = 8
11
RSA aspectos prácticos
 N debe ser suficientemente grande para que no se
pueda factorizar → como mínimo 2048 bits
 Se puede hacer búsqueda exhaustiva contra el

mensaje en claro (si el número de mensajes es


pequeño):
 Conozco C = Me mod N
 Conozco N,e (Clave pública)

 Pruebo con los posibles valores de M hasta encontrar


uno que al cifrarlo coincida con C.
 Solución: añadir relleno (padding) a M antes de cifrar.
Usos de la Criptografía de Clave Pública
12

 Confidencialidad
 Cifrando con la clave pública del otro
 La firma digital proporciona integridad y no
repudio
 No es posible proporcionar no repudio con clave
simétrica
13
No repudio en criptografía simétrica
 Alice solicita 100 acciones a Bob
 Los precios de la acción caen y Alice afirma que ella no
solicitó la compra
 ¿Puede Bob demostrar que Alice ordenó la compra?
 ¡No! Dado que Bob también conoce la clave simétrica,
él podría haber falsificado el mensaje
 Problema: Bob sabe que Alice solicitó la compra, pero no
puede probarlo
No repudio en criptografía asimétrica
14

 Alice solicita 100 acciones a Bob


 Alice firma la petición con su clave privada
 Los precios de la acción caen y Alice afirma que ella no
solicitó la compra
 ¿Puede Bob demostrar que Alice ordenó la compra?
 ¡Sí!Sólo alguien que tuviera la clave privada de Alice
podría haber firmado esa petición
 El no repudio asume que la clave privada de Alice no ha
sido robada
Notación
15

 Firma del mensaje M con la clave privada de Alice:


[M]Alice
 Cifrado del mensaje M con la clave pública de Alice:
{M}Alice
 Por tanto,

{[M]Alice}Alice = M
[{M}Alice]Alice = M
Confidencialidad y No Repudio
16

 ¿Podemos conseguir confidencialidad y no


repudio con la criptografía de clave pública?
 Alice envía un mensaje a Bob
 Firmado y cifrado {[M]Alice}Bob
 Cifrado y firmado [{M}Bob]Alice
Firmar y Cifrar
17

❑ M = “I love you”

{[M]Alice}Bob {[M]Alice}Charlie

Alice Bob Charlie


Cifrar y Firmar
18

❑ M = “My theory, which is mine….”

[{M}Bob]Alice [{M}Bob]Charlie

Alice Charlie Bob


19
Clave simétrica vs Clave asimétrica
 Clave simétrica. Ventajas:
 Velocidad

 Clave asimétrica. Ventajas:


 Firmas (no repudio)
 No hay secretos compartidos
Motivación de las funciones hash
20

Integridad
 Supongamos que Alice firma M
 Alice envía M y S = [M]Alice a Bob
 Bob verifica que M = {S}Alice

 Si M es grande, [M]Alice es costoso de calcular y de


enviar
 Supongamos que Alice firma h(M), donde h(M) es de
menor tamaño que M
 Alice envía M y S = [h(M)]Alice a Bob
 Bob verifica que h(M) = {S}Alice
21
Motivación de las funciones hash
 De este modo, Alice firma h(M)
 Alice calcula S = [h(M)]Alice
 Alice envía (M, S) a Bob
 Bob verifica que h(M) = {S}Alice
 ¡h no puede ser cualquier función!
 Supongamos que un atacante encuentra un M’tal que:
h(M) = h(M’)
 El atacante podría reemplazar (M, S) por (M’, S)
 ¿Detectaría Bob esta falsificación?
◼ No, puesto que h(M’) = h(M) = {S}Alice
Integridad. Función Hash Criptográfica
22

 Una función hash criptográfica es algoritmo


matemático que transforma cualquier bloque
arbitrario de datos en una cadena alfanumérica de
caracteres con una longitud fija y que lo identifica de
manera única.
Función Hash Criptográfica
23

 Propiedades que debe cumplir una función hash


criptográfica h(x):
 Compresión ⎯ la longitud de salida debe ser pequeña.
Salida de longitud fija independientemente de la entrada.

Tomado de: [Link]


Función Hash Criptográfica
24

 Propiedades que debe cumplir una función hash


criptográfica h(x):
 Eficiencia ⎯ h(x) debe ser fácil de calcular para
cualquier x
◼ El coste computacional de calcular el hash debe ser menor que
el coste de cifrar el mensaje completo con la clave privada
(firmar)
Función Hash Criptográfica
25

 Propiedades que debe cumplir una función hash


criptográfica h(x):
 Único sentido ⎯ dado un valor y no es posible
encontrar un x tal que h(x) = y
Función Hash Criptográfica
26

 Propiedades que debe cumplir una función hash


criptográfica h(x):
 Resistencia ante colisiones
◼ Dados x y h(x), no debe ser computacionalmente posible
encontrar un y  x tal que h(y) = h(x)
◼ Computacionalmente imposible encontrar un x e y, con x  y
tal que h(x) = h(y)
◼ No es que no existan colisiones. Existen, pero la idea es que
sea difícil encontrar alguna.
27
Hash no Criptográfico
 Suponga un mensaje X = (X0,X1,X2,…,Xn-1), donde cada Xi es
un byte
 Definimos h(X) como:
h(X) = X0+X1+X2+…+Xn-1
 ¿Es un hash criptográfico seguro?
 Ejemplo: X = (10101010, 00001111)
 El hash sería h(X) = 10111001
 Pero, Y = (00001111, 10101010) produce un h(X) = h(Y)
 Es fácil encontrar colisiones, por tanto no es seguro
Funciones hash criptográficas
28

 MD5 ⎯ inventado por Ron Rivest


 Salida de 128 bits
 Es posible encontrar colisiones en MD5:
◼ [Link]

 No debe usarse: [Link]

 SHA-1 ⎯ Estándar del gobierno de EEUU


 Salida de 160 bits
 No debe usarse tampoco:
◼ [Link]

 Otras: SHA-2 (256/224 y 512/384), Tiger, SHA-3 (3-10-12)


Diseño de Funciones Hash Criptográficas
29

 Se busca tanto seguridad como eficiencia


 Si es más costoso calcular h(M) que firmar M, entonces
el hash no tendría sentido
 Propiedad deseada: efecto avalancha
 No correlación entre entrada y salida del algoritmo
◼ Cualquier cambio pequeño en la entrada debería producir un
gran cambio en la salida
◼ El cambio de un bit a la entrada debería afectar a la salida de
igual manera que el cambio en varios bits
30
Usos de Hash
 Integridad de mensajes
 Enviar el mensaje y su hash.
 “Huella digital” de datos
 Detección de robo de propiedad intelectual.
 Autenticación
 No se almacenan las contraseñas en texto plano (el
servicio no conoce la contraseña, solo tiene el hash).
 Detección de malware
 Listas negras públicas de hashes (firmas) de malware.
Uso del hash en análisis forense.
31

 Asegurar la no manipulación de la evidencia


digital
 Mediante las funciones hash aplicadas a las evidencias.
 Las
evidencias originales deben ser clonadas y se debe
poder verificar:
◼ Que la copia coincide con el original
◼ Que la evidencia se mantiene inalterable durante el proceso de
análisis forense.
 Garantizaque otro experto pueda reproducir el análisis en
condiciones objetivas.
Herramientas para calcular hash.
32

 [Link]
 [Link]
Pericia Informática
Criptografía Asimétrica
Funciones hash

Susel Fernández Melián

También podría gustarte