Firma Digital

Anuncio
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Firma Digital
U.D. Computación
DSIC - UPV
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
1 / 36
Contenidos del tema
Firma Digital
U.D.
Computación
1 Definiciones
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
2 Firma digital mediante criptografı́a de clave secreta
Firma digital
mediante
criptografı́a de
clave pública
3 Firma digital mediante criptografı́a de clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
El esquema de firma RSA
El esquema de firma de ElGamal
Digital Signature Standar – DSS
4 Funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
2 / 36
Firma Digital
U.D.
Computación
1 Definiciones
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
2 Firma digital mediante criptografı́a de clave secreta
3 Firma digital mediante criptografı́a de clave pública
El esquema de firma RSA
El esquema de firma de ElGamal
Digital Signature Standar – DSS
4 Funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
3 / 36
Definiciones
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Proceso de cifrado mediante el cual:
Un usuario puede confirmar su identidad a cualquier otro
usuario
El receptor de una firma debe ser capaz de probar a un
tercero que la firma es autentica
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
4 / 36
Definiciones
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Proceso de cifrado mediante el cual:
Un usuario puede confirmar su identidad a cualquier otro
usuario
El receptor de una firma debe ser capaz de probar a un
tercero que la firma es autentica
La firma digital debe poseer las mismas propiedades que la
firma convencional:
Debe ser fácil de generar por su propietario
No puede ser rechazada por su propietario (irrevocable)
Solo debe poder ser generada por su propietario
(infalsificable)
Debe ser fácil de verificar o reconocer, tanto por parte del
propietario, como de cualquier receptor.
Debe depender del mensaje (no reutilizable)
U.D. Computación (DSIC - UPV)
Firma Digital
4 / 36
Definiciones
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Un esquema de firma digital es una tupla (M, F , K , S, V )
donde:
M es el conjunto de posibles mensajes
F es el conjunto de posibles firmas
K es el conjunto de claves
Para cada clave k ∈ K existe un algoritmo sigk ∈ S de
firma y un algoritmo verk ∈ V de verificación.
Cada sigk : M → F y cada verk : M × F → {cierto, falso}
cumplen que:
cierto si y = sigk (x)
ver (x, y ) =
falso
si y 6= sigk (x)
Para cualquier k, tanto verk como sigk deben ser fácilmente
computables
verk será pública mientras sigk será privada
U.D. Computación (DSIC - UPV)
Firma Digital
5 / 36
Firma Digital
U.D.
Computación
1 Definiciones
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
2 Firma digital mediante criptografı́a de clave secreta
3 Firma digital mediante criptografı́a de clave pública
El esquema de firma RSA
El esquema de firma de ElGamal
Digital Signature Standar – DSS
4 Funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
6 / 36
Firma digital mediante criptografı́a de clave secreta
Firma Digital
U.D.
Computación
Es necesario un árbitro que comparte con A y B sendas
claves secretas kA y kB
Definiciones
1
Firma digital
mediante
criptografı́a de
clave secreta
2
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
3
4
A cifra el mensaje x utilizando KA (ekA (x)) y lo envı́a al
árbitro
El árbitro descifra el mensaje (con kA ) y le añade al
mensaje una identificación de A (idA ) y la firma ekA (x). El
resultado se almacena
El árbitro cifra el mensaje resultante con kB y lo envı́a al
destinatario B
B descifra el mensaje. Puede leer tanto el mensaje como el
identificador del remitente
Aunque la firma ekA (x) es indescifrable para B, se puede
demostrar el origen del mensaje debida a que el árbitro
guarda una copia
U.D. Computación (DSIC - UPV)
Firma Digital
7 / 36
Firma Digital
U.D.
Computación
1 Definiciones
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
2 Firma digital mediante criptografı́a de clave secreta
3 Firma digital mediante criptografı́a de clave pública
El esquema de firma RSA
El esquema de firma de ElGamal
Digital Signature Standar – DSS
4 Funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
8 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de RSA. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
Sea n = pq donde p y q son primos. Sean a, b tales que
ab ≡ 1 (mod φ(n))
k = (n, b, a); Clave pública: (n, b); Clave secreta: a
1
2
Dado un mensaje x, y = sigk (x) = x a mod n
verk (x, y ) = cierto si y solo si y b ≡ x (mod n)
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
9 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de RSA. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Sea n = pq donde p y q son primos. Sean a, b tales que
ab ≡ 1 (mod φ(n))
k = (n, b, a); Clave pública: (n, b); Clave secreta: a
1
2
Dado un mensaje x, y = sigk (x) = x a mod n
verk (x, y ) = cierto si y solo si y b ≡ x (mod n)
Debido a propiedades de la expoeneciación modular,
partiendo de varios mensajes y sus firmas correspondientes,
podrı́an construirse un mensaje nuevos y su firma
Es posible utilizar funciones de redundancia para dificultar
la creación de este tipo de mensajes. También se aconseja
el uso de funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
9 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de RSA. Combinación de firma y cifrado
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
El cifrado de clave pública puede combinarse fácilmente
con la firma digital
Supongamos que Alice desea enviar el mensaje x a Bob
(firmado y cifrado)
1
2
3
4
5
Ambos poseen un par de claves RSA (pública y privada)
Alice obtiene la firma de x cifrando x con su clave privada:
y = eprAlice (x)
Alice cifra el par (x, y ) con la clave pública de Bob:
m = epbBob (x, y )
Bob recibe m. Utilizando su clave privada obtiene
(x, y ) = dprBob (m)
Bob verifica la firma utilizando la clave pública de Alice.
dpbAlice (y ) = x ′
Si x = x ′ la firma es válida
U.D. Computación (DSIC - UPV)
Firma Digital
10 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de RSA. Combinación de firma y cifrado
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
En el caso que se cifre antes de firmar:
1
2
cifrado: y = epbBob (x)
firma: m = eprAlice (y )
Un posible tercero podrı́a interceptar el mensaje:
1
2
3
pudiendo obtener el mensaje cifrado y ya que para ello
únicamente necesita la clave PÚBLICA de Alice
Una vez que disponga del mensaje (cifrado) puede
suscribirlo, firmandolo con su clave privada
Bob no dispone de mecanismos para averiguar el origen del
mensaje
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
11 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de ElGamal. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Diseñado especı́ficamente para firma. No determinista
(dado un mensaje, existen múltiples firmas válidas para él)
La seguridad del sistema depende de la dificultad del
problema del logaritmo discreto. Necesita valores
modulares grandes para mantener la seguridad de la firma
Necesita una función hash que obtenga un resumen en Zp
(valor primo muy grande
Una modificación de este esquema ha sido adoptada por la
NIST
U.D. Computación (DSIC - UPV)
Firma Digital
12 / 36
Firma digital mediante criptografı́a de clave pública
Esquema de firma de ElGamal. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Sea p primo y sea α un generador de Z∗p
Denotamos el resumen del mensaje con x ′
Sea a un número aleatorio y β = αa
k = (p, α, β, a); kpb = (p, α, β); kpr = (a)
1
Generar aleatoriamente h tal que 1 ≤ h ≤ p − 2 y
mcd(h, p − 1) = 1
γ = αh mod p
sigk (x, h) = (γ, δ) donde
δ = (x ′ − aγ)h−1 mod (p − 1)
2
verk (γ, δ) = cierto
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
⇔
′
β γ γ δ ≡ αx (mod p)
δ ≡ (x ′ − aγ)h−1 (mod p − 1), entonces, hδ ≡ x ′ − aγ
(mod p − 1) por lo que x ′ ≡ aγ + hδ (mod p − 1) lo que
′
conduce a αaγ αhδ ≡ β γ γ δ ≡ αx (mod p)
U.D. Computación (DSIC - UPV)
Firma Digital
13 / 36
Firma digital mediante criptografı́a de clave pública
Digital Signature Standar (DSS)
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
En la mayorı́a de las situaciones, un documento cifrado
necesita descifrarse una única vez
Un documento firmado puede tener una vigencia más
prolongada. El proceso de firma necesita un mayor nivel
de seguridad
El esquema de firma de ElGamal es seguro para valores de
p de 512 bits (1024 para mantener la seguridad en un
futuro próximo)
Una clave de 512 bits produce una firma de 1024 bits.
Actualmente se están introduciendo tarjetas con capacidad
de 2048 bits.
U.D. Computación (DSIC - UPV)
Firma Digital
14 / 36
Firma digital mediante criptografı́a de clave pública
Digital Signature Standar (DSS). Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Diseñado para utilizar el algoritmo de firma SHA
DSS modifica el esquema de ElGamal para que mensajes
de 160 bits puedan firmarse con 320 bits, pero realizando
la computación módulo 512
DSS trabaja con un subgrupo de Z∗p de talla 2160
La seguridad se fundamenta en la creencia de que el
problema del logaritmo discreto conserva sus propiedades
en dicho subgrupo
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
15 / 36
Firma digital mediante criptografı́a de clave pública
Digital Signature Standar (DSS). Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Seleccionar q primo tal que 2159 < q < 2160
Sea 0 ≤ t ≤ 8, escoger p primo (2511+64t < p < 2512+64t )
tal que q divide (p − 1)
Seleccionar α, generador del único grupo de orden q en Z∗p
Denotamos el resumen del mensaje con x ′
Sea a un número aleatorio y β = αa mod p
k = (p, q, α, β, a); kpb = (p, q, α, β); kpr = (a)
1
Generar aleatoriamente h tal que 0 < h < q
γ = (αh mod p) mod q
sigk (x ′ , h) = (γ, δ) donde
δ = (x ′ − aγ)h−1 mod q
2
verk (γ, δ) = cierto si y sólo si
−1 ′
−1
αh mod p ≡ αδ x β δ γ mod p (mod q)
U.D. Computación (DSIC - UPV)
Firma Digital
16 / 36
Firma Digital
U.D.
Computación
1 Definiciones
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
2 Firma digital mediante criptografı́a de clave secreta
3 Firma digital mediante criptografı́a de clave pública
El esquema de firma RSA
El esquema de firma de ElGamal
Digital Signature Standar – DSS
4 Funciones resumen
U.D. Computación (DSIC - UPV)
Firma Digital
17 / 36
Funciones resumen
Integración de resumen y firma
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Los esquemas de firma como ElGamal o DSS sólo
permiten firmar mensajes pequeños (512 o 160 bits
respectivamente)
Un documento legal puede ser mucho mayor. Solución
trivial: dividir el documento en múltiples bloques y firmar
todos ellos:
El tamaño de la firma duplica el del mensaje
El proceso de firma es costoso debido al uso de funciones
costosas temporalmente
No se garantiza la integridad del resultado (pueden
eliminarse/reordenarse bloques del mensaje sin afectar el
resultado)
El uso de Funciones Resumen unidireccionales y rápidas
permite digerir un mensaje y obtener un resultado de talla
fija (resumen)
U.D. Computación (DSIC - UPV)
Firma Digital
18 / 36
Funciones resumen
Integración de resumen y firma
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
El proceso de firma puede limitarse a la firma del resumen
A desea enviar x a B. Sea h una función resumen
1
2
3
4
A computa el resumen de x (h(x))
A firma el resumen z = sigk (h(x)) y envı́a (x, z) a B
B recibe el par (x, z), pudiendo computar el resumen del
mensaje x
Dado el resumen, se puede verificar la firma verk (h(x), z)
La verificación puede ser realizada por cualquiera
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
19 / 36
Funciones resumen
Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Sea un alfabeto binario A. Una función hash es una
función h donde el dominio está formado por mensajes de
longitud arbitraria y el rango es R ⊆ An para un valor n
prefijado
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
20 / 36
Funciones resumen
Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Sea un alfabeto binario A. Una función hash es una
función h donde el dominio está formado por mensajes de
longitud arbitraria y el rango es R ⊆ An para un valor n
prefijado
|D| >> |R|, por lo tanto h no es inyectiva, produciendose
colisiones
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
20 / 36
Funciones resumen
Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Sea un alfabeto binario A. Una función hash es una
función h donde el dominio está formado por mensajes de
longitud arbitraria y el rango es R ⊆ An para un valor n
prefijado
|D| >> |R|, por lo tanto h no es inyectiva, produciendose
colisiones
Para una h aleatoria, si D = At (t > n), entonces a cada
resumen le corresponden 2t−n mensajes. La probabilidad
de que dos mensajes den como resultado la misma salida
es 2−n
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
20 / 36
Funciones resumen
Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Sea un alfabeto binario A. Una función hash es una
función h donde el dominio está formado por mensajes de
longitud arbitraria y el rango es R ⊆ An para un valor n
prefijado
|D| >> |R|, por lo tanto h no es inyectiva, produciendose
colisiones
Para una h aleatoria, si D = At (t > n), entonces a cada
resumen le corresponden 2t−n mensajes. La probabilidad
de que dos mensajes den como resultado la misma salida
es 2−n
Propiedades:
Fácil de computar
Compresión: Cualquier entrada x de longitud arbitraria, se
convierte en h(x) de longitud fija
U.D. Computación (DSIC - UPV)
Firma Digital
20 / 36
Funciones resumen
Propiedades de las funciones hash
Firma Digital
U.D.
Computación
Funciones hash unidireccionales (OWHF)
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones hash resistentes a colisiones (CRHF)
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
21 / 36
Funciones resumen
Propiedades de las funciones hash
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones hash unidireccionales (OWHF)
Resistencia a la primera preimagen (one way hashing):
Dado un valor hash y , es computacionalmente intratable
encontrar un x ∈ D tal que h(x) = y
Resistencia a la segunda preimagen (Weak colision free):
Dado un mesaje x es computacionalmente intratable
encontrar un segundo mensaje x ′ , (x 6= x ′ ), tal que
h(x) = h(x ′ )
Funciones hash resistentes a colisiones (CRHF)
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
21 / 36
Funciones resumen
Propiedades de las funciones hash
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Funciones hash unidireccionales (OWHF)
Resistencia a la primera preimagen (one way hashing):
Dado un valor hash y , es computacionalmente intratable
encontrar un x ∈ D tal que h(x) = y
Resistencia a la segunda preimagen (Weak colision free):
Dado un mesaje x es computacionalmente intratable
encontrar un segundo mensaje x ′ , (x 6= x ′ ), tal que
h(x) = h(x ′ )
Funciones hash resistentes a colisiones (CRHF)
Resistencia a las colisiones (one way hashing): Encontrar
dos mensajes x, x ′ ∈ D, (x 6= x ′ ), tales que h(x) = h(x ′ )
es computacionalmente intratable
(Implica resistencia a primera y segunda preimagen)
U.D. Computación (DSIC - UPV)
Firma Digital
21 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Dados k mensajes al azar (x1 , x2 , . . . , xk ), queremos
calcular la probabilidad de que no se produzca colisión:
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Dados k mensajes al azar (x1 , x2 , . . . , xk ), queremos
calcular la probabilidad de que no se produzca colisión:
1
1−
n
k−1
Y
2
k −1
i
1−
... 1 −
=
1−
n
n
n
i =1
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Dados k mensajes al azar (x1 , x2 , . . . , xk ), queremos
calcular la probabilidad de que no se produzca colisión:
e −x
1
1−
n
k−1
Y
2
k −1
i
1−
... 1 −
=
1−
n
n
n
= 1−x +
i =1
x2
2!
−
x3
3!
...
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Dados k mensajes al azar (x1 , x2 , . . . , xk ), queremos
calcular la probabilidad de que no se produzca colisión:
e −x
1
1−
n
k−1
Y
2
k −1
i
1−
... 1 −
=
1−
n
n
n
= 1−x +
entonces 1 − x ≈
U.D. Computación (DSIC - UPV)
i =1
x3
x2
2! − 3!
e −x
. . . , por lo que, si x → 0
Firma Digital
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Sea h : X → Z donde |X | ≥ 2|Z | donde |X | = m y
|Z | = n. Por lo tanto existirán almenos n colisiones
Asumimos que para cualquier z ∈ Z se cumple que
|h−1 (z)| = m/n. En otro caso se incrementa la
probabilidad de encontrar una colisión
Dados k mensajes al azar (x1 , x2 , . . . , xk ), queremos
calcular la probabilidad de que no se produzca colisión:
1
1−
n
k−1
Y
2
k −1
i
1−
... 1 −
=
1−
n
n
n
i =1
e −x
= 1−x +
entonces 1 − x ≈
colisión queda:
k−1
Y
i =1
U.D. Computación (DSIC - UPV)
x3
x2
2! − 3! . . . , por lo que, si x →
e −x , con lo que la probabilidad
i
1−
n
≈
Firma Digital
k−1
Y
e
−i
n
= e
0
de no
−k(k−1)
2n
i =1
22 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
.
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
−k(k−1)
2n
.
≈1−ǫ
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
−k(k−1)
2n
≈1−ǫ ⇒
.
k(k − 1)
≈ − ln (1 − ǫ)
2n
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
−k(k−1)
2n
k(k − 1)
≈ − ln (1 − ǫ) ⇒
2n
≈1−ǫ ⇒
⇒ k 2 − k ≈ 2n ln
.
1
1−ǫ
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
.
k(k − 1)
≈ − ln (1 − ǫ) ⇒
2n
r
1
1
2
⇒ k − k ≈ 2n ln
⇒ k ≈ 2n ln
1−ǫ
1−ǫ
−k(k−1)
2n
≈1−ǫ ⇒
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
k(k − 1)
≈ − ln (1 − ǫ) ⇒
2n
r
1
1
2
⇒ k − k ≈ 2n ln
⇒ k ≈ 2n ln
1−ǫ
1−ǫ
−k(k−1)
2n
≈1−ǫ ⇒
Si ǫ = 0.5 entonces k ≈
U.D. Computación (DSIC - UPV)
.
Firma Digital
p
√
n(2 ln 2) ≈ 1.17 n
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
.
k(k − 1)
≈ − ln (1 − ǫ) ⇒
2n
r
1
1
2
⇒ k − k ≈ 2n ln
⇒ k ≈ 2n ln
1−ǫ
1−ǫ
−k(k−1)
2n
≈1−ǫ ⇒
Si ǫ = 0.5 entonces k ≈
p
√
n(2 ln 2) ≈ 1.17 n
Tomando n = 365 obtenemos k = 23
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
−k(k−1)
2n
La probabilidad de colisión se aproxima a 1 − e
¿Cuantos mensajes hay que escoger para que la
probabilidad de colisión sea ǫ?
e
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
.
k(k − 1)
≈ − ln (1 − ǫ) ⇒
2n
r
1
1
2
⇒ k − k ≈ 2n ln
⇒ k ≈ 2n ln
1−ǫ
1−ǫ
−k(k−1)
2n
≈1−ǫ ⇒
Si ǫ = 0.5 entonces k ≈
p
√
n(2 ln 2) ≈ 1.17 n
Tomando n = 365 obtenemos k = 23
Con el mismo n = 365, tomando ǫ = 0.95 entonces k = 47
U.D. Computación (DSIC - UPV)
Firma Digital
23 / 36
Funciones resumen
El ataque del cumpleaños
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
El ataque del cumpleaños acota inferiormente la talla del
resumen
Si el resumen es de 40 bits, entonces con probabilidad 0.5,
se puede obtener una colisión con 220 mensajes al azar
(aproximadamente 106 mensajes)
Una talla de 128 bits ha sido utilizada hasta ahora
DSS considera 160 bits
La familia SHA permite 256 y 512 bits
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
24 / 36
Funciones resumen
El ataque del cumpleaños. Algoritmo de Yuval
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
Firma de un mensaje ilegı́timo con la de un mensaje inocuo
ENTRADA: Mensaje legı́timo xl . Mensaje ilegı́timo xi .
Función hash h de m bits
SALIDA: Mensajes xl′ y xi′ , con cambios menores respecto
la entrada, tales que h(xl′ ) = h(xi′ )
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
25 / 36
Funciones resumen
El ataque del cumpleaños. Algoritmo de Yuval
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Firma de un mensaje ilegı́timo con la de un mensaje inocuo
ENTRADA: Mensaje legı́timo xl . Mensaje ilegı́timo xi .
Función hash h de m bits
SALIDA: Mensajes xl′ y xi′ , con cambios menores respecto
la entrada, tales que h(xl′ ) = h(xi′ )
MÉTODO:
1
2
3
Generar t = 2m/2 modificaciones menores de xl
Computar el resumen y almacenar los pares (xl′ , h(xl′ ))
repetir
Generar xi′ modificación menor de xi y computar h(xi′ )
Buscar una colisión con alguna variante de xl
4
mientras no colisión /* probable despues de t intentos */
U.D. Computación (DSIC - UPV)
Firma Digital
25 / 36
Funciones resumen
La familia MDx
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Propuesta por Rivest: MD2 en 1989; MD4 en 1990; MD5
en 1991
MD2 optimizada para máquinas de 8 bits. MD4/5
pensada para máquinas de 32 bits
MD4/5 obtiene un resumen de 128 bits
El esquema algoritmico se ha seguido utilizado en las
últimas propuestas de algoritmos de resumen
El estandar SHS está basado en esta familia. Considera
mensajes de longitud menor de 264 produciendo un
resumen de 160 bits. Recientemente se han diseñado
algoritmos que proporcionan resúmenes de 256/512 bits
U.D. Computación (DSIC - UPV)
Firma Digital
26 / 36
Funciones resumen
La función MD4. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Se extiende el mensaje (añadiendo un 1 seguido de
suficientes 0s) para que su longitud sea congruente con
448 módulo 512 (faltan 64 bits para que la longitud del
mensaje sea múltiplo de 512)
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
27 / 36
Funciones resumen
La función MD4. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Se extiende el mensaje (añadiendo un 1 seguido de
suficientes 0s) para que su longitud sea congruente con
448 módulo 512 (faltan 64 bits para que la longitud del
mensaje sea múltiplo de 512)
Al mensaje extendido se le añade la representación binaria
del mensaje módulo 264 (los 64 bits menos significativos)
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
27 / 36
Funciones resumen
La función MD4. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Se extiende el mensaje (añadiendo un 1 seguido de
suficientes 0s) para que su longitud sea congruente con
448 módulo 512 (faltan 64 bits para que la longitud del
mensaje sea múltiplo de 512)
Al mensaje extendido se le añade la representación binaria
del mensaje módulo 264 (los 64 bits menos significativos)
Dado el mensaje (longitud múltiplo de 512), se construye
un vector de subcadenas (que llamaremos palabras) de
longitud 32. Nótese que la talla del vector es múltiplo de
16
M = M[0]M[1] . . . M[N − 1] donde N ≡ 0 (mod 16)
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
27 / 36
Funciones resumen
La función MD4. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Se extiende el mensaje (añadiendo un 1 seguido de
suficientes 0s) para que su longitud sea congruente con
448 módulo 512 (faltan 64 bits para que la longitud del
mensaje sea múltiplo de 512)
Al mensaje extendido se le añade la representación binaria
del mensaje módulo 264 (los 64 bits menos significativos)
Dado el mensaje (longitud múltiplo de 512), se construye
un vector de subcadenas (que llamaremos palabras) de
longitud 32. Nótese que la talla del vector es múltiplo de
16
M = M[0]M[1] . . . M[N − 1] donde N ≡ 0 (mod 16)
El proceso recorre el mensaje considerando en cada
iteración 16 palabras (esquema de Damgard y Merkle)
U.D. Computación (DSIC - UPV)
Firma Digital
27 / 36
Funciones resumen
La función MD4. Descripción
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Se extiende el mensaje (añadiendo un 1 seguido de
suficientes 0s) para que su longitud sea congruente con
448 módulo 512 (faltan 64 bits para que la longitud del
mensaje sea múltiplo de 512)
Al mensaje extendido se le añade la representación binaria
del mensaje módulo 264 (los 64 bits menos significativos)
Dado el mensaje (longitud múltiplo de 512), se construye
un vector de subcadenas (que llamaremos palabras) de
longitud 32. Nótese que la talla del vector es múltiplo de
16
M = M[0]M[1] . . . M[N − 1] donde N ≡ 0 (mod 16)
El proceso recorre el mensaje considerando en cada
iteración 16 palabras (esquema de Damgard y Merkle)
El resumen se obtiene por concatenación de 4 palabras de
32 bits
U.D. Computación (DSIC - UPV)
Firma Digital
27 / 36
Funciones resumen
La función MD4. Algoritmo
Firma Digital
1
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
2
3
4
5
6
7
8
9
A = 67452301(hex); B = efcdab89(hex)
C = 98badcfe(hex); D = 10325476(hex)
for i = 0 to N/16 − 1 do /* para cada bloque de 16
palabras */
for j = 0 to 15 do
X [j] = M[16i + j]
AA = A; BB = B
CC = C ; DD = D
Round 1
Round 2
Round 3
A = A + AA; B = B + BB
C = C + CC ; D = D + DD
Return ABCD
U.D. Computación (DSIC - UPV)
Firma Digital
28 / 36
Funciones resumen
La función MD4. Algoritmo
Firma Digital
U.D.
Computación
1
A = (A + f (B, C , D) + X [0]) <<< 3
2
D = (D + f (A, B, C ) + X [1]) <<< 7
3
C = (C + f (D, A, B) + X [2]) <<< 11
Definiciones
4
B = (B + f (C , D, A) + X [3]) <<< 19
Firma digital
mediante
criptografı́a de
clave secreta
5
A = (A + f (B, C , D) + X [4]) <<< 3
6
D = (D + f (A, B, C ) + X [5]) <<< 7
7
C = (C + f (D, A, B) + X [6]) <<< 11
Firma digital
mediante
criptografı́a de
clave pública
8
B = (B + f (C , D, A) + X [7]) <<< 19
9
A = (A + f (B, C , D) + X [8]) <<< 3
10
D = (D + f (A, B, C ) + X [9]) <<< 7
11
C = (C + f (D, A, B) + X [10]) <<< 11
12
B = (B + f (C , D, A) + X [11]) <<< 19
13
A = (A + f (B, C , D) + X [12]) <<< 3
14
D = (D + f (A, B, C ) + X [13]) <<< 7
15
C = (C + f (D, A, B) + X [14]) <<< 11
16
B = (B + f (C , D, A) + X [15]) <<< 19
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
MD4. Algoritmo. Round 1
Firma Digital
29 / 36
Funciones resumen
La función MD4. Algoritmo
Firma Digital
U.D.
Computación
1
A = (A + g(B, C , D) + X [0] + 5A827999) <<< 3
2
D = (D + g(A, B, C ) + X [4] + 5A827999) <<< 7
3
C = (C + g(D, A, B) + X [8] + 5A827999) <<< 11
Definiciones
4
B = (B + g(C , D, A) + X [12] + 5A827999) <<< 19
Firma digital
mediante
criptografı́a de
clave secreta
5
A = (A + g(B, C , D) + X [1] + 5A827999) <<< 3
6
D = (D + g(A, B, C ) + X [5] + 5A827999) <<< 7
7
C = (C + g(D, A, B) + X [9] + 5A827999) <<< 11
Firma digital
mediante
criptografı́a de
clave pública
8
B = (B + g(C , D, A) + X [13] + 5A827999) <<< 19
9
A = (A + g(B, C , D) + X [2] + 5A827999) <<< 3
10
D = (D + g(A, B, C ) + X [6] + 5A827999) <<< 7
11
C = (C + g(D, A, B) + X [10] + 5A827999) <<< 11
12
B = (B + g(C , D, A) + X [14] + 5A827999) <<< 19
13
A = (A + g(B, C , D) + X [3] + 5A827999) <<< 3
14
D = (D + g(A, B, C ) + X [7] + 5A827999) <<< 7
15
C = (C + g(D, A, B) + X [11] + 5A827999) <<< 11
16
B = (B + g(C , D, A) + X [15] + 5A827999) <<< 19
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
MD4. Algoritmo. Round 2
30 / 36
Funciones resumen
La función MD4. Algoritmo
Firma Digital
U.D.
Computación
1
A = (A + h(B, C , D) + X [0] + 6ED9EBA1) <<< 3
2
D = (D + h(A, B, C ) + X [8] + 6ED9EBA1) <<< 9
3
C = (C + h(D, A, B) + X [4] + 6ED9EBA1) <<< 11
Definiciones
4
B = (B + h(C , D, A) + X [12] + 6ED9EBA1) <<< 15
Firma digital
mediante
criptografı́a de
clave secreta
5
A = (A + h(B, C , D) + X [2] + 6ED9EBA1) <<< 3
6
D = (D + h(A, B, C ) + X [10] + 6ED9EBA1) <<< 9
7
C = (C + h(D, A, B) + X [6] + 6ED9EBA1) <<< 11
Firma digital
mediante
criptografı́a de
clave pública
8
B = (B + h(C , D, A) + X [14] + 6ED9EBA1) <<< 15
9
A = (A + h(B, C , D) + X [1] + 6ED9EBA1) <<< 3
10
D = (D + h(A, B, C ) + X [9] + 6ED9EBA1) <<< 9
11
C = (C + h(D, A, B) + X [5] + 6ED9EBA1) <<< 11
12
B = (B + h(C , D, A) + X [13] + 6ED9EBA1) <<< 15
13
A = (A + h(B, C , D) + X [3] + 6ED9EBA1) <<< 3
14
D = (D + h(A, B, C ) + X [11] + 6ED9EBA1) <<< 9
15
C = (C + h(D, A, B) + X [7] + 6ED9EBA1) <<< 11
16
B = (B + h(C , D, A) + X [15] + 6ED9EBA1) <<< 15
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
MD4. Algoritmo. Round 3
31 / 36
Funciones resumen
La función MD4. Algoritmo
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Descripción de las funciones f , g y h:
f (X , Y , Z ) = (X AND Y ) OR (X AND Z )
/* Si X entonces Y , si no Z */
g(X , Y , Z ) = (X AND Y ) OR (X AND Z ) OR (Y AND Z )
/* función mayorı́a */
h(X , Y , Z ) = (X ⊕ Y ⊕ Z )
Consideraciones:
X , Y y Z son palabras de 32 bits
Las operaciones AND, OR y X denotan las operaciones
lógicas bit a bit
X + Y denota la aición módulo 232 de X e Y
X <<< s denota la permutación circular de X un número
s de bits a la izquierda (0 ≤ s ≤ 31)
U.D. Computación (DSIC - UPV)
Firma Digital
32 / 36
Funciones resumen
La función MD4
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Muy pronto se desarrollan ataques a MD4 que no
ejecutaban la primera o tercera vuelta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
33 / 36
Funciones resumen
La función MD4
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
Muy pronto se desarrollan ataques a MD4 que no
ejecutaban la primera o tercera vuelta
Se ha mostrado como encontrar soluciones MD4 en menos
de un minuto en un PC sin requisitos de configuración
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
33 / 36
Funciones resumen
La función MD4
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Muy pronto se desarrollan ataques a MD4 que no
ejecutaban la primera o tercera vuelta
Se ha mostrado como encontrar soluciones MD4 en menos
de un minuto en un PC sin requisitos de configuración
Se ha demostrado que MD4 sin la tercera vuelta no es una
función hash unidireccional
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
33 / 36
Funciones resumen
La función MD4
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Muy pronto se desarrollan ataques a MD4 que no
ejecutaban la primera o tercera vuelta
Se ha mostrado como encontrar soluciones MD4 en menos
de un minuto en un PC sin requisitos de configuración
Se ha demostrado que MD4 sin la tercera vuelta no es una
función hash unidireccional
Se considera que MD4 está roto
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
33 / 36
Funciones resumen
La función MD5
Firma Digital
U.D.
Computación
MD5 considera el mismo tratamiento previo del mensaje
que hace MD4
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
34 / 36
Funciones resumen
La función MD5
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
MD5 considera el mismo tratamiento previo del mensaje
que hace MD4
El algoritmo sigue básicamente el esquema MD4
ejecutando una cuarta vuelta adicional
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
34 / 36
Funciones resumen
La función MD5
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
MD5 considera el mismo tratamiento previo del mensaje
que hace MD4
El algoritmo sigue básicamente el esquema MD4
ejecutando una cuarta vuelta adicional
Vulnerability of software integrity and code signing applications
to chosen-prefix collisions for MD5 November 30, 2007.
Describe un procedimiento para encontrar mensajes
distintos x y x ′ tales que hMD5 (x) = hMD5 (x ′ )
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
34 / 36
Funciones resumen
La función MD5
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
MD5 considera el mismo tratamiento previo del mensaje
que hace MD4
El algoritmo sigue básicamente el esquema MD4
ejecutando una cuarta vuelta adicional
Vulnerability of software integrity and code signing applications
to chosen-prefix collisions for MD5 November 30, 2007.
Describe un procedimiento para encontrar mensajes
distintos x y x ′ tales que hMD5 (x) = hMD5 (x ′ )
MD5 sigue siendo fiable como medio para validar la
no-modificación de ficheros propios cuyo contenido
conocemos. Deja de ser fiable como base para cualquier
tipo de firmas o certificados
U.D. Computación (DSIC - UPV)
Firma Digital
34 / 36
Funciones resumen
La función MD5
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
MD5 considera el mismo tratamiento previo del mensaje
que hace MD4
El algoritmo sigue básicamente el esquema MD4
ejecutando una cuarta vuelta adicional
Vulnerability of software integrity and code signing applications
to chosen-prefix collisions for MD5 November 30, 2007.
Describe un procedimiento para encontrar mensajes
distintos x y x ′ tales que hMD5 (x) = hMD5 (x ′ )
MD5 sigue siendo fiable como medio para validar la
no-modificación de ficheros propios cuyo contenido
conocemos. Deja de ser fiable como base para cualquier
tipo de firmas o certificados
DNI electrónico utiliza SHA-1/RSA. Se recomienda no
usarlo para firmar hashes MD5.
U.D. Computación (DSIC - UPV)
Firma Digital
34 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
En 1995, NSA sustituye SHA-0 por SHA-1, básicamente
igual a SHA-0 con cambios menores
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
En 1995, NSA sustituye SHA-0 por SHA-1, básicamente
igual a SHA-0 con cambios menores
Se ha propuesto un algoritmo de cumpleaños que
encuentra colisiones en SHA-1 con un esfuerzo menor a la
fuerza bruta (orden de 269 operaciones en lugar de 280 )
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
En 1995, NSA sustituye SHA-0 por SHA-1, básicamente
igual a SHA-0 con cambios menores
Se ha propuesto un algoritmo de cumpleaños que
encuentra colisiones en SHA-1 con un esfuerzo menor a la
fuerza bruta (orden de 269 operaciones en lugar de 280 )
Este algoritmo encuentra colisiones en SHA-0 con 239
operaciones (!!)
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
En 1995, NSA sustituye SHA-0 por SHA-1, básicamente
igual a SHA-0 con cambios menores
Se ha propuesto un algoritmo de cumpleaños que
encuentra colisiones en SHA-1 con un esfuerzo menor a la
fuerza bruta (orden de 269 operaciones en lugar de 280 )
Este algoritmo encuentra colisiones en SHA-0 con 239
operaciones (!!)
Pese a esto, atacar SHA-1 es 4 ordenes de magnitud más
dificil que atacar DES (...)
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Funciones resumen
La familia SHA
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
Desarrollado por la NSA en 1993. Considera mensajes de
longitud menor de 264 bits, produciendo inicialmente un
resumen de 160 bits
En 1995, NSA sustituye SHA-0 por SHA-1, básicamente
igual a SHA-0 con cambios menores
Se ha propuesto un algoritmo de cumpleaños que
encuentra colisiones en SHA-1 con un esfuerzo menor a la
fuerza bruta (orden de 269 operaciones en lugar de 280 )
Este algoritmo encuentra colisiones en SHA-0 con 239
operaciones (!!)
Pese a esto, atacar SHA-1 es 4 ordenes de magnitud más
dificil que atacar DES (...)
Existen versiones de 256 bits (SHA-256) y de 512 bits
(SHA-512) que se consideran inmunes (...) a ataques
U.D. Computación (DSIC - UPV)
Firma Digital
35 / 36
Firma Digital
U.D.
Computación
Definiciones
Firma digital
mediante
criptografı́a de
clave secreta
Firma digital
mediante
criptografı́a de
clave pública
El esquema de
firma RSA
El esquema de
firma de
ElGamal
Digital Signature
Standar – DSS
Funciones
resumen
U.D. Computación (DSIC - UPV)
Firma Digital
36 / 36
Descargar