Bevezetés az ElGamal titkosításhoz

Az ElGamal kriptoszisztéma úgy határozható meg, mint egy olyan kriptográfiai algoritmus, amely a nyilvános és a magánkulcs fogalmát használja a két rendszer közötti kommunikáció biztosítására. Aszimmetrikus algoritmusnak tekinthető, ahol a titkosítás és a visszafejtés nyilvános és magánkulcsok felhasználásával történik. Az üzenet titkosításához az ügyfél használja a nyilvános kulcsot, míg az üzenetet a kiszolgáló végén lévő privát kulcs segítségével lehet visszafejteni. Ez a titkosítás és a dekódolás végrehajtásának egyik hatékony algoritmusának tekinthető, mivel a kulcsok kiszámítása rendkívül nehéz. Az aláírás bevezetésének egyetlen célja az üzenet tranzakcióban az MITM elleni védelem, amelyet ez az algoritmus nagyon hatékonyan képes elérni.

ElGamal titkosítási algoritmus példával

Ennek az algoritmus módszernek az a lényege, hogy szinte lehetetlenné teszi a titkosítási megközelítés kiszámítását, még akkor is, ha bizonyos fontos információk a támadó számára ismertek. Elsősorban a ciklikus csoport kiaknázásának nehézségei vannak a diszkrét logaritmus megtalálása érdekében.

Nagyon könnyű megérteni egy egyszerű példa segítségével. Tegyük fel, hogy még ha a g a és g b értékek is olyan értékek, amelyeket a támadó ismert, a támadónak rendkívül nehéz lesz kideríteni a g ab értékét, amely csak a repedt érték.

A teljes forgatókönyv megértése érdekében lépésről lépésre kell bevezetnünk, hogy az üzenetek titkosítása és visszafejtése hogyan történjen. Megvizsgáljuk két olyan társ példáját, akik hajlandóak biztonságos adatcserére az ElGamal algoritmus kihasználásával. Tegyük fel, hogy az 1. felhasználó és a 2. felhasználó titkosan akar információt cserélni, ebben az esetben a következő eljárást kell követni.

1. lépés: Nyilvános és magánkulcsok generálása.

  • A user1 megpróbálja kiválasztani egy nagyon hosszú vagy nagy x számot, és közben választ egy Fx ciklikus csoportot is. Ebből a ciklikus csoportból tovább választja egy másik b komponenst és egy további c elemet. Az értékeket úgy választják meg, hogy ha egy adott függvényen átjutnak, akkor az eredmény egyenlő 1-gyel.
  • Miután az értékválasztási szakasz lezárult, kiszámítódik egy érték, amelyet tovább használnak a magánkulcs előállításához. Az fm = b c képlet alkalmazásával kiszámítják az értéket. A jelenlegi forgatókönyvben az 1. felhasználó F, fm = b c, a, b-et választja nyilvános kulcsként, míg az a értékét privát kulcsként menti el, amelyet tovább fog használni privát kulcsként.

2. lépés: A 2. felhasználó az adatokat az 1. felhasználó nyilvános kulcsával titkosítja.

  • Az üzenet titkosításának megkezdése érdekében vannak bizonyos értékek, amelyeket a user2-nek ki kell választania. A user2-nek szintén ki kell választania a ciklikus csoport p értékét. A ciklikus csoport ugyanaz, mint az 1. felhasználóé. Az értéket úgy kell kiválasztani, hogy az Inc átadása az adott függvénynél generálja az 1. eredményt.
  • Tudja, hogy a user2 generál más értékeket is, amelyeket az üzenet nyilvános kulcs segítségével történő titkosításához használnak. A generált érték Pm = b p. A b c másik átértéke b ap értékkel egyenlő. A számítás eredményét megszorozzuk a másik Z értékkel, hogy közelebb kerüljünk a titkosítási módszerhez. Végül az érték elküldésre kerül a b p, Z * b ap számítási eredményeinek felhasználásával.

3. lépés: Az üzenet visszafejtése a user1 végén.

  • A user1 ezután kiszámítja az első és a második szakaszban kiválasztott értékeket annak érdekében, hogy azonosítsa a megfelelő számot, amelyet a titkosított üzenet visszafejtéséhez használnak. Az 1. felhasználó b ap-ot fog feldolgozni, majd az eredmény felhasználásával osztják a Z-t a dekódolt érték elérése érdekében. A dekódolt érték valami olyasmi, amelyet a második szakaszban titkosítottunk.
  • A fenti esetben a user1 megindította a folyamatot az algoritmus lényegét képező privát és nyilvános kulcs kiszámításával. A kulcsot a user2 a második lépésben tovább használja a módszer titkosításához.
  • Az üzenetet oly módon titkosítjuk, hogy az abban a kezdeti szakaszban kiszámított érték felhasználható legyen az üzenet dekódolásához is. A harmadik lépésben szemtanúja lehet annak, hogy miután az egész értéket elosztottuk a harmadik lépésben kiszámított számmal, ez teljesen visszafejtje az üzenetet, és ez a végfelhasználó számára olvashatóvá válik. Ugyanezt a megközelítést kell követni minden alkalommal, amikor az üzenet biztonságos továbbítására irányuló vágy felmerül.

Következtetés - ElGamal titkosítás

Az ElGamal algoritmust használják a titkosításban és a dekódolásban, amelyet elsősorban annak a képességének tükrében fontolnak meg, hogy a kulcsfontosságú előrejelzéseket rendkívül keményvé teszi. Mivel aszimmetrikus algoritmus, a privát és a nyilvános kulcs mechanizmusát használja, így a kulcsbecslés még keményebbé válik. Az összes alkalmazás, amely nemcsak az adatok védelmére támaszkodik a csatorna titkosításra, nagyon hasznosnak találhatja ezt az algoritmust a programban. Az alkalmazás szintű biztonság mellett ezt az algoritmust is nagyon optimálisnak tekintik a magán- vagy nyilvános hálózaton keresztüli adatátvitel kezelésére.

Ajánlott cikkek

Ez egy útmutató az EIGamal titkosításhoz. Itt a bevezetésről és az EIGamal titkosítási algoritmusról is példát tárgyalunk. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -

  1. Aszimmetrikus titkosítás
  2. Szimmetrikus kulcs titkosítás
  3. Speciális titkosítási szabvány
  4. Titkosítási algoritmus

Kategória: