
Priorisation par coût du retard pour la migration post-quantique : risque classique et harvest-now-decrypt-later dans une seule unité (USD par an). Code, preuves, études de cas, explorateur en direct.
Explorateur en ligne · implémentation de référence, preuves, études de cas et statistiques pour un article de recherche.
Le risque de piratage classique et le risque quantique de type harvest-now-decrypt-later (HNDL), exprimés dans une seule unité — les dollars US de perte par année de retard — afin qu'une seule liste ordonnée puisse répondre à la question « devons-nous d'abord clore cette découverte classique, ou migrer d'abord la cryptographie de cet actif ? »
Statut : prototype de recherche. Toutes les entrées des études de cas sont des hypothèses dérivées de documentation publique ; aucune organisation n'a fourni de données, et la méthode n'a pas été validée sur des incidents ou des migrations réels. Voir Mises en garde.
Les attaquants peuvent copier des données chiffrées aujourd'hui et les déchiffrer dès qu'un ordinateur quantique à grande échelle existera. L'importance de ce risque dépend de la durée pendant laquelle les données doivent rester secrètes, de la possibilité de les enregistrer, et de la probabilité qu'un attaquant ordinaire s'en soit emparé en premier. Les scores de risque post-quantique existants sont sans dimension et purement quantiques, ce qui les rend incomparables avec le risque classique, mesuré en dollars.
Ce dépôt calcule, pour chaque actif, le coût d'attendre une année de plus pour chaque menace, en dollars, et les couple afin que la même perte ne soit pas comptée deux fois. Il contient :
costofdelay/) avec le modèle, la loi d'arrivée d'un ordinateur quantique, la propagation d'incertitude, l'analyse de sensibilité et une vérification d'ordonnancement ;app/) qui s'exécute dans un navigateur et explique chaque entrée.| Idée | Terme classique = perte annualisée $\lambda V$. Terme quantique = $r,h\int_0^L f_Q(t),e^{-(\lambda+\rho)t},dt$, le taux auquel le report de la migration engage une perte irréversible. Les deux en USD/an ; un facteur de risques concurrents empêche que la même perte soit comptée deux fois. |
| Démontré | Unités, absence de double comptage, bornes, statique comparative, un seuil de dominance sous forme close, non-séparabilité, et optimalité de l'ordonnancement selon la règle de Smith (methodology/FORMAL_METHOD.md). |
| Vérifié | 256 tests automatisés ; vérifications croisées par Monte Carlo et quadrature ; une seconde implémentation (JavaScript) concordant sur 577 valeurs. |
| Évalué sur | MOSIP (identité nationale), Apache Fineract (banque), OpenMRS (dossiers médicaux), Online Boutique (boutique de démonstration, test de procédure uniquement). |
| Résultats principaux | Le terme quantique modifie les ordres de grandeur et quelques actifs spécifiques de manière décisive, mais déplace l'ensemble de la liste moins que le bruit des entrées pour trois des quatre systèmes. La date d'arrivée du quantique n'explique que 3 à 17 % de l'incertitude ; la perte et le turnover expliquent 73 à 91 % (methodology/STATISTICS.md). |
Nécessite Python ≥ 3.10. Node ≥ 18 est optionnel (il exécute la vérification sur les mathématiques de l'explorateur).
git clone https://github.com/AnimeshShaw/pqc-cost-of-delay && cd pqc-cost-of-delay
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
python scripts/reproduce.py
reproduce.py exécute, dans l'ordre : la suite de tests → la validation numérique → l'analyse statistique (results/) → les figures (paper/figures/, créées si absentes) → les tableaux de paramètres → les données de l'explorateur et sa vérification inter-langages. Cela prend environ 2 à 4 minutes et est déterministe (chaque procédure aléatoire a une graine fixe). Ensuite, git diff --stat results/ devrait montrer aucun changement, ou des différences uniquement sur le dernier chiffre affiché si vos versions de NumPy/SciPy diffèrent. Les versions exactes testées se trouvent dans requirements-lock.txt.
Pour explorer de manière interactive, utilisez l'explorateur en ligne ou ouvrez app/index.html localement. Il ne nécessite aucun serveur, et le code de la page n'effectue aucune requête réseau et n'envoie vos entrées nulle part (GitHub, en tant qu'hébergeur, journalise les visites de pages ordinaires).
Pour scorer votre propre registre :
python -m costofdelay.register path/to/asset_register.csv
Le format CSV est décrit dans methodology/PARAMETERS.md et illustré dans case_studies/.
| Chemin | Contenu |
|---|---|
costofdelay/ | Le paquet Python : loi d'arrivée du CRQC, modèle d'actif, scoring, un comparateur pour le score QARS publié, incertitude et statistiques, ordonnancement. Le cœur du scoring n'utilise que la bibliothèque standard. |
tests/ | Tests unitaires, tests de propriétés de chaque proposition, références de réfutation |
methodology/ | Preuves ; définitions et ancrages des paramètres ; analyse statistique |
case_studies/ | Les quatre registres d'actifs (CSV), un par système |
scripts/ | Reproduction, résultats, figures et tableaux |
results/ | Nombres générés (JSON, CSV, Markdown) |
app/ | Explorateur interactif (HTML/JavaScript) avec un test de parité Python |