Úvod do algoritmu MD5

Predtým, ako sa naučíme algoritmus MD5, je veľmi dôležité pochopiť, čo je kryptografia a ako sa algoritmus MD5 dostal na obrázok. Z hľadiska laikov je kryptografia prax a štúdium techník, ktoré sa používajú na konverziu obyčajného textu na nezrozumiteľný text, ktorému príjemca porozumie. Z bezpečnostných dôvodov je veľmi dôležité šifrovať údaje a odosielať a ukladať ich v konkrétnom formáte, aby nemohli byť únikom, a teda zneužité. MD5 je jedným z algoritmov, ktoré sa používajú na kódovanie údajov. Existuje toľko algoritmov vyvinutých pre bezpečný prenos a ukladanie údajov, ktoré majú svoje vlastné klady a zápory. Tieto algoritmy nielen chránia údaje pred krádežou, ale poskytujú aj autentifikáciu používateľa.

Teraz sa hlbšie učíme o algoritme MD5, takže MD5 predstavuje algoritmus 5 správy Digest, ktorý je jednou z bežne používaných kryptografických hašovacích funkcií, ktoré akceptujú vstup ľubovoľnej dĺžky a produkujú výstup pevnej 128-bitovej hashovej hodnoty. Používa sa v širokej škále bezpečnostných aplikácií. MD5 je pokročilá verzia MD4, ktorú vyvinul profesor Ronald Rivest z MIT. MD5 bol vyvinutý ako silný kryptografický algoritmus, ktorý sa má používať pri overovaní digitálnych podpisov (digitálny kód, ktorý je priložený k elektronickému dokumentu na overenie jeho obsahu a rodovej identity).

Použitie algoritmu MD5

Algoritmus MD5 bol vyvinutý s hlavným motívom bezpečnosti, pretože vyžaduje vstup ľubovoľnej veľkosti a produkuje výstup, ak má 128-bitová hodnota hash. Aby bol MD5 považovaný za kryptograficky bezpečný, mal by spĺňať dve požiadavky:

  1. Nie je možné vygenerovať dva vstupy, ktoré nemôžu produkovať rovnakú hashovaciu funkciu.
  2. Nie je možné vygenerovať správu, ktorá má rovnakú hodnotu hash.

MD5 bol pôvodne vyvinutý na ukladanie jednosmerného hashovacieho hesla a niektoré súborové servery poskytujú aj vopred vypočítaný kontrolný súčet MD5 súboru, takže užívateľ môže s ním porovnávať kontrolný súčet stiahnutého súboru. Väčšina operačných systémov založených na Unixe obsahuje pomocné programy kontrolného súčtu MD5 vo svojich distribučných balíkoch.

Ako funguje algoritmus MD5?

Ako všetci vieme, že MD5 produkuje výstup 128-bitovej hodnoty hash. Toto šifrovanie vstupu ľubovoľnej veľkosti do hodnoty hash prechádza 5 krokmi a každý krok má svoju preddefinovanú úlohu.

Krok 1: Pripojte výplňové bity

  • Výplň znamená pridanie ďalších bitov do pôvodnej správy. Takže v MD5 je pôvodná správa čalúnená tak, že jej dĺžka v bitoch je zhodná s 448 modulo 512. Čalúnenie sa vykonáva tak, že celkové bity sú o 64 menej menšie ako násobok 512 bitovej dĺžky.
  • Výplň sa vykonáva, aj keď dĺžka pôvodnej správy je už zhodná s 448 modulo 512. V výplňových bitoch je jediným prvým bitom 1 a zvyšok bitov je 0.

Krok 2: Pripojte dĺžku

Po odsadení sa na koniec vloží 64 bitov, ktoré sa používajú na zaznamenanie dĺžky pôvodného vstupu. Modulo 2 64. V tomto okamihu má výsledná správa násobok dĺžky 512 bitov.

Krok 3: Inicializácia vyrovnávacej pamäte MD

Na výpočet hodnôt pre prehľad správ sa používa štvor slovný buffer (A, B, C, D). Tu A, B, C, D sú 32-bitové registre a sú inicializované nasledujúcim spôsobom

Slovo A01234567
Slovo B89abCDef
Slovo Cfedcba98
Slovo D76543210

Krok 4: Spracovanie správy v 16-slovnom bloku

MD5 používa pomocné funkcie, ktoré berú vstup ako tri 32-bitové číslo a produkujú 32-bitový výstup. Tieto funkcie používajú logické operátory ako OR, XOR, NOR.

F (X, Y, Z)XY v nie (X) Z
G (X, Y, Z)XZ v Y nie (Z)
H (X, Y, Z)X x alebo Y x alebo Z
I (X, Y, Z)Y xor (X v not (Z))

Obsah štyroch vyrovnávacích pamätí je zmiešaný so vstupom pomocou tejto pomocnej vyrovnávacej pamäte a 16 kôl sa vykonáva pomocou 16 základných operácií.

Výkon-

Koniec koncov, kolá vykonali vyrovnávaciu pamäť A, B, C, D, ktorá obsahuje výstup MD5 začínajúci dolným bitom A a končiaci vyšším bitom D.

Príklad:

Vstup: Toto je článok o kryptografickom algoritme
Výstup: e4d909c290dfb1ca068ffaddd22cbb0

Výhody a nevýhody algoritmu MD5:

  • Algoritmy MD5 sú užitočné, pretože je ľahšie porovnávať a ukladať tieto menšie hodnoty hash ako ukladať veľký text s rôznou dĺžkou. Algoritmus MD5 je široko používaný algoritmus pre jednosmerné hashovacie metódy, ktoré sa používajú na overovanie bez toho, aby sa nevyhnutne uvádzala pôvodná hodnota. Systémy Unix používajú systémy Unix na ukladanie hesiel používateľa v 128-bitovom šifrovanom formáte. Algoritmy MD5 sa bežne používajú na kontrolu integrity súborov.
  • Okrem toho je pomocou tohto algoritmu veľmi ľahké vygenerovať prehľad správ pôvodnej správy. Algoritmus D5 môže vykonávať prehľad správ správy s ľubovoľným počtom bitov, nie je obmedzený na správy v násobkoch 8, na rozdiel od MD5sum, ktoré je obmedzený na oktety.
  • Ale od mnohých rokov má MD5 sklon k oslabeniu kolízie hash, to znamená, že je možné vytvoriť rovnakú hash funkciu pre dva rôzne vstupy. MD5 neposkytuje žiadnu bezpečnosť pred týmito zrážkami. Namiesto MD5 je teraz v kryptografickom poli na generovanie hashovej funkcie prijateľné SHA (Secure Hash Algorithm, ktorý produkuje 160-bitový prehľad správ a navrhnutý NSA ako súčasť algoritmu digitálneho podpisu), pretože nie je ľahké vytvoriť SHA. -Zrážka a doteraz nedošlo k žiadnej zrážke.
  • Navyše, algoritmus MD5 je pomerne pomalý ako optimalizovaný algoritmus SHA. SHA je oveľa bezpečnejší ako algoritmus MD5 a navyše ho možno na rozdiel od MD5 implementovať do existujúcej technológie s vyššími rýchlosťami. V súčasnosti sa na trhu objavujú nové algoritmy hashovania, pričom sa nezabúda na vyššiu bezpečnosť údajov, ako je SHA256 (ktorá generuje 256 bitový podpis textu).

záver

V súčasnosti je pri ukladaní všetkých údajov v cloude a na internete veľmi dôležité, aby bola bezpečnosť týchto údajov na najvyššej úrovni. Na šifrovanie súkromných údajov by sa mal prijať najbezpečnejší algoritmus. Posledné štúdie ukazujú, že algoritmus SHA by mal mať nad MD5 prvoradý význam, pretože MD5 je zraniteľnejší voči zrážkam. Hoci vedci navrhujú nové algoritmy, ktoré sú bezpečné a najmenej citlivé na útoky, ako je SHA256.

Odporúčané články

Toto bol sprievodca algoritmom MD5. Tu sme diskutovali úvod, použitie, práca, výhody a nevýhody algoritmu MD5. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Algoritmus šifrovania
  2. Čo je dešifrovanie?
  3. Čo je kryptografia?
  4. Kryptografia vs. šifrovanie

Kategórie: