¿Qué es Checksum? ¿Cómo funciona? ¿Por qué es importante?

Rubén Castro, 9 abril 2021

¿Qué es el checksum?

El checksum es una suma de comprobación que se obtiene de un origen de datos. Esta suma tiene dos factores claves muy importantes:

  • El resultado suele ser mucho más pequeño que el tamaño de la fuente. Además, puede tener un número fijo de dígitos. Esto significa que el checksum de un fichero enorme tendrá el mismo número de cifras que el de un fichero pequeño.
  • El resultado es casi único. Esto viene muy bien porque la posibilidad de que otros datos en origen den exactamente la misma suma de comprobación es muy baja.
  • Un pequeño cambio en la fuente origina muchos cambios en el resultado. Por ejemplo, supongamos que el checksum de un fichero de texto nos da AF1HKA13, si modificamos el fichero aunque solo sea un poco el checksum puede pasar a ser otro totalmente diferente NMHASK99 de esta manera es fácil comprobar que ha habido cambios.

Gracias a estas cualidades, el checksum se utiliza a menudo para comprobar que un fichero que nos hemos descargado es el correcto y no ha sido modificado desde el origen al destino. Ya sea por modificaciones maliciosas o bien por errores. Por eso, muchas veces veras a la hora de descargar un fichero una serie de números al lado junto al algoritmo utilizado para hacer el checksum.

Cómo funcionan un checksum

La parte más importante de un checksum es el algoritmo (las fórmulas matemáticas) que se utiliza para crear la propia suma de verificación en función de los datos de origen.

Uno de los algoritmos más utilizados es el Secure Hash Algorithm - 256 bits (SHA-256) que fue desarrollado por la NSA y lanzada hace casi 20 años

Este algoritmo es un tipo de función hash criptográfica (CHF), en la que los datos de origen se denominan mensaje, y la salida se llama valor hash o simplemente hash (la suma de comprobación, en este caso). Su popularidad se debe a que funcionan con rapidez y son resistentes a los intentos de “hackear” el código, aunque hoy en día existen otros mucho mejores ya que cada algoritmo tiene sus propias operaciones matemáticas.

En el caso de las sumas de comprobación, el uso de una función hash diferente no aporta ninguna ventaja significativa, aunque se ha demostrado que algunas de las más antiguas (por ejemplo, MD5, SHA-1) producen el mismo hash para diferentes archivos, un problema que se conoce como colisión. Los nuevos algoritmos son más resistentes a las colisiones.

¿Qué se puede hacer con el checksum?

Como ya hemos visto, el checksum o suma de comprobación permite comprobar fácilmente la integridad de los datos que componen un archivo.

Imagina que necesitas descargar un archivo importante, que es crítico para el funcionamiento de un ordenador por lo que no quieres que tenga ningún error, pero tienes una conexión a Internet lenta e inestable, y te preocupa que pueda afectar al archivo mientras se descarga.

Para solucionarlo, quien ha subido el archivo ha ejecutado un algoritmo de checksum y pone su resultado al lado del enlace de descarga. De esta manera, cuando tu descarga ha finalizado puedes ejecutar el mismo algoritmo de checksum y, si los resultados son iguales, sabrás que el archivo que has descargado está bien.

Por supuesto, este proceso puede hacerse manualmente o de manera automática (Steam a la hora de comprobar la integridad de los datos). Manualmente podemos hacer:

  • Windows: en el PowerShell introduce el comando get-filehash seguido de la ubicación del archivo. También puedes introducir el comando y luego arrastrar y soltar el archivo en la ventana de PowerShell. Por defecto, PowerShell utiliza SHA-256 para producir la suma de comprobación, pero puedes utilizar otros como SHA-512 o MD5. Todos ellos producirán un hash diferente, pero seguirá siendo único para ese archivo. Para utilizar una función diferente, añade el comando -algorithm seguido del código correspondiente.
  • GNU/Linux: podemos calcular el checksum de un fichero en la terminal con el comando sha256sum seguido de la ubicación del archivo.
  • macOS: los usuarios de Mac tienen que abrir la aplicación Terminal, que se encuentra en la carpeta Utilidades de Aplicaciones. El comando que hay que introducir es shasum -a 256, seguido de la dirección del archivo que quieres comprobar (o simplemente arrastrar y soltar en la ventana de Terminal).

Fuentes

  1. es.wikipedia.org
  2. medium.com
WikiVersus puede usar cookies para recopilar estadísticas, optimizar la funcionalidad del sitio y ofrecerte publicidad basada en tus intereses. Si sigues navegando estarás aceptando su uso. Más información de nuestras políticas.