rust_ev_crypto_primitives 0.8.3

Crypto Primitives necessary for E-Voting Applications.
Documentation
# 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]https://gitlab.com/swisspost-evoting/crypto-primitives/crypto-primitives, version 1.5.2

It implements only the functionalities that are necessary for the implementation of the Verifier.

See [API Documentation](https://docs.rs/rust_ev_crypto_primitives/) for details

## Development guide

The crate is tested with the version of Rust defined in [Cargo.toml](Cargo.toml).

## Installation

The crate uses the crate [openssl](https://docs.rs/openssl/latest/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](https://crates.io/crates/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](https://docs.rs/gmp-mpfr-sys/1.6.4/gmp_mpfr_sys/index.html#building-on-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](LICENSE.md) for details.

## Third party

See [THIRD_PARTY](THIRD_PARTY)