ElGamal encryption

z Wikipédie, slobodnej encyklopédie

V kryptografii je šifrovací systém ElGamal asymetrický kľúčový šifrovací algoritmus pre kryptografiu s verejným kľúčom, ktorý je založený na výmene kľúčov Diffie–Hellman . Opísal ho Taher Elgamal v roku 1985. Šifrovanie ElGamal sa začalo používať v bezplatnom softvéri GNU Privacy Guard, najnovších verziách PGP a iných kryptosystémoch. ElGamal algoritmus digitálneho podpisu (DSA) je variant podpisovej schémy, ktorý by sa nemal zamieňať so šifrovaním ElGamal.

Šifrovanie ElGamal môže byť definované pre akúkoľvek cyklickú skupinu , ako multiplikatívna skupina celých čísel modulo n. Jeho bezpečnosť závisí od zložitosti určitej úlohy nad touto cyklickou grupou , súvisiacej s výpočtom diskrétnych logaritmov .

Algoritmus[upraviť | upraviť zdroj]

Šifrovanie ElGamal pozostáva z troch komponentov: generátor kľúča, šifrovací algoritmus a dešifrovací algoritmus.

Generovanie kľúčov[upraviť | upraviť zdroj]

Prvá strana, Alica, vygeneruje pár kľúčov takto:

  • Vytvorí efektívny popis cyklickej grupy rádu s generátorom . Nechaj predstavuje neutrálny prvok množiny .
  • Vyberie celé číslo náhodne z množiny .
  • Vypočíta .
  • Verejný kľúč pozostáva z hodnôt . Alica zverejní tento verejný kľúč a ponechá si ako jej súkromný kľúč, ktorý musí zostať v tajnosti.

Šifrovanie[upraviť | upraviť zdroj]

Druhá strana, Braňo, zašifruje správu Alici s jej verejným kľúčom nasledovne:

  • Zobrazí správu ako prvok z grupy pomocou funkcie inverzného zobrazenia.
  • Vyberie celé číslo náhodne z množiny .
  • Vypočíta . Toto sa nazýva zdieľaný tajný kľúč.
  • Vypočíta .
  • Vypočíta .
  • Braňo posiela šifrovaný text Alici.

Note that if one knows both the ciphertext  and the plaintext , one can easily find the shared secret , since . Therefore, a new  and hence a new  is generated for every message to improve security. For this reason, y is also called an ephemeral key.

Je potrebné si uvedomiť, že ak poznáme šifrovaný text aj pôvodný text , je možné ľahko zistiť zdieľaný tajný kľúč, pretože . Z tohoto dôvodu, pre zvýšenie bezpečnosti, je pre šifrovanie každej ďalšej správy generované nové číslo a teda aj nový tajný kľúč . Preto tento tajný kľúč dostal prívlastok dočasný.

Dešifrovanie[upraviť | upraviť zdroj]

Alica dešifruje zašifrovaný text s jej súkromným kľúčom nasledovne:

  • Vypočíta . Potom , , a teda ide o rovnaký zdieľaný tajný kľúč, aký použil Braňo pri šifrovaní.
  • Vypočíta , inverzný prvok v grupe . Dá sa to vypočítať jedným z niekoľkých spôsobov. Ak je podgrupa multiplikatívnej skupiny celých čísel modulo , kde je prvočíslo, modulárne multiplikatívne inverzné číslo možno vypočítať pomocou rozšíreného euklidovského algoritmu . Alternatívou je počítať ako . Toto je inverzné číslo na základe Lagrangeovej vety, keďže .
  • Vypočíta . Tento výpočet vytvorí pôvodnú správu , pretože  ; teda .
  • Urobí zobrazenie späť na správu vo formáte obyčajného textu .

Praktické využitie[upraviť | upraviť zdroj]

Ako väčšina systémov s verejným kľúčom, aj kryptosystém ElGamal sa zvyčajne používa ako súčasť hybridného kryptosystému, kde je samotná správa šifrovaná pomocou symetrického kryptosystému a ElGamal sa potom používa na šifrovanie iba symetrického kľúča. Je to preto, že asymetrické kryptosystémy ako ElGamal sú zvyčajne pomalšie ako symetrické pre rovnakú úroveň bezpečnosti, takže je rýchlejšie zašifrovať správu, ktorá môže byť ľubovoľne veľká, pomocou symetrickej šifry a potom použiť ElGamal iba na zašifrovanie symetrického kľúča, ktorý je zvyčajne dosť malý v porovnaní s veľkosťou správy.

Bezpečnosť[upraviť | upraviť zdroj]

Bezpečnosť schémy ElGamal závisí od vlastností základnej grupy ako aj akúkoľvek schému pre zarovnanie správ na požadovanú dĺžku. Ak v základnej cyklickej grupe platí výpočtový Diffie-Hellmanov predpoklad (CDH), potom je funkcia šifrovania jednosmerná . [1]

Ak platí rozhodovací Diffie-Hellmanov predpoklad (DDH) pre , potom ElGamal dosiahne sémantickú bezpečnosť . [1] [2] Na dosiahnutie sémantickej bezpečnosti nestačí len platnosť Diffie-Hellmanovho predpokladu. [3]

Šifrovanie ElGamal je bezpodmienečne poddajné, a preto nie je bezpečné voči útoku na vybraný šifrovaný text . Napríklad vzhľadom na šifrovanie nejakej správy , možno ľahko vytvoriť platné šifrovanie správy .

Na dosiahnutie bezpečnosti zvoleného šifrového textu je potrebné šifrovaciu schému ďalej upravovať alebo použiť vhodný algoritmus pre zarovnanie textu na požadovanú dĺžku. V závislosti od modifikácie môže alebo nemusí byť splnený nutný predpoklad DDH.

Boli navrhnuté aj iné schémy súvisiace s ElGamal, ktoré dosahujú bezpečnosť voči útoku na vybraný šifrovaný text. Kryptosystém Cramer–Shoup je to bezpečný voči spomínanému útoku za predpokladu, že DDH platí pre . Ďalšou navrhovanou schémou je DHAES [3].

Efektívnosť[upraviť | upraviť zdroj]

Šifrovanie ElGamal je stochastické, čo znamená, že jeden otvorený text možno zašifrovať do mnohých možných šifrovaných textov, čo má za následok, že všeobecné šifrovanie ElGamal vytvára zašifrovanú správu, ktorá môže byť až dvojnásobne veľká voči pôvodnému textu.

Šifrovanie v rámci ElGamal vyžaduje dve umocňovania, avšak tieto umocnenia sú nezávislé od správy a v prípade potreby sa dajú vypočítať vopred. Dešifrovanie vyžaduje jedno umocnenie a jeden výpočet inverznej grupy, ktoré sa však dajú ľahko spojiť len do jedného umocnenia.

Ďalšie čítanie[upraviť | upraviť zdroj]

  • A. J. Menezes; P. C. van Oorschot; S. A. Vanstone. „Kapitola 8.4 Šifrovanie verejným kľúčom ElGamal“ (PDF). Príručka aplikovanej kryptografie. CRC Press.
  • Dan Boneh (1998). Problém rozhodovania Diffie-Hellman. Poznámky z prednášok z informatiky. Vol. 1423. s. 48–63. CiteSeerX 10.1.1.461.9971. doi:10.1007/BFb0054851. ISBN 978-3-540-64657-0.

Referencie[upraviť | upraviť zdroj]

  1. a b . Dostupné online.
  2. Parameter "periodikum" je povinný!. DOI10.1007/BFb0054019.
  3. a b Parameter "periodikum" je povinný!. Dostupné online.