Bevezetés az MD5 algoritmusba

Az MD5 algoritmus megtanulása előtt nagyon fontos megérteni, mi az a kriptográfia, és hogyan került az MD5 algoritmus a képbe. A laikus kifejezésben a kriptográfia olyan gyakorlat és tanulmány, amely egy egyszerű szöveget olyan érthetetlen szövegré alakít át, amelyet csak a vevő tud megérteni. Biztonsági okokból nagyon fontos az adatok titkosítása, és egy meghatározott formátumban történő elküldés és tárolás, hogy ne szivároghassanak, és így visszaéljenek. Az MD5 az algoritmusok egyike, amelyet az adatok kódolására használnak. Olyan sok algoritmus került kifejlesztésre az adatok biztonságos továbbítására és tárolására, amelyeknek vannak saját előnyei és hátrányai. Ezek az algoritmusok nemcsak az adatokat védik a lopásoktól, hanem felhasználói hitelesítést is biztosítanak.

Most az MD5 algoritmus alapos ismeretében tehát az MD5 az Message Digest 5. algoritmust jelenti, amely az egyik széles körben alkalmazott kriptográfiai kivonat funkció, amely tetszőleges hosszúság bevitelét fogadja el, és 128 bites fix hash értéket ad ki. Különféle biztonsági alkalmazásokban használják. Az MD5 az MD4 fejlett verziója, amelyet Ronald Rivest professzor, az MIT fejlesztett ki. Az MD5-et egy erős kriptográfiai algoritmusként fejlesztették ki, amelyet felhasználni lehet a digitális aláírások hitelesítésére (digitális kód, amelyet elektronikus dokumentumhoz csatolnak annak tartalmának és nemi identitásának ellenőrzésére).

Az MD5 algoritmus használata

Az MD5 algoritmust a biztonság fő motívumával fejlesztették ki, mivel bármilyen méretű bemenetet vesz igénybe, és 128 bites kivonatértéket eredményez. A kriptográfiailag biztonságos MD5-nek két követelménynek kell megfelelnie:

  1. Lehetetlen két olyan bemenetet előállítani, amelyek nem képesek ugyanazt a hash-funkciót létrehozni.
  2. Lehetetlen generálni egy azonos hash-értékű üzenetet.

Az MD5 kezdetben a jelszó egyirányú kivonatának tárolására lett kifejlesztve, és egyes fájlkiszolgálók egy előre kiszámított MD5 ellenőrző összeget is biztosítanak egy fájlhoz, így a felhasználó összehasonlíthatja a letöltött fájl ellenőrző összegét. A legtöbb Unix alapú operációs rendszer MD5 ellenőrzőösszegű segédprogramokat tartalmaz a terjesztési csomagokban.

Hogyan működik az MD5 algoritmus?

Mint mindannyian tudjuk, hogy az MD5 128 bites hash értéket ad ki. A hash értékekbe történő bármilyen méretű bemenet titkosítása 5 lépésen megy keresztül, és minden egyes lépésnek megvan egy előre meghatározott feladata.

1. lépés: Csatlakoztassa a bélelő biteket

  • A kitöltés azt jelenti, hogy további biteket ad az eredeti üzenethez. Tehát az MD5-ben az eredeti üzenet úgy van párnázva, hogy bitjeinek hossza megegyezik a 448 modulo 512. számmal. A töltést úgy végezzük, hogy az összes bit 64-nél kevesebb legyen, 512 bit hosszúságú többszöröse legyen.
  • Padding akkor is megtörténik, ha az eredeti üzenet hossza már megegyezik a 448 modulo 512-rel. Padding-bitben az egyetlen első bit 1, a többi bit 0.

2. lépés: Adja hozzá a hosszúságot

A kitöltés után 64 bit kerül a végére, amelyet az eredeti bemenet hosszának rögzítésére használnak. Modulo 2 64. Ezen a ponton az eredményül kapott üzenet 512 bit hosszúságú többszöröse.

3. lépés: Inicializálja az MD puffert

Négyszó puffert (A, B, C, D) használunk az üzenet megemésztés értékeinek kiszámításához. Itt A, B, C, D 32 bites regiszterek, és a következő módon inicializálva vannak

A szó01234567
B szó89AbCDEf
C szóFedcBa98
D szó76543210

4. lépés: Az üzenet feldolgozása 16 szavas blokkban

Az MD5 olyan kiegészítő funkciókat használ, amelyek a bemenetet három 32 bites számként veszik fel, és 32 bites kimenetet produkálnak. Ezek a funkciók logikai operátorokat használnak, mint például OR, XOR, NOR.

F (X, Y, Z)XY v nem (X) Z
G (X, Y, Z)XZ v Y nem (Z)
H (X, Y, Z)X x vagy Y x vagy Z
I (X, Y, Z)Y xor (X v nem (Z))

Négy puffer tartalmát összekeverik a bemenettel e kiegészítő puffer használatával, és 16 fordulópontot hajtanak végre 16 alapművelettel.

Kimenet-

Végül is a körök elvégezték az A, B, C, D puffert az MD5 kimenettel, amely az A alsó bittel kezdődik és a D magasabb bittel kezdődik.

Példa:

Bemenet: Ez egy cikk a kriptográfiai algoritmusról
Kimenet: e4d909c290dfb1ca068ffaddd22cbb0

Az MD5 algoritmus előnyei és hátrányai:

  • Az MD5 algoritmusok azért hasznosak, mert könnyebb összehasonlítani és tárolni ezeket a kisebb kivonatokat, mint egy nagy változó hosszúságú szöveg tárolására. Az MD5 algoritmus széles körben használt algoritmus egyirányú hash-okhoz, amelyeket az ellenőrzéshez használnak anélkül, hogy feltétlenül megadnák az eredeti értéket. Az MDD algoritmust az Unix rendszerek használják a felhasználó jelszavainak 128 bites titkosított formátumban történő tárolására. Az MD5 algoritmusokat széles körben használják a fájlok integritásának ellenőrzésére.
  • Ezenkívül nagyon egyszerű az eredeti üzenet üzenet-kivonatának előállítása ezzel az algoritmussal. Az MD5 algoritmus bármilyen számú bittel rendelkező üzenet üzenet-kivonatát képes elvégezni, ez nem korlátozódik a 8-as többszöröseiben szereplő üzenetre, ellentétben az MD5summal, amely csak oktetekre korlátozódik.
  • De az MD5 sok éven át hajlamos a hash ütközések gyengeségére, azaz lehetséges ugyanaz a hash funkció létrehozása két különböző bemenetre. Az MD5 nem nyújt biztonságot ezekkel az ütközési támadásokkal szemben. Az MD5 helyett az SHA (Secure Hash Algorithm, amely 160 bites üzenet-kivonatot készít, és az NSA úgy tervezte, hogy része legyen a digitális aláírás algoritmusának) most elfogadható a kriptográfiai mezőben a hash-funkció generálására, mivel az SHA előállítása nem könnyű. - ütközés történt, és eddig még nem történt ütközés.
  • Sőt, az MD5 algoritmus meglehetősen lassú, mint az optimalizált SHA algoritmus. Az SHA sokkal biztonságosabb, mint az MD5 algoritmus, ráadásul a meglévő technológiában meghaladhatja a sebességeket, az MD5-etől eltérően. Manapság új hash algoritmusok jelennek meg a piacon, szem előtt tartva az adatok nagyobb biztonságát, mint például az SHA256 (amely 256 bites szöveg aláírást generál).

Következtetés

Manapság az összes adat tárolásakor a felhőn és az interneten nagyon fontos ezen adatok biztonságát a legfontosabb prioritásként kezelni. A legbiztonságosabb algoritmust kell alkalmazni a magán adatok titkosítására. A legújabb tanulmányok azt mutatják, hogy az SH5 algoritmusnak kiemelkedő jelentőségűnek kell lennie az MD5-hez képest, mivel az MD5 sebezhetőbb az ütközéses támadásokkal szemben. Bár a kutatók új algoritmusokat javasolnak, amelyek biztonságosak és a legkevésbé érzékenyek a támadásokra, mint például az SHA256.

Ajánlott cikkek

Ez egy útmutató az MD5 algoritmushoz. Itt tárgyaltuk az MD5 algoritmus bevezetését, felhasználásait, működését, előnyeit és hátrányait. A további javasolt cikkeken keresztül további információkat is megtudhat -

  1. Titkosítási algoritmus
  2. Mi a dekódolás?
  3. Mi a kriptográfia?
  4. Kriptográfia vs titkosítás

Kategória: