- 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
64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
docker-compose up -d
|
|
```
|
|
|
|
L'application sera accessible à `http://localhost:8080`
|
|
|
|
### En local (développement)
|
|
|
|
```bash
|
|
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
|