CIA/e-voting-system/README.md
E-Voting Developer 6df490a7b1 Add post-quantum cryptography (FIPS 203/204)
- 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
2025-11-05 17:49:29 +01:00

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