RIPEMD-160 Hashcodecalculator
Gepubliceerd: 18 februari 2025 om 21:40:24 UTC
Hashcodecalculator die gebruikmaakt van de RACE Integrity Primitives Evaluation Message Digest 160 bit (RIPEMD-160) hashfunctie om een hashcode te berekenen op basis van tekstinvoer of geüpload bestand.RIPEMD-160 Hash Code Calculator
RIPEMD-160 is een cryptografische hashfunctie die een invoer (of bericht) neemt en een uitvoer met een vaste grootte van 160 bits (20 bytes) produceert, die doorgaans wordt weergegeven als een hexadecimaal getal van 40 tekens.
RIPEMD (RACE Integrity Primitives Evaluation Message Digest) is een familie van cryptografische hashfuncties die zijn ontworpen om data-integriteit te bieden via hashing. Het werd halverwege de jaren 90 ontwikkeld als onderdeel van het RACE-project (Research and Development in Advanced Communications Technologies in Europe) van de EU.
De 160-bitsversie van RIPEMD wordt nog steeds als veilig beschouwd en is de meest gebruikte variant. Het meest bekend is misschien wel Bitcoin, waar het samen met SHA-256 wordt gebruikt om adressen te 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 RIPEMD-160-hashalgoritme
Ik ben geen wiskundige of cryptograaf, maar ik zal proberen uit te leggen hoe deze hashfunctie werkt op een manier die niet-wiskundigen kunnen begrijpen. Als je liever de wetenschappelijk exacte, volledige wiskundige uitleg wilt, dan weet ik zeker dat je die op veel andere websites kunt vinden ;-)
RIPEMD gebruikt een Merkle-Damgård-constructie, wat iets is dat het gemeen heeft met de SHA-2-familie van hash-algoritmen. Ik heb die beschreven als vergelijkbaar werkend met een blender op andere pagina's, en hetzelfde geldt voor RIPEMD:
Stap 1 - Voorbereiding (gegevens opvullen)
- Ten eerste zorgt RIPEMD ervoor dat de "ingrediënten" perfect in de blender passen. Als dat niet zo is, voegt het wat extra "vulmiddel" toe om het af te ronden (dit is als het opvullen van de data).
Stap 2 - Blender starten (initialisatie)
- De blender start met een specifieke instelling - zoals snelheid, vermogen en mespositie. Dit zijn speciale startwaarden die initialisatievectoren worden genoemd.
Stap 3 - Mengproces (de gegevens verwerken)
- En dit is het coole gedeelte: RIPEMD heeft niet slechts één set messen. Het heeft twee blenders die naast elkaar werken (links en rechts).
- Elke blender verwerkt de ingrediënten anders. De een hakt terwijl de ander maalt, met verschillende snelheden, richtingen en mespatronen.
- Ze mengen, verwisselen en verdraaien de gegevens 80 keer (alsof ze in cycli mengen om er zeker van te zijn dat alles perfect gemengd is).
Stap 4 - Eindmix (Combineren van resultaten)
- Na al dat mixen combineert RIPEMD de resultaten van beide blenders tot één gladde hasj.
De 160-bitsvariant is de meestgebruikte versie van RIPEMD, met name vanwege de toepassing ervan bij het genereren van Bitcoin-adressen naast SHA-256.