Sissejuhatus ElGamali krüptimisse

ElGamali krüptosüsteemi saab määratleda kui krüptograafia algoritmi, mis kasutab avaliku ja privaatvõtme kontseptsiooni kahe süsteemi vahelise kommunikatsiooni turvamiseks. Seda võib pidada asümmeetriliseks algoritmiks, kus krüptimine ja dekrüptimine toimub avalike ja privaatvõtmete abil. Sõnumi krüptimiseks kasutab klient avalikku võtit, samas kui sõnumi saab dekrüpteerida serveri lõpus oleva privaatvõtme abil. Seda peetakse üheks tõhusaks krüptimise ja dekrüptimise algoritmiks, kuna võtmeid on eriti raske ennustada. Allkirja juurutamine sõnumitehingus on selle kaitsmine MITM-i eest, mida selle algoritmiga saaks väga tõhusalt saavutada.

ElGamali krüptimisalgoritm koos näitega

Selle algoritmimeetodi mõte on muuta krüptimismeetodi arvutamine peaaegu võimatuks ka siis, kui ründajale on teada teatud oluline teave. Peamiselt valmistab muret tsüklilise rühma võimenduse keerukus diskreetse logaritmi leidmiseks.

Lihtsa näite abil on seda väga lihtne mõista. Oletame, et isegi kui sellised väärtused nagu g a ja g b on ründajale teadaolevad väärtused, on ründajal äärmiselt raske välja selgitada g ab väärtust, mis pole midagi muud kui purunenud väärtus.

Kogu stsenaariumi mõistmiseks peame sammhaaval uurima, kuidas sõnumite krüptimine ja dekrüptimine tegelikult toimub. Vaatleme kahe eakaaslase näidet, kes on nõus ElGamali algoritmi võimendades turvalisel viisil andmeid vahetama. Oletame, et kasutaja1 ja kasutaja2 soovivad teavet salaja vahetada, sel juhul järgitakse järgmist protseduuri.

1. samm: avalike ja privaatvõtmete genereerimine.

  • Kasutaja1 proovib valida väga pika või suure arvu x ja vahepeal valib ta ka tsüklilise rühma Fx. Sellest tsüklilisest rühmast valib ta veel ühe komponendi b ja veel ühe elemendi c. Väärtused valitakse viisil, kus konkreetse funktsiooni läbimisel võrdub tulemus 1-ga.
  • Kui väärtuse valimise etapp on läbi, arvutatakse väärtus, mida kasutatakse edaspidi privaatvõtme genereerimiseks. Kasutades valemit fm = b c, arvutatakse väärtus. Praeguse stsenaariumi korral valib kasutaja1 oma avaliku võtmena F, fm = b c, a, b, a väärtused salvestatakse privaatvõtmena, mida kasutatakse edaspidi privaatvõtmena.

2. samm: kasutaja2 krüpteerib andmed kasutaja1 avaliku võtme abil.

  • Sõnumi krüptimise alustamiseks on teatud väärtused, mille kasutaja2 peab valima. Kasutaja2 peab valima tsüklilisest rühmast ka ühe väärtuse p. Tsükliline rühm on sama, mis kasutajal1. Väärtus tuleks valida viisil, et Inc-d konkreetse funktsiooni täitmisel genereeritaks tulemus 1.
  • Tea, et kasutaja2 genereerib mõned muud väärtused, mida kasutatakse avaliku krüpteerimisel avaliku võtme abil. Genereeritav väärtus on Pm = b p. Teine väärtus b c võrdub b ap. Selle arvutamise tulemus korrutatakse krüpteerimismeetodile lähemale teise väärtusega Z. Lõpuks saadetakse väärtus arvutustulemusi kasutades b p, Z * b ap.

3. samm: sõnumi dekrüptimine kasutaja1 lõpus.

  • Seejärel kasutab kasutaja1 esimeses ja teises etapis valitud väärtuste arvutamist, et leida sobiv number, mida kasutatakse krüptitud teate dekrüpteerimiseks. Kasutaja1 töötleb b ap ja seejärel jagatakse tulemuse järgi Z-ga, et saada dekrüptitud väärtus. Krüptitud väärtus on midagi, mis teises faasis krüptiti.
  • Ülaltoodud stsenaariumi korral on kasutaja1 algatanud protsessi, arvutades privaatse ja avaliku võtme, mis on algoritmi tuum. Selle võtme kasutab teises etapis kasutaja2 ka meetodi krüptimiseks.
  • Sõnum on krüpteeritud viisil, nii et selle algfaasis arvutatud väärtust saaks kasutada ka sõnumi dekrüpteerimiseks. Kolmandas etapis võis olla tunnistajaks, et pärast kogu väärtuse jagamist kolmandas etapis arvutatud numbriga dekrüpteerib ta sõnumi täielikult, muutes selle lõppkasutajale loetavaks. Sama lähenemisviisi järgitakse igal juhul, kui tung tungib kindlalt sõnumi edastada.

Järeldus - ElGamali krüptimine

Krüpteerimisel ja dekrüpteerimisel kasutatakse ElGamali algoritmi, mida peetakse peamiselt võimeks muuta võtmeprognoosid eriti karmiks. Kuna tegemist on asümmeetrilise algoritmiga, kasutab see privaatse ja avaliku võtme mehhanismi, muutes võtmeprognoosid veelgi karmimaks. Selle rakenduse rakendamisel võib olla kasulik kõik rakendused, mis soovivad oma andmete kaitsmiseks mitte ainult kanalite krüptimist usaldada. Lisaks rakendustaseme turvalisusele peetakse seda algoritmi väga optimaalseks ka andmete edastamisel era- või avalikus võrgus.

Soovitatavad artiklid

See on olnud EIGamali krüptimise juhend. Siin käsitleme ka sissejuhatust ja EIGamali krüptimisalgoritmi koos näitega. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Asümmeetriline krüptimine
  2. Sümmeetriline võtme krüptimine
  3. Täpsem krüptimisstandard
  4. Krüptimisalgoritm

Kategooria: