Integridad de archivos SHA-256: cómo una huella demuestra que un archivo no cambió
Una huella SHA-256 es una cadena de 64 caracteres calculada a partir de los bytes de un archivo: si cambia un solo byte, la huella cambia por completo, así que dos huellas iguales muestran que dos archivos son idénticos. Esta página explica cómo funciona un hash, da el comando para calcularlo en macOS, Windows y Linux, y dice lo que una huella no puede decir.
Por Martin Ferret · Publicado el · Actualizado el
¿Qué es una huella SHA-256?
Una huella SHA-256 es la cadena que la función hash SHA-256 calcula a partir de un archivo: lee un archivo de cualquier tamaño y siempre devuelve 256 bits, escritos como 64 caracteres hexadecimales.
9f2c4e8a1b7d3f60c5a29e84bb1730df 5e6a0c93d47182fbe95c2a7d3810a41d
El mismo archivo siempre produce la misma huella, en cualquier máquina y en cualquier año. Un archivo distinto produce otra.
¿Por qué cambiar un byte cambia toda la huella?
Cambie un solo carácter en cualquier parte del archivo y la huella no se mueve un poco. Se convierte en una cadena sin ninguna relación con la anterior, con aproximadamente la mitad de sus bits invertidos.
Esa propiedad es lo que hace útil la comparación. No hace falta leer dos archivos para saber que son distintos; se comparan dos cadenas cortas y o coinciden exactamente o no coinciden. No hay coincidencia parcial ni nada que interpretar.
¿Cómo se calcula un SHA-256 por cuenta propia?
No hace falta instalar ningún programa. Todos los sistemas operativos principales lo traen incorporado.
| macOS | shasum -a 256 _chat.zip |
|---|---|
| Linux | sha256sum _chat.zip |
| Windows, PowerShell | Get-FileHash _chat.zip -Algorithm SHA256 |
| Windows, Símbolo del sistema | certutil -hashfile _chat.zip SHA256 |
Ejecútelo sobre el archivo, compare el resultado con la huella impresa en la página de certificado, y habrá comprobado el trabajo usted mismo en lugar de fiarse de la palabra de nadie. Si prefiere no leer sesenta y cuatro caracteres de una página, el verificador SHA-256 hace la comparación por usted, en su navegador, sin subir nada.
¿Por qué el archivo de origen viaja con el documento?
Una huella impresa en una página no demuestra nada por sí sola: sin el archivo que describe, no hay nada con qué compararla.
Por eso el ZIP original va adjunto dentro del PDF cuando pesa menos de 10 MB. Quien reciba el documento puede extraerlo, ejecutar uno de los comandos anteriores y ver por sí mismo si la cadena coincide. La verificación no depende de que se nos pueda contactar, ni siquiera de que sigamos existiendo. Un archivo más grande se entrega junto al PDF, porque los sistemas de presentación limitan el tamaño de los adjuntos, y el certificado indica cuál de los dos casos es.
- Las huellas coinciden: el archivo es, byte a byte, el que se usó.
- Difieren: algo cambió después de que se generara el documento.
¿Qué no puede decir una huella?
Una huella es prueba de integridad, no de autenticidad ni de exactitud. Esas son preguntas distintas, que responden personas y no la aritmética. Hacer citable una página es otra pregunta más, y la respuesta a esa es la foliación. Cómo encaja una huella con las demás formas de autenticar mensajes se explica en Cómo usar los mensajes de WhatsApp como prueba en un caso de custodia.
Conviene decirlo también con claridad: ChatExhibits genera un documento y una huella. No decide lo que un tribunal acepta, y facilitar la verificación no es lo mismo que garantizar nada.
Preguntas frecuentes
¿Una huella SHA-256 es una forma de cifrado?
No. Una huella no oculta ni protege nada: el archivo sigue igual de legible que antes. Es un resumen de un solo sentido, y no hay forma de convertir una huella de vuelta en el archivo.
¿Cambiar el nombre de un archivo o copiarlo cambia su SHA-256?
No. La huella se calcula solo a partir del contenido del archivo, así que un nombre nuevo, una copia o un adjunto de correo dan el mismo valor. Abrirlo y volver a guardarlo, o comprimirlo de nuevo, puede cambiar los bytes y, con ellos, la huella.
¿Dos archivos distintos pueden tener el mismo SHA-256?
En teoría sí, porque hay más archivos posibles que huellas. En la práctica nunca se han encontrado dos archivos distintos con el mismo SHA-256, y por eso una coincidencia se toma como prueba de que los archivos son idénticos.
¿Por qué la huella se toma del ZIP y no de _chat.txt?
Porque el ZIP es el archivo que se proporcionó. Calcular la huella de la transcripción que contiene describiría otro archivo, y quien comprobara el ZIP contra ese valor vería una discrepancia que no significa nada.
¿Por qué el certificado no imprime la huella del propio PDF?
Porque escribir la huella dentro del PDF cambia el PDF, y con él la huella. Un documento no puede llevar su propia huella; lleva en su lugar la huella de su archivo de origen.
Siga leyendo
- Exportar un chat de WhatsApp (iOS, Android)Pasos para iPhone y Android, qué cambia la opción de incluir archivos, por qué WhatsApp Desktop no exporta y qué contiene el archivo ZIP.
- Formato de exportación de WhatsApp: TXT y ZIPQué contiene una exportación de WhatsApp: los dos formatos de fecha, las marcas invisibles, los adjuntos en iOS y Android y los nombres de archivo.
- ¿Qué es la foliación? Formato y usoDe dónde viene la convención, cómo es un número de folio, por qué continúa en toda una producción y lo que estampar un número no consigue.