
Boîte à outils de niveau entreprise pour auditer et migrer les infrastructures héritées vers la cryptographie post-quantique (PQC) hybride.
Une boîte à outils de migration vers la cryptographie post-quantique pour Nginx et OpenSSH.
QSM est une boîte à outils open-source qui audite les configurations cryptographiques héritées et les migre vers la cryptographie post-quantique (PQC) hybride. Elle cible le vecteur de menace « Harvest Now, Decrypt Later » (HNDL) en simulant l'impact de l'algorithme de Shor et en automatisant les migrations hybrides sur les systèmes basés sur Debian.
⚠️ Principe architectural strict : QSM n'autorise jamais un déploiement purement post-quantique. Toutes les opérations imposent un paradigme hybride combinant des algorithmes classiques et PQC (ECDSA P-256 + ML-DSA-65 pour l'authentification ; X25519 + ML-KEM-768 pour l'échange de clés).
QSM est une preuve de concept fonctionnelle, et non un outil de production certifié. Veuillez lire attentivement cette section avant de vous y fier dans des environnements critiques.
La commande --simulate utilise un modèle analytique simplifié pour l'estimation des ressources de l'algorithme de Shor — et non un circuit quantique compilé :
O(bits³)logical_qubits × 1000 (hypothèse de code de surface)Cela produit des estimations d'ordre de grandeur, et non des prédictions précises. Les besoins réels en ressources d'un CRQC dépendent de la profondeur du circuit, de la fidélité des portes, du surcoût de la correction d'erreurs et de l'architecture matérielle. Ces aspects demeurent des domaines de recherche actifs.
Les chiffres produits (par exemple, « ~99 jours pour ECC-256 ») représentent une borne inférieure théorique sous les hypothèses énoncées, et non une mesure effectuée sur une machine existante. Aucun ordinateur quantique cryptographiquement pertinent (CRQC) n'existe aujourd'hui.
La commande --migrate modifie les fichiers de configuration pour injecter des suites de chiffrement hybrides. Elle ne :
liboqs ou oqs-provider ;Vous devez vous assurer que oqs-provider est installé et chargé pour que les noms de chiffrement injectés soient pris en compte. Testez toutes les migrations dans un environnement hors production au préalable.
QSM a été vérifié sur :
tests/)Il n'a pas été testé en charge, à grande échelle, ni sur des environnements variés. Considérez-le comme une implémentation de référence et adaptez-le à votre infrastructure.
QSM cible les normes NIST finalisées :
| FIPS | Algorithme | Utilisation dans QSM |
|---|---|---|
| FIPS 203 | ML-KEM | Échange de clés (ML-KEM-768) |
| FIPS 204 | ML-DSA | Authentification (ML-DSA-65) |
Terminologie : « Kyber » et « Dilithium » étaient les noms de code pré-standardisation utilisés durant la compétition NIST. Les normes finalisées utilisent respectivement ML-KEM et ML-DSA. QSM emploie les noms standardisés tout au long de sa documentation.
QSM est conçu pour fonctionner de manière adaptative selon les environnements :
liboqs pour appliquer les couches de configuration de manière atomique avec une logique de restauration vérifiée par somme de contrôle.# Clone and enter the vault
git clone https://github.com/soufianecyber/Quantum-Safe-Migration
cd Quantum-Safe-Migration
# Initialize virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python3 qsm.py --preflight
# 1. Run Quantum Attack Simulation on target assets
python3 qsm.py --simulate --target example.com
python3 qsm.py --simulate --keyfile ./test_legacy_key.pem
# 2. Preview Hybrid Migration Block (Safe Dry-Run)
python3 qsm.py --migrate --target nginx --config ./dummy_nginx.conf --dry-run
# 3. Apply Production Migration (Requires Sudo)
sudo venv/bin/python3 qsm.py --migrate --target nginx --config /etc/nginx/nginx.conf
sudo venv/bin/python3 qsm.py --migrate --target sshd --config /etc/ssh/sshd_config
# 4. Atomic Rollback Checksum Restoration
sudo venv/bin/python3 qsm.py --rollback --target /etc/nginx/nginx.conf
sudo python3 qsm.py --preflight

Valide la version de Python, les bindings liboqs, la disponibilité de ML-KEM/ML-DSA et OpenSSL.
python3 qsm.py --simulate --target google.com

Détecte ECC-256 sur google.com et calcule le temps de cassage par l'algorithme de Shor.
sudo python3 qsm.py --migrate --target nginx --config /etc/nginx/nginx.conf --dry-run

Aperçu de l'injection de suite de chiffrement hybride — aucun fichier modifié.
Distribué sous licence MIT. Voir LICENSE pour plus de détails.
Avertissement : cette boîte à outils est conçue exclusivement à des fins de tests autorisés et de vérification de migration d'infrastructure.
Soufiane Cyber