Sissejuhatus MD5 algoritmi

Enne MD5 algoritmi õppimist on väga oluline mõista, mis on krüptograafia ja kuidas MD5 algoritm pildile sattus. Tavaprofiilis on krüptograafia tava ja tehnika uurimine, mida kasutatakse lihtteksti teisendamiseks arusaamatuks tekstiks, millest saab aru ainult vastuvõtja. Turvalisuse huvides on väga oluline andmed krüptida ning saata ja salvestada kindlas vormingus, et neid ei saaks lekkida ja seega väärkasutada. MD5 on üks algoritme, mida kasutatakse andmete kodeerimiseks. Andmete turvaliseks edastamiseks ja säilitamiseks on välja töötatud nii palju algoritme, millel on oma plussid ja miinused. Need algoritmid ei kaitse mitte ainult andmeid varguse eest, vaid pakuvad ka kasutaja autentimist.

Nüüd, kui õpitakse põhjalikult MD5 algoritmi, tähistab MD5 Message Digest algoritmi 5, mis on üks laialt kasutatav krüptograafiline räsifunktsioon, mis aktsepteerib suvalise pikkuse sisendit ja annab väljundiks fikseeritud 128-bitise räsiväärtuse. Seda kasutatakse väga erinevates turvarakendustes. MD5 on MD4 täiustatud versioon, mille töötas välja MIT-i professor Ronald Rivest. MD5 töötati välja tugeva krüptograafilise algoritmina, mida kasutatakse digitaalallkirjade autentimisel (digitaalne kood, mis on lisatud elektroonilise dokumendiga, et kontrollida selle sisu ja soolist identiteeti).

MD5 algoritmi kasutamine

MD5 algoritm töötati välja turvalisuse peamiseks motiiviks, kuna see võtab suvalise sisendi ja annab väljundi 128-bitise räsiväärtuse korral. Krüptograafiliselt turvaliseks peetavat MD5 peaks vastama kahele nõudele:

  1. On võimatu genereerida kahte sisendit, mis ei suuda toota sama räsifunktsiooni.
  2. Sama räsi väärtusega sõnumi genereerimine on võimatu.

Algselt töötati MD5 välja paroolide ühesuunalise räsi salvestamiseks ja mõned failiserverid pakuvad ka faili eelnevalt arvutatud MD5 kontrollsummat, nii et kasutaja saaks sellega allalaaditud faili kontrollsummat võrrelda. Enamik Unixi operatsioonisüsteeme sisaldab MD5 kontrollsumma utiliite oma levitamispakettides.

Kuidas MD5 algoritm töötab?

Nagu me kõik teame, annab MD5 väljundi 128-bitise räsiväärtusega. Mis tahes suurusega räsiväärtuste sisendi krüptimine läbib 5 sammu ja igal etapil on oma eelmääratud ülesanne.

1. samm: lisage polsterdusbitid

  • Padding tähendab täiendavate bittide lisamist algsele sõnumile. Nii et MD5-s on algsõnum polsterdatud nii, et selle pikkus bittides on ühtlane 448 modulo 512. Polsterdamine on tehtud nii, et bittide koguarv oleks 64 vähem, moodustades 512 bitise pikkusega kordaruti.
  • Polsterdamine toimub ka siis, kui algsõnumi pikkus on juba kokku langenud väärtusele 448 modulo 512. Polsterdamisbittide puhul on ainus esimene bit 1 ja ülejäänud bitid 0.

2. samm: lisage pikkus

Pärast polsterdamist sisestatakse selle otsa 64 bitti, mida kasutatakse algsisendi pikkuse registreerimiseks. Modulo 2 64. Sel hetkel on saadud teate pikkuskordaja 512 bitti.

3. samm: lähtestage MD puhver

Sõnumite kokkuvõtte väärtuste arvutamiseks kasutatakse neljasõnalist puhvrit (A, B, C, D). Siin on A, B, C, D 32-bitised registrid ja lähtestatakse järgmisel viisil

Sõna A01234567
Sõna B89AbCdEf
Sõna CFeDcBa98
Sõna D76543210

4. samm: sõnumi töötlemine 16-sõnalises plokis

MD5 kasutab abifunktsioone, mis võtavad sisendi kolme 32-bitise numbrina ja toodavad 32-bitise väljundi. Need funktsioonid kasutavad loogilisi operaatoreid nagu OR, XOR, NOR.

F (X, Y, Z)XY v mitte (X) Z
G (X, Y, Z)XZ v Y mitte (Z)
H (X, Y, Z)X x või Y x või Z
I (X, Y, Z)Y xor (X v mitte (Z))

Selle lisapuhvri abil segatakse sisendiga neli puhvrit ja 16 põhitoimingut teostatakse 16 vooru.

Väljund-

Lõppude lõpuks on voorud läbi viinud puhver A, B, C, D MD5 väljundi, alustades madalama bitiga A ja lõpetades kõrgema bitiga D.

Näide:

Sisend: see on artikkel krüptograafia algoritmi kohta
Väljund: e4d909c290dfb1ca068ffaddd22cbb0

MD5 algoritmi eelised ja puudused:

  • MD5 algoritmid on kasulikud, kuna neid väiksemaid räsi on lihtsam võrrelda ja talletada, kui suure muutuva pikkusega teksti. MD5 algoritm on laialdaselt kasutatav ühesuunaliste räsimiste algoritm, mida kasutatakse kontrollimisel, ilma et see tingimata annaks algset väärtust. MD5 algoritmi kasutavad Unixi süsteemid kasutaja paroolide salvestamiseks 128-bitises krüpteeritud vormingus. MD5 algoritme kasutatakse laialdaselt failide terviklikkuse kontrollimiseks.
  • Pealegi on selle algoritmi abil väga lihtne genereerida originaalsõnumi sõnumi kokkuvõte. MD5 algoritm võib teostada suvalise bittide arvuga teate sõnumi kokkuvõtet, erinevalt MD5sumist ei piirdu see ainult 8-kordsete sõnumitega. on piiratud oktetidega.
  • Kuid juba aastaid on MD5 kalduvus räsi kokkupõrke nõrkusele, st kahe erineva sisendi jaoks on võimalik luua sama räsifunktsioon. MD5 ei taga nende kokkupõrgete korral turvalisust. MD5 asemel on nüüd krüptoväljas rämpsfunktsiooni genereerimiseks vastuvõetav SHA (Secure Hash Algorithm, mis loob 160-bitise sõnumi kokkuvõtte ja mille NSA on kavandanud digitaalallkirja algoritmi osaks), kuna SHA loomine pole lihtne. -Mul on kokkupõrge ja seni pole seda veel toimunud.
  • Veelgi enam, MD5 algoritm on üsna aeglane, kui optimeeritud SHA algoritm.SHA on palju turvalisem kui MD5 algoritm ja pealegi saab seda erinevalt MD5-st rakendada olemasolevas tehnoloogias, kus kiirused ületatakse. Tänapäeval ilmuvad turule uued räsimisalgoritmid, pidades silmas andmete kõrgemat turvalisust, näiteks SHA256 (mis genereerib teksti allkirja 256 bitti).

Järeldus

Tänapäeval on kõigi andmete säilitamine pilves ja Internetis väga oluline hoida nende andmete turvalisus ülima prioriteedina. Privaatsete andmete krüptimiseks tuleks kasutada kõige turvalisemat algoritmi. Värsked uuringud näitavad, et SHA algoritmile tuleks anda esmatähtis tähtsus MD5 suhtes, kuna MD5 on kokkupõrkehoogude suhtes haavatavam. Ehkki teadlased pakuvad välja uusi algoritme, mis on turvalised ja rünnakute suhtes kõige vähem tundlikud, nagu SHA256.

Soovitatavad artiklid

See on olnud MD5 algoritmi juhend. Siin arutasime MD5 algoritmi sissejuhatust, kasutusviise, eeliseid ja puudusi. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Krüptimisalgoritm
  2. Mis on dekrüptimine?
  3. Mis on krüptograafia?
  4. Krüptograafia vs krüptimine

Kategooria: