¿Qué es CRC-32?
CRC-32 (Cyclic Redundancy Check, 32-bit) es un algoritmo de suma de verificación rápido utilizado para detectar cambios accidentales en los datos. Produce un valor de 32 bits (8 caracteres hexadecimales) basado en la división polinómica de los datos de entrada. Comúnmente implementado en hardware y software para la verificación de errores en redes, dispositivos de almacenamiento y formatos de archivo.
Cómo funciona CRC-32
- Inicialice un registro de 32 bits con todos los bits en 1 (0xFFFFFFFF).
- Procese cada byte haciendo XOR con el byte superior del registro e indexando en una tabla de búsqueda precomputada.
- Desplace el registro 8 bits y haga XOR con el valor de la tabla.
- Repita hasta que se procesen todos los bytes.
- Finalice invirtiendo el registro (NOT a nivel de bits) para obtener el valor CRC-32.
Aplicaciones comunes
- ZIP, gzip, PNG y otros formatos de archivo para verificaciones de integridad
- Ethernet, PPP y otros protocolos de red
- Dispositivos de almacenamiento como HDD, SSD y controladores RAID
- Verificación de archivos y comprobación de integridad de descargas
Sumas de verificación de ejemplo
Input | CRC-32 |
---|---|
Hola Mundo | 4a17b156 |
password | 477dff2a |
test123 | c4b96aea |
(vacío) | 00000000 |
CRC-32 vs. otras sumas de verificación y hashes
Algorithm | Output | Resistencia a colisiones | Speed |
---|---|---|---|
CRC-32 | 32 bits | ❌ Baja | ⚡ Muy rápido |
MD5 | 128 bits | ❌ Roto | ⚡ Rápido |
SHA-1 | 160 bits | ❌ Comprometido | ⚡ Rápido |
SHA-256 | 256 bits | ✅ Seguro | 🚀 Moderado |
BLAKE3 | 256 bits | ✅ Muy seguro | ⚡ Fulminante |
Preguntas frecuentes
¿Es CRC-32 seguro para uso criptográfico?
No. CRC-32 está diseñado para la detección de errores, no para seguridad. Es vulnerable a colisiones intencionales.
¿Por qué usar CRC-32 en lugar de un hash criptográfico?
CRC-32 es mucho más rápido y suficiente para detectar errores accidentales, pero no debe usarse para aplicaciones críticas de seguridad.
¿Cómo puedo verificar la descarga de un archivo?
Genere la suma de verificación CRC-32 del archivo descargado y compárela con el valor publicado para garantizar la integridad.