#e-voting #crypto #gui-applications

rust_ev_verifier_lib

Main library for the E-Voting system of Swiss Post

5 unstable releases

new 0.3.0 Feb 9, 2025
0.2.2 Jan 2, 2025
0.2.1 Dec 24, 2024
0.2.0 Dec 22, 2024
0.1.0 Oct 25, 2024

#1290 in Cryptography

Download history 101/week @ 2024-10-23 13/week @ 2024-10-30 1/week @ 2024-11-13 1/week @ 2024-11-20 3/week @ 2024-12-04 8/week @ 2024-12-11 178/week @ 2024-12-18 61/week @ 2024-12-25 146/week @ 2025-01-01 13/week @ 2025-01-08 102/week @ 2025-02-05

104 downloads per month

Apache-2.0 and LGPL-3.0+

665KB
17K SLoC

E-Voting Verifier in Rust

Introduction

This crate is the main library for the E-Voting system of Swiss Post.

It is based on the specifications of Swiss Post, according to the following document versions:

The verifier is implemented for the version 1.4.3 of the E-Voting system of Swiss Post.

This crate is used as basis for a GUI application.

Following application are implemented:

Information about the project

 Difference to the Swiss Post implementation

The implementation not used any code of Swiss Post. It is only based on the published documentation.

A major difference with the Swiss Post Verifier is that the verifications does not return true or false, but return all the errors and failures found, with the necessary information in regard to the position of the element, which generates the error. In this case it helps a better granularity for the analysis of the errors and failures.

 Future works

The Verifier is not ready for production.

  • The verification of the signature of XML files is missing
  • The verification of the data in the file eCH-0222 is missing
  • For most of the verifications, the negative unit tests are not implemented. A mechanisms of mocks is implemented
  • The report of the verifications is not generated

Usage

See the crate documentation

Licence

Open source License Apache 2.0

See LICENSE

Dependencies

~48MB
~821K SLoC