Računalniški programerji že desetletja uporabljajo funkcije zgoščevanja. Te funkcije se običajno uporabljajo na področjih varnosti, dostopa do podatkov ali preverjanja veljavnosti podatkov. Algoritem zgoščevanja je matematična funkcija, ki pretvori niz znakov spremenljive dolžine v fiksno številsko vrednost. Danes je na voljo več vrst algoritmov. Vsaka vrsta je zasnovana za določen namen.
Hash funkcija je matematična funkcija, ki ustvari zgoščeno vrednost iz niza znakovnih nizov. Pri ustvarjanju zgoščevalne funkcije je pomembno, da se zaščitite pred zgoščenimi kolizijami. Na žalost lahko algoritem zgoščevanja ustvari isto vrednost zgoščevanja z drugačnim naborom znakovnih podatkov. To bo povzročilo kolizijo, ker bosta imela dva niza podatkov enak ključ.
Šifriranje podatkov je eden od glavnih zaščitnih ukrepov pred vsiljivci in zlonamernimi dejavnostmi. Znanost o šifriranju podatkov je znana kot kriptografija. Algoritem zgoščevanja je računalniška funkcija, ki pretvori standardne podatke v šifrirano obliko. Danes je na voljo veliko varnostnih vrst algoritmov zgoščevanja. Vsaka funkcija ima zaradi varnosti drugačno stopnjo kompleksnosti.
Tehnika zgoščevanja je bila najprej ustvarjena kot metoda za izboljšanje zmogljivosti v računalniških sistemih. Hash vrednost je številčna predstavitev znakov podatkov. Številčni podatki imajo hitrejše lastnosti obdelave pri iskanju po datotekah podatkov. Številne komercialne baze podatkov uporabljajo hash datoteke kot metodo za indeksiranje podatkov v sistemu za upravljanje baz podatkov (DBMS).
Postopek zgoščevanja je bil uporabljen tudi kot metoda zaščite občutljivih računalniških podatkov. Zgoščeni podatki zahtevajo šifrirni program za pretvorbo zgoščenih podatkov nazaj v obliko, ki jo je mogoče razumeti s človeško interpretacijo. Skoraj nemogoče je dešifrirati šifrirano podatkovno datoteko brez izvirnega algoritma zgoščevanja.
Napredni algoritem zgoščevanja zahteva posebne ključe, ki se uporabljajo za šifriranje in dešifriranje podatkov. Ti ključi so skrivna sestavina za kompleksno šifriranje. Šifrirski ključ je lahko v razponu od 64 bitov do 256 bitov. Ko se velikost bitov poveča, postane zapletenost algoritma zgoščevanja težje razbiti.
Algoritme kriptografije in zgoščevanja upravlja Nacionalni inštitut za standarde in tehnologijo (NIST). Ta skupina upravlja standarde za funkcije šifriranja za uporabo v vladi Združenih držav. Trenutno definiran standard je napredni standard šifriranja (AES), ki zahteva 256-bitni ključ.