ElGamalin kaava

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 10. toukokuuta 2018 tarkistetusta versiosta . tarkastukset vaativat 43 muokkausta .

Elgamal - malli on julkisen avaimen salausjärjestelmä , joka perustuu vaikeuteen laskea diskreettejä logaritmeja äärellisessä kentässä . Salausjärjestelmä sisältää salausalgoritmin ja digitaalisen allekirjoitusalgoritmin. ElGamal-järjestelmä on Yhdysvaltojen ( DSA ) ja Venäjän ( GOST R 34.10-94 ) aiempien digitaalisten allekirjoitusstandardien taustalla .

Järjestelmän ehdotti Taher El-Gamal vuonna 1985 . [1] ElGamal kehitti muunnelman Diffie-Hellman-algoritmista . Hän paransi Diffie-Hellman-järjestelmää ja sai kaksi algoritmia, joita käytettiin salaukseen ja todentamiseen. Toisin kuin RSA, ElGamal-algoritmia ei patentoitu, joten siitä tuli halvempi vaihtoehto, koska lisenssimaksuja ei vaadittu. Algoritmin uskotaan kuuluvan Diffie-Hellmanin patenttiin.

Avaimen luominen

  1. Syntyy satunnainen alkuluku .
  2. Valitaan kokonaisluku - primitiivinen juuri .
  3. Satunnainen kokonaisluku valitaan siten, että .
  4. Laskettu .
  5. Julkinen avain on , yksityinen avain on .

Työskentely salatussa tilassa

ElGamalin salausjärjestelmä on itse asiassa yksi tavoista luoda Diffie-Hellmanin julkisia avaimia . ElGamal-salausta ei pidä sekoittaa ElGamalin digitaaliseen allekirjoitusalgoritmiin.

Salaus

Viestin on oltava pienempi kuin . Viesti on salattu seuraavasti:

  1. Istuntoavain valitaan — satunnainen kokonaisluku , jossa on .
  2. Numerot ja lasketaan .
  3. Lukupari on salateksti .

On helppo nähdä, että salatekstin pituus ElGamal-skeemassa on kaksi kertaa alkuperäisen viestin pituus .

Salauksen purku

Kun tiedät yksityisen avaimen , alkuperäinen viesti voidaan laskea salatekstistä kaavalla:

Samalla se on helppo tarkistaa

ja siksi

.

Käytännön laskelmia varten seuraava kaava on sopivampi:

Salausjärjestelmä

Esimerkki

Koska satunnaismuuttuja sisällytetään ElGamal-malliin , ElGamal-salausta voidaan kutsua moniarvoiseksi korvaussalaukseksi. Numeron valinnan satunnaisuuden vuoksi tällaista järjestelmää kutsutaan myös todennäköisyyspohjaiseksi salausmenetelmäksi. Salauksen todennäköisyyspohjainen luonne on etu ElGamal-menetelmälle, koska todennäköisyyspohjaiset salausmenetelmät ovat vahvempia verrattuna menetelmiin, joissa on tietty salausprosessi. ElGamal-salausmenetelmän haittana on, että salateksti on kaksi kertaa selkeän tekstin pituus. Todennäköisyyspohjaisessa salausmenetelmässä itse viesti ja avain eivät määritä salatekstiä yksiselitteisesti. ElGamal-järjestelmässä on tarpeen käyttää satunnaismuuttujan eri arvoja erilaisten viestien salaamiseen ja . Jos käytät samaa , niin vastaaville salateksteille ja relaatio täyttyy . Tästä lausekkeesta voidaan helposti laskea , jos tietää .

Työskentely allekirjoitustilassa

Digitaalinen allekirjoitus mahdollistaa tietojen muutosten tunnistamisen ja allekirjoittajan henkilöllisyyden selvittämisen. Allekirjoitetun viestin vastaanottaja voi käyttää digitaalista allekirjoitusta todistaakseen kolmannelle osapuolelle, että allekirjoitus on todella lähettäjän tekemä. Allekirjoitustilassa työskennellessä oletetaan, että on olemassa kiinteä hash-funktio , jonka arvot ovat välissä .

Viestien allekirjoitukset

Allekirjoittaaksesi viestin , suoritetaan seuraavat toiminnot:

  1. Viestin tiivistelmä lasketaan : (Hash-funktio voi olla mikä tahansa).
  2. Satunnaisluvun koprime valitaan ja lasketaan
  3. Luku lasketaan , jossa on kertova käänteismodulo , joka voidaan löytää esimerkiksi käyttämällä laajennettua Euclid-algoritmia .
  4. Viestin allekirjoitus on pari .

Allekirjoituksen vahvistus

Tietäen julkisen avaimen viestin allekirjoitus varmistetaan seuraavasti:

  1. Ehtojen toteutettavuus tarkistetaan: ja .
  2. Jos ainakin yksi niistä epäonnistuu, allekirjoitus katsotaan virheelliseksi.
  3. Tiivistelmä lasketaan
  4. Allekirjoitus katsotaan päteväksi, jos vertailu tehdään:

Oikeustarkistus

Tarkasteltu algoritmi on oikea siinä mielessä, että yllä olevien sääntöjen mukaan laskettu allekirjoitus hyväksytään, kun se varmistetaan.

Muuttaa määritelmää , meillä on

Lisäksi Fermatin pienestä lauseesta seuraa, että

Esimerkki

ElGamalin digitaalisen allekirjoitusjärjestelmän tärkein etu on kyky luoda digitaalisia allekirjoituksia suurelle määrälle viestejä käyttämällä vain yhtä salaista avainta. Jotta hyökkääjä voi väärentää allekirjoituksen, hänen on ratkaistava monimutkaisia ​​matemaattisia ongelmia logaritmin löytämisessä kentältä . On syytä esittää useita kommentteja:

Numeron on oltava satunnainen, eikä sitä saa kopioida eri allekirjoituksille, jotka on saatu samalla salaisen avaimen arvolla.

on helppo varmistaa, että pari on oikea digitaalinen allekirjoitus viestille .

Kryptografinen vahvuus ja ominaisuudet

Tällä hetkellä julkisen avaimen salausjärjestelmiä pidetään lupaavimpana. Näitä ovat ElGamal-kaavio, jonka kryptografinen vahvuus perustuu diskreetin logaritmiongelman laskennalliseen monimutkaisuuteen , jossa p , g ja y on laskettava vertailua tyydyttävä x :

Venäjän federaatiossa vuonna 1994 hyväksytty GOST R34.10-1994 , joka säänteli sähköisen digitaalisen allekirjoituksen luomis- ja todentamismenettelyjä, perustui ElGamal-järjestelmään. Vuodesta 2001 lähtien uusi GOST R 34.10-2001 on ollut käytössä käyttämällä yksinkertaisten Galois-kenttien yli määriteltyjen elliptisten käyrien aritmetiikkaa . ElGamal-skeemaan perustuvia algoritmeja on suuri määrä: nämä ovat DSA , ECDSA , KCDSA-algoritmit ja Schnorr-malli .

Joidenkin algoritmien vertailu:

Algoritmi Avain Tarkoitus Kryptografinen vastustuskyky, MIPS Huomautuksia
RSA Jopa 4096 bittiä Salaus ja allekirjoitus 2.7•10 28 1300-bittiselle avaimelle Perustuu vaikeussuurten tekijöiden jakaminen ongelma ; yksi ensimmäisistä epäsymmetrisistä algoritmeista. Sisältyy moniin standardeihin
ElGamal Jopa 4096 bittiä Salaus ja allekirjoitus Samalla avaimen pituudella kryptografinen vahvuus on yhtä suuri kuin RSA, ts. 2.7•10 28 1300-bittiselle avaimelle Perustuu vaikeaan ongelmaan diskreettien logaritmien laskemisesta äärellisessä kentässä; avulla voit luoda nopeasti avaimia turvallisuudesta tinkimättä. Käytetään DSA-standardin DSS:n digitaalisessa allekirjoitusalgoritmissa
DSA Jopa 1024 bittiä Vain allekirjoitus Perustuu diskreetin logaritmitehtävän vaikeuteen äärellisessä kentässä ; hyväksytty valtioksi Yhdysvaltain standardi; käytetään salaiseen ja luokittelemattomaan viestintään; Kehittäjä on NSA.
ECDSA Jopa 4096 bittiä Salaus ja allekirjoitus Kryptovastus ja toimintanopeus ovat korkeammat kuin RSA:ssa Moderni suunta. Monien johtavien matemaatikoiden kehittämä

Muistiinpanot

  1. Elgamal, 1985 .

Kirjallisuus