Skip to content

Chausseaumoine/draft-zkproof-sigma-protocols

 
 

Repository files navigation

Introduction

This is the working area for the specification on Sigma Protocols, a standardization effort focusing on zero-knowledge proof systems including:

For more information about the scope of this project and frequently-asked questions, please check out the FAQ.

Reference implementations and updates are posted on our website: sigma.zkproof.org.

Documentation

Sigma Protocols Specification

Fiat-Shamir Heuristic

Contributing

We welcome contributions to this standardization effort. Please see the guidelines for contributions.

Contributions can be made by creating pull requests on GitHub. The GitHub interface supports creating pull requests using the Edit (✏) button.

Building the Specification and Test Vectors

Requirements

To build and test this project, you'll need:

Building the Documentation

Formatted text and HTML versions of the draft can be built using make:

$ make

Running the Proof of Concept

The proof of concept implementation is located in the poc/ directory. This implementation provides concrete examples of the protocols described in the specification and generates test vectors for validation.

To run the unit tests for the proof of concept:

$ cd poc/
$ make test

References

  • [Schnorr91] Schnorr, C.P. (1991) Efficient Signature Generation by Smart Cards. Journal of Cryptology, 4, 161-174.
  • [Maurer09] Maurer, U. (2009). Unifying Zero-Knowledge Proofs of Knowledge. In B. Preneel (Ed.), Progress in Cryptology – AFRICACRYPT 2009 (pp. 272-286). Springer.
  • [CamenischS97] Camenisch, J., & Stadler, M. (1997). Proof Systems for General Statements about Discrete Logarithms. Technical Report 260, ETH Zürich.

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.9%
  • Sage 15.5%
  • Makefile 0.6%