Nopea digitaalinen allekirjoitus on digitaalisen allekirjoituksen muunnelma , joka käyttää algoritmia , jossa on paljon pienempi (kymmeniä kertoja) määrä modulaarisia aritmeettisia laskutoimituksia perinteisiin EDS -menetelmiin verrattuna . Nopea sähköinen allekirjoitusjärjestelmä , kuten tavallinen, sisältää algoritmin käyttäjän avainparien luomiseksi , allekirjoituksen laskentatoiminnon ja allekirjoituksen vahvistustoiminnon.
EDS : n keksimisestä vuonna 1976 lähtien se on ollut lupaavin tutkimusalue julkisen avaimen salausjärjestelmissä . Yksi tavanomaisista matemaattisista ratkaisuista kryptografisten algoritmien rakentamiseen on diskreetti logaritmiongelma , jonka pohjalta on kehitetty monia algoritmeja digitaalisten allekirjoitusten saamiseksi . Perinteisten EDS - algoritmien , kuten ElGamal-mallin ja RSA :n , suurin haittapuoli on niiden laskennallinen monimutkaisuus. Eksponenttien laskeminen modulaarisessa aritmetiikassa on laskentaintensiivisintä julkisen avaimen salausjärjestelmäjärjestelmissä . Tällä hetkellä tehdään paljon työtä salausalgoritmien suorituskyvyn parantamiseksi vähentämällä eksponenttilaskelmien määrää. Lyhin tunnettu EDS -malli on elliptisiä käyriä käyttävä BLS (Boneh–Lynn–Shacham) , mutta se on rajoitettu ryhmiin , joilla on pariliitostoiminto . Algoritmien kehittäjät pyrkivät sekä parantamaan perinteisiä diskreettejä logaritmijärjestelmiä käyttämällä eksponentien rinnakkaislaskentaa että tutkimaan perustavanlaatuisia erilaisia lähestymistapoja, jotka perustuvat esimerkiksi graafiteoriaan modulaarisen aritmeettisen sijaan .
Olkoon Abelin ryhmä , sen syklinen aliryhmä järjestysgeneraattorilla , jossa on suuri alkuluku . Olkoon ja suojausparametrit ja . Anna , ja on hash-funktiot . Allekirjoituskaavio on seuraava:
Avaimen sukupolvi
Käyttäjä valitsee satunnaisen salaisen avaimen ja laskee julkisen avaimen .
Luo allekirjoitus
Syötteet ovat salainen avain ja viesti .
Seuraavaksi allekirjoituksen luova puoli:
1. valitsee satunnaisluvun ja satunnaisbitin ;
2. laskee ;
3. laskee ;
4. laskee , missä ;
5. laskee ;
6. laskee .
Viestin allekirjoitus on .
Allekirjoituksen vahvistus
Voit tarkistaa viestin allekirjoituksen m seuraavasti:
1. edustettuna ;
2. ja lasketaan ;
3. laskettu ;
4. tarkistetaan, onko .
Jos yhtäläisyys vaiheessa 4 on tosi, allekirjoitus läpäisee vahvistuksen.
ZN tarkoittaa kokonaislukujen rengasta modulo , ja ovat turvaparametreja , yleensä ,
Key Authentication Centerin (KAC) rooli
SERT valitsee:
CAC julkaisee , ja julkinen avain .
CAC:n yksityistä avainta käytetään sen luomien julkisten avainten allekirjoittamiseen . Tällaisten allekirjoitusten luomiseen CAC voi käyttää mitä tahansa suojattua EDS - järjestelmää .
Käyttäjäavaimien luominen.
Jokainen käyttäjä valitsee salaisen avaimen , joka koostuu satunnaisluvuista , jotka vaihtelevat välillä 1 - , niin että GCD kaikille on 1 - . Allekirjoituksen luomista voidaan nopeuttaa valitsemalla pienet kokonaisluvut kuten . Tällaisen järjestelmän turvallisuus perustuu oletukseen, että juurien laskeminen on vaikeaa. Tällä hetkellä ei tiedetä juuret laskevien algoritmien olemassaolosta , jos juuret ovat järjestyksessä .
Käyttäjän rekisteröinti.
CAC varmistaa, että käyttäjä täsmää, luo merkkijonon, joka sisältää nimen, osoitteen jne., ja luo allekirjoituksen parille , joka koostuu käyttäjän julkisesta avaimesta .
Allekirjoituksen luominen.
Syöteviesti , salainen avain ja - moduuli , jota käytetään laskelmiin.
1. Satunnaisluku valitaan alueelta ja lasketaan .
2. Laskettu .
3. Laskettu .
Lähtöallekirjoitus on pari .
Allekirjoituksen luominen vaatii korkeintaan modulo - kertoja , ja keskimäärin satunnainen vaatii vain kertolaskuja.
Allekirjoituksen vahvistus.
Syöttötiedot — allekirjoitus , viesti , , .
1. Allekirjoitus henkilölle .
2. Laskettu .
3. Tarkista, että .
Allekirjoituksen tarkistamiseksi se vaaditaan keskimäärin satunnaisissa modulo-kertooperaatioissa enintään .
Allekirjoituksen suojaus.
Väärentääkseen viestin allekirjoituksen kryptanalyytikon on ratkaistava yhtälö ja .
Tällä hetkellä ei ole tunnettuja algoritmeja tämän yhtälön ratkaisemiseksi.
Nopeat digitaalisen allekirjoituksen algoritmit ovat tehokkaimpia tapauksissa, joissa avaimen saamisen nopeus ja allekirjoituksen pieni koko ovat ensisijaisen tärkeitä. Samanlaisia vaatimuksia on mobiili-, anturi- tai henkilökohtaisissa verkoissa (joiden säde on rajoitettu yhteen huoneeseen) multimedialiikenteen siirron yhteydessä. Digitaalisen allekirjoituksen käyttö GSM-matkapuhelimissa antaa käyttäjälle mahdollisuuden luoda PIN-koodin itse sen sijaan, että saisit sen operaattorilta.
Nopeutetun digitaalisen allekirjoituksen luomisalgoritmien käyttöönotto laitteissa, joilla on rajalliset resurssit, kuten PDA:t, sulautetut älykortit ja matkapuhelimet, joiden laskentateho on paljon henkilökohtaisten tietokoneiden kykyjä heikompi, mahdollistaa vähemmän energian kulutuksen allekirjoituksen luomiseen ja tallentamiseen. ja siten pidentää laitteen käyttöaikaa ilman latausta.