A Schnorr séma az egyik leghatékonyabb és elméletileg megalapozott hitelesítési séma . Az áramkör biztonsága a diszkrét logaritmusok kiszámításának nehézségén alapszik . A Klaus Schnorr által javasolt séma az ElGamal (1985) és a Fiat-Shamir (1986) sémák módosítása , de kisebb aláírásmérettel rendelkezik. A Schnorr-séma a Fehérorosz Köztársaság STB 1176.2-99 szabványa, valamint a dél-koreai KCDSA és EC-KCDSA szabványok alapja. A 4 999 082 számú amerikai szabadalom lefedte , amely 2008 februárjában járt le.
A hitelesítési és elektronikus aláírási sémák az információ integritását biztosító kriptográfiai protokollok egyik legfontosabb és leggyakoribb típusa.
A hitelesítési protokollok célja könnyen érthető a következő példából. Tegyük fel, hogy van egy információs rendszerünk, amelyben meg kell különböztetni a különféle adatokhoz való hozzáférést. Ebben a rendszerben is van egy adminisztrátor, aki az összes felhasználói azonosítót tárolja a hozzá tartozó jogosultságokkal, amelyek segítségével megkülönböztethető az erőforrásokhoz való hozzáférés. Egy felhasználónak egyszerre engedélyezhető egy fájl elolvasása, a második módosítása, és egyidejűleg megtagadható a hozzáférés a harmadikhoz. Ebben a példában az információk integritásának biztosítása azt jelenti, hogy megakadályozzuk a rendszerhez való hozzáférést olyan személyek számára, akik nem annak felhasználói, valamint megakadályozzuk, hogy a felhasználók hozzáférjenek azokhoz az erőforrásokhoz, amelyekre nincs jogosultságuk. A legelterjedtebb hozzáférés-szabályozási módszer, a jelszavas védelem számos hátránnyal rendelkezik, ezért térjünk át a probléma kriptográfiai megfogalmazására.
A protokollnak két résztvevője van - Alice, aki meg akarja erősíteni a személyazonosságát, és Bob, akinek ellenőriznie kell ezt a megerősítést. Alice-nek két kulcsa van , egy nyilvános (nyilvános) és egy privát (privát) kulcsa, amelyet csak Alice ismer. Valójában Bobnak csak a használatával kell ellenőriznie, hogy Alice ismeri-e a privát kulcsát .
A Schnorr-séma az egyik leghatékonyabb a gyakorlati hitelesítési protokollok között, amely ezt a feladatot valósítja meg. Minimálisra csökkenti az üzenet aláírásának létrehozásához szükséges számítások függőségét. Ebben a sémában a fő számításokat a processzor tétlensége közben lehet elvégezni, ami lehetővé teszi az aláírás sebességének növelését. A DSA -hoz hasonlóan Schnorr séma egy rendelési alcsoportot használ a -ban . Ez a módszer hash függvényt is használ .
A Schnorr aláírási séma kulcsgenerálása ugyanaz, mint a DSA kulcsgenerálása , kivéve, hogy nincsenek méretkorlátozások. Vegye figyelembe azt is, hogy a modulus önállóan is kiszámítható.
Az algoritmus biztonsága a t paramétertől függ . Az algoritmus megnyitásának bonyolultsága megközelítőleg egyenlő . Schnorr azt tanácsolja , hogy 72 bit körüli t -t használjon, és esetén . A diszkrét logaritmus probléma megoldásához ebben az esetben legalább az ismert algoritmusok lépései szükségesek.
Kulcsgenerálás:
Hitelesítés:
Ha Schnorr sémájában feltételezzük, hogy Alice egy ellenfél, akkor az 1. lépésben véletlenszerűen, de hatékonyan választhat. Legyen az Alice által átadott szám. Tegyük fel, hogy lehetséges két véletlen számot találni, és olyan, hogy Alice mindegyikhez megtalálja a megfelelőt , és amely megerősítése pozitív eredményt ad. Kapunk:
.Innen ill . Mivel , akkor létezik , és ezért , vagyis a diszkrét logaritmusa . Így a protokoll 3. lépésében ritka az olyan, hogy Alice mindkettőjükre megfelelően tud válaszolni (amennyiben ugyanaz ) , ami azt jelenti, hogy Alice támadása csak elhanyagolható valószínűséggel sikeres. Vagy gyakran előfordulnak ilyen értékek, és akkor az Alice által használt algoritmus felhasználható a diszkrét logaritmusok kiszámítására.
Más szóval, bebizonyosodott, hogy feltételezve, hogy a diszkrét logaritmus probléma nehéz, a Schnorr hitelesítési séma ellenáll a passzív ellenfélnek, azaz helyes.
Aktív ellenségEgy aktív ellenfél számos protokoll-végrehajtási munkamenetet lebonyolíthat hitelesítőként egy becsületes bizonyítóval (vagy lehallgathatja az ilyen végrehajtásokat), majd megkísérelheti megtámadni a hitelesítési sémát. Az aktív ellenféllel szembeni ellenálláshoz elegendő, ha a hitelesítési protokoll nulla tudásalapú . A Schnorr-séma nulla tudástulajdonságát azonban még senki sem tudta bizonyítani.
A Schnorr algoritmus protokollként is használható egy üzenet digitális aláírásához . A kulcspár ugyanaz, de hozzáadásra került egy egyirányú hash funkció .
Az aláírás generálásához szükséges fő számításokat az előfeldolgozási szakaszban és a számítási szakaszban hajtják végre , ahol a és számok bitsorrendűek , a paraméter pedig egy bit. Az utolsó szorzás elhanyagolható az RSA séma moduláris szorzásához képest .
Az aláírás-ellenőrzés főként egy olyan számításból áll, amelyet a modulo számítások átlagával lehet elvégezni, ahol bitben van megadva a hosszúság .
A rövidebb aláírás csökkenti az aláírás-generáláshoz és ellenőrzéshez szükséges műveletek számát: a Schnorr-sémában és az ElGamal-sémában .
Kulcsgenerálás:
Üzenet aláírása:
A Schnorr-séma több országban rendelkezik szabadalmakkal. Például az 1991. február 19-én kelt US 4 995 082 számú (2008. február 19-én lejárt). 1993-ban a Sunnyvale-i Public Key Partners (PKP) megszerezte a szabadalom világszintű jogait. Ez a rendszer az Egyesült Államokon kívül számos más országban is szabadalmaztatott.
Ernie Brickell és Kevin McCurley 1992-ben végrehajtott módosítása nagymértékben javította az áramkör biztonságát. Módszerük a számot használja , amelyhez hasonlóan nehéz felbontani , a szám egyszerű osztóját és a -ben lévő kitevő elemet , amelyeket ezt követően az aláírásban használnak. A Schnorr-sémától eltérően a módszerükben az aláírást az egyenlet számítja ki
.Míg Brickell és McCarley módosítása számításilag kevésbé hatékony, mint a Schnorr-séma, ennek a módszernek az az előnye, hogy két összetett probléma nehézségén alapul: