Hopp til innhold

Hashfunksjon

Fra Wikipedia, den frie encyklopedi
En hashfunksjon som tilordner navn til heltall fra 0 til 15. Det er en kollisjon mellom nøklene «John Smith» og «Sandra Dee».

En hashfunksjon eller avtrykksfunksjon er en hvilken som helst funksjon som kan brukes til å lage en signatur med fast størrelse av data i vilkårlig størrelse. Det finnes noen hash-funksjoner som støtter utdata med variabel lengde.[1] Verdiene som returneres av en hashfunksjon kalles hashverdier, eller rett og slett en hash.[2] Verdiene brukes vanligvis til å indeksere en tabell med fast størrelse kalt en hashtabell. Bruk av en hashfunksjon for å indeksere en hashtabell kalles hashing eller scatter-lagring.

Hashfunksjoner og tilhørende hashtabeller brukes i datalagringsapplikasjoner for å raskt kunne slå opp data. De krever lagringsplass som bare er brøkdel større enn den totale plassen som kreves for selve dataene eller postene. Hashing kan brukes som en beregnings- og lagringsplasseffektiv form for dataoppslag som i tillegg også unngår den variable oppslagstiden som mange andre datastrukturer har. Et eksempel er å finne et mønster i DNA-sekvenser.

Hash-funksjoner er relatert til (og ofte forvekslet med) kontrollsummer, kontrollsiffer, digitale fingeravtrykk, komprimering med tap, randomiseringsfunksjoner, feilkorrigerende koder og chiffer. Selv om konseptene til en viss grad overlapper hverandre har hver enkelt sine egne bruksområder og krav, og er utformet og optimalisert forskjellig. Hashfunksjonen skiller seg fra disse konseptene hovedsakelig når det gjelder dataintegritet. Hashtabeller kan bruke ikke-kryptografiske hashfunksjoner, mens kryptografiske hashfunksjoner brukes i cybersikkerhet for å sikre sensitive data som f.eks passord.[3]

Deterministisk

[rediger | rediger kilde]

En hashfunksjon må være deterministisk - for en gitt inngangsverdi må den alltid generere samme hashverdi. Det må med andre ord være en funksjon av dataene som skal hashes, i matematisk forstand av begrepet.

Referanser

[rediger | rediger kilde]
  1. ^ Aggarwal, Kirti; Verma, Harsh K. (mars 2015). «Hash_RC6 — Variable length Hash algorithm using RC6». IEEE: 450–456. ISBN 978-1-4673-6911-4. doi:10.1109/ICACEA.2015.7164747. Besøkt 29. september 2024. 
  2. ^ «NIST Glossary — hash digest». Besøkt 1. januar 2024. 
  3. ^ «How to properly store your user passwords». www.kaspersky.com (på engelsk). 26. september 2023. Besøkt 29. september 2024. 

Eksterne lenker

[rediger | rediger kilde]
Wiktionary: hash – ordbokoppføring