Računalni programeri već desetljećima koriste funkcije raspršivanja. Te se funkcije obično koriste u područjima sigurnosti, pristupa podacima ili provjere valjanosti podataka. Algoritam raspršivanja je matematička funkcija koja pretvara niz znakova promjenjive duljine u fiksnu brojčanu vrijednost. Danas postoji više vrsta algoritama. Svaka vrsta je dizajnirana za određenu svrhu.
Hash funkcija je matematička funkcija koja stvara hash vrijednost iz skupa znakovnih nizova. Prilikom izrade hash funkcije važno je zaštititi se od sudara raspršivanja. Nažalost, algoritam za raspršivanje može stvoriti istu hash vrijednost s različitim skupom znakovnih podataka. To će uzrokovati koliziju jer će dva skupa podataka imati isti hash ključ.
Šifriranje podataka jedna je od primarnih mjera zaštite od uljeza i zlonamjernih aktivnosti. Znanost o šifriranju podataka poznata je kao kriptografija. Algoritam raspršivanja je računalna funkcija koja pretvara standardne podatke u šifrirani format. Danas postoji mnogo sigurnosnih vrsta algoritama za raspršivanje. Svaka funkcija ima različitu razinu složenosti u svrhu sigurnosti.
Tehnika raspršivanja je prvo stvorena kao metoda poboljšanja performansi u računalnim sustavima. Hash vrijednost je numerički prikaz znakova podataka. Numerički podaci imaju karakteristike brže obrade pri pretraživanju datoteka s podacima. Mnoge komercijalne baze podataka koriste hash datoteke kao metodu indeksiranja podataka unutar sustava upravljanja bazom podataka (DBMS).
Proces hashiranja također se koristio kao metoda zaštite osjetljivih računalnih podataka. Raspršeni podaci zahtijevaju program za šifriranje za pretvaranje hash podataka natrag u format koji se može razumjeti ljudskom interpretacijom. Gotovo je nemoguće dešifrirati šifriranu podatkovnu datoteku bez izvornog algoritma za raspršivanje.
Napredni algoritam za raspršivanje zahtijeva posebne ključeve koji se koriste za šifriranje i dešifriranje podataka. Ovi ključevi su tajni sastojak za stvaranje složene enkripcije. Ključ za šifriranje može biti u rasponu od 64 bita do 256 bita. Kako se veličina bitova povećava, složenost algoritma za raspršivanje postaje sve teže razbiti.
Kriptografijom i algoritmima za raspršivanje upravlja Nacionalni institut za standarde i tehnologiju (NIST). Ova grupa upravlja standardima za funkcije šifriranja za upotrebu u vladi Sjedinjenih Država. Trenutno definirani standard je napredni standard enkripcije (AES), koji zahtijeva 256-bitni ključ.