Introduktion til MD5-algoritme
Før du lærer MD5-algoritmen, er det meget vigtigt at forstå, hvad der er kryptografi, og hvordan MD5-algoritmen kom ind i billedet. I lægfolk er kryptografi en praksis og undersøgelse af teknikker, der bruges til at konvertere en almindelig tekst til uforståelig tekst, som kun kan forstås af modtageren. Af sikkerhedsmæssige årsager er det meget vigtigt at kryptere dataene og sende og gemme dem i et bestemt format, så de ikke kan lækkes og dermed misbruges. MD5 er en af de algoritmer, der bruges til at kode dataene. Der er så mange algoritmer, der er udviklet til sikker transmission og lagring af data med deres egne fordele og ulemper. Disse algoritmer beskytter ikke kun dataene mod tyveri, men giver også brugergodkendelse.
Nu lærer vi dybt om MD5-algoritmen, så MD5 står for Message Digest-algoritmen 5, som er en af de vidt anvendte kryptografiske hashfunktioner, der accepterer input af vilkårlig længde og producerer en output med fix 128-bit hashværdi. Det bruges i en lang række sikkerhedsapplikationer. MD5 er en avanceret version af MD4, som blev udviklet af professor Ronald Rivest fra MIT. MD5 blev udviklet som en stærk kryptografisk algoritme, der skal bruges til autentificering af digitale signaturer (en digital kode, der er knyttet til et elektronisk dokument for at verificere dets indhold og kønsidentitet).
Brug af MD5-algoritme
MD5-algoritme blev udviklet med hovedmotivet for sikkerhed, da det tager et input i enhver størrelse og producerer et output, hvis en 128-bit hashværdi. For at blive betragtet som kryptografisk sikker MD5 skal opfylde to krav:
- Det er umuligt at generere to input, der ikke kan producere den samme hash-funktion.
- Det er umuligt at generere en meddelelse med den samme hashværdi.
Oprindeligt blev MD5 udviklet til at gemme en måde hash af en adgangskode, og nogle filservere leverer også forud beregnet MD5-kontrolsum for en fil, så brugeren kan sammenligne kontrolsummen for den downloadede fil med den. De fleste Unix-baserede operativsystemer inkluderer MD5-kontrolsumværktøjer i deres distributionspakker.
Hvordan fungerer MD5-algoritmen?
Som vi alle ved, at MD5 producerer et output på 128-bit hashværdi. Denne kryptering af input af en hvilken som helst størrelse i hashværdier gennemgår 5 trin, og hvert trin har en foruddefineret opgave.
Trin 1: Tilføj polstringbits
- Polstring betyder, at du tilføjer ekstra bits til den originale meddelelse. Så i MD5 er den oprindelige meddelelse polstret således, at dens længde i bits er kongruent til 448 modulo 512. Polstring udføres således, at de samlede bits er 64 mindre, idet det er et multipel af 512 bits længde.
- Polstring udføres, selv hvis længden af den originale meddelelse allerede er kongruent til 448 modulo 512. I polstringbits er den eneste første bit 1 og resten af bitene er 0.
Trin 2: Tilføj længde
Efter polstring indsættes 64 bit i slutningen, der bruges til at registrere længden af den originale input. Modulo 2 64. På dette tidspunkt har den resulterende meddelelse et længdemultipel på 512 bit.
Trin 3: Initialiser MD-buffer
En fire-ordsbuffer (A, B, C, D) bruges til at beregne værdierne for meddelelsens fordøjelse. Her er A, B, C, D 32-bit registre og initialiseres på følgende måde
Ord A | 01 | 23 | 45 | 67 |
Ord B | 89 | ab | cd | Ef |
Ord C | Fe | dc | Ba | 98 |
Ord D | 76 | 54 | 32 | 10 |
Trin 4: Behandler meddelelse i 16-ordets blok
MD5 bruger hjælpefunktionerne, der tager input som tre 32-bit tal og producerer en 32-bit output. Disse funktioner bruger logiske operatører som OR, XOR, NOR.
F (X, Y, Z) | XY v ikke (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 ikke (Z)) |
Indholdet af fire buffere blandes med input ved hjælp af denne hjælpebuffer, og 16 runder udføres ved anvendelse af 16 basale operationer.
Produktion-
Når alt kommer til alt har runder udført bufferen A, B, C, D indeholder MD5-output, der starter med lavere bit A og slutter med højere bit D.
Eksempel:
Input: Dette er en artikel om kryptografialgoritmen |
Output: e4d909c290dfb1ca068ffaddd22cbb0 |
Fordele og ulemper ved MD5-algoritmen:
- MD5-algoritmer er nyttige, fordi det er lettere at sammenligne og gemme disse mindre hascher end at gemme en stor tekst med variabel længde. MD5-algoritmen er en bredt anvendt algoritme til envejshashe, der bruges til at verificere uden nødvendigvis at give den originale værdi. MD5-algoritmen bruges af Unix-systemer til at gemme brugerens adgangskoder i et 128-bit krypteret format. MD5-algoritmer er vidt brugt til at kontrollere filernes integritet.
- Derudover er det meget let at generere en meddelelsesfordøjelse af den originale meddelelse ved hjælp af denne algoritme. MD5-algoritme kan udføre beskedfordøjelsen af en meddelelse, der har et hvilket som helst antal bits, den er ikke begrænset til meddelelse i multiplerne af 8, i modsætning til MD5sum, som er begrænset til oktetter.
- Men fra mange år har MD5 været tilbøjelige til hash-kollisionssvaghed, dvs. det er muligt at skabe den samme hash-funktion til to forskellige input. MD5 giver ingen sikkerhed for disse kollisionsangreb. I stedet for MD5 er SHA (Secure Hash Algorithm, der producerer 160-bit meddelelsesfordøjelse og designet af NSA til at være en del af digital signaturalgoritme) nu acceptabelt i det kryptografiske felt til generering af hash-funktionen, da det ikke er let at fremstille SHA -Jeg kollision og indtil nu er der ikke produceret nogen kollision endnu.
- Derudover er MD5-algoritmen temmelig langsom, da den optimerede SHA-algoritme.SHA er meget sikker end MD5-algoritmen, og desuden kan den implementeres i eksisterende teknologi med en overskridelse af hastigheder i modsætning til MD5. I dag dukker nye hashingsalgoritmer op på markedet, idet der tages højde for højere sikkerhed for data som SHA256 (som genererer 256 biters signatur af en tekst).
Konklusion
I dag med lagring af alle data på sky og internet er det meget vigtigt at holde sikkerheden for disse data højest prioriteret. Den mest sikre algoritme bør vedtages for at kryptere private data. Nylige undersøgelser viser, at SHA-algoritmen bør tildeles væsentlig betydning i forhold til MD5, da MD5 er mere sårbar over for kollisionsangreb. Selvom forskere foreslår nye algoritmer, der er sikre og mindst sårbare over for angreb som SHA256.
Anbefalede artikler
Dette har været en guide til MD5-algoritmen. Her diskuterede vi introduktionen, anvendelser, arbejde, fordele og ulemper ved MD5-algoritme. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -
- Krypteringsalgoritme
- Hvad er dekryptering?
- Hvad er kryptografi?
- Kryptografi vs kryptering