ESIGN

ESIGN ( englanniksi  Efficient digital SIGNature - Efektiivinen digitaalinen allekirjoitus) on julkisen avaimen digitaalinen allekirjoitusmalli, joka perustuu numerotekijöiden ongelmaan . Tämän järjestelmän erottuva piirre on kyky luoda nopeasti allekirjoitus. [yksi]

Historia

Digitaalisen allekirjoituksen kehitti japanilainen yritys NTT vuonna 1985. [2] Järjestelmä osoittautui tehokkaaksi digitaalisen allekirjoituksen luomisnopeuden kannalta. Ensimmäiset versiot kuitenkin mursivat Ernie Btickel ja  John DeLaurentis , minkä jälkeen suositeltuja algoritmiparametreja muutettiin .  [3] Myöhemmät hakkerointiyritykset epäonnistuivat. Kirjoittajat väittävät , että ESIGN : n uusimman version murtamisen monimutkaisuus on verrattavissa useiden muotojen tekijöihinjakoongelman monimutkaisuuteen , jossa ja ovat alkulukuja . [neljä]

Protokollan kuvaus

Johdanto

Protokollassa on mukana kaksi entiteettiä: entiteetti , jonka tarkoituksena on osoittaa, että viestin kirjoittaja on , ja aihe , jonka tarkoituksena on varmistaa kirjoittaja. ESIGN:ssä asetettujen tavoitteiden toteuttamiseksi ja on suoritettava seuraavat toimet [5] .

Julkisten ja yksityisten avainten luominen

ESIGN-avaimet luodaan seuraavasti [6] .

  1. Kaksi saman bitin pituista alkulukua valitaan satunnaisesti.
  2. Luku lasketaan .
  3. Positiivinen kokonaisluku valitaan .
  4. Numeropari on julkinen avain.
  5. Numeropari on yksityinen avain.

Allekirjoituksen luominen

Allekirjoittaaksesi viestin , jossa on mielivaltaisen pituinen binääriluku , suoritetaan seuraavat vaiheet [6] .

  1. , jossa on esivalittu hash - funktio , joka ottaa arvot välillä - .
  2. Väliltä valitaan satunnaisluku .
  3. Ja lasketaan , jossa on funktio pyöristää pienimpään kokonaislukuun, suurempi argumentti.
  4. Allekirjoitus lasketaan .

Allekirjoituksen vahvistus

Sen varmistamiseksi, että allekirjoitus todellakin allekirjoittaa viestin , suoritetaan seuraavat vaiheet [6] .

  1. , jossa on sama hash-funktio, jota käytettiin allekirjoituksen luomiseen.
  2. Laskettu .
  3. Epätasa-arvotesti suoritetaan .
  4. Allekirjoitus katsotaan päteväksi, jos eriarvoisuus täyttyy.

Aiemmat versiot

Alun perin ehdotetussa ESIGN-versiossa parametri oli yhtä suuri kuin kaksi. [5] Kuitenkin Ernie Brickellin ja John DeLaurentisin onnistuneen hyökkäyksen jälkeen, joka ulottui myös piirimuunnelmaan kanssa , kirjoittajat muuttivat tämän parametrin vaatimuksen olemassa olevaksi . [7]

Kryptanalysis

Hyökkäys hash-funktioon

Hajautusfunktioon kohdistuvat hyökkäykset allekirjoituksen väärentämiseksi perustuvat sen epätäydellisyyteen eli hajautusfunktion yhteensopimattomuuteen yhden tai useamman kryptografisen vahvuuskriteerin kanssa sillä ehdolla, että ESIGN:n tapauksessa kriteerien tasa-arvo tulee ymmärtää merkittävimpiin bitteihin asti. Tämä lievennys johtuu allekirjoituksen vahvistusehdosta, joka täyttyy alkuperäisen hash-arvon lisäksi myös muiden ensimmäisten korkeiden bittien kohdalla.

Oletetaan, että funktio on epävakaa törmäysten etsinnässä, eli voit löytää niin erilaiset ja vastaavat ensimmäisistä korkeista biteistä. Sitten allekirjoittaessaan viestin kirjoittaja , epäilemättä mitään, allekirjoittaa viestin automaattisesti , koska epätasa-arvo

Jos valittu hash-funktio on kryptografisesti suojattu, törmäyshyökkäys suorittaa hash-funktion laskentaoperaatiot, toista esikuvaa käyttävä hyökkäys toteuttaa operaatioita, joita ei pidetä toteuttamiskelpoisina, suurille . [8] [9]

Julkisen avaimen hyökkäys

Hyökkäys julkiseen avaimeen on yritys saada siitä yksityinen avain . Tämä voidaan tehdä ratkaisemalla yhtälö , eli laskemalla luku . Voit nähdä, että RSA :ssa luku generoidaan samalla tavalla, mutta nykyään kysymys siitä, missä tapauksissa faktorointi yksinkertaistuu tai vaikeutuu, jää avoimeksi, koska tehokkaita faktorointialgoritmeja ei vielä ole. Tällä hetkellä nopein tapa kertoa luku joko ESIGN:lle tai RSA:lle on numerokenttäseulamenetelmä , joka tekee tämän bitin pituudesta riippuvalla nopeudella . Kuitenkin, jos luvun bittipituus on suuri , tekijöiden jakamisesta tulee mahdotonta. [10] [9]

Suositellut asetukset

ESIGN-kuvauksessa jo esitettyjen rajoitusten lisäksi turvallisuuden lisäämiseksi on suositeltavaa valita koko ja yhtä suuri tai suurempi kuin bitti, koko yhtä suuri tai suurempi vastaavasti ja parametri suurempi tai yhtä suuri kuin 8 [ 11] :

Suojaustaso suhteessa muihin digitaalisiin allekirjoitusmenetelmiin

Alla on taulukko ESIGN-suojaustason sekä RSA- ja ECDSA -suojaustasojen välisestä vastaavuudesta eri parametrikokoille bitteinä. Näet, että samoilla kooilla RSA ja ESIGN ovat vertailukelpoisia turvallisuuden suhteen. [12]

Koko ESIGN, bittiä Koko RSA, bittiä Koko ECDSA:ssa, bittejä
960 960 152
1024 1024 160
2048 2048 224
3072 3072 256
7680 7680 384

Edut

ESIGN-järjestelmän avulla voit luoda nopeasti allekirjoituksen. Koska laskennallisesti monimutkaiset toiminnot, kuten eksponentio ja käänteisen elementin löytäminen , eivät riipu allekirjoitetusta viestistä , ne voidaan suorittaa etukäteen ja tallentaa muistiin. Näin ollen viestin allekirjoittamiseen riittää, että suoritetaan loput yhteen-, kerto- ja jakooperaatiot, joiden osuus allekirjoituksen luomisalgoritmin laskennallisesta monimutkaisuudesta on pieni. Siinä tapauksessa , että ja bitin pituus on yhtä suuri kuin , allekirjoituksen luomisen nopeus sisään on suurempi kuin RSA :lla vastaavilla parametreilla. Mitä tulee allekirjoituksen todentamiseen, sen nopeus on verrattavissa allekirjoituksen varmennusnopeuteen RSA-algoritmissa , jonka avoin eksponentti on pieni. [13] [9]

ESIGN-pohjaiset todennusprotokollat

ESIGN:n avulla voit toteuttaa nollatiedontunnistusprotokollia, joiden avulla koehenkilö ( English Prover - proving ) voi todistaa tutkittavalle ( English Verifier - checking) tiedon olemassaolon ja pitää sen salassa . ESIGN-pohjaiset tunnistusprotokollat ​​ovat yhtä tehokkaita kuin Feig-Fiat-Shamir-protokolla . Harkitsemme kahta tällaista protokollaa: kolmikierrosta ja kaksikierrosta. [neljätoista]  

Kolmen kierroksen tunnistusjärjestelmä

  1. luo julkisia ja yksityisiä ESIGN-avaimia.
  2. valitsee satunnaisesti numerot ja laskee , jossa on yksisuuntainen funktio , on ketjutusoperaatio ja lähettää todentajalle .
  3. valitsee satunnaisesti luvun ja lähettää sen todistajalle.
  4. laskee , luo allekirjoituksen ja lähettää kolminkertaisen varmentajalle.
  5. varmistaa, että viestin allekirjoitus on sama ja kelvollinen .

Kahden kierroksen tunnistusjärjestelmä

  1. luo julkisia ja yksityisiä ESIGN-avaimia.
  2. valitsee satunnaisesti luvun ja lähettää sen todistajalle.
  3. valitsee satunnaisesti luvun , laskee , luo allekirjoituksen ja lähettää sen todentajalle.
  4. varmistaa, että viestin allekirjoitus on sama ja kelvollinen .

Yllä olevissa protokollissa salaiset tiedot ovat avaimet , joiden tunteminen todistaa aiheen . Jos kaikkien tarkastusten tulokset viimeisissä vaiheissa onnistuvat, katsotaan, että hänellä todella on salaisuus.

Muistiinpanot

  1. Menezes, Oorschot, Vanstone, 1996 , §11.7, s. 2, s. 473-474.
  2. Minghua, 2001 , s. yksi.
  3. Schneier, 2002 , luku 20, s. 6.
  4. Atsushi, 1991 , luku 2, kappale 3: "Oletamme, että korkeamman asteen versiomme (ESIGN) rikkominen on yhtä vaikeaa kuin N:n laskeminen".
  5. 1 2 Schneier, 2002 , luku 2, s. 6.
  6. 1 2 3 Menezes, Oorschot, Vanstone, 1996 , §11.7, s. 2, s. 473.
  7. Menezes, Oorschot, Vanstone, 1996 , §11.9, s. 486-487.
  8. Minghua, 2001 , s. 3.
  9. 1 2 3 Menezes, Oorschot, Vanstone, 1996 , §11.7, s. 2, s. 474.
  10. Minghua, 2001 , s. neljä.
  11. Minghua, 2001 , s. 6.
  12. Minghua, 2001 , s. 7.
  13. Atsushi, 1991 , luku 3.
  14. Atsushi, 1991 , luku 4.

Kirjallisuus