- 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
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