Hašovací funkce Flashcards
Vlastnosti, princip, použití, kolize, odolnost proti kolizím, příklady. (3 cards)
Hašovací funkce
Hašovací funkce jsou základním nástrojem v kryptografii a informatice, které slouží k převodu vstupních dat libovolné délky na výstup pevné délky. Tento výstup se nazývá hash nebo digest.
Hashovací funkce slouží k vyjádření reprezentace dat pomocí krátkého řetězce. Jejími požadavky jsou jednosměrnost (z hashe nelze získat původní data), bezkoliznost (vytvořit dva soubory se stejným otiskem je velmi obtížné až nemožné) a rychlost.
Deterministická povaha: Pro stejný vstup musí vždy produkovat stejný výstup (hash).
Rychlost výpočtu: Hašovací funkce by měla být rychlá a efektivní, aby umožnila rychlé zpracování velkých dat.
Odolnost proti kolizím: Je obtížné najít dva různé vstupy , které dávají stejný hash.
Odolnost proti prvnímu a druhému preimage.
Distribuce: Hash by měl být rovnoměrně rozložen po celém výstupním prostoru, aby minimalizoval pravděpodobnost kolizí.
Nezpětnost: Z hashovací hodnoty nelze jednoduše odvodit původní vstup.
Hašovací funkce - Konstrukce, využití, kolize.
Konstrukce: Jedním ze způsobů je rozdělení na 𝑛-bitové bloky, které jsou zpracovány XOR. Také je možné bloky řetězit.Před
vstupem do iteračního procesu se zarovnává poslední blok a přidává se za ním blok s délkou zprávy.
Využití: Zkrácení zprávy na její otisk pro digitální podpisy, autentizace, zrychlené vyhledávání v databázích, hesla, PRNG, ukládání hesel (místo hesla uchovám jeho hash)
Kolize: Na běžné současné hashovací funkce neexistují způsoby, jakými by šla původní data získat.
Proto je nutné použít útok hrubou silou a zkoušet jeden vstup za druhým. Kolize nastává, když dva různé vstupy produkují stejný hash. To může být důsledkem: Nedostatečné délky výstupu (např. 32bitová hashovací funkce je náchylná k častým kolizím). Slabého návrhu hašovací funkce.
Hašovací funkce - Příklady
MD5 - Délka vstupu 1287 bitů. Zastaralá kvůli zranitelnosti a náchylnosti vůči kolizím.
SHA - 1 Délka vstupu 160 bitů. Slabá, kvůli kolizím..
SHA - 256 (z rodiny SHA-2) Délka vstupu 256 bitů. Standardní a široce používaná.
SHA - 3 Délka vstupu je flexibilní (224,256,384,512 bitů). Využívá algorytmus Keccak (“princip houby”). Keccak v roce 2012 vyhrál soutěž NIST o novou hashovací funkci → stal se SHA-3. Není jen náhrada SHA-2, ale alternativa s jinou vnitřní strukturou.