Rabinův podpisový algoritmus - Rabin signature algorithm
v kryptografie the Rabinův podpisový algoritmus je metoda digitální podpis původně navrhl Michael O. Rabin v roce 1979. Algoritmus Rabinova podpisu byl jedním z prvních navržených schémat digitálního podpisu a jako jediný souvisí s tvrdostí padělání přímo s problémem celočíselná faktorizace. Rabinův podpisový algoritmus je existenčně neodpustitelný v náhodný věštec model za předpokladu, že problém s celočíselnou faktorizací je neřešitelný. Rabinův podpisový algoritmus také úzce souvisí s Rabinův kryptosystém.
Ale Kryptosystém RSA má prominentní roli v počátcích kryptografie veřejných klíčů a Rabinův podpisový algoritmus není obsažen ve většině úvodních kurzů kryptografie.
Rovnice
Pokud H je odolný proti kolizi hashovací funkce, m zprávu k podpisu a
- a
Podpis S je dáno rovnicí
- .
Každý může ověřit
- ,
pokud je hodnota je veřejná.
Původní algoritmus - nezabezpečený bez hashovací funkce
- Generování klíčů
- Podepisovatel S vybírá prvočísla str, q každá o velikosti přibližně k / 2 bitů a vypočítá produkt .
- S pak vybere náhodně b v .
- Veřejný klíč je (n, b).
- Soukromý klíč je (p, q).
- Podepisování
- Podepsat zprávu m signatář S vybere náhodné polstrování U a počítá .
- S pak řeší .
- Pokud není řešení S vybere novou podložku U a zkusí to znovu.
- Podpis na m je pár (U, x)
- Ověření
- Dostal zprávu m a podpis (U, x) ověřovatel PROTI počítá a a ověří, že jsou si rovni.
Bezpečný a zjednodušený algoritmus
Zabezpečený algoritmus se spoléhá na hashovací funkci odolnou proti kolizi .
Ve většině prezentací je algoritmus zjednodušen výběrem . Funkce hash H s k výstupní bity se považují za a náhodný věštec a algoritmus funguje následovně:
- Generování klíčů
- Podepisovatel S vybírá prvočísla str, q každá o velikosti přibližně k / 2 bity a p, q mod 4 se rovná 3. Vypočítá produkt .
- Veřejný klíč je n.
- Soukromý klíč je (p, q).
- Podepisování
- Podepsat zprávu m signatář S vybere náhodné polstrování U a počítá H (m, U).
- Li H (m, U) není čtvercové modulo n, S vybere novou podložku U.
- S vypočítá jednu hodnotu x, která řeší rovnici .
- Podpis na m je pár (U, x).
- Ověření
- Dostal zprávu m a podpis (U, x), ověřovatel PROTI počítá X2 mod n a H (m, U) a ověří, že jsou si rovni.
Poznámky
U některých ošetření náhodná podložka U je vyloučeno. Místo toho můžeme nakonec vynásobit hodnotu hash dvěma čísly A nebo b s vlastnostmi a , kde označuje legendární symbol. Pak pro všechny H modulo n přesně jedno ze čtyř čísel bude čtvercové modulo na podpisovatel si pro svůj podpis zvolí ten.
Ještě jednodušší je změnit zprávu m dokud nebude možné ověřit podpis.
def vykořenit(m: str, str, q): "" "Rabinův podpisový algoritmus." "" zatímco Skutečný: X = h(m) sig = prášek(str, q - 2, q) * str * prášek(X, (q + 1) / 4, q) sig = (prášek(q, str - 2, str) * q * prášek(X, (str + 1) / 4, str) + sig) % (nrabin) -li (sig * sig) % nrabin == X: tisk("Napsat rozšířenou zprávu do souboru m.txt") F = otevřeno('m.txt', 'w') F.psát si(m) F.zavřít() přestávka m = m + ' ' vrátit se sig
Bezpečnostní
Pokud je hashovací funkce H je náhodný věštec, tj. jeho výstup je skutečně náhodný , potom u jakékoli zprávy zfalšovat podpis m je stejně těžké vypočítat druhou odmocninu náhodného prvku v .
Abychom dokázali, že získání náhodné odmocniny je stejně těžké jako factoring, nejprve si povšimněte, že ve většině případů existují čtyři odlišné odmocniny od roku n má dvě odmocniny modulo str a dvě odmocniny modulo qa každý pár dává druhou odmocninu modulo n podle čínská věta o zbytku. Některé ze čtyř kořenů mohou mít stejnou hodnotu, ale pouze s extrémně nízkou pravděpodobností.
Nyní, pokud najdeme dvě různé odmocniny, X,y takhle ale , pak to okamžitě vede k faktorizaci n od té doby n rozděluje ale nerozděluje ani jeden faktor. Tak brát povede k netriviální faktorizaci n.
Nyní předpokládáme, že existuje efektivní algoritmus pro nalezení alespoň jedné druhé odmocniny. Pak vybereme náhodně r modulo n a srovnat to , pak pomocí algoritmu vezmeme jednu druhou odmocninu R modulo n, získáme novou odmocninu as pravděpodobností polovina .
Reference
- Michele Elia, Davide Schipani, Na Rabinově podpisu, 2011 PDF
- Buchmann, Johannes. Einf 眉 hrung in die Kryptographie. Druhé vydání. Berlin: Springer, 2001. ISBN 3-540-41283-2
- Menezes, Alfred; van Oorschot, Paul C .; a Vanstone, Scott A. Příručka aplikované kryptografie. CRC Press, říjen 1996. ISBN 0-8493-8523-7
- Rabin, Michael. Digitalizované podpisy a funkce veřejného klíče jsou tak neocenitelné jako faktorizace (v PDF). MIT Laboratory for Computer Science, leden 1979.
- Scott Lindhurst, Analýza Shankova algoritmu pro výpočet druhé odmocniny v konečných polích. in R Gupta and K S Williams, Proc 5th Conf Can Nr Theo Assoc, 1999, vol 19 CRM Proc & Lec Notes, AMS, srpen 1999.
- R Kumanduri a C Romero, Number Theory w / Computer Applications, Alg 9.2.9, Prentice Hall, 1997. Pravděpodobnost pro druhou odmocninu kvadratického zbytku modulo prime.