Uvod u algoritam MD5

Prije učenja algoritma MD5 vrlo je važno razumjeti što je kriptografija i kako je MD5 algoritam ušao u sliku. Laički, kriptografija je praksa i proučavanje tehnika koje se koriste za pretvaranje običnog teksta u nerazumljivi tekst koji može razumjeti samo primatelj. Iz sigurnosnih razloga vrlo je važno kriptirati podatke te ih poslati i pohraniti u određenom formatu kako se ne bi propuštali i stoga zloupotrijebili. MD5 je jedan od algoritama koji se koristi za kodiranje podataka. Toliko je algoritama razvijeno za siguran prijenos i pohranu podataka koji imaju svoje prednosti i nedostatke. Ovi algoritmi ne samo da štite podatke od krađe, nego također pružaju provjeru identiteta korisnika.

Sada temeljito uči o algoritmu MD5, pa MD5 označava algoritam algoritma poruke 5 koji je jedna od široko korištenih kriptografskih hash funkcija koja prihvaća ulaz proizvoljne duljine i proizvodi izlaz fiksne 128-bitne hash vrijednosti. Koristi se u velikom broju sigurnosnih aplikacija. MD5 je napredna verzija MD4 koju je razvio profesor Ronald Rivest sa MIT-a. MD5 je razvijen kao snažni kriptografski algoritam koji se koristi u autentifikaciji Digital Signatures (digitalni kod koji je priložen uz elektronički dokument radi provjere njegovog sadržaja i rodnog identiteta).

Upotreba algoritma MD5

Algoritam MD5 razvijen je s glavnim motivom sigurnosti jer uzima unos bilo koje veličine i daje izlaz ako je 128-bitna hash vrijednost. Da bi se smatrao kriptografski sigurnim MD5 treba ispunjavati dva zahtjeva:

  1. Nemoguće je generirati dva ulaza koji ne mogu proizvesti istu hash funkciju.
  2. Nemoguće je generirati poruku koja ima istu hash vrijednost.

U početku je MD5 razvijen za pohranu jednosmjernog hash-a lozinke, a neki poslužitelji datoteka također pružaju unaprijed izračunatu MD5 kontrolnu sumu datoteke, tako da korisnik može usporediti kontrolnu sumu preuzete datoteke s njom. Većina operativnih sustava utemeljenih na Unixu uključuje programe za provjeru zbroja MD5 u svoje distribucijske pakete.

Kako djeluje algoritam MD5?

Kao što svi znamo da MD5 proizvodi izlaz 128-bitne hash vrijednosti. Ovo šifriranje unosa bilo koje veličine u hash vrijednosti prolazi kroz 5 koraka i svaki korak ima svoj zadani zadatak.

Korak 1: Dodajte bits padding

  • Padding znači dodavanje dodatnih bita izvornoj poruci. Dakle, u MD5 izvorna poruka je podstavljena tako da je njezina duljina u bitovima sukladna 448 modulu 512. Padding se izvodi tako da je ukupni bitov 64 manji od višestruke duljine od 512 bita.
  • Padding se vrši čak i ako je duljina izvorne poruke već u skladu s 448 modula 512. U bitovima padding-a jedini je bit bit 1, a ostali bitovi 0.

Korak 2: Dodajte duljinu

Nakon paddinga, 64 bita se umetnu na kraju koji se koristi za bilježenje duljine izvornog ulaza. Modulo 2 64. U ovom trenutku, rezultirajuća poruka ima dužinu od 512 bita.

Korak 3: Inicijalizirajte MD međuspremnik

Četverokredni međuspremnik (A, B, C, D) koristi se za izračunavanje vrijednosti za obradbu poruka. Ovdje su A, B, C, D 32-bitni registri i inicijalizirani su na sljedeći način

Riječ A01234567
Riječ B89AbCDef
Riječ Cfedcba98
Riječ D76543210

Korak 4: Obrada poruke u bloku od 16 riječi

MD5 koristi pomoćne funkcije koje uzimaju ulaz kao tri 32-bitna broja i proizvode 32-bitni izlaz. Ove funkcije koriste logičke operatore poput OR, XOR, NOR.

F (X, Y, Z)XY v nije (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 nije (Z))

Sadržaj četiri pufera pomiješan je s ulazom pomoću ovog pomoćnog međuspremnika i 16 krugova se izvodi pomoću 16 osnovnih operacija.

Izlaz-

Uostalom, runde su izvele međuspremnik A, B, C, D koji sadrži MD5 izlaz počevši od donjeg bita A i završavajući s višim bitom D.

Primjer:

Unos: Ovo je članak o algoritmu kriptografije
Izlaz: e4d909c290dfb1ca068ffaddd22cbb0

Prednosti i nedostaci algoritma MD5:

  • Algoritmi MD5 korisni su jer je lakše usporediti i pohraniti ove manje heševe nego pohraniti veliki tekst promjenjive duljine. Algoritam MD5 je široko korišten algoritam za jednosmjerne heševe koji se koriste za provjeru bez nužnog davanja izvorne vrijednosti.MD5 algoritam Unix sustavi koriste za pohranu lozinki korisnika u 128-bitnom šifriranom formatu. MD5 algoritmi se široko koriste za provjeru integriteta datoteka.
  • Štoviše, vrlo je jednostavno generirati preispitivanje izvorne poruke korištenjem ovog algoritma.MD5 algoritam može izvesti preispitivanje poruke koja ima bilo koji broj bitova, nije ograničen na poruku u množini od 8, za razliku od MD5suma koji ograničen je na oktete.
  • No MD5 je dugi niz godina bio sklon slabosti sudara, tj. Moguće je stvoriti istu funkciju hash-a za dva različita ulaza. MD5 ne pruža sigurnost od ovih sudara. Umjesto MD5, SHA (Secure Hash Algorithm, koji proizvodi 160-bitnu analizu poruka i koji je NSA dizajnirao kao dio algoritma za digitalni potpis) sada je prihvatljiv u kriptografskom polju za generiranje hash funkcije jer nije lako proizvesti SHA - Sudario sam i do danas nije proizveden sudar.
  • Štoviše, algoritam MD5 prilično je spor od optimiziranog algoritma SHA. SHA je mnogo sigurniji od algoritma MD5 i štoviše, može se implementirati u postojeću tehnologiju s većim stopama, za razliku od MD5. Danas se na tržište pojavljuju novi algoritmi za raspršivanje, imajući u vidu veću sigurnost podataka poput SHA256 (koji stvara 256-bitni potpis teksta).

Zaključak

U današnje vrijeme, uz pohranu svih podataka u oblaku i Internetu, vrlo je važno da sigurnost tih podataka bude najvažnija. Za šifriranje privatnih podataka trebalo bi usvojiti najsigurniji algoritam. Nedavna istraživanja pokazuju da bi algoritam SHA trebao dobiti najvažniji značaj u odnosu na MD5, jer je MD5 ranjiviji na napadaje sudara. Iako istraživači predlažu nove algoritme koji su sigurni i najmanje ranjivi na napade poput SHA256.

Preporučeni članci

Ovo je vodič za algoritam MD5. Ovdje smo raspravljali o uvodu, korištenju, radu, prednostima i nedostacima MD5 algoritma. Možete i proći naše druge predložene članke da biste saznali više -

  1. Algoritam šifriranja
  2. Što je dešifriranje?
  3. Što je kriptografija?
  4. Kriptografija vs šifriranje

Kategorija: