Schnorrův podpis
Schnorrův podpis je v kryptografii označení schématu digitálního podpisu navrženého v letech 1989–1991 německým matematikem Clausem Schnorrem. Podobně jako algoritmus DSA ze stejné doby je toto schéma založeno na obtížnosti hledání diskrétního logaritmu v obecných grupách.
Schéma
[editovat | editovat zdroj]Výběr parametrů
[editovat | editovat zdroj]- Uživatelé určí grupu řádu a její generátor .
- Uživatelé určí kryptografickou hašovací funkci .
Generování klíčů
[editovat | editovat zdroj]- Uživatel si náhodně zvolí svůj nenulový soukromý klíč .
- Veřejným klíčem uživatele je pak hodnota .
Podpis
[editovat | editovat zdroj]Pro danou zprávu :
- je náhodně zvoleno nenulové
- je spočítáno
- je spočítáno , kde značí sřetězení, a a jsou brány jako bitové řetězce
- je spočítáno
Podpisem je pak pár , kde .
Ověření podpisu
[editovat | editovat zdroj]- Je spočítáno
- Je spočítáno
Pokud , pak je podpis správný.
Bezpečnost
[editovat | editovat zdroj]Podobně jako u principiálně příbuzných schémat DSA, ECDSA a ElGamal je důležité nepoužívat opakovaně stejnou hodnotu , jinak může útočník zjistit hodnotu soukromého klíče. V případě Schnorrova podpisu mu k tomu poslouží rovnost
- ,
pomocí které lze při a hodnotu získat velice snadno. Kromě toho existují podobně fungující útoky i pro případy, kdy sice nejsou stejná, ovšem nejsou ani zcela náhodná a je nasbírán dostatečný počet , která jsou určitým způsobem podobná.
Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku Schnorr signature na anglické Wikipedii.