Zum Inhalt springen
uencoder

CRC32

CRC32 ist eine 32-Bit-Cyclic-Redundancy-Check-Prüfung auf Basis der Polynomdivision über GF(2), die Übertragungsfehler erkennt — kein kryptografischer Hash.

Zweck

Erkennt Burst-Fehler effizient für die Datenintegrität — nicht für die Sicherheitsauthentifizierung.

Mechanismus

Der Eingangsbitstrom wird als Polynom über GF(2) betrachtet und durch ein Generatorpolynom (z. B. 0x04C11DB7) dividiert; der Rest ist das 32-Bit-CRC. Verschiedene Polynome (IEEE, Castagnoli usw.) haben unterschiedliche Erkennungseigenschaften. CRC32C (Castagnoli) bietet bessere Leistung und Erkennung.

Anwendungsfälle

  • ZIP/GZIP-Dateiprüfung
  • Ethernet-FCS
  • SSE/AVX-beschleunigte Checksums
  • iSCSI-Datenintegrität

Beispiele

  • Eingabe
    hello
    Output
    0x3610a686

    IEEE 802.3 polynomial

Häufige Fehler

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

Verwandte Begriffe

Verwandte Tools

References