Uvod v algoritem MD5

Preden se naučimo algoritma MD5, je zelo pomembno razumeti, kaj je kriptografija in kako je algoritem MD5 prišel v sliko. V laičnem smislu je kriptografija praksa in študij tehnik, ki se uporabljajo za pretvorbo navadnega besedila v nerazumljivo besedilo, ki ga lahko razume le sprejemnik. Iz varnostnih razlogov je zelo pomembno, da podatke šifrirajo ter pošiljajo in shranjujejo v določeni obliki, da jih ni mogoče puščati in s tem zlorabiti. MD5 je eden od algoritmov, ki se uporablja za kodiranje podatkov. Obstaja toliko algoritmov za varen prenos in shranjevanje podatkov, ki imajo svoje prednosti in slabosti. Ti algoritmi ne le ščitijo podatke pred krajo, ampak tudi zagotavljajo pristnost uporabnikov.

Zdaj poglobljeno spoznavanje algoritma MD5, zato MD5 pomeni algoritem sporočila 5, ki je ena izmed široko uporabljanih kriptografskih hash funkcij, ki sprejme vnos poljubne dolžine in ustvari izhod fiksne 128-bitne vrednosti hash-a. Uporablja se v najrazličnejših varnostnih aplikacijah. MD5 je napredna različica MD4, ki jo je razvil profesor Ronald Rivest z MIT. MD5 je bil razvit kot močan kriptografski algoritem, ki ga je treba uporabiti pri overjanju digitalnih podpisov (digitalna koda, ki je priložena elektronskemu dokumentu za preverjanje njegove vsebine in spolne identitete).

Uporaba algoritma MD5

Algoritem MD5 je bil razvit z glavnim motivom varnosti, saj zajema poljuben vložek in ustvari izhod, če je 128-bitna hash vrednost. Da bi MD5 veljal za kriptografsko varno, bi moral izpolnjevati dve zahtevi:

  1. Nemogoče je ustvariti dva vhoda, ki ne moreta ustvariti enake hash funkcije.
  2. Nemogoče je ustvariti sporočilo z isto vrednostjo hash-a.

Sprva je bil MD5 razvit za shranjevanje enosmernega hash-ja gesla, nekateri datotečni strežniki pa nudijo tudi predhodno izračunano MD5 kontrolno vsoto datoteke, tako da lahko uporabnik primerja kontrolno vsoto naložene datoteke z njo. Večina operacijskih sistemov, ki temeljijo na Unixu, v svoje distribucijske pakete vključujejo pripomočke kontrolne vsote MD5.

Kako deluje algoritem MD5?

Kot vsi vemo, da MD5 ustvari izhod 128-bitnih hash vrednosti. Ta šifriranje vnosa katere koli velikosti v vrednosti hash ima 5 korakov in vsak korak ima svojo vnaprej določeno nalogo.

1. korak: Dodajte oblazinjenje

  • Padding pomeni dodajanje dodatnih bitov izvirnemu sporočilu. Torej je v MD5 izvirno sporočilo oblazinjeno tako, da je njegova dolžina v bitih skladna s 448 modulom 512. Padding je narejen tako, da je skupnih bitov 64 manj, če je večkratnik dolžine 512 bitov.
  • Padding je narejen, tudi če je dolžina izvirnega sporočila že skladna s 448 modulom 512. V oblazinjenih bitih je prvi prvi bit 1, ostali biti pa 0.

2. korak: Dodajte dolžino

Po oblazinjenju se na koncu vstavi 64 bitov, ki se uporabljajo za beleženje dolžine prvotnega vhoda. Modulo 2 64. Na tej točki ima izbrano sporočilo dolžino 512 bitov.

3. korak: Inicializirajte medpomnilnik MD

Za izračun vrednosti za prebavo sporočil se uporablja štirimesečni medpomnilnik (A, B, C, D). Tu so A, B, C, D 32-bitni registri in se inicializirajo na naslednji način

Beseda A01234567
Beseda B89AbCdEf
Besedo CFeDCBa98
Besedo D76543210

4. korak: Obdelava sporočila v 16-besednem bloku

MD5 uporablja pomožne funkcije, ki vhod sprejmejo kot tri 32-bitne številke in ustvarijo 32-bitni izhod. Te funkcije uporabljajo logične operaterje, kot so OR, XOR, NOR.

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

Vsebina štirih pufrov se meša z vhodom s pomočjo tega pomožnega pufra in 16 krogov se izvede s pomočjo 16 osnovnih operacij.

Izhod-

Konec koncev so krogi izvedli pufer A, B, C, D, ki vsebuje izhod MD5, začenši z nižjim bitom A in končanjem z višjim bitom D.

Primer:

Vnos: To je članek o algoritmu kriptografije
Izhod: e4d909c290dfb1ca068ffaddd22cbb0

Prednosti in slabosti algoritma MD5:

  • Algoritmi MD5 so uporabni, ker je te manjše šifre lažje primerjati in shraniti kot shraniti veliko besedilo spremenljive dolžine. Algoritem MD5 je široko uporabljen algoritem za enosmerne razpršitve, ki se uporabljajo za preverjanje, ne da bi nujno dali izvirno vrednost.Mig5 algoritem Unix uporablja za shranjevanje gesel uporabnika v 128-bitni šifrirani obliki. Algoritmi MD5 se pogosto uporabljajo za preverjanje celovitosti datotek.
  • Poleg tega je s tem algoritmom zelo enostavno generirati prebavo izvirnega sporočila. Algoritem MD5 lahko izvede prebavo sporočil sporočila s poljubnim številom bitov, ni omejeno na sporočilo v večkratnikih 8, za razliko od MD5sum, ki je omejena na oktete.
  • Toda MD5 je že vrsto let nagnjen k šibkim trkom šibkosti, torej je mogoče ustvariti isto funkcijo hash-a za dva različna vhoda. MD5 ne zagotavlja varnosti pred temi napadi trka. Namesto MD5 je v kriptografskem polju sprejemljiv SHA (Secure Hash Algorithm, ki proizvaja 160-bitno prebavo sporočil in ki ga je NSA zasnoval kot del algoritma digitalnega podpisa) za ustvarjanje hash funkcije, saj ni enostavno izdelati SHA - Trk in do zdaj še ni bilo trka.
  • Poleg tega je algoritem MD5 precej počasen kot optimiziran algoritem SHA. SHA je veliko bolj varen kot algoritem MD5, poleg tega pa ga je mogoče uporabiti v obstoječi tehnologiji z več kot hitrostjo, za razliko od MD5. Danes se na trgu pojavljajo novi algoritmi za razprševanje, ob upoštevanju večje varnosti podatkov, kot je SHA256 (ki ustvari 256-bitni podpis besedila).

Zaključek

Danes je pri shranjevanju vseh podatkov v oblaku in internetu zelo pomembno, da je varnost teh podatkov najpomembnejša. Za šifriranje zasebnih podatkov je treba sprejeti najvarnejši algoritem. Nedavne študije kažejo, da bi bilo treba algoritmu SHA pri MD5 pripisati izjemen pomen, saj je MD5 bolj ranljiv za trke. Čeprav raziskovalci predlagajo nove algoritme, ki so varni in najmanj ranljivi za napade, kot je SHA256.

Priporočeni članki

To je vodnik po algoritmu MD5. Tu smo razpravljali o uvodu, uporabi, delu, prednostih in slabostih algoritma MD5. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Algoritem šifriranja
  2. Kaj je dešifriranje?
  3. Kaj je kriptografija?
  4. Kriptografija proti šifriranju