Obsah

CRC32 (Cyclic Redundancy Check)

CRC32 je kontrolní kód, který slouží k ověření, zda jsou data (soubor nebo síťový paket) kompletní a nepoškozená. Funguje na principu polynomiálního dělení, jehož výsledkem je pevné 32bitové číslo (8 hexadecimálních znaků), které slouží jako „otisk“ daných dat.


Jak CRC32 funguje v praxi?

Celý proces probíhá ve třech krocích:

1. **Výpočet u zdroje:** Před odesláním souboru (nebo jeho uložením) algoritmus projde všechna data a vypočítá jejich CRC32 kód (např. ''A1B2C3D4''). Tento kód se přibalí k datům.
2. **Přenos/Uložení:** Data putují sítí nebo se zapisují na disk.
3. **Kontrola u příjemce:** Příjemce vezme doručená data a znovu na nich spustí stejný výpočet. 
   * Pokud se nový výsledek shoduje s kódem ''A1B2C3D4'', data jsou v pořádku.
   * Pokud se liší (byť jen o jeden bit), znamená to, že data byla cestou poškozena.

Klíčové vlastnosti


Kde se s CRC32 setkáte?

Oblast Použití
Archivace Soubory ZIP, RAR a 7z ukládají CRC32 pro každý soubor. Pokud vidíte chybu „CRC Error“, soubor je poškozen.
Sítě Ethernet a Wi-Fi používají CRC k ověření, zda se paket cestou vzduchem nebo kabelem „nerozsypal“.
Úložiště Tabulka GPT používá CRC32 k ochraně integrity informací o oddílech disku.
Programování Rychlé porovnávání souborů (pokud mají různé CRC, jsou zaručeně jiné).

CRC32 vs. Kryptografické haše (MD5, SHA-256)

Je důležité neplést si CRC32 se zabezpečením.


Matematický princip (Zjednodušeně)

Data jsou vnímána jako jedno obrovské binární číslo. Toto číslo se vydělí pevně daným „generujícím polynomem“. Zbytek po tomto dělení (modulo) je výsledné CRC. Je to podobné, jako byste kontrolovali součet nákupu tím, že se podíváte jen na poslední cifru výsledné ceny.


Související pojmy: Parita, GPT, ZIP, Algoritmus, Binární soustava, Hexadecimální soustava.