Hašovací funkce mapuje data libovolné velikosti na hodnotu pevné velikosti. Stejný vstup vždy produkuje stejný výstup. Změnou jednoho bitu se výstup úplně změní. Tato vlastnost dělá hash funkce užitečnými pro kontroly integrity. Stáhněte si soubor a porovnejte jeho hash s publikovanou hodnotou. Pokud se shodují, soubor dorazil v pořádku. Pokud ne, něco ho změnilo.
Hašovací funkce jsou jednosměrné. Nelze se zpětně vrátit od hashe k původním datům. Díky tomu jsou užitečné pro ukládání hesel. Systémy ukládají hash hesla, nikoli samotné heslo. Když se přihlásíte, systém hashuje zadaný text a porovná ho s uloženým hashem. Pokud dojde k úniku dat z databáze, útočník získá hashe, nikoli hesla. Slabá hesla lze stále prolomit pomocí duhových tabulek nebo hrubou silou, a proto je solení důležité. Salt jsou náhodná data přidaná ke každému heslu před hashováním, takže identická hesla produkují různé hashe. SHA-256 a SHA-3 jsou běžné kryptografické hashe. MD5 a SHA-1 jsou prolomitelné a neměly by se používat k zabezpečení. Hašovací funkce také podporují blockchainy, digitální podpisy a deduplikaci souborů.
Vlastnosti hašovací funkce
- Deterministický – stejný vstup, stejný výstup
- Rychlý – rychlý výpočet
- Odolné vůči preimage – nelze obrátit
- Odolnost proti kolizím – obtížné najít dva vstupy se stejným hashem
Hash je otisk prstu, nikoli šifrování. Prokazuje integritu. Neskrývá data.
Comments
No comments yet. Be the first to share a thought.
Leave a comment