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]
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ä]
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] .
ESIGN-avaimet luodaan seuraavasti [6] .
Allekirjoittaaksesi viestin , jossa on mielivaltaisen pituinen binääriluku , suoritetaan seuraavat vaiheet [6] .
Sen varmistamiseksi, että allekirjoitus todellakin allekirjoittaa viestin , suoritetaan seuraavat vaiheet [6] .
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]
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]
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]
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] :
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 |
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: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]
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.