MD5-generator

Tilføj til websted Metainformation

Andre værktøjer

MD5 hash

MD5 hash

MD5 er en 128-bit hash-algoritme skabt af videnskabsmanden Ronald L. Rivest i begyndelsen af ​​1990'erne. Forkortelsen MD5 står for Message Digest Version 5.

MD5-kryptering er baseret på hashing, hvilket involverer dannelsen af ​​"fingeraftryk" eller "summer" for yderligere at verificere deres ægthed. Ved at bruge denne metode kan du verificere integriteten af ​​oplysningerne samt lagringen af ​​kodeords-hash.

MD5-historik

Historien om Message Digest Algorithm (MD5) begynder i 1991, da MIT-professor Ronald L. Rivest rapporterede om oprettelsen af ​​en ny algoritme, der erstattede den forældede MD4. Hvad angår MD4, blev der faktisk fundet en række mangler i den, som den tyske kryptolog Hans Dobbertin senere skrev.

Rivest beskrev den nye MD5-algoritme i RFC 1321.

Arbejdet med algoritmen blev videreført af forskerne Bert den Boer og Anton Bosselars, som i 1993 beviste muligheden for pseudo-kollisioner i MD5, når forskellige initialiseringsvektorer kan matche med de samme meddelelsessammensætninger.

Yderligere hævdede Hans Dobbertin i 1996 at have fundet en kollision i MD5. På det tidspunkt blev mere foretrukne hashing-algoritmer kendt, såsom RIPEMD-160 kryptografiske hash-funktioner – udviklet af Hans Dobbertin, Anton Bosselars og Bart Prenel, Whirlpool – udviklet af Vincent Raymen og Paulo Barreto og den kryptografiske hashing-algoritme SHA-1.

På grund af den relativt lille hash-størrelse (128 bit) i MD5, har der været talt om muligheden for fødselsdagsangreb. MD5CRK-projektet, lanceret af Jean-Luc Cook i 2004, havde til formål at studere sårbarheden af ​​algoritmen ved hjælp af fødselsdagsangreb. Men efter fem måneder, den 17. august 2004, blev projektet indskrænket på grund af opdagelsen af ​​en sårbarhed i algoritmen af ​​en gruppe kinesiske kryptografer ledet af Lai Xueja.

I marts 2005 oprettede matematikere og kryptografer Benne de Weger, Arjen Lenstra og Wang Xiaoyun to X.509-dokumenter med den samme hash og forskellige offentlige nøgler.

Et år senere, i marts 2006, blev en algoritme udgivet af den tjekkiske kryptograf Vlastimil Klima, som giver dig mulighed for at bestemme kollisioner på en simpel computer på blot et minut. Denne algoritme blev kendt som "tunneling"-metoden.

Som et resultat af analysen af ​​resultaterne af arbejdet anbefalede afdelingen af ​​National Cyber ​​​​Security Administration i US Department of Homeland Security (US-CERT) i 2008, at alle, der var involveret i udviklingen af software, websteder, samt netværksbrugere, holder op med at bruge MD5-algoritmen, uanset formålet med dens anvendelse. Årsagen til en sådan anbefaling var den upålidelighed, som han udviste i processen med at studere den.

I december 2010 opdagede de kinesiske kryptologer Tao Xie og Feng Denguo en beskedkollision på 512 bit (én blok). Tidligere blev kollisioner kun fundet i beskeder, der var to blokke eller mere lange. Senere opnåede Mark Stevens lignende resultater ved at udgive blokke med den samme MD5-hash. Han udviklede også en algoritme til at opnå kollisioner af denne type.

Det endelige dokument, der satte en stopper for historien om udviklingen af ​​MD5-algoritmen, var en anmodning om kommentarer - RFC 6151 (RFC er et officielt dokument udviklet af Internet Engineering Council (IETF), som beskriver specifikationer for en specifik teknologi), som faktisk anerkendte MD5 som en usikker hashing-algoritme. Dokumentet anbefaler at opgive det og vælge SHA-2-familien af ​​kryptografiske algoritmer som et alternativ.

Den omtalte MD5-algoritme anses for at være en af ​​de første algoritmestandarder, der bruges til at kontrollere integriteten af ​​filer og gemme adgangskoder i webapplikationsdatabaser.

Men faktisk bestemmer den relativt enkle funktionalitet, korte outputlængde og enkelhed af de udførte operationer, som er fordelene ved algoritmen, også dens ulemper - MD5 refererer til algoritmer, der er tilbøjelige til at hacke og har en lav grad af beskyttelse mod fødselsdagsangreb.

Hvad er MD5?

Hvad er MD5?

MD5 hashing-algoritmen kan bruges på forskellige områder relateret til oprettelse af elektroniske digitale signaturer, sikre adgangskoder, kryptografiske onlinenøgler. Det gør det muligt at kontrollere integriteten af ​​information på en pc.

Oprindeligt blev MD5 betragtet som en relativt stærk krypteringsalgoritme, men på grund af mangler identificeret under undersøgelsen, anbefales det i øjeblikket at erstatte det med en anden, mere sikker hashingalgoritme.

Eksempler på brug

Den største fordel ved MD5-algoritmen er dens brede anvendelsesområde.

Algorithmen giver dig mulighed for at kontrollere de downloadede oplysninger for ægthed og integritet

For eksempel, sammen med pakker til installation af software, er der en kontrolsumværdi til verifikation.

Det praktiseres også at bruge MD5-algoritmen til hashing af adgangskoder

For eksempel bruger Unix-operativsystemet aktivt denne algoritme som et hashing-værktøj. Det skal bemærkes, at i nogle Linux-systemer bruges MD5-metoden også aktivt til at gemme adgangskoder.

Følgende måder at gemme adgangskoder på er kendt:

  • Standardlagring uden hashing. Ulempen ved denne metode er den høje risiko for informationslækage, når databasen hackes.
  • Kun adgangskode-hasher gemmes. Sådanne data er let at finde ved hjælp af hash-tabeller, der er forberedt på forhånd. For at udfylde sådanne tabeller bruges almindelige kodeord af lav kompleksitet.
  • Tilføjelse af et par tegn til adgangskoderne kaldet "salt". Derefter hashes resultatet. Den adgangskode, der opnås som følge af sådanne handlinger, skal gemmes i klartekst. Når du søger efter adgangskoder, der er oprettet på denne måde, hjælper tabeller ikke.

MD5-hash-algoritmen kan bruges til at bekræfte filer, der er downloadet fra nettet

Dette bliver muligt, når du bruger specialiserede hjælpeprogrammer, der kan ændre filegenskaber og muliggøre brugen af ​​hash-kodningsalgoritmer.

MD5 bruges ved oprettelse af webapplikationer

I processen med at udvikle og konfigurere godkendelsessystemer, scripts eller paneler kan du generere hash-koder for individuelle linjer.

MD5-algoritmens pålidelighed

Den hashing-teknologi, vi kender som MD5-algoritmen, har længe været anset for at være ret pålidelig. Samtidig talte ingen om dens idealitet. Der var ingen garantier for, at algoritmen ville være usårbar og give hundrede procent ukrænkelighed af information.

Som et resultat af en række videnskabsmænds arbejde blev visse mangler ved denne teknologi identificeret. Den vigtigste er en sårbarhed på grund af kollisionsdetektion under kryptering.

En kollision er sandsynligheden for at opnå det samme outputresultat, når forskellige inputdata indtastes. Jo højere denne sandsynlighed er, jo lavere er beskyttelsesniveauet for den anvendte algoritme.

Forskere udførte kryptoanalyse og identificerede flere måder at knække en MD5-hash på:

  • Et brute-force-angreb kan betragtes som en universel hackingmetode. Men det har også sin ulempe - metoden er meget lang. For at modvirke det, bruges teknikken med at øge antallet af nøgler. Denne metode bruges ofte til at vurdere niveauet af styrke og styrke af adgangskodekryptering.
  • RainbowCrack er et specielt program, der giver dig mulighed for at oprette en hash-base, på grundlag af hvilken en næsten øjeblikkelig adgangskodeknækning af bogstaver og tal udføres.
  • For at vælge adgangskoder ved hjælp af en ordbog, bruges ordbogsdatabaser og færdige programmer.
  • Når du bruger kollisionsdetektionsmetoden, tager de lignende funktionsværdier for forskellige meddelelser, der har samme begyndelse. Denne metode blev aktivt brugt i slutningen af ​​det 20. århundrede.

Formlen for at opnå en identisk hashkode er: MD5(4L1) = MD5(4L2).

I 2004 opdagede kinesiske videnskabsmænd en sårbarhed i systemet, der gjorde det muligt at opdage en kollision på kort tid.

I 2006 blev der fundet en metode, der giver dig mulighed for at opdage skadelige filer på en almindelig computer ved hjælp af de såkaldte "tunneler".

På trods af visse problemer, der hovedsageligt er forbundet med MD5-sårbarheden, er denne algoritme stadig efterspurgt på grund af dens aktive brug i uafhængig udvikling af webapplikationer, såvel som i andre nødvendige tilfælde.