Samodetekující kód

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání

Samodetekující kódy slouží k jednoduchému ověření správnosti zadaných dat. Princip je založen na tom, že zadaná data jsou (buď rovnou, nebo po určité matematické operaci) dělitelná daným číslem, nejčastěji bývá voleno 11 (tzv. jedenáctkový samodetekující kód). Daný dělitel by měl splňovat několik kritérií:

  • dvoucifernost (aby se dala vždy odhalit chyba zadaná v jediné cifře)
  • prvočíselnost

Čím vyšší dělitel se zvolí, o to delší bude výsledný kód, ale také vyšší pravděpodobnost odhalení chyby. U jedenáctkového samodetekujícího kódu je zaručeno, že při zadání jedné cifry chybně bude omyl odhalen, u dvou špatně zadaných cifer už je pravděpodobnost odhalení pouze 10/11.

Při kontrole parity je výše volené prvočíslo 2.

Kódy určené pro počítačové zpracování používají často jiné, i podstatně složitější principy. Například kryptografické hašovací funkce.

Konkrétní aplikace[editovat | editovat zdroj]

Všechna rodná čísla vytvořená od roku 1986 včetně jsou dělitelná jedenácti (poslední čtyři číslice jsou voleny tak, aby každé rodné číslo tuto vlastnost splňovalo). Na podobném principu ( ne nutně delitelnosti 11) jsou ošetřeny všechny ISBN a ISSN kódy, čísla bankovních účtů a platebních karet a některé čárové kódy, např. EAN-13.

Nedostatky[editovat | editovat zdroj]

U samodetekujících kódů je možné ověřit správnost dat, při odhalení chyby ale není možné zjistit původní informaci. Tento nedostatek je odstraněn u samoopravných kódů, které dovolují při dostatečně malém poškození zrekonstruovat původní data. V obou případech jsou dodatečné informace redundantní, tj. nepřenášejí užitečná data a tím pádem snižují efektivitu záznamu dat nebo přenosu.