Saltar al contenido
uencoder

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
    hello
    Output
    0x3610a686

    IEEE 802.3 polynomial

Errores comunes

Using CRC32 for cryptographic authentication (not collision resistant)
Use HMAC-SHA256 for authentication

Términos relacionados

Herramientas relacionadas

References