Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://microsoft.github.io/Picnic/
Reference implementation of the Picnic post-quantum signature scheme
https://microsoft.github.io/Picnic/
Last synced: 4 months ago
JSON representation
Reference implementation of the Picnic post-quantum signature scheme
- Host: GitHub
- URL: https://microsoft.github.io/Picnic/
- Owner: microsoft
- License: mit
- Created: 2017-03-17T19:00:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-12T20:51:37.000Z (about 1 year ago)
- Last Synced: 2024-01-17T02:03:39.655Z (6 months ago)
- Language: C
- Homepage: https://microsoft.github.io/Picnic/
- Size: 24.6 MB
- Stars: 154
- Watchers: 17
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Security: SECURITY.md
Lists
- awesome-post-quantum - Picnic
README
# Picnic: Post Quantum Signatures
The Picnic signature scheme is a family of digital signature schemes secure
against attacks by quantum computers. This is a reference implementation of these schemes.
The scheme and parameter sets are specified in the [Picnic Specification Document](https://github.com/Microsoft/Picnic/blob/master/spec).Research papers describing the signature scheme are also available on the [Picnic website](https://microsoft.github.io/Picnic/).
The library is provided under the MIT License. The authors are Steven Goldfeder and Greg Zaverucha.
The library builds a static library. The public API surface is defined in [picnic.h](https://github.com/Microsoft/Picnic/blob/master/picnic.h).
## Linux Build Instructions
Tested on Ubuntu Linux, and the Windows Subsystem for Linux on Windows 10 (build 1709).
1. `make`
This will build the project. `make debug` will build with symbols.2. `./example`
Runs an example program that exercises the keygen, sign, verify and
serialization APIs. See [example.c](https://github.com/Microsoft/Picnic/blob/master/example.c).## Windows Build Instructions
Tested on Windows 10 with Visual Studio 2017.
Open the solution in `VisualStudio\picnic.sln`, and build the projects.
The project `libpicnic` creates a `.lib` file, containing the functions defined `in picnic.h`.
See the `example` project for a simple application that calls functions in the library.### Acknowledgments
Thanks to Christian Paquin for providing feedback on picnic.h and for adding
support for a Windows build.### Contributing
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments.