Hash
Každý soubor, heslo nebo zpráva může mít svůj jedinečný digitální otisk. Říká se mu hash a je to jeden z pilířů bezpečnosti na internetu. Bez hashování by útočníkům stačilo nahlédnout do databáze a přečíst si vaše heslo v čitelné podobě.
Co je hash
Hash je krátký řetězec znaků o pevné délce, který vznikne zpracováním libovolných vstupních dat hashovací funkcí. Funguje jako jedinečný digitální otisk. Vhodíte do hashovací funkce celou knihu nebo jedno heslo a na výstupu vždy dostanete řetězec o stejné délce. Tomuto procesu se říká hashování a je to jednosměrná operace. Z hashe se nedá zpětně zjistit, co bylo na vstupu.
Jak hash funguje
Hashovací funkce vezme vstupní data a pomocí matematických operací je převede na výstup pevné délky. Například algoritmus SHA-256 vždy vyprodukuje řetězec o délce 64 hexadecimálních znaků, ať už hashujete jediné písmeno, nebo celý film.
Klíčové vlastnosti hashovací funkce:
- Deterministicnost – stejný vstup vždy vytvoří stejný hash.
- Lavinový efekt – změna jediného znaku na vstupu změní celý výstup.
- Odolnost vůči kolizím – je prakticky nemožné najít dva různé vstupy se stejným hashem.
Mezi nejznámější algoritmy patří dnes již překonané MD5 a SHA-1, bezpečný standard SHA-256 (SHA-2), novější SHA-3 a specializované algoritmy pro ukládání hesel bcrypt a Argon2.
K čemu se hash používá
Bezpečné ukládání hesel. Odpovědný provozovatel webu neukládá heslo v čitelné podobě, ale pouze jeho hash. Při přihlášení systém zahashuje zadané heslo a porovná výsledek s uloženým otiskem.
Ověření integrity souborů. Vydavatel softwaru uvede u odkazu ke stažení hash souboru (checksum). Po stažení si hash spočítáte a porovnáte. Pokud se shoduje, soubor nebyl cestou pozměněn.
Digitální podpisy. Dokument se nejprve zahashuje a teprve tento krátký otisk se podepíše soukromým klíčem. Příjemce tak ověří pravost i integritu dokumentu.
Blockchain. Hash propojuje jednotlivé bloky do řetězce. Jakákoli manipulace s daty změní hash bloku, čímž se řetěz rozpadne a síť podvod odhalí.
FAQ – Často kladené otázky
Jak funguje hash?
Hash označuje krátký řetězec písmen a číslic, který vznikne tím, že proženeme vstupní data hashovací funkcí. Jde o jednosměrnou funkci. Stejný vstup vygeneruje vždy stejný hash, ale ze znalosti hashe nelze zpětně zjistit původní data.
Jaký je rozdíl mezi hashováním a šifrováním?
Hashování je jednosměrné, z hashe nezískáte původní data. Šifrování je obousměrné, zašifrovaná data lze dešifrovat správným klíčem. Hashování odpovídá na otázku „Jsou data neporušená?“, šifrování řeší „Jsou data nečitelná pro nepovolané?“.
Které hashovací algoritmy jsou dnes bezpečné?
Za bezpečné se považují SHA-256, SHA-3 a pro ukládání hesel bcrypt či Argon2. Starší MD5 a SHA-1 jsou zranitelné vůči kolizním útokům.
Související pojmy
- Šifrování (Encryption) – obousměrná metoda ochrany dat, na rozdíl od jednosměrného hashování.
- Správce hesel – nástroj, který bezpečně uchovává přihlašovací údaje; hesla v databázích bývají chráněna hashem.
- Dvoufaktorové ověření (2FA) – další vrstva zabezpečení účtu, která chrání i v případě úniku hashe hesla.
- SSL/TLS certifikát – zabezpečení internetové komunikace využívající hash pro ověření integrity dat
Zdroje
https://csrc.nist.gov/projects/hash-functions
https://csrc.nist.gov/glossary/term/cryptographic_hash_function
https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
https://cs.wikipedia.org/wiki/Kryptografická_hašovací_funkce