361 El Hash o resumen necesario para la firma electrónica
https://www.youtube.com/watch?v=B-Z3fzsTrCY&list=PL6IVxL1GzkQC1ZT5jF106YWzUDvb1gbY0&index=5
El Hash o Huella Digital, la Base de la Firma Electrónica
Introducción: Un Nombre Raro con una Función Crucial
Abordamos un tema que empieza con un nombre que suena extraño: el Hash o Huella Digital. Este concepto es un componente fundamental para la identidad y la firma electrónica de todo tipo de ficheros.
Al igual que cada persona tiene una huella dactilar única que la caracteriza, los ficheros informáticos también disponen de una huella única, denominada hash o resumen. Vamos a desgranar qué es y por qué es tan importante.
¿Qué es una Función Hash? Explicación con un Ejemplo Cotidiano
Para explicar la función resumen, usemos algo de todos los días: la letra del DNI.
La letra de nuestro Documento Nacional de Identidad es, en realidad, un hash. Se trata de un dígito de control alfanumérico calculado a partir de los números.
La entrada al algoritmo (input): Los números de tu DNI.
El algoritmo: Una operación matemática (dividir ese número por 23).
La salida (output): El resto de esa división (un valor entre 0 y 22) se usa para localizar una letra en una tabla predefinida. Esa letra es el hash.
Ejemplo:
Si el resto es
0, corresponde la letraT.Si el resto es
1, corresponde laR, y así sucesivamente.
Este simple proceso transforma una entrada (los números) en una salida única y verificable (la letra).
Antes del Hash: Entendiendo la Codificación (Morse, Baudot, ASCII)
Para definir bien el hash, es crucial saber que los ordenadores no entienden letras o imágenes, solo números. Todos los caracteres (letras, números, espacios, símbolos) están codificados como números.
Código Morse: Se inventó para la telegrafía, usando puntos y rayas.
Código Baudot: Se usó en los teletipos para codificar mensajes en cinta de papel.
Código ASCII (American Standard Code for Information Interchange): Definido en 1963, asigna un número ordinal a cada signo. Es la base de la informática moderna.
A la letra
aminúscula le corresponde el número97.A la
Amayúscula le corresponde el65.Cada uno de estos valores se almacena en un byte (8 bits).
Esto nos permite entender una clave: se pueden hacer operaciones matemáticas sobre textos, imágenes o sonidos, porque al final, todo son números (bytes) para el ordenador.
Definición Técnica de Hash
Un hash es un conjunto de operaciones matemáticas (un algoritmo) que transforma cualquier conjunto de datos de entrada (un documento, una foto, un software) en una nueva serie de caracteres alfanuméricos de longitud fija y reducida, independientemente del tamaño original del fichero.
https://i.imgur.com/xyKndXl.png Imagen ilustrativa: Un texto pasa por la función hash y se obtiene una cadena alfanumérica única.
Característica clave: Cualquier modificación en el archivo original, por mínima que sea (cambiar una coma, un pixel), genera un hash completamente diferente e impredecible. Esto nos permite otorgarle paternidad y verificar la integridad a un fichero.
Hash de Documentos Extensos
¿Qué sucede con ficheros muy grandes, como El Quijote, un vídeo o una base de datos? El proceso es exactamente el mismo. Ya sea un texto de una línea o un archivo de gigabytes, todos se leen como una larga secuencia de bytes (ceros y unos).
Esta secuencia se introduce en la función hash, que procesa todos los datos y genera una huella digital única de longitud fija y reducida para ese documento específico.
Características Esenciales de un Hash Seguro
Para ser útil en firma electrónica y seguridad, un hash debe cumplir estas propiedades:
Determinista: La misma entrada siempre producirá el mismo hash. El Quijote siempre generará la misma huella.
Cálculo Rápido: Debe ser computacionalmente eficiente, incluso para archivos muy grandes.
Irreversible: Es imposible recalcularte (recuperar los datos originales) a partir del código hash. Es una calle de un solo sentido.
Efecto Avalancha: Un pequeño cambio en la entrada (ej: un bit) cambia el hash de forma tan radical que el nuevo resultado no se parece en nada al anterior.
Resistente a Colisiones: Es extremadamente improbable que dos conjuntos de datos diferentes generen el mismo hash. La probabilidad es astronómicamente baja con algoritmos modernos.
Importante: El hash no cifra los datos (no protege el secreto) y no firma por sí solo. Solo crea una huella única para su verificación.
Estándares y Algoritmos de Hash Comunes
Se han desarrollado varios algoritmos estándar con diferentes longitudes de hash (128, 160, 256 bits) para garantizar seguridad:
MD5 (128 bits): Antiguo y ahora considerado inseguro por vulnerabilidades.
SHA-1 (160 bits): También obsoleto para aplicaciones críticas.
SHA-256 (256 bits): Parte de la familia SHA-2, es un estándar actual ampliamente utilizado y muy seguro para firmas electrónicas y criptomonedas como Bitcoin.
La longitud del hash (ej: 256 bits) hace que la posibilidad de que dos ficheros diferentes tengan la misma huella sea inferior a "un billón de billones", haciéndolo seguro para prácticamente cualquier aplicación.
La Aplicación Práctica: Comprobación de Integridad
La utilidad principal del hash es verificar que un documento no ha sido alterado.
En Origen: El emisor calcula el hash de su documento (ej:
a1b2c3d4...) usando un algoritmo como SHA-256.Transmisión: Envía el documento y su hash al destinatario (puede ser en un email, un pendrive, etc.).
En Destino: El receptor vuelve a calcular el hash del documento recibido de forma independiente, usando el mismo algoritmo.
Comparación: Si el hash calculado por el receptor coincide exactamente con el hash que envió el emisor, se tiene la certeza de que el documento es íntegro. Si son diferentes, aunque sea en un solo carácter, se sabe que el documento fue alterado.
El Secreto Revelado: ¿Qué se Firma Electrónicamente?
Aquí está la conexión crucial con la firma electrónica: Lo que se firma digitalmente no es el documento completo, sino su hash.
El proceso simplificado es así:
Se calcula el hash del documento a firmar.
Este hash se cifra con la clave privada del firmante. Este paso es lo que constituye la firma digital.
Se adjunta esta firma (el hash cifrado) al documento.
El receptor puede descifrar la firma con la clave pública del firmante para obtener el hash original, calcular de nuevo el hash del documento recibido y comparar ambos. Si coinciden, demuestra que el documento es íntegro y que fue firmado por el titular de la clave privada.
Conclusión
El hash o huella digital es la piedra angular de la seguridad digital moderna. Permite verificar la integridad de cualquier información digital de forma rápida y fiable, y es el elemento fundamental que hace posible la firma electrónica avanzada y cualificada, dándole validez legal.
¡Gracias por leernos! Si te pareció útil este tutorial, compártelo y déjanos tus comentarios.
¿Te interesa profundizar? En nuestros próximos tutoriales hablaremos sobre cifrado asimétrico de claves (pública y privada) y el funcionamiento exacto de la firma electrónica
Comentarios
Publicar un comentario