ElGamal séma

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. május 10-én felülvizsgált verziótól ; az ellenőrzések 43 szerkesztést igényelnek .

Az Elgamal-séma egy nyilvános kulcsú kriptorendszer , amely a diszkrét logaritmusok véges mezőben történő kiszámításának nehézségén alapul . A kriptorendszer tartalmaz egy titkosítási algoritmust és egy digitális aláírási algoritmust. Az ElGamal-séma a korábbi digitális aláírási szabványok alapja az Egyesült Államokban ( DSA ) és Oroszországban ( GOST R 34.10-94 ).

A sémát Taher El-Gamal javasolta 1985 - ben . [1] ElGamal kifejlesztette a Diffie-Hellman algoritmus egy változatát . Javította a Diffie-Hellman rendszert, és kapott két algoritmust, amelyeket titkosításra és hitelesítésre használtak. Az RSA-val ellentétben az ElGamal algoritmust nem szabadalmazták, így olcsóbb alternatívává vált, mivel nem kellett licencdíjat fizetni. Úgy gondolják, hogy az algoritmus a Diffie-Hellman szabadalom hatálya alá tartozik.

Kulcsgenerálás

  1. Egy véletlenszerű prímszám generálódik .
  2. Egy egész szám van kiválasztva - a primitív gyök .
  3. Egy véletlenszerű egész számot választunk úgy, hogy .
  4. Kiszámolva .
  5. A nyilvános kulcs , a privát kulcs pedig .

Titkosított módban végzett munka

Az ElGamal titkosítási rendszer valójában az egyik módja a Diffie-Hellman nyilvános kulcsok előállításának . Az ElGamal titkosítás nem tévesztendő össze az ElGamal digitális aláírási algoritmussal.

Titkosítás

Az üzenetnek kisebbnek kell lennie, mint . Az üzenet a következőképpen van titkosítva:

  1. A szekciókulcs kerül kiválasztásra — egy véletlenszerű egész szám koprím -val , úgy , hogy .
  2. A és számok kiszámítása .
  3. A számpár titkosított szöveg .

Könnyen belátható, hogy az ElGamal sémában a rejtjelezett szöveg hossza kétszerese az eredeti üzenet hosszának .

Dekódolás

A titkos kulcs ismeretében az eredeti üzenet a rejtjelezett szövegből a következő képlet segítségével számítható ki :

Ugyanakkor ez könnyen ellenőrizhető

és ezért

.

A gyakorlati számításokhoz a következő képlet alkalmasabb:

Titkosítási séma

Példa

Mivel az ElGamal-sémába egy valószínűségi változó kerül be , az ElGamal-rejtjel többértékű helyettesítési rejtjelnek nevezhető. A számválasztás véletlenszerűsége miatt az ilyen sémát valószínűségi titkosítási sémának is nevezik. A titkosítás valószínűségi jellege az ElGamal séma előnye, mivel a valószínűségi titkosítási sémák erősebbek, mint egy adott titkosítási eljárást alkalmazó sémák. Az ElGamal titkosítási séma hátránya, hogy a titkosított szöveg kétszerese a nyílt szövegnek. Valószínűségi titkosítási séma esetén maga az üzenet és a kulcs nem határozza meg egyértelműen a rejtjelezett szöveget. Az ElGamal sémában egy véletlen változó különböző értékeit kell használni a különböző üzenetek titkosításához és . Ha ugyanazt használod , akkor a megfelelő rejtjelezett szövegekre és a kapcsolat teljesül . Ebből a kifejezésből könnyen kiszámolható , ha tudja .

Munka aláírás módban

A digitális aláírás az adatváltozások azonosítását és az aláíró személyazonosságának megállapítását szolgálja. Az aláírt üzenet címzettje digitális aláírással bizonyíthatja harmadik félnek, hogy az aláírást valóban a feladó írta. Ha aláírási módban dolgozik, feltételezzük, hogy van egy rögzített hash függvény , amelynek értékei az intervallumban vannak .

Üzenet aláírások

Egy üzenet aláírásához a következő műveleteket kell végrehajtani:

  1. Az üzenet kivonatának kiszámítása : (A hash függvény bármilyen lehet).
  2. Kiválasztunk és kiszámítunk egy véletlenszám -koprímet
  3. A szám kiszámítása , ahol a multiplikatív inverz modulo , amely megtalálható például a kiterjesztett Euklidész algoritmus segítségével .
  4. Az üzenet aláírása a pár .

Aláírás ellenőrzése

A nyilvános kulcs ismeretében az üzenet aláírását a következőképpen ellenőrizzük:

  1. A feltételek teljesíthetőségét ellenőrzik: és .
  2. Ha legalább az egyik sikertelen, akkor az aláírás érvénytelennek minősül.
  3. A kivonat kiszámítása megtörténik
  4. Az aláírás érvényesnek minősül, ha összehasonlítják:

Helyességi ellenőrzés

A figyelembe vett algoritmus abban az értelemben helyes, hogy a fenti szabályok szerint számított aláírást az ellenőrzéskor elfogadjuk.

Átalakítva a definíciót , megvan

Továbbá Fermat kis tételéből az következik, hogy

Példa

Az ElGamal digitális aláírási séma fő előnye, hogy képes digitális aláírást generálni nagyszámú üzenethez egyetlen titkos kulcs használatával. Ahhoz, hogy a támadó aláírást hamisíthasson, összetett matematikai problémákat kell megoldania a logaritmus mezőben történő megtalálásával . Számos megjegyzést kell tenni:

A számnak véletlenszerűnek kell lennie, és nem szabad megkettőznie ugyanazzal a titkos kulcsértékkel kapott különböző aláírásokat.

könnyen ellenőrizhető, hogy a pár a megfelelő digitális aláírás az üzenethez .

A kriptográfiai erősség és jellemzők

Jelenleg a nyilvános kulcsú kriptorendszerek számítanak a legígéretesebbnek. Ezek közé tartozik az ElGamal-séma, amelynek kriptográfiai erőssége a diszkrét logaritmus - probléma számítási bonyolultságán alapul , ahol p , g és y mellett ki kell számítani x -et , amely kielégíti az összehasonlítást:

Az Orosz Föderációban 1994 -ben elfogadott GOST R34.10-1994 , amely szabályozta az elektronikus digitális aláírás generálására és ellenőrzésére vonatkozó eljárásokat, az ElGamal sémán alapult. 2001 óta használják az új GOST R 34.10-2001 szabványt , amely az egyszerű Galois-mezőkön meghatározott elliptikus görbék aritmetikáját használja . Az ElGamal sémára épülő algoritmusok nagy száma létezik: ezek a DSA , ECDSA , KCDSA algoritmusok, Schnorr séma .

Néhány algoritmus összehasonlítása:

Algoritmus Kulcs Célja Kriptográfiai ellenállás, MIPS Megjegyzések
RSA Akár 4096 bit Titkosítás és aláírás 2,7•10 28 1300 bites kulcshoz A nagyszámú faktorizációs probléma nehézsége alapján ; az egyik első aszimmetrikus algoritmus. Számos szabványban szerepel
ElGamal Akár 4096 bit Titkosítás és aláírás Ugyanazon kulcshosszúság esetén a kriptográfiai erősség megegyezik az RSA-val, azaz. 2,7•10 28 1300 bites kulcshoz A diszkrét logaritmusok véges mezőben történő kiszámításának nehéz feladatán alapul; lehetővé teszi a kulcsok gyors generálását a biztonság veszélyeztetése nélkül. A DSA szabványú DSS digitális aláírási algoritmusában használatos
DSA Akár 1024 bit Csak aláírás A diszkrét logaritmus -feladat nehézsége alapján véges mezőben ; államként fogadják el amerikai szabvány; titkos és nem minősített kommunikációra használják; A fejlesztő az NSA.
ECDSA Akár 4096 bit Titkosítás és aláírás A kriptográfiai ellenállás és a működési sebesség magasabb, mint az RSA-é Modern irány. Számos vezető matematikus fejlesztette ki

Jegyzetek

  1. Elgamal, 1985 .

Irodalom