ElGamalin kryptosysteemi

Kryptosysteemi ElGamal , tai salauksen El Gamal (tai El Gamal järjestelmä ) on protokolla epäsymmetrinen keksi Taher ELGAMAL 1984 ja rakennettu ongelma diskreetin logaritmin .

Tätä protokollaa käyttää ilmainen ohjelmisto GNU Privacy Guard, jonka viimeisimmät versiot toteuttavat jopa sen version elliptisillä käyrillä . Toisin kuin RSA- salaus , se ei ole koskaan ollut patenttisuojan alla .

Taher Elgamalin perustamisartikkeli esittelee salausprotokollan , mutta myös digitaalisen allekirjoituksen , jota yhtäläisyydistään huolimatta (ne molemmat rakentuvat erillisen logaritmin ongelmaan ) ei pidä sekoittaa. Tämä artikkeli käsittelee vain kanssa salauksen protokollan .

Algoritmin kuvaus

Algoritmi on kuvattu rajalliselle sykliselle ryhmälle , jonka sisällä Diffie-Hellmanin päätösongelma (DDH) on vaikeaa. Tarkempia tietoja on kohdassa Resistanssi CPA-hyökkäyksille .

Voimme huomata, että DDH on vahvempi työhypoteesi kuin diskreetin logaritmin, koska se pitää paikkansa, jos koskaan, diskreetin logaritmin ongelma on vaikea. On myös ryhmiä, joissa DDH- ongelma on helppo, mutta joissa ei ole tehokasta algoritmia erillisen logaritmin ratkaisemiseksi .

Koska kyseessä on epäsymmetrinen salausmenetelmä , salausjärjestelmä koostuu kolmesta ( todennäköisyysperusteisesta ) algoritmista : GenClefs , Encrypt ja Decrypt .

Oletuksena on, että Bob haluaa lähettää viestin Alicelle . Mutta tämä viesti sisältää arkaluontoisia tietoja, joten Bob ei halua, että kukaan muu kuin Alice ymmärtää sen. Joten Bob salaa viestinsä.

Koska epäsymmetriset salausmenetelmät ovat yleensä hitaampia kuin niiden symmetriset analogit, ElGamalin salausta käytetään käytännössä usein osana hybridisalausta , kuten sen PGP-spesifikaatiota.

Yksi tapa tarkastella tätä salausjärjestelmää on vetää rinnakkain Diffie-Hellman- avaimenvaihtoprotokollan kanssa . Salausalgoritmin muodostuu tällöin lähettämällä viestin salattu jonka kertakäyttöinen maski alle jaetun avaimen , joka voidaan laskea Alice koska hän on (katso kuva viereisellä sivulla).

Avainten luominen

Salausjärjestelmän ensimmäinen vaihe on tuottaa avainpari: julkinen avain ja salainen avain . Ensimmäistä käytetään viestien salaamiseen ja toista niiden salauksen purkamiseen.

Salausalgoritmi

Joten Bobilla on pääsy Alicen julkiseen avaimeen . Salataksesi ryhmän elementtinä koodatun viestin Bob aloittaa piirtämällä satunnaisluvun ja käyttää sitä peittämään viestin laskennan aikana . Sallimaan Alice purkaa viestin, Bob lisäävät tätä osa viestiä tietoa tuotteen aiheuttamasta vaarasta: .

Lopuksi salaus koostuu näistä kahdesta kappaleesta : ja Bob lähettää Alicelle.

Salauksen purkualgoritmi

Pääsy ja Alice voi siten laskea:

Ja pystyy siis löytämään viestin .

turvallisuus

Valitut selkeät tekstihyökkäykset

Tarkastellaan julkista tietoa ; Ymmärrämme, että vain osan elementit tehdään näkyviksi eikä eksponentteja (tässä x ja s vastaavasti). Epävirallisesti voimme huomata, että erillisen logaritmin ongelma voidaan tulkita siten, että on vaikea löytää salaisia ​​tietoja ( esimerkiksi), jotka mahdollistaisivat viestin löytämisen.

Tarkemmin sanottuna Diffie-Hellmannin (tai DDH ) päätösongelma mahdollistaa järjestelmän semanttisen turvallisuuden takaamisen .

Esittely Vähennys

Olettaen, että meillä on vastustaja ElGamal-salauksen semanttista turvallisuutta vastaan, joka voittaa ei vähäpätöisellä todennäköisyydellä ε . Sitten on mahdollista rakentaa vastustaja DDH: ta vastaan, mikä olisi ristiriidassa tämän ongelman oletetun vaikeuden kanssa. Tämä juuri kuvailema pienennys muodostaa kaavion turvatodistuksen.

Tämän vastustajan rakentamiseksi, jota jäljempänä kutsutaan "  pelkistykseksi  ", oletetaan olevan kolminkertainen DDH  : n tarkoitus on sitten päättää, onko todennäköisyys vähäpätöinen vai ei. Tätä varten sillä on käyttöliittymä edellä kuvatun vastustajan kanssa ElGamalin krypto-järjestelmän semanttisen turvallisuuden edessä.

Vähennys lähettää sen vuoksi julkisen avaimen vastustajalle ElGamalia vastaan . Tuottaessaan haaste vastustaja vastaan semanttinen turvallisuus on salausjärjestelmä, vähennys lähettää salatun: sillä hänen valintansa. Jos tripletti on koskaan DDH- tripletti , toisin sanoen jos , niin se muodostettaisiin kelvolliseksi salaukseksi ElGamalille julkisen avaimen suhteen . Toisaalta, jos eksponentti on satunnainen, niin vastustaja ElGamalia vastaan ​​ei pysty erottamaan haasteen kahta viestiä muuten kuin vastaamalla satunnaisesti.

Meidän on vain vastattava "1" (vastaa sitä, että DDH: n haastaja lähetti DDH-tripletin), jos vastustajamme koskaan onnistuu, ja "0" (vastaa sitä, että DDH: n haastaja lähetti kolminkertaisen satunnaisuuden) muuten.

Analyysi

Tulemme nyt rajoittaa etu voittaa meidän vähennystä etu ε oletetun vastustajan vastoin järjestelmän.

Aloitamme huomauttamalla, että meillä on kaksi tapausta: joko haastajamme lähettämä haaste on todellinen DDH- tripletti tai se on tasaisesti piirretty tripletti.

Siten meillä on etu, joka on edelleen merkittävä: saman turvallisuuden saavuttamiseksi DDH: n ja kryptojärjestelmämme välillä riittää, että DDH- ongelma pysyy turvassa ylimääräisellä suojausbitillä.

Edessä valitut salaushyökkäykset

Malleissa, joissa on enemmän voimaa käyttävä hyökkääjä, kuten valittujen salaushyökkäysten alla, ElGamal-salausjärjestelmä ei ole turvallinen sen muovattavuuden vuoksi  ; todellakin, kun salaus viestille , voimme rakentaa salauksen , joka on voimassa viestille .

Tämä muovattavuus (se on moninkertaistuva homomorfismi ) toisaalta mahdollistaa sen käytön esimerkiksi sähköisessä äänestyksessä .

On kuitenkin olemassa variantteja, jotka saavuttavat turvallisuuden valittuja salaushyökkäyksiä vastaan, kuten Cramer-Shoup-salausjärjestelmä, joka voidaan nähdä ElGamal-salauksen laajennuksena.

Esimerkki

Esimerkiksi voidaan ottaa ryhmä generaattorilla g = 5 ( Varoitus : tämä ei ole turvallinen ryhmä, nämä arvot otettiin vain yksinkertaisen esimerkin tuottamiseksi).

Mahdollinen julkinen avain voisi siis olla :, ja salainen avain .

Huomaa, että koska salaus on todennäköisyysalgoritmi , samalle viestille on olemassa erilaisia ​​mahdollisia lähtöjä. Mahdollinen salaus viestille 42 voisi siis olla (58086963, 94768547) , mutta myös (83036959, 79165157) riskeille r yhtä suuri kuin 6689644 ja 83573058 .

Siitä huolimatta, jos teemme laskun kahdelle luvullemme, saamme tuloksen 42 .

Huomautuksia ja viitteitä

(fr) Tämä artikkeli on osittain tai kokonaan otettu englanninkielisestä Wikipedia- artikkelista ElGamal-salaus  " ( katso luettelo tekijöistä ) .
  1. ElGamal 1984 .
  2. RFC4880 , (en) "  OpenPGP-sanoman muoto  "
  3. GnuPG 2.1 -vaihtoloki
  4. Joux ja Nguyen 2003 .
  5. Katz ja Lindell 2014 , luku 10.5 ElGamalin salausjärjestelmä.
  6. Belenios, (en) "  Beleniosin tekniset tiedot  "

Liitteet

Bibliografia

  • [ElGamal 1984] (en) Taher ElGamal, ”  Julkisen avaimen salausjärjestelmä ja erillisiin logaritmeihin perustuva allekirjoitusjärjestelmä  ” , Crypto , Springer,1984( DOI  10.1007 / 3-540-39568-7_2 )
  • [Katz ja Lindell 2014] (en) Jonathan Katz ja Yehuda Lindell, Johdatus moderniin salaukseen, 2. painos , Boca Raton, Chapman ja Hall ,2014, 583  Sivumäärä ( ISBN  978-1-4665-7026-9 , luettu verkossa ) , "Luku 10.5 El Gamalin salausjärjestelmä"
  • [Menezes, van Oorschot ja Vanstone 1996] (en) AJ Menezes , PC van Oorschot ja SA Vanstone , Käsikirja sovelletusta salauksesta , CRC Press,1996, 810  Sivumäärä ( ISBN  978-1-4398-2191-6 , lue verkossa [PDF] ) , "Luku 8.4 ElGamalin julkisen avaimen salaus"
  • [Joux ja Nguyen 2003] (en) Antoine Joux ja Kim Nguyen, "  Separating Decision Diffie - Hellman from Computational Diffie - Hellman in Cryptographic Groups  " , Journal of Cryptology , voi.  16,2003, s.  239-247 ( DOI  10.1007 / s00145-003-0052-4 )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">