Jednosměrná hašovací funkce je matematická funkce, která generuje otisk vstupu, ale neexistuje způsob, jak se vrátit k původnímu vstupu. Pokud je vstup stejný, je hash vždy stejný, pokud se vůbec změní, i o jeden znak je výstupní hash úplně jiný. Hash lze použít k ověření, že vstup A je totožný se vstupem B, ale nelze jej použít k získání vstupu zpět z výstupu jako u jiné matematické funkce, šifrování.
Technipages vysvětluje jednosměrnou hashovací funkci
Výstup jednosměrného hashe je vždy stejně dlouhý bez ohledu na to, jak dlouhý je vstup. Například výstup pro hashovací algoritmus md5 je vždy 32 znaků, pokud je reprezentován v hexadecimální, to platí, pokud je vstup dlouhý jeden znak nebo délka celého díla Shakespeare.
Hash je ideální pro ověření, že dvě věci jsou totožné, má dvě hlavní použití. „Ověření integrity“ se používá k ověření, zda je stažený soubor identický se souborem na serveru, a to porovnáním známé hodnoty hash souboru serveru s hodnotou hash staženého souboru.
Hašovací algoritmy se také používají v databázích k ověření, zda se hash zaslaného hesla shoduje s uloženým hashem. To také znamená, že pokud hacker získá neoprávněný přístup k databázi, nezíská sám hesla, ale své hash, které nelze použít k přímému přihlášení.
Délka výstupu hashovacího algoritmu nastavuje limity na to, kolik možných výstupů existuje, a jako taková popisuje jeho sílu proti hašovacím „kolizním útokům“. Kolizní útoky jsou případy, kdy dva různé vstupy generují stejný výstup. Je docela obtížné najít dva náhodné vstupy, které generují stejný výstup, je výrazně obtížnější najít kolizi pro jeden konkrétní výstup hash.
Běžná použití jednosměrné hashovací funkce
- Existují dva typy jednosměrných hašovacích algoritmů, rychlý a pomalý, rychlý se používá pro ověřování souborů a pomalý pro hašování hesel.
- Vstup jednosměrného hashovacího algoritmu nelze určit analýzou výstupu nebo jeho spuštěním pomocí jiné funkce.
- Když má hacker seznam hash hesel z odcizené databáze, zjistí, jaký jednosměrný hašovací algoritmus byl použit, a pak odhadne jako mnoho možných hesel, když mají výstup, který odpovídá záznamu v databázi, vědí, že vstup je uživatelův Heslo.
Běžná zneužití jednosměrné hashovací funkce
- Jednosměrný hashovací algoritmus je typ šifrování a lze jej použít k bezpečnému uložení dat pro pozdější načtení pomocí hesla a další funkce.