Een eenrichtings-hashfunctie is een wiskundige functie die een vingerafdruk van de invoer genereert, maar er is geen manier om terug te gaan naar de oorspronkelijke invoer. Als de invoer hetzelfde is, is de hash altijd hetzelfde, als deze al verandert, zelfs met één teken, is de uitvoer-hash compleet anders. Een hash kan worden gebruikt om te verifiëren dat invoer A identiek is aan invoer B, maar kan niet worden gebruikt om de invoer terug te halen uit de uitvoer zoals met een andere wiskundige functie, encryptie.
Technipages legt eenrichtings-hashfunctie uit
De output van een one-way hash is altijd even lang, ongeacht hoe lang de input is. De uitvoer voor het hash-algoritme md5 is bijvoorbeeld altijd 32 tekens, indien weergegeven in hexadecimaal, dit is waar als de invoer één teken lang is of de lengte van het hele werk van Shakespeare.
Een hash is ideaal om te verifiëren dat twee dingen identiek zijn, dit heeft twee belangrijke toepassingen. "Integriteitsverificatie" wordt gebruikt om te verifiëren dat een gedownload bestand identiek is aan het bestand op de server door een bekende hash van het serverbestand te vergelijken met een hash van het gedownloade bestand.
Hashing-algoritmen worden ook gebruikt in databases om te controleren of de hash van het ingediende wachtwoord overeenkomt met de opgeslagen hash. Dit betekent ook dat als een hacker ongeoorloofd toegang krijgt tot de database, hij niet zelf wachtwoorden krijgt, maar zijn hashes waarmee niet direct kan worden ingelogd.
De lengte van de output van een hash-algoritme stelt limieten aan het aantal mogelijke outputs en beschrijft als zodanig de sterkte ervan tegen hash-"botsingsaanvallen". Botsingsaanvallen zijn waar twee verschillende inputs dezelfde output genereren. Het is vrij moeilijk om twee willekeurige inputs te vinden die dezelfde output genereren, het is aanzienlijk moeilijker om een botsing te vinden voor een enkele specifieke hash-output.
Veelvoorkomend gebruik van eenrichtings-hashfunctie
- Er zijn twee soorten eenrichtings-hash-algoritmen: snel en langzaam, snel wordt gebruikt voor bestandsverificatie en langzaam voor wachtwoord-hashing.
- De invoer van een eenrichtings-hash-algoritme kan niet worden bepaald door de uitvoer te analyseren of door een andere functie te laten lopen.
- Wanneer een hacker een lijst heeft met wachtwoord-hashes uit een gestolen database, berekenen ze welk eenrichtings-hash-algoritme is gebruikt en raden veel mogelijke wachtwoorden als ze kunnen, wanneer ze een uitvoer hebben die overeenkomt met een invoer in de database, weten ze dat de invoer van de gebruiker is wachtwoord.
Veelvoorkomend misbruik van eenrichtings-hashfunctie
- Een eenrichtings-hash-algoritme is een type codering en kan worden gebruikt om gegevens veilig op te slaan om ze later op te halen met behulp van een wachtwoord en een andere functie.