CRC32
CRC32 es una comprobación de redundancia cíclica de 32 bits basada en la división de polinomios sobre GF(2), usada para detectar errores de transmisión; no es un hash criptográfico.
Propósito
Detecta eficientemente errores en ráfaga para la integridad de datos; no sirve para autenticación de seguridad.
Mecanismo
El flujo de bits de entrada se trata como un polinomio sobre GF(2) y se divide por un polinomio generador (p. ej. 0x04C11DB7); el resto es el CRC de 32 bits. Distintos polinomios (IEEE, Castagnoli, etc.) tienen distintas propiedades de detección. CRC32C (Castagnoli) ofrece mejor rendimiento y detección.
Casos de uso
- Verificación de archivos ZIP/GZIP
- FCS de tramas Ethernet
- Checksums acelerados con SSE/AVX
- Integridad de datos iSCSI
Ejemplos
- entrada
helloOutput0x3610a686IEEE 802.3 polynomial
Errores comunes
- Using CRC32 for cryptographic authentication (not collision resistant)
- Use HMAC-SHA256 for authentication
Términos relacionados
Adler-32
Adler-32 es una suma de verificación de 32 bits diseñada por Mark Adler, más rápida que CRC32 pero con capacidad de detección ligeramente inferior, utilizada para verificar flujos comprimidos zlib. GLOSARIO
MD5
MD5 es una función hash criptográfica de 128 bits diseñada por Ronald Rivest; demostrada insegura por ataques de colisión, hoy solo se usa para fines no de seguridad como checksums. GLOSARIO
SHA-256
SHA-256 es el miembro de la familia SHA-2 con salida de 256 bits, muy usado en TLS, blockchains y aplicaciones criptográficas, sin ataques prácticos conocidos. GLOSARIO