Uvod v šifriranje ElGamal

Kriptosistem ElGamal je mogoče opredeliti kot algoritem kriptografije, ki uporablja koncept javnega in zasebnega ključa za zaščito komunikacije med dvema sistemoma. Lahko ga obravnavamo kot asimetrični algoritem, kjer se šifriranje in dešifriranje zgodita z uporabo javnih in zasebnih ključev. Za šifriranje sporočila odjemalec uporablja javni ključ, medtem ko ga lahko dešifrira z zasebnim ključem na koncu strežnika. To velja za enega izmed učinkovitih algoritmov za izvajanje šifriranja in dešifriranja, saj je ključe izjemno težko napovedati. Edini namen uvedbe podpisa v transakcijo s sporočilom je zaščita pred MITM, kar bi s tem algoritmom lahko zelo učinkovito dosegli.

Algoritem šifriranja ElGamal s primerom

Temeljni koncept metode algoritma je skoraj nemogoč izračunati pristop šifriranja, tudi če so napadalcem znane nekatere pomembne informacije. Zaskrbljen je predvsem zaradi težav pri vzpostavljanju ciklične skupine, da bi našli diskretni logaritem.

To bo zelo enostavno razumeti s preprostim primerom. Recimo, tudi če sta vrednosti, kot sta g a in g b, znani napadalcu, bo napadalec izjemno težko ugotovil vrednost g ab, ki ni nič drugega kot zlomljena vrednost.

Da bi razumeli celoten scenarij, moramo stopiti korak po tem, kako se šifriranje in dešifriranje sporočil dejansko dogajata. Upoštevali bomo primer dveh vrstnikov, ki sta pripravljena varno izmenjati podatke z uporabo algoritma ElGamal. Predpostavimo, da si uporabnik1 in user2 želita na skrivaj izmenjati informacije, v tem primeru se bo uporabljal naslednji postopek.

1. korak: Ustvarjanje javnih in zasebnih ključev.

  • Uporabnik1 bo poskušal izbrati zelo dolgo ali veliko število x, medtem pa bo izbral tudi ciklično skupino Fx. Iz te ciklične skupine bo nadalje izbiral še eno komponento b in še en element c. Vrednosti bodo izbrane na način, da bo rezultat, če se prenese skozi določeno funkcijo, enak 1.
  • Ko je faza izbire vrednosti končana, se izračuna vrednost, ki se bo nadalje uporabila za ustvarjanje zasebnega ključa. Z uporabo formule fm = b c se izračuna vrednost. V trenutnem scenariju bo uporabnik1 kot svoj javni ključ izbral F, fm = b c, a, b, medtem ko bodo vrednosti a shranjene kot zasebni ključ, ki se bo nadalje uporabljal kot zasebni ključ.

2. korak: User2 bo šifriral podatke z javnim ključem User1.

  • Za začetek šifriranja sporočila mora uporabnik izbrati določene vrednosti. Uporabnik2 bo moral izbrati tudi eno od vrednosti p iz ciklične skupine. Ciklična skupina bo enaka, kot je bila za uporabnika1. Vrednost je treba izbrati na način, da bo Inc prehod s posamezno funkcijo ustvaril rezultat 1.
  • Vedite, da bo uporabnik2 ustvarjal nekatere druge vrednosti, ki bodo uporabljene za šifriranje sporočila z javnim ključem. Vrednost, ki jo ustvari, bo Pm = b p. Drugo prevrednotenje b c bo enako b ap. Rezultat tega izračuna se pomnoži z drugo vrednostjo Z, da se približamo načinu šifriranja. Sčasoma bo vrednost poslana z izidom izračunov na b p, Z * b ap.

3. korak: Dešifriranje sporočila na strani user1.

  • Uporabnik1 bo nato uporabil izračun vrednosti, ki so bile izbrane v prvi in ​​drugi fazi, da bo določil ustrezno številko, ki bo uporabljena za dešifriranje šifriranega sporočila. User1 bo obdeloval b ap in nato bo rezultat uporabljen za deljenje z Z, da bi dobil dešifrirano vrednost. Dešifrirana vrednost je nekaj, kar je bilo šifrirano v drugi fazi.
  • V zgornjem scenariju je uporabnik1 sprožil postopek z izračunom zasebnega in javnega ključa, ki je duša algoritma. Ključ uporabnik nadalje uporabi v drugem koraku za šifriranje metode.
  • Sporočilo je šifrirano na način, da so lahko v tej začetni fazi izračunani vrednosti uporabili tudi za dešifriranje sporočila. V tretjem koraku smo lahko videli, da po potapljanju celotna vrednost s številko, ki je izračunana v tretjem koraku, popolnoma dešifrira sporočilo, tako da je berljivo za končnega uporabnika. Enak pristop je slehernega, ko se pojavi potreba po varni prenosu sporočila.

Zaključek - Šifriranje ElGamal

ElGamal algoritem se uporablja pri šifriranju in dešifriranju, kar velja predvsem za njegovo sposobnost, da ključna predvidevanja postanejo zelo težka. Ker je asimetrični algoritem, uporablja mehanizem zasebnega in javnega ključa, s čimer se ključne napovedi še bolj zaostrijo. Vsa aplikacija, ki se ne želi samo zanašati na šifriranje kanalov, da bi zaščitila svoje podatke, se ji zdi koristna za izvajanje tega algoritma v programu. Poleg varnosti na aplikacijski ravni se ta algoritem šteje tudi za zelo optimalno za obravnavo prenosa podatkov prek zasebnega ali javnega omrežja.

Priporočeni članki

To je vodnik za šifriranje EIGamal. Tukaj s primerom razpravljamo tudi o uvodnem algoritmu in algoritmu šifriranja EIGamal. Za več informacij si lahko ogledate tudi naslednje članke -

  1. Asimetrična šifriranje
  2. Simetrična šifriranje ključev
  3. Napredni šifrirni standard
  4. Algoritem šifriranja