Schnorrův podpis

Z testwiki
Verze z 8. 8. 2021, 17:31, kterou vytvořil imported>JAnDbot (robot: přidáno {{Autoritní data}}; kosmetické úpravy)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

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ů

Generování klíčů

Podpis

Pro danou zprávu M:

  • je náhodně zvoleno nenulové kq
  • je spočítáno r=gk
  • je spočítáno e=H(rM), kde značí sřetězení, a r a M jsou brány jako bitové řetězce
  • je spočítáno s=kxe

Podpisem je pak pár (s,e), kde s,eq.

Ověření podpisu

  • Je spočítáno rv=gsye
  • Je spočítáno ev=H(rvM)

Pokud ev=e, 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 k, jinak může útočník zjistit hodnotu soukromého klíče. V případě Schnorrova podpisu mu k tomu poslouží rovnost

ss=(kk)x(ee),

pomocí které lze při k=k a ee hodnotu x získat velice snadno. Kromě toho existují podobně fungující útoky i pro případy, kdy k sice nejsou stejná, ovšem nejsou ani zcela náhodná a je nasbírán dostatečný počet k, která jsou určitým způsobem podobná.

Reference

Šablona:Překlad

Šablona:Autoritní data