ESIGN ( anglicky Efficient digital SIGNature - efektivní digitální podpis) je schéma digitálního podpisu s veřejným klíčem založené na problému faktorizace čísel . Charakteristickým rysem tohoto schématu je schopnost rychle generovat podpis. [jeden]
Digitální podpis vyvinula japonská společnost NTT v roce 1985. [2] Schéma se ukázalo jako efektivní z hlediska rychlosti generování digitálního podpisu. První verze však prolomili Ernie Btickel a John DeLaurentis , poté byly doporučené parametry algoritmu upraveny . [3] Následné pokusy o hackování byly neúspěšné. Autoři tvrdí, že složitost crackování poslední verze ESIGN je srovnatelná se složitostí problému faktorizace pro řadu formulářů , kde a jsou prvočísla . [čtyři]
Do protokolu se zapojují dvě entity: entita , jejímž účelem je prokázat, že autor zprávy je , a subjekt , jehož účelem je ověřit autorství. V ESIGN pro realizaci stanovených cílů a musí provést následující akce [5] .
Klíče ESIGN se generují následovně [6] .
Pro podepsání zprávy , kde je binární číslo libovolné délky, jsou provedeny následující kroky [6] .
Chcete-li ověřit, že podpis skutečně podepisuje zprávu , jsou provedeny následující kroky [6] .
V původně navrhované verzi ESIGN byl parametr roven dvěma. [5] Po úspěšném útoku Ernieho Brickela a Johna DeLaurentise, který se rozšířil i na okruhovou variantu s , však autoři změnili požadavek na tento parametr na stávající . [7]
Útoky na hašovací funkci s cílem zfalšovat podpis jsou založeny na její nedokonalosti, tedy na nesouladu hašovací funkce s jedním nebo více kritérii kryptografické síly, s tím, že v případě ESIGN je rovnost kritérií by měly být pochopeny až do nejvýznamnějších bitů. Toto uvolnění je způsobeno podmínkou ověření podpisu, která je splněna nejen pro původní hash hodnotu, ale také pro ostatní, které se shodují v prvních vysokých bitech.
Předpokládejme, že funkce je nestabilní při hledání kolizí, to znamená, že v prvních vysokých bitech můžete najít různé a jiné. Poté, podepsání zprávy , autor , nic netušící, automaticky zprávu podepíše , protože nerovnost
Pokud je zvolená hašovací funkce kryptograficky bezpečná, pak kolizní útok převezme operace výpočtu hašovací funkce, útok pomocí druhého předobrazu provede operace, které jsou považovány za neproveditelné, pro velké . [8] [9]
Útok na veřejný klíč je pokus získat z něj soukromý klíč . Toho lze dosáhnout řešením rovnice , tedy faktorováním čísla . Můžete vidět, že v RSA se číslo generuje podobným způsobem, ale dnes zůstává otevřená otázka, ve kterém z případů se faktorizace zjednoduší nebo ztíží, protože stále neexistují žádné efektivní algoritmy faktorizace. V současnosti je nejrychlejším způsobem rozkladu čísla , ať už pro ESIGN nebo pro RSA, metoda číselného pole síta , která to provádí rychlostí závislou na délce bitu . Při velké bitové délce čísla se však úloha faktorizace stává nemožným. [10] [9]
Kromě omezení již uvedených v popisu ESIGN se pro větší bezpečnost doporučuje zvolit velikost a rovnou nebo větší než bity, velikost rovnou nebo větší a parametr větší nebo rovný 8 [ 11] :
Níže je uvedena tabulka shody mezi úrovní zabezpečení ESIGN a úrovněmi zabezpečení RSA a ECDSA pro různé velikosti parametrů v bitech. Můžete vidět, že při stejných velikostech jsou RSA a ESIGN z hlediska bezpečnosti srovnatelné. [12]
Velikost v ESIGN, bity | Velikost v RSA, bity | Velikost v ECDSA, bity |
---|---|---|
960 | 960 | 152 |
1024 | 1024 | 160 |
2048 | 2048 | 224 |
3072 | 3072 | 256 |
7680 | 7680 | 384 |
Schéma ESIGN umožňuje rychle vygenerovat podpis. Protože výpočetně složité operace, jako je umocňování a hledání inverzního prvku , nezávisí na podepsané zprávě , lze je provést předem a uložit do paměti. K podepsání zprávy tedy stačí provést zbývající operace sčítání, násobení a dělení, jejichž podíl na výpočetní složitosti algoritmu vytváření podpisu je malý. V případě, kdy , a bitová délka je rovna , je rychlost generování podpisu v vyšší než u RSA s odpovídajícími parametry. Co se týče ověřování podpisu, jeho rychlost je srovnatelná s rychlostí ověřování podpisu v algoritmu RSA , jehož otevřený exponent je malý. [13] [9]
S pomocí ESIGN můžete implementovat identifikační protokoly s nulovou znalostí , které subjektu ( anglicky Prover - proving) umožní prokázat subjektu ( anglicky Verifier - kontrola) skutečnost přítomnosti informace a utajit ji před . Identifikační protokoly založené na ESIGN jsou stejně účinné jako protokol Feig-Fiat-Shamir . Budeme zvažovat dva takové protokoly: tříkolový a dvoukolový. [čtrnáct]
Ve výše uvedených protokolech jsou tajnou informací klíče , jejichž znalost dokazuje předmět . Pokud jsou výsledky všech kontrol v závěrečných fázích úspěšné, má se za to, že má skutečně tajemství.