En hashfunktion är en omvandling som tar en variabel storlek indata och returnerar denna sträng i form av fast storlek som kallas hashvärdet h (det vill säga, h = H (m)). Alla ändringar i indata kommer (med mycket hög sannolikhet) ändra hashvärdet. Hash- funktioner med den här egenskapen har en mängd allmänna beräkningsanvändningar, men när de används i kryptografi är dessa hashfunktioner oftast valda för att tillföra ytterligare egenskaper.
De grundläggande kraven för en kryptografisk hashfunktion är:
Hashvärdet representerar koncist det längre meddelandet eller dokumentet från vilket det har beräknats. Man kan tänka på ett meddelandesammandrag som "digitala fingeravtryck" av större dokument.
Den viktigaste rollen i en kryptografisk hashfunktion är att tillhandahålla digitala signaturer. Dessutom kan ett sammandrag offentliggöras utan att avslöja innehållet i dokumentet från vilket det härrör.