MD4 Hash-codecalculator
Gepubliceerd: 16 februari 2025 om 22:53:05 UTC
Hashcodecalculator die de hashfunctie van Message Digest 4 (MD4) gebruikt om een hashcode te berekenen op basis van tekstinvoer of geüpload bestand.MD4 Hash Code Calculator
MD4 (Message Digest 4) is een cryptografische hashfunctie die in 1990 door Ronald Rivest is ontworpen. Het produceert een vaste 128-bit (16-byte) hashwaarde van een invoer van willekeurige lengte. MD4 wordt nu als cryptografisch gebroken beschouwd vanwege kwetsbaarheden die botsingsaanvallen (het vinden van twee verschillende invoeren die dezelfde hash produceren) mogelijk maken, dus het zou niet gebruikt moeten worden bij het ontwerpen van nieuwe systemen. Het is hier opgenomen voor het geval dat men een achterwaarts compatibele hashcode moet genereren.
Full disclosure: Ik heb de specifieke implementatie van de hashfunctie die op deze pagina wordt gebruikt niet geschreven. Het is een standaardfunctie die wordt meegeleverd met de programmeertaal PHP. Ik heb alleen de webinterface gemaakt om hem hier voor het gemak publiekelijk beschikbaar te maken.
Over het MD4-hashalgoritme
Ik ben geen wiskundige, dus ik zal proberen deze hashfunctie op een manier uit te leggen die ook de niet-wiskundigen kunnen begrijpen ;-) Als je de voorkeur geeft aan een meer wiskundige uitleg, kun je die op tal van andere websites vinden.
Oké, beschouw MD4 als een speciale papierversnipperaar. Maar in plaats van papier te versnipperen, "versnippert" het elk bericht (zoals een brief, een wachtwoord of een boek) in een klein, vaststaand ontvangstbewijs. Hoe groot of klein uw bericht ook is, deze versnipperaar geeft u altijd een klein ontvangstbewijs dat precies 16 bytes (128 bits) lang is, of 32 tekens in hexadecimale vorm.
Om het bericht correct te versnipperen, moet u vier stappen doorlopen:
Stap 1: Het bericht voorbereiden
- Voordat u het papier gaat versnipperen, moet u ervoor zorgen dat het perfect in de versnipperaar past.
- Als uw bericht te kort is, voegt u wat extra lege ruimte toe (bijvoorbeeld krabbels of opvulmateriaal) zodat het papier precies past.
- Als het te lang is, verdeel je het over meerdere pagina's van dezelfde grootte.
Stap 2: Een geheime stempel toevoegen
- Nadat u het bericht hebt aangepast, voegt u aan het einde een geheime stempel toe waarop staat hoe lang het oorspronkelijke bericht was.
- Hierdoor kan de papierversnipperaar de oorspronkelijke grootte van het bericht bijhouden, ongeacht hoeveel opvulmateriaal u hebt toegevoegd.
Stap 3: Het versnipperingsproces (3 rondes magie)
- Nu gaat het bericht de versnipperaar in.
- De versnipperaar heeft 4 tandwielen (A, B, C en D) die in een speciaal patroon samendraaien.
- De tandwielen draaien 3 keer rond, waarbij ze:
- Meng de woorden
- Draai een aantal onderdelen ondersteboven
- Draai ze rond als een Rubik's kubus
- Verschillende stukken op elkaar slaan
- Met elke ronde lijkt het bericht meer en meer op een rommelige chaos die je niet meer herkent.
Stap 4: De definitieve ontvangst
- Na al het draaien, omkeren en kapotmaken spuugt de papierversnipperaar een bonnetje uit: een korte reeks cijfers en letters (de hash).
- Deze bon is altijd even lang, ongeacht of u een enkel woord of een heel boek versnippert!
Helaas ontdekten mensen in de loop van de tijd dat deze magische versnipperaar niet perfect is. Een paar slimmeriken kwamen erachter hoe ze de versnipperaar konden misleiden om dezelfde bon te geven voor twee verschillende berichten (dit wordt een botsing genoemd) en hoe ze konden voorspellen hoe de tandwielen zouden draaien en het vervolgens konden gebruiken om valse bonnen te maken. Hierdoor wordt MD4 niet langer als veilig beschouwd voor belangrijke zaken.