pksig_schnorr91¶
Schnorr Signature (Schnorr91)
Authors: C. P. Schnorr
Title: “Efficient Signature Generation by Smart Cards”
Published in: Journal of Cryptology, 1991
Available from: https://link.springer.com/article/10.1007/BF00196725
Notes:
Scheme Properties
Type: signature (public key)
Setting: integer groups
Assumption: Discrete Logarithm
Implementation
- Authors:
Charm Developers
- Date:
2011
- class pksig_schnorr91.SchnorrSig[source]¶
Bases:
PKSig>>> from charm.core.math.integer import integer >>> p = integer(156816585111264668689583680968857341596876961491501655859473581156994765485015490912709775771877391134974110808285244016265856659644360836326566918061490651852930016078015163968109160397122004869749553669499102243382571334855815358562585736488447912605222780091120196023676916968821094827532746274593222577067) >>> q = integer(78408292555632334344791840484428670798438480745750827929736790578497382742507745456354887885938695567487055404142622008132928329822180418163283459030745325926465008039007581984054580198561002434874776834749551121691285667427907679281292868244223956302611390045560098011838458484410547413766373137296611288533) >>> pksig = SchnorrSig() >>> pksig.params(p, q) >>> (public_key, secret_key) = pksig.keygen() >>> msg = "hello world." >>> signature = pksig.sign(public_key, secret_key, msg) >>> pksig.verify(public_key, signature, msg) True