E-Voting Crypto Primitives in Rust
Introduction
This crate implements functionalities of the crpyto primitives for the E-Voting system of Swiss Post. It is based on the specifications of Swiss Post, according to the following document version:
- Crypo-primitives, version 1.5.2
It implements only the functionalities that are necessary for the implementation of the Verifier.
See API Documentation for details
Development guide
The crate is tested with the version of Rust defined in Cargo.toml.
Installation
The crate uses the crate openssl to wrap the functions of the library openssl for the basic cryptographic functions. Please check the installation guide of the crate.
The crate uses the crate rug to wrap the functions of the library GMP for the performant big integers. Please check the installation guide of the crate.
In particular the build on Windows must be perfomerd with MSYS2 (see windows for details).
Following packagess must be installed with pacman:
pacman -S pacman-mirrors
pacman -S diffutils m4 make mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-openssl
pacman -S openssl-devel pkgconf
Licence
Rug is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. See the full text of the GNU GPL for details.
Third party
See THIRD_PARTY