En hashfunktion knytter data af enhver størrelse til en værdi med fast størrelse. Det samme input producerer altid det samme output. Ændr én bit, og outputtet ændres fuldstændigt. Denne egenskab gør hash-værdier nyttige til integritetstjek. Download en fil, og sammenlign dens hash med den publicerede værdi. Hvis de matcher, ankom filen intakt. Hvis ikke, har noget ændret den.
Hashfunktioner er ensrettede. Du kan ikke arbejde baglæns fra en hash til de originale data. Det gør dem nyttige til lagring af adgangskoder. Systemer gemmer hashen af en adgangskode, ikke selve adgangskoden. Når du logger ind, hasher systemet det, du skrev, og sammenligner det med den gemte hash. Hvis databasen lækker, får angriberen hashes, ikke adgangskoder. Svage adgangskoder kan stadig knækkes med rainbow-tabeller eller brute force, hvilket er grunden til, at salting er vigtigt. Et salt er tilfældige data, der tilføjes til hver adgangskode før hashing, så identiske adgangskoder producerer forskellige hashes. SHA-256 og SHA-3 er almindelige kryptografiske hashes. MD5 og SHA-1 er ødelagte og bør ikke bruges til sikkerhed. Hashfunktioner driver også blockchains, digitale signaturer og fildeduplikering.
Egenskaber for hashfunktionen
- Deterministisk — samme input, samme output
- Hurtig — hurtig at beregne
- Modstandsdygtig over for billeddannelse — kan ikke vendes
- Kollisionsbestandig — svært at finde to input med samme hash
En hash er et fingeraftryk, ikke kryptering. Det beviser integritet. Det skjuler ikke data.
Comments
No comments yet. Be the first to share a thought.
Leave a comment