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