CIA/e-voting-system
E-Voting Developer 5bebad45b8 Initial commit: Complete e-voting system with cryptography
- FastAPI backend with JWT authentication
- ElGamal, RSA-PSS, ZK-proofs crypto modules
- HTML5/JS frontend SPA
- MariaDB database with 5 tables
- Docker Compose with 3 services (frontend, backend, mariadb)
- Comprehensive tests for cryptography
- Typst technical report (30+ pages)
- Makefile with development commands
2025-11-03 16:13:08 +01:00
..

Système de Vote Électronique Sécurisé

Projet d'implémentation d'un système de vote électronique sécurisé utilisant la cryptographie avancée.

Cours: Cryptographie Industrielle Avancée (EPITA ING3) Date: 2025-2026

Architecture

  • Backend: FastAPI + Python 3.12
  • Frontend: HTML5 + JavaScript/Vue.js
  • Base de données: MariaDB
  • Déploiement: Docker Compose

Structure du Projet

e-voting-system/
├── src/
│   ├── backend/          # API FastAPI
│   ├── crypto/           # Modules cryptographiques
│   └── frontend/         # Interface Web
├── tests/                # Tests unitaires
├── docker/               # Configuration Docker
├── rapport/              # Rapport technique (Typst)
├── pyproject.toml        # Configuration Poetry
└── README.md             # Ce fichier

Installation & Démarrage

Avec Docker Compose

docker-compose up -d

L'application sera accessible à http://localhost:8080

En local (développement)

poetry install
poetry run uvicorn src.backend.main:app --reload

Fonctionnalités

  • Inscription électeur sécurisée
  • Authentification multi-facteur
  • Chiffrement homomorphe des votes
  • Preuves de connaissance zéro
  • Vérification d'intégrité
  • Bulletin de vote anonyme
  • Interface Web intuitive

Documentation

Voir le rapport technique dans rapport/main.typ

Licence

MIT