Firma digital con Función Hash

 https://www.youtube.com/watch?v=ZAtWom1cQDA

Firma Digital con Función Hash

¡Hola a todos! Mi nombre es Edwin y en esta ocasión vamos a hablar sobre la firma digital con función hash, un mecanismo fundamental para garantizar la autenticidad e integridad de los documentos digitales.

¿Qué es una firma digital con función hash?

Una firma digital con función hash es un proceso criptográfico que permite verificar la autenticidad y integridad de un mensaje o documento digital. Combina el uso de funciones hash (también conocidas como funciones resumen o "picadillo") con criptografía asimétrica de clave pública y privada.

Ejemplo práctico: El gato y su gatita

Imaginemos que un gato quiere enviar un documento importante a su gatita a través de Internet, y necesita asegurarse de que el sistema pueda validar que el documento es auténtico mediante una firma digital.

Paso 1: Creación del mensaje

El gato escribe un mensaje para su gatita. En este momento, el mensaje está en texto plano, sin cifrar:

text
"Querida gatita: Te extraño mucho. ¡Nos vemos mañana! - Tu gato"

Paso 2: Aplicación de la función hash

Cuando el gato termina de escribir, ejecuta una función hash (como SHA-256) sobre el contenido del mensaje. Esta función genera una cadena de caracteres única llamada "hash" o "resumen":

text
Mensaje original → Función Hash → Hash resultante (ej: a1b2c3d4e5f6...)

Este hash servirá como identificador y validador de la autenticidad del mensaje.

Paso 3: Cifrado con la clave privada

El gato cifra este hash con su llave privada (que solo él conoce):

text
Hash → Cifrado con clave privada → Firma digital

Recordemos que en criptografía asimétrica tenemos dos llaves:

  • Llave privada: Permite cifrar (y es secreta)

  • Llave pública: Permite descifrar (y es compartida)

Paso 4: Envío del mensaje

El gato envía a través de Internet:

  1. El mensaje original (sin cifrar)

  2. La firma digital (el hash cifrado con su clave privada)

Los datos viajan por la red donde potencialmente podrían ser interceptados.

Paso 5: Recepción y verificación

Al llegar el mensaje a la gatita, ella realiza dos procesos:

  1. Descifra la firma digital con la clave pública del gato (emisor):

    text
    Firma digital → Descifrado con clave pública → Hash original
  2. Calcula el hash del mensaje recibido aplicando la misma función hash:

    text
    Mensaje recibido → Función Hash → Nuevo hash

Paso 6: Comparación y validación

La gatita compara el hash que obtuvo del mensaje con el hash que descifró de la firma digital:

  • Si son idénticos: El mensaje es auténtico y no ha sido modificado

  • Si son diferentes: El mensaje ha sido alterado

Resultados posibles

Escenario 1: Éxito

  • Los hash coinciden

  • La gatita recibe un documento auténtico y confiable

  • Se garantiza:

    • Autenticidad: El mensaje viene realmente del gato

    • Integridad: El mensaje no ha sido modificado

    • No repudio: El gato no puede negar que envió el mensaje

Escenario 2: Falla

  • Los hash no coinciden

  • Significa que algún atacante interceptó la comunicación y modificó la información

  • El documento no es seguro y debe ser descartado

¿Por qué usar funciones hash?

Las funciones hash son esenciales en este proceso porque:

  1. Eficiencia: Trabajar con el hash (de longitud fija) es más rápido que cifrar el mensaje completo

  2. Seguridad: Cualquier modificación mínima al mensaje original produce un hash completamente diferente

  3. Integridad: Garantizan que el mensaje no ha sido alterado

Conclusión

La firma digital con función hash es una técnica poderosa que nos permite:

  • Verificar la autenticidad de los mensajes

  • Asegurar que no han sido modificados

  • Prevenir el repudio de envío

Es ampliamente utilizada en:

  • Transacciones bancarias

  • Contratos electrónicos

  • Comunicaciones seguras

  • Certificados digitales

¡Espero que este tutorial les haya sido útil! Ahora comprenden cómo el gato puede enviar mensajes seguros a su gatita a través de Internet.

¡Hasta la próxima!

Comentarios

Entradas más populares de este blog

firma digitales PKI utilizando solo javascript y node,

convertir un certificado .key a formato PEM utilizando solo la Web Crypto API

Pilares de la firma electronica-pki-RSA