Schnorr - järjestelmä on yksi tehokkaimmista ja teoreettisimmista todennusmenetelmistä . Piirin turvallisuus perustuu diskreettien logaritmien laskemisen vaikeuteen . Klaus Schnorrin ehdottama järjestelmä on muunnos ElGamal (1985) ja Fiat-Shamir (1986) skeemoista , mutta sen allekirjoituskoko on pienempi. Schnorr-järjestelmä perustuu Valko-Venäjän tasavallan standardiin STB 1176.2-99 ja Etelä-Korean standardeihin KCDSA ja EC-KCDSA. Se kuului US-patentin 4 999 082 piiriin , joka päättyi helmikuussa 2008.
Todennus- ja sähköiset allekirjoitukset ovat yksi tärkeimmistä ja yleisimmistä salausprotokollien tyypeistä, jotka varmistavat tiedon eheyden.
Todennusprotokollien tarkoitus on helppo ymmärtää seuraavasta esimerkistä. Oletetaan, että meillä on tietojärjestelmä, jossa on tarpeen erottaa pääsy erilaisiin tietoihin. Myös tässä järjestelmässä on järjestelmänvalvoja, joka tallentaa kaikki käyttäjätunnukset niihin liittyvine oikeuksineen, joiden avulla resurssien käyttö eriytetään. Yhdelle käyttäjälle voidaan samanaikaisesti antaa lupa lukea yhtä tiedostoa, muuttaa toista ja samalla evätä pääsy kolmanteen. Tässä esimerkissä tiedon eheyden varmistaminen tarkoittaa sitä, että estetään henkilöiden, jotka eivät ole sen käyttäjiä, pääsy järjestelmään, sekä estetään käyttäjiä pääsemästä niihin resursseihin, joihin heillä ei ole valtuuksia. Yleisimmällä kulunvalvontamenetelmällä, salasanasuojauksella , on paljon haittoja, joten siirrytään ongelman kryptografiseen muotoiluun.
Protokollassa on kaksi osallistujaa - Alice, joka haluaa vahvistaa henkilöllisyytensä, ja Bob, jonka on vahvistettava tämä vahvistus. Alicella on kaksi avainta , julkinen (julkinen) avain ja yksityinen (yksityinen) avain, jotka vain Alice tuntee. Itse asiassa Bobin on varmistettava, että Alice tuntee yksityisen avaimensa käyttämällä vain .
Schnorr-malli on yksi tehokkaimmista tämän tehtävän toteuttavista käytännön todennusprotokollista. Se minimoi viestin allekirjoituksen luomiseen tarvittavan laskutoimituksen riippuvuuden. Tässä järjestelmässä tärkeimmät laskelmat voidaan tehdä prosessorin ollessa käyttämättömänä, mikä mahdollistaa allekirjoittamisen nopeuden lisäämisen. Kuten DSA , Schnorrin järjestelmä käyttää tilausalaryhmää . Tämä menetelmä käyttää myös hash-funktiota .
Avainten luominen Schnorr-allekirjoitusmallille on sama kuin avainten luominen DSA :lle , paitsi että kokorajoituksia ei ole. Huomaa myös, että moduuli voidaan laskea itsenäisesti.
Algoritmin turvallisuus riippuu parametrista t . Algoritmin avaamisen monimutkaisuus on suunnilleen yhtä suuri kuin . Schnorr neuvoo käyttämään t noin 72 bittiä, ja . Diskreetin logaritmin ongelman ratkaisemiseksi tarvitaan tässä tapauksessa ainakin tunnettujen algoritmien vaiheet.
Avaimen luominen:
Todennus:
Jos oletetaan Schnorrin kaavassa, että Alice on vastustaja, niin vaiheessa 1 hän voi valita satunnaisella mutta tehokkaalla tavalla. Olkoon Alicen välittämä numero. Oletetaan, että on mahdollista löytää kaksi satunnaislukua ja sellainen, että jokaiselle Alice voi löytää vastaavan ja jolle vahvistus antaa positiivisen tuloksen. Saamme:
.Täältä tai . Koska , Sitten on olemassa ja siksi , Eli diskreetti logaritmi . Siten kumpikin sellainen, että Alice voi vastata molempiin asianmukaisesti (jos sama ) protokollan vaiheessa 3, on harvinainen, mikä tarkoittaa, että Alicen hyökkäys onnistuu vain merkityksettömällä todennäköisyydellä. Tai tällaisia arvoja tulee usein vastaan, ja sitten Alicen käyttämää algoritmia voidaan käyttää diskreettien logaritmien laskemiseen.
Toisin sanoen on todistettu, että olettaen, että diskreetti logaritmiongelma on vaikea, Schnorr-autentikointimenetelmä on resistentti passiivista vastustajaa vastaan, eli oikea.
Aktiivinen vihollinenAktiivinen vastustaja voi suorittaa useita protokollan suoritusistuntoja todentajana rehellisen todistajan kanssa (tai salakuunnella tällaisia suorituksia) ja yrittää sitten hyökätä todennusjärjestelmää vastaan. Aktiivista vastustajaa vastaan vastustamiseen riittää, että todennusprotokolla on nolla-knowledge proof . Kukaan ei kuitenkaan ole vielä kyennyt todistamaan Schnorr-järjestelmän nollatietoominaisuutta.
Schnorr-algoritmia voidaan käyttää myös viestin digitaalisen allekirjoittamisen protokollana . Avainpari on sama, mutta yksisuuntainen hajautustoiminto on lisätty .
Päälaskutoimitukset allekirjoituksen generoimiseksi suoritetaan esikäsittelyvaiheessa ja laskentavaiheessa , jossa numeroilla ja on bittijärjestys ja parametri on bitti. Viimeinen kertolasku on merkityksetön verrattuna RSA - mallin modulaariseen kertolaskuun .
Allekirjoituksen varmennus koostuu pääasiassa laskennasta , joka voidaan tehdä modulolaskutoimitusten keskiarvolla, jossa pituus on bitteinä.
Lyhyempi allekirjoitus vähentää toimintojen määrää allekirjoituksen luomiseen ja vahvistamiseen: Schnorr- ja ElGamal -skeemoissa .
Avaimen luominen:
Viestin allekirjoitus:
Schnorr-järjestelmällä on patentteja useissa maissa. Esimerkiksi US #4 995 082, päivätty 19. helmikuuta 1991 (vanhentunut 19. helmikuuta 2008). Vuonna 1993 Sunnyvalen Public Key Partners (PKP) hankki maailmanlaajuiset oikeudet tähän patenttiin. Yhdysvaltojen lisäksi tämä järjestelmä on patentoitu myös useissa muissa maissa.
Ernie Brickellin ja Kevin McCurleyn vuonna 1992 tekemä piirimuutos paransi huomattavasti piirin turvallisuutta. Heidän menetelmänsä käyttää numeroa , joka, kuten , on vaikea hajottaa, luvun yksinkertaista jakajaa ja eksponenttielementtiä , joita käytetään myöhemmin allekirjoituksessa. Toisin kuin Schnorr-kaaviossa, heidän menetelmänsä allekirjoitus lasketaan yhtälön avulla
.Vaikka Brickellin ja McCarleyn muunnos on laskennallisesti vähemmän tehokas kuin Schnorrin menetelmä, tällä menetelmällä on se etu, että se perustuu kahden monimutkaisen ongelman vaikeuteen: