Sumas de verificación, hashes y bits de paridad
Tres herramientas que detectan errores en los datos, desde un simple bit de paridad hasta los hashes criptográficos. Qué hacen y en qué se diferencian.
Los bits de paridad, las sumas de verificación y los hashes criptográficos son tres herramientas para detectar errores en los datos, pero desempeñan trabajos muy distintos. Saber qué detecta cada uno (y qué no puede detectar) aclara una sorprendente cantidad de confusión sobre cómo funciona en realidad la integridad digital.
Todos se reducen al mismo instinto: adjuntar un poco de información adicional a tus datos para poder preguntar después «¿llegó esto intacto?». Pero un bit de paridad, una suma de verificación y un hash SHA-256 se sitúan en puntos muy diferentes del espectro de potencia y propósito. Conozcamos cada uno, veamos qué detecta y pongámoslos lado a lado. 🐾
¿Qué es un bit de paridad?
Un bit de paridad es la comprobación de errores más simple que existe: un único bit adicional que se añade a un grupo de bits para que el número total de unos sea siempre par (paridad par) o siempre impar (paridad impar). El emisor cuenta los unos, ajusta el bit de paridad para que el recuento cumpla la regla elegida y lo envía junto con los datos.
El receptor vuelve a contar. Si el recuento rompe la regla, al menos un bit se invirtió en el trayecto. Un bit de paridad detecta cualquier número impar de errores de bit —uno, tres, cinco—, pero es ciego a un número par, porque dos inversiones se cancelan y dejan el recuento con apariencia correcta. Y, algo crucial, no puede decirte cuál bit falló, así que solo puede detectar, nunca corregir. Para pasar de la detección a la reparación necesitas la disposición más ingeniosa de los códigos de Hamming.
¿Qué es una suma de verificación?
Una suma de verificación (checksum) amplía la idea. En lugar de un solo bit, calculas un pequeño valor resumen a partir de todo el mensaje —a menudo sumando sus bytes, o con un cálculo más elaborado— y envías ese valor junto con los datos. El receptor vuelve a calcular el resumen y lo compara. Una discrepancia significa corrupción.
Una suma de verificación aditiva simple detecta más que un bit de paridad, pero aún tiene puntos ciegos: los errores que casualmente se cancelan en la suma se cuelan sin ser detectados. Por eso los sistemas serios usan una variante más robusta llamada CRC (comprobación de redundancia cíclica), que emplea matemáticas polinómicas para detectar de forma fiable el tipo de errores en ráfaga que afectan a las líneas de comunicación reales. Las redes y los formatos de almacenamiento se apoyan mucho en los CRC para detectar datos dañados y provocar un reenvío, un enfoque que se explora en detección frente a corrección de errores.
¿Qué es un hash criptográfico?
Un hash criptográfico es un animal diferente con un objetivo diferente. Hace pasar los datos por una función unidireccional para producir un resumen (digest) de longitud fija: una huella digital del contenido. El antiguo MD5 produce un resumen de 128 bits; el moderno SHA-256 produce uno de 256 bits. Cambia aunque sea un solo bit de la entrada y el resumen cambia por completo y de forma impredecible.
Los hashes no van realmente sobre errores accidentales: van sobre integridad e identidad. Como es prácticamente imposible elaborar una entrada diferente con el mismo resumen SHA-256, un hash coincidente da una fuerte garantía de que un archivo es exactamente el que esperas y no ha sido manipulado. Por eso las descargas publican hashes y por eso los sistemas de control de versiones identifican el contenido por hash. Ten en cuenta que MD5 se considera ahora roto para uso de seguridad y sobrevive principalmente como una suma de verificación rápida, no de seguridad.
Una suma de verificación pregunta «¿se corrompió esto por accidente?». Un hash criptográfico pregunta «¿es esto exactamente el dato que creo que es, sin nada manipulado?». La misma forma, garantías muy diferentes.
¿Qué detecta realmente cada uno?
Lo crucial es adecuar la herramienta al trabajo. Ninguno de estos tres corrige errores; eso requiere esquemas de redundancia como Hamming o Reed–Solomon. Lo que ofrecen es detección y, en el caso del hash, verificación de identidad.
| Herramienta | Tamaño añadido | Detecta | Propósito principal | ¿Corrige errores? |
|---|---|---|---|---|
| Bit de paridad | 1 bit | Cualquier número impar de inversiones de bit | Detección barata de errores de un solo bit | No |
| Suma de verificación / CRC | Unos pocos bytes | La mayoría de los errores accidentales y en ráfaga | Detectar bloques de datos corruptos | No |
| Hash criptográfico | Resumen de tamaño fijo (p. ej. 256 bits) | Cualquier cambio, incluida la manipulación | Verificación de integridad e identidad | No |
¿Por qué estas herramientas no pueden corregir errores?
Las tres son resúmenes unidireccionales: comprimen el mensaje hasta un valor pequeño, de modo que descartan la información necesaria para reconstruir el original. Un bit de paridad te dice que un recuento no cuadra, pero no qué bit; una suma de verificación te dice que el resumen no coincide, pero no cómo arreglarlo; un hash te dice que los datos cambiaron, pero no dice nada sobre la versión correcta.
La corrección requiere más redundancia, estructurada de modo que apunte a la ubicación del error y a su valor correcto: precisamente lo que las herramientas de detección deliberadamente no llevan, para seguir siendo pequeñas. Cuando necesitas reparación y no solo una advertencia, recurres a los códigos correctores de errores, como se cubre en corrección de errores Reed–Solomon.
¿Cuál deberías usar y cuándo?
Elige según la pregunta que en realidad estás haciendo:
- «¿Se invirtió un solo bit en un grupo diminuto?» Un bit de paridad es barato y suficiente: así se usa dentro de algunas memorias y enlaces serie.
- «¿Se corrompió este bloque de datos en tránsito o en almacenamiento?» Una suma de verificación o CRC es el caballo de batalla, estándar en los paquetes de red y los formatos de archivo.
- «¿Es este exactamente el archivo que espero, sin manipular?» Un hash criptográfico como SHA-256 es la herramienta adecuada, usada para descargas, firmas y direccionamiento por contenido.
- «¿Puede reparar el daño por sí solo, sin reenvío?» Ninguno de estos: necesitas un código corrector de errores.
¿Cómo se relaciona esto con los códigos QR?
Los códigos QR se sitúan en realidad en el campo de la corrección más que en el de la detección: usan codificación Reed–Solomon para reconstruir datos dañados, no solo para señalarlos. Pero el parecido de familia es claro: un código QR añade redundancia estructurada para proteger su mensaje, el mismo instinto que hay detrás de cada bit de paridad y cada suma de verificación, solo que llevado al punto de la reparación completa. Entender a estos parientes más simples hace más fácil apreciar el enfoque del QR, como muestra nuestra guía sobre la corrección de errores de los códigos QR.
También hay un pariente cotidiano cercano que conviene conocer: el humilde dígito de control de los códigos de barras y los números de tarjeta, que es esencialmente una suma de verificación que puedes calcular a mano para detectar erratas y lecturas erróneas.
Paridad, sumas de verificación y hashes en una frase
Un bit de paridad detecta un solo bit invertido, una suma de verificación o CRC detecta bloques corruptos, y un hash criptográfico verifica la identidad e integridad exactas: tres detectores de potencia creciente, ninguno de los cuales corrige errores, todos compartiendo la idea de un pequeño valor de guarda adjunto a tus datos.
¿Con curiosidad por cómo la redundancia hace que los datos sean resistentes? Puedes crear un código QR gratis con QR Puppy y ver la protección contra errores integrada en una cuadrícula escaneable.
Preguntas frecuentes
¿Puede un bit de paridad detectar dos bits invertidos?
No. Detecta cualquier número impar de inversiones —una, tres, cinco—, pero dos inversiones se cancelan y dejan la paridad con apariencia correcta. Ese punto ciego es la razón por la que la paridad solo se usa donde los errores de un solo bit son la preocupación principal.
¿Cuál es la diferencia entre una suma de verificación y un hash?
Una suma de verificación es un resumen ligero pensado para detectar corrupción accidental, mientras que un hash criptográfico está diseñado para verificar la identidad exacta y resistir la manipulación deliberada. Los hashes son mucho más robustos y grandes, pero más lentos de calcular, y ambos se limitan a detectar en lugar de corregir.
¿Sigue siendo seguro usar MD5?
No para seguridad. MD5 se considera roto porque los atacantes pueden elaborar entradas diferentes con el mismo resumen, así que usa SHA-256 para cualquier cosa que implique confianza. MD5 solo perdura como una comprobación de integridad rápida, no de seguridad.
¿Las sumas de verificación y los hashes corrigen errores?
No, solo detectan que algo cambió. Reparar el daño sin un reenvío requiere un código corrector de errores como Hamming o Reed–Solomon, que lleva redundancia adicional específicamente para la reconstrucción.
¿Cuál de estos usan los códigos QR?
Los códigos QR van más allá de la simple detección y usan la corrección de errores Reed–Solomon para reconstruir datos dañados. La misma idea de fondo —adjuntar redundancia estructurada para proteger un mensaje— los conecta con los bits de paridad y las sumas de verificación.
Crea un código QR de forma honesta 🐾
Gratis para siempre, sin rastreo, sin caducidad — generado en tu propio navegador.