Hašovací funkce je transformace, která zpracovává bloky vstupních dat m o různé velikosti a vrací řetězec pevné velikosti, který se nazývá hodnota haše h (tedy platí, že h = H(m)). Jakákoliv změna vstupních dat bude mít (s velmi vysokou pravděpodobností) za následek změnu hodnoty haše. Hašovací funkce právě s touto vlastností mají nejrůznější uplatnění v obecných výpočetních aplikacích, ale pokud se využívají v kryptografii, jsou hašovací funkce obvykle voleny tak, aby měly nějaké další důležité vlastnosti.
Základní požadavky kladené na kryptografickou hašovací funkce jsou následující:
Hodnota haše představuje zhuštěnou podobu delší zprávy nebo dokumentu, ze kterého byl vypočítán. O tomto stručném výtahu můžeme uvažovat jako o „digitálním otisku“ většího dokumentu.
Hlavní využití kryptografické hašovací funkce leží v oblasti poskytování digitálních podpisů. Kromě toho lze tento otisk zveřejnit, aniž by byl vyzrazen samotný obsah dokumentu, z něhož je odvozen.