LA FUNCIÓN HASH Y EL CÓDIGO HASH CÓMO OBTENERLO Dr. JOSÉ LUIS TAMAYO RODRÍGUEZ1 1. EL CÓDIGO O HUELLA HASH Mediante el denominado código o huella hash es posible comprobar la integridad e inalterabilidad del documento electrónico contentivo de determinada evidencia electrónica, y determinar, además, que el archivo no se ha corrompido de alguna manera, intencional o no. El hash funciona como un código de identificación del documento electrónico, al cual, al aplicarle la respectiva función hash, se obtendrá un código alfanumérico único; y en caso de que se modifique, así sea de manera mínima o aparentemente insignificante, cualquier dato contenido en el documento electrónico (como por ejemplo, añadir una letra, colocar un tilde, unir dos palabras separadas, suprimir un signo de puntuación, etc.), alterará por completo el código alfanumérico obtenido inicialmente, dando como resultado uno totalmente distinto. Así por ejemplo: A redacta un contrato de arrendamiento utilizando Microsoft Word, el cual convierte en archivo PDF (mediante la función: “Guardar como”) y al documento electrónico creado en formato.pdf le aplica la función hash para obtener el respectivo código alfanumérico o huella hash. Seguidamente, lo envía a B anexo a un correo electrónico, indicándole cuál es la huella hash del documento enviado. Al recibirlo, B, para comprobar si el archivo recibido es el mismo que le envió A y que este no se ha corrompido durante el envío o no ha sido alterado, le aplica igualmente la misma función hash utilizada por A, y si el resultado obtenido se corresponde con el código alfanumérico indicado por A en su correo, tendremos la certeza de que el archivo enviado por A es el mismo recibido por B. De no coincidir de manera idéntica ambas huellas hash, estaremos en presencia de documentos diferentes, así sea mínima la alteración. Es importante agregar que el documento electrónico al cual se le aplique la función hash, independientemente de su longitud o tamaño (es decir, sea que conste de un solo carácter o de miles de caracteres), siempre dará como resultado una cadena alfanumérica de idéntico tamaño, dependiendo de la función hash que se le aplique. Por ejemplo, la función hash MD5, arrojará siempre como resultado un código hash o cadena alfanumérica de 32 caracteres, mientras que la función hash SHA 256, arrojará como resultado un código hash o cadena alfanumérica de 64 caracteres, independientemente, insistimos, del tamaño del archivo o documento electrónico. Se trata, por tanto, de una longitud fija, que sólo variará dependiendo de la función aplicada. Tomado de la Guía Práctica de su autoría: “¿CÓMO PRESERVAR LA EFICACIA PROBATORIA DE LOS CHATS DE WHATSAPP’” (2001). 1 1 2. LAS FUNCIONES HASH SHA256 Y MD5. Son variadas y muy numerosas las funciones hash que se emplean para obtener códigos o huellas hash. Sin embargo, las correspondientes a los algoritmos SHA son las más utilizadas dada la confiabilidad que brindan. Las siglas de SHA responden a Secure Hash Algorithm. Es uno de los algoritmos estandarizados más populares en la actualidad. Por su parte, la función hash MD5 (abreviatura de Message-Digest Algorithm 5), a diferencia de la SHA256, produce un resumen de mensaje de 128 bits (16 bytes), es decir, la mitad, que lo hace más rápido que aquél, aunque menos seguro. Sin embargo, es ampliamente utilizado, pese a los problemas de seguridad que han sido detectados. Ejemplo: Con SHA 256: f72d22cd05dd6e9bef20172d9066afd9e5a5f0897174e76687087e749dbabc76 Con SHA MD5: a4ff6fb1f8500f52c7b3a583efb93066 3. CÓMO GENERAR HASHES ON LINE DE MANERA GRATUITA Son numerosos los programas que pueden utilizarse para obtener el código hash de un documento electrónico, entre ellas, File Checksum, que es de fácil empleo y gratuita, sin costos de descarga ni instalación Tan solo es necesario arrastrar el archivo desde la ubicación en donde está, hasta el sitio web. O bien, puedes hacer clic en el cuadro donde dice «Drop File Here» y subes el archivo. https://emn178.github.io/online-tools/sha256_checksum.html 2 No solamente puedes generar hashes en SHA2-256 sino también con otras funciones hash que existen. (Ver columna de la derecha). Una ventaja importante es que no necesitas realizar registro previo, sólo accede a la web y ya podrás utilizarlo. Ejemplo: Con SHA 256: f72d22cd05dd6e9bef20172d9066afd9e5a5f0897174e76687087e749dbabc76 Con SHA MD5: a4ff6fb1f8500f52c7b3a583efb93066 ACLARATORIA Dos documentos idénticos en contenido pero en diferentes formatos generan códigos hash distintos. Esto quiere decir que cuando un documento redactado en archivo word (.docx), lo convertimos en PDF (.pdf), cada uno de los documentos, pese a tener idéntico contenido, sin ninguna variación, modificación ni alteración, arrojará dos códigos hash diferentes. Un código hash se calcula utilizando un algoritmo específico que genera un valor único en función del contenido del archivo. Dado que los formatos .docx y .pdf son diferentes, los archivos tendrán estructuras y metadatos distintos, lo que resultará en códigos hash diferentes. El formato .docx es utilizado por Microsoft Word para documentos de texto, mientras que el formato .pdf es un formato estándar de archivo utilizado para presentar documentos de manera independiente del software, hardware o sistema operativo utilizado. Estos formatos tienen estructuras internas diferentes y almacenan información de manera distinta. Por lo tanto, aunque el contenido del documento sea el mismo, los archivos en formato .docx y .pdf tendrán códigos hash diferentes debido a las diferencias en la estructura y el formato de los archivos. 3