Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
Hashovací funkce je reprodukovatelná metoda pro převod vstupních dat do (relativně) malého čísla, které vytváří jejich otisk (můžeme ho označit jako charakteristika dat). Výsledný otisk se označuje také jako výtah, miniatura, fingerprint či hash (česky též někdy jako haš). Funkce může sloužit ke kontrole integrity dat, k rychlému porovnání dvojice zpráv, indexování, vyhledávání apod. Je důležitou součástí kryptografických systémů pro digitální podpisy.
Obsah |
Mezi hlavní vlastnosti této funkce patří:
Formálně jde o funkci h, která převádí vstupní posloupnost bitů (či bytů) na posloupnost pevné délky n bitů.

kde |D| > |R|.
Z definice plyne existence kolizí, to znamená dvojic vstupních dat (x,y), x≠y, takových, že h(x) = h(y), tj. dvojice různých vstupních dat může mít stejný otisk. Kolize jsou nežádoucí, ale v principu se jim nelze úplně vyhnout. Lze jen snižovat pravděpodobnost, že nastane kolize pro podobná data, například při náhodné změně v části vstupní posloupnosti. Cílem je tedy dosáhnout co nejvyšší pravděpodobnosti, že dvě zprávy se stejným hashem (hešem) jsou stejné.
Dokonalé hašování (perfect hashing) je specifická varianta hašování, kterou lze použít tehdy, známe-li předem všechny platné klíče. Pak můžeme pro tuto množinu klíčů sestavit takovou hašovací funkci, která zcela vyloučí kolize.