Probablemente haya visto una cadena hash o un valor de suma de comprobación durante una actualización de software o una descarga de archivo. Parece ruido aleatorio: una larga cadena de dígitos hexadecimales o un número corto adjunto a un archivo. Pero cumple un propósito vital. Es una huella digital. Si cambia incluso un solo bit de datos, esa huella digital cambia por completo. Este mecanismo garantiza que lo que descargó sea exactamente lo que se envió, hasta el último byte.
Las dos formas más comunes de lograr esto son Sumas de verificación y Verificaciones de redundancia cíclica (CRC). Si bien suenan similares, operan según principios diferentes y atienden nichos ligeramente diferentes en el mundo de los protocolos de Internet y el almacenamiento de datos. Comprender la diferencia es importante para cualquiera que se ocupe de transferencias de archivos, tráfico de red o diagnóstico de hardware.
La suma de comprobación simple
En esencia, una suma de comprobación es un valor derivado de un bloque de datos digitales. La versión más básica es Internet Checksum utilizada en protocolos más antiguos como IPv4 y UDP. Funciona tratando los datos como una secuencia de palabras de 16 bits y sumándolas. Si hay un número impar de bytes, se agrega un byte de relleno. Entonces la suma se complementa.
Este método es rápido. Muy rápido. Pero no es particularmente sólido. Puede pasar por alto ciertos tipos de errores. Por ejemplo, si dos bytes intercambian lugares, o si un cambio de bit en una posición se compensa con un cambio de bit en otra, la suma de comprobación podría permanecer sin cambios. Es como comprobar el peso de una maleta pero ignorar su contenido. Sabes que el peso es correcto, pero no sabes si la camiseta sigue ahí o si ha sido reemplazada por una piedra del mismo peso.
Debido a estas limitaciones, hoy en día rara vez se utilizan sumas de verificación simples para comprobaciones de integridad críticas. En su mayoría, han sido reemplazados por algoritmos más robustos como CRC o hashes criptográficos como SHA-256. Sin embargo, comprender la simple suma de verificación ayuda a explicar por qué necesitamos mejores herramientas para verificar la integridad de los datos.
Ingrese la verificación de redundancia cíclica (CRC)
CRC es donde las cosas se ponen interesantes. Se basa en la división polinomial. En lugar de simplemente sumar números, CRC trata los datos como un número binario grande y los divide por un polinomio generador predefinido. El resto de esta división es el valor CRC.
Este enfoque matemático hace que CRC sea mucho mejor a la hora de detectar errores. Puede detectar todos los errores de un solo bit, todos los errores de doble bit y cualquier número impar de errores. También detecta errores de ráfaga (bits consecutivos dañados) que son comunes en canales de transmisión ruidosos. Piense en los errores de ráfaga como una falla momentánea en una señal de radio o un rasguño en un CD. CRC está diseñado para manejar estas imperfecciones del mundo real.
La variante más común es CRC-32, que produce un valor de 32 bits. Lo encontrarás en todas partes. Las tramas Ethernet, los archivos ZIP, las imágenes PNG e incluso algunos sistemas de bases de datos utilizan CRC-32. No es criptográficamente seguro (no puede usarlo para demostrar que alguien no manipuló intencionalmente sus datos), pero es excelente para la corrupción accidental.
¿Por qué te importa esto?
Es posible que no piense en CRC cuando transmite un vídeo o envía un correo electrónico. Pero está funcionando detrás de escena. Cuando descargas un parche de juego, tu sistema utiliza sumas de verificación o CRC para verificar los archivos. Si los valores no

























