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

Výběr parametrů

  • Uživatelé určí grupu řádu a její generátor .
  • Uživatelé určí kryptografickou hašovací funkci .

Generování klíčů

  • Uživatel si náhodně zvolí svůj nenulový soukromý klíč .
  • Veřejným klíčem uživatele je pak hodnota .

Podpis

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

  • Je spočítáno
  • Je spočítáno

Pokud , pak je podpis správný.

Bezpečnost

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

V tomto článku byl použit překlad textu z článku Schnorr signature na anglické Wikipedii.