Wat is CRC-32?
CRC-32 (Cyclic Redundancy Check, 32-bit) is een snel checksum-algoritme dat wordt gebruikt om toevallige wijzigingen in gegevens te detecteren. Het produceert een 32-bit waarde (8 hex tekens) gebaseerd op polynomiale deling van de invoergegevens. Vaak geïmplementeerd in hardware en software voor foutcontrole in netwerken, opslagapparaten en bestandsformaten.
Hoe CRC-32 werkt
- Initialiseer een 32-bit register met allemaal 1-en (0xFFFFFFFF).
- Verwerk elke byte door deze te XOR-en met de bovenste byte van het register en indexeer in een vooraf berekende lookup-tabel.
- Schuif het register 8 bits en XOR met de tabelwaarde.
- Herhaal totdat alle bytes zijn verwerkt.
- Finaliseer door het register te inverteren (bitwise NOT) om de CRC-32 waarde te verkrijgen.
Veelvoorkomende toepassingen
- ZIP, gzip, PNG en andere bestandsformaten voor integriteitscontroles
- Ethernet, PPP en andere netwerkprotocollen
- Opslagapparaten zoals HDD, SSD en RAID-controllers
- Archiefverificatie en download integriteitscontroles
Voorbeeld checksums
Input | CRC-32 |
---|---|
Hello World | 4a17b156 |
password | 477dff2a |
test123 | c4b96aea |
(leeg) | 00000000 |
CRC-32 versus andere checksums en hashes
Algorithm | Output | Botsingsbestendigheid | Speed |
---|---|---|---|
CRC-32 | 32 bits | ❌ Laag | ⚡ Zeer snel |
MD5 | 128 bits | ❌ Gebroken | ⚡ Snel |
SHA-1 | 160 bits | ❌ Gecompromitteerd | ⚡ Snel |
SHA-256 | 256 bits | ✅ Veilig | 🚀 Gemiddeld |
BLAKE3 | 256 bits | ✅ Zeer veilig | ⚡ Razendsnel |
Veelgestelde vragen
Is CRC-32 veilig voor cryptografisch gebruik?
Nee. CRC-32 is ontworpen voor foutdetectie, niet voor beveiliging. Het is kwetsbaar voor opzettelijke botsingen.
Waarom CRC-32 gebruiken in plaats van een cryptografische hash?
CRC-32 is veel sneller en voldoende voor het detecteren van toevallige fouten, maar het mag niet worden gebruikt voor beveiligingskritische toepassingen.
Hoe kan ik een bestand downloaden verifiëren?
Genereer de CRC-32 checksum van het gedownloade bestand en vergelijk deze met de gepubliceerde waarde om de integriteit te waarborgen.