Inleiding tot MD5-algoritme

Voordat u het MD5-algoritme leert, is het erg belangrijk om te begrijpen wat cryptografie is en hoe het MD5-algoritme in beeld is gekomen. In lekentermen is cryptografie een praktijk en studie van technieken die worden gebruikt om een ​​gewone tekst om te zetten in onverstaanbare tekst die alleen door de ontvanger kan worden begrepen. Om veiligheidsredenen is het erg belangrijk om de gegevens te coderen en in een bepaald formaat te verzenden en op te slaan, zodat ze niet kunnen worden gelekt en dus misbruikt. MD5 is een van de algoritmen die wordt gebruikt om de gegevens te coderen. Er zijn zoveel algoritmen ontwikkeld voor veilige overdracht en opslag van gegevens met hun eigen voor- en nadelen. Deze algoritmen beschermen niet alleen de gegevens tegen diefstal, maar bieden ook gebruikersauthenticatie.

MD5 Algorithm leert nu diep, dus MD5 staat voor Message Digest-algoritme 5, een van de veelgebruikte cryptografische hash-functies die de invoer van willekeurige lengte accepteert en een uitvoer van een vaste 128-bits hashwaarde produceert. Het wordt gebruikt in een breed scala aan beveiligingstoepassingen. MD5 is een geavanceerde versie van MD4 die is ontwikkeld door professor Ronald Rivest van MIT. MD5 is ontwikkeld als een sterk cryptografisch algoritme om te worden gebruikt bij het authenticeren van digitale handtekeningen (een digitale code die is bijgevoegd bij een elektronisch document om de inhoud en genderidentiteit te verifiëren).

Gebruik van MD5-algoritme

MD5-algoritme is ontwikkeld met het hoofdmotief van beveiliging, omdat het een invoer van elke grootte vereist en een uitvoer produceert als een 128-bits hashwaarde. Om als cryptografisch veilig te worden beschouwd, moet MD5 aan twee vereisten voldoen:

  1. Het is onmogelijk om twee ingangen te genereren die niet dezelfde hashfunctie kunnen produceren.
  2. Het is onmogelijk om een ​​bericht met dezelfde hash-waarde te genereren.

Aanvankelijk werd MD5 ontwikkeld om hash van een wachtwoord op één manier op te slaan en sommige bestandsservers bieden ook een vooraf berekende MD5-controlesom van een bestand, zodat de gebruiker de controlesom van het gedownloade bestand ermee kan vergelijken. De meeste op Unix gebaseerde besturingssystemen bevatten MD5-controlesomhulpprogramma's in hun distributiepakketten.

Hoe werkt het MD5-algoritme?

Zoals we allemaal weten, produceert MD5 een uitvoer van 128-bits hashwaarde. Deze codering van invoer van elke grootte in hash-waarden ondergaat 5 stappen en elke stap heeft een vooraf gedefinieerde taak.

Stap 1: voeg opvulbits toe

  • Opvullen betekent extra bits toevoegen aan het oorspronkelijke bericht. Dus in MD5 is het oorspronkelijke bericht zodanig opgevuld dat de lengte in bits congruent is met 448 modulo 512. Opvulling wordt zodanig gedaan dat de totale bits 64 minder zijn, zijnde een veelvoud van 512 bits lengte.
  • Opvulling gebeurt zelfs als de lengte van het oorspronkelijke bericht al congruent is aan 448 modulo 512. In opvulbits is de enige eerste bit 1 en de rest van de bits is 0.

Stap 2: Lengte toevoegen

Na het opvullen worden aan het einde 64 bits ingevoegd die worden gebruikt om de lengte van de oorspronkelijke invoer vast te leggen. Modulo 2 64. Op dit punt heeft het resulterende bericht een lengte-veelvoud van 512 bits.

Stap 3: Initialiseer MD-buffer

Een buffer van vier woorden (A, B, C, D) wordt gebruikt om de waarden voor het berichtoverzicht te berekenen. Hier zijn A, B, C, D 32-bit registers en worden ze op de volgende manier geïnitialiseerd

Woord A01234567
Woord B89AbCDEf
Woord CFeDcBa98
Woord D76543210

Stap 4: Bericht verwerken in blok van 16 woorden

MD5 gebruikt de hulpfuncties die de invoer als 32-bits nummer nemen en een 32-bits uitvoer produceren. Deze functies gebruiken logische operatoren zoals OR, XOR, NOR.

F (X, Y, Z)XY v niet (X) Z
G (X, Y, Z)XZ v Y not (Z)
H (X, Y, Z)X xor Y xor Z
I (X, Y, Z)Y xor (X v niet (Z))

De inhoud van vier buffers wordt gemengd met de invoer met behulp van deze hulpbuffer en 16 ronden worden uitgevoerd met behulp van 16 basisbewerkingen.

output-

Ronden hebben tenslotte de buffer A, B, C uitgevoerd, D bevat de MD5-uitgang beginnend met lager bit A en eindigend met hoger bit D.

Voorbeeld:

Input: Dit is een artikel over het cryptografie-algoritme
Uitgang: e4d909c290dfb1ca068ffaddd22cbb0

Voordelen en nadelen van MD5-algoritme:

  • MD5-algoritmen zijn handig omdat het eenvoudiger is om deze kleinere hashes te vergelijken en op te slaan dan om een ​​grote tekst met variabele lengte op te slaan. Het MD5-algoritme is een veelgebruikt algoritme voor eenrichtingshashes dat wordt gebruikt om te verifiëren zonder noodzakelijkerwijs de oorspronkelijke waarde te geven. MD5-algoritme wordt door Unix-systemen gebruikt om de wachtwoorden van de gebruiker op te slaan in een 128-bits gecodeerd formaat. MD5-algoritmen worden veel gebruikt om de integriteit van de bestanden te controleren.
  • Bovendien is het heel eenvoudig om een ​​berichtsamenvatting van het oorspronkelijke bericht te genereren met behulp van dit algoritme. MD5-algoritme kan de berichtsamenvatting uitvoeren van een bericht met een willekeurig aantal bits, het is niet beperkt tot bericht in de veelvouden van 8, in tegenstelling tot MD5sum dat is beperkt tot octetten.
  • Maar vanaf vele jaren is MD5 gevoelig voor hash-botsingszwakte, het is dus mogelijk om dezelfde hash-functie voor twee verschillende ingangen te creëren. MD5 biedt geen beveiliging tegen deze aanvalsaanvallen. In plaats van MD5 is SHA (Secure Hash Algorithm, dat 160-bits berichtensamenvatting produceert en door NSA is ontworpen als onderdeel van het algoritme voor digitale handtekeningen) nu acceptabel in het cryptografische veld voor het genereren van de hashfunctie, omdat het niet eenvoudig is om SHA te produceren -Ik botsing en tot nu toe is nog geen botsing tot stand gebracht.
  • Bovendien is het MD5-algoritme vrij traag dan het geoptimaliseerde SHA-algoritme.SHA is veel veiliger dan het MD5-algoritme en bovendien kan het worden geïmplementeerd in bestaande technologie met hogere snelheden, in tegenstelling tot MD5. Tegenwoordig komen er nieuwe hashing-algoritmen op de markt, rekening houdend met een hogere beveiliging van gegevens zoals SHA256 (die 256 bits handtekening van een tekst genereert).

Conclusie

Tegenwoordig is het, met de opslag van alle gegevens op cloud en internet, erg belangrijk om de beveiliging van die gegevens op de allerhoogste prioriteit te houden. Het veiligste algoritme moet worden gebruikt om privégegevens te coderen. Recente studies tonen aan dat het SHA-algoritme voorrang moet krijgen boven MD5, omdat MD5 kwetsbaarder is voor aanvalsaanvallen. Hoewel onderzoekers nieuwe algoritmen voorstellen die veilig zijn en het minst kwetsbaar zijn voor aanvallen zoals SHA256.

Aanbevolen artikelen

Dit is een leidraad geweest voor het MD5-algoritme. Hier hebben we de introductie, het gebruik, de werking, de voor- en nadelen van MD5-algoritme besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Encryptie algoritme
  2. Wat is decodering?
  3. Wat is cryptografie?
  4. Cryptografie versus codering