- Add hybrid PQC using liboqs: ML-DSA-65 (Dilithium) + ML-KEM-768 (Kyber) - Signatures: RSA-PSS + Dilithium (defense-in-depth) - Encryption: ML-KEM-768 (Kyber) + ElGamal - Tests for PQC hybrid operations - Cleanup: remove non-essential scripts and docs - Minimal, production-ready e-voting system
66 lines
1.7 KiB
Markdown
66 lines
1.7 KiB
Markdown
# E-Voting System - Post-Quantum Cryptography
|
|
|
|
Système de vote électronique sécurisé avec **cryptographie post-quantique hybride** certifiée NIST FIPS 203/204.
|
|
|
|
## 🚀 Démarrer
|
|
|
|
```bash
|
|
# Lancer tous les services
|
|
docker-compose up -d
|
|
|
|
# Frontend: http://localhost:3000
|
|
# API: http://localhost:8000/docs
|
|
# Database: localhost:3306
|
|
```
|
|
|
|
## 🔐 Sécurité Post-Quantique
|
|
|
|
- **Signatures**: RSA-PSS + ML-DSA-65 (Dilithium) - FIPS 204
|
|
- **Chiffrement**: ML-KEM-768 (Kyber) + ElGamal - FIPS 203
|
|
- **Hachage**: SHA-256 (quantum-resistant)
|
|
- **Approche hybride**: Defense-in-depth
|
|
|
|
Voir `.claude/POSTQUANTUM_CRYPTO.md` pour les détails.
|
|
|
|
## 📁 Structure
|
|
|
|
```
|
|
.
|
|
├── docker/ # Configuration Docker
|
|
├── src/
|
|
│ ├── backend/ # API FastAPI
|
|
│ ├── crypto/ # Cryptographie classique + PQC
|
|
│ └── frontend/ # Interface web
|
|
├── tests/ # Tests unitaires
|
|
├── docker-compose.yml
|
|
└── README.md
|
|
```
|
|
|
|
## 🧪 Tests
|
|
|
|
```bash
|
|
pytest tests/ -v
|
|
```
|
|
|
|
## 🔑 Clés Cryptographiques
|
|
|
|
- **Génération**: Clés hybrides RSA + Dilithium + Kyber à l'inscription
|
|
- **Stockage**: Base de données sécurisée
|
|
- **Signatures**: RSA-PSS + Dilithium sur chaque vote
|
|
- **Chiffrement**: ML-KEM-768 (Kyber)
|
|
|
|
## 📊 Endpoints API
|
|
|
|
- `POST /api/auth/register` - Inscription avec génération de clés PQC
|
|
- `POST /api/auth/login` - Authentification JWT
|
|
- `GET /api/elections/active` - Élection active
|
|
- `POST /api/votes/submit` - Vote signé avec signatures hybrides
|
|
- `GET /api/elections/{id}/results` - Résultats
|
|
|
|
Voir http://localhost:8000/docs pour API interactive.
|
|
|
|
---
|
|
|
|
**Production-ready post-quantum e-voting system** 🔐
|
|
MIT
|