En hash-funksjon mapper data av en hvilken som helst størrelse til en verdi med fast størrelse. Samme input produserer alltid samme output. Endre én bit, og output endres fullstendig. Denne egenskapen gjør hash-er nyttige for integritetskontroller. Last ned en fil og sammenlign hash-en med den publiserte verdien. Hvis de samsvarer, ankom filen intakt. Hvis ikke, har noe endret den.
Hash-funksjoner er enveis. Du kan ikke jobbe bakover fra en hash til de opprinnelige dataene. Det gjør dem nyttige for passordlagring. Systemer lagrer hashen til et passord, ikke selve passordet. Når du logger inn, hasher systemet det du skrev inn og sammenligner det med den lagrede hashen. Hvis databasen lekker, får angriperen hasher, ikke passord. Svake passord kan fortsatt knekkes med regnbuetabell eller brute force, og det er derfor salting er viktig. Et salt er tilfeldige data som legges til hvert passord før hashing, så identiske passord produserer forskjellige hasher. SHA-256 og SHA-3 er vanlige kryptografiske hasher. MD5 og SHA-1 er ødelagte og bør ikke brukes til sikkerhet. Hash-funksjoner driver også blokkjeder, digitale signaturer og fildeduplisering.
Egenskaper for hash-funksjonen
- Deterministisk – samme inngang, samme utgang
- Rask – rask å beregne
- Førbildebestandig – kan ikke reverseres
- Kollisjonssikker – vanskelig å finne to innganger med samme hash
En hash er et fingeravtrykk, ikke kryptering. Den beviser integritet. Den skjuler ikke data.
Comments
No comments yet. Be the first to share a thought.
Leave a comment