Jump to content

Schnorr signature

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Marty.neal (talk | contribs) at 15:29, 14 March 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In cryptography, a Schnorr signature is a digital signature produced by the Schnorr signature algorithm. Its security is based on the intractability of certain discrete logarithm problems. It is considered the simplest digital signature scheme to be provably secure in a random oracle model. It is efficient and generates short signatures. It is covered by U.S. patent 4,995,082, which expired in February 2008.

Algorithm

Choosing parameters

Key generation

  • Choose a private key such that .
  • The public key is where y = gx.

Signing

To sign a message M:

  • Choose a random such that
  • Let
  • Let
  • Let

The signature is the pair . Note that and ; if a Schnorr group is used and , then the signature can fit into 40 bytes.

Verifying

  • Let
  • Let

If then the signature is verified.

Public elements: . Private elements: .

See also: Topics in cryptography

References

  • C.P. Schnorr, Efficient identification and signatures for smart cards, in G. Brassard, ed. Advances in Cryptology -- Crypto '89, 239-252, Springer-Verlag, 1990. Lecture Notes in Computer Science, nr 435
  • Claus-Peter Schnorr, Efficient Signature Generation by Smart Cards, J. Cryptology 4(3), pp161–174 (1991) (PS).