¿Qué es CRC-32?
CRC-32 (Comprobación de Redundancia Cíclica, 32 bits) es un algoritmo rápido de suma de comprobación 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
- Inicializar un registro de 32 bits con todos los bits en 1 (0xFFFFFFFF).
- Procesar cada byte haciendo XOR con el byte superior del registro e indexando en una tabla de búsqueda precomputada.
- Desplazar el registro 8 bits y hacer XOR con el valor de la tabla.
- Repetir hasta que se procesen todos los bytes.
- Finalizar invirtiendo el registro (NOT bit a bit) 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 comprobaciones de integridad de descargas
Ejemplos de sumas de comprobación
Entrada | CRC-32 |
---|---|
Hello, World! | 1c291ca3 |
password | 477dff2a |
123456789 | cbf43926 |
(vacío) | 00000000 |
CRC-32 vs. otros algoritmos
Algoritmo | Salida | Resistencia a colisiones | Velocidad |
---|---|---|---|
CRC-32 | 32 bits | ❌ Baja | ⚡ Muy rápida |
MD5 | 128 bits | ❌ Roto | ⚡ Rápida |
SHA-1 | 160 bits | ❌ Comprometida | ⚡ Rápida |
SHA-256 | 256 bits | ✅ Segura | 🚀 Moderada |
BLAKE3 | 256 bits | ✅ Muy segura | ⚡ Muy rápida |
Preguntas frecuentes
¿Es seguro usar CRC-32 para fines criptográficos?
No. CRC-32 está diseñado para la detección de errores, no para la 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 una descarga de archivo?
Genere la suma de comprobación CRC-32 del archivo descargado y compárela con el valor publicado para garantizar la integridad.