
Priorización por coste de retraso para la migración post-cuántica: riesgo clásico y de harvest-now-decrypt-later en una sola unidad (USD por año). Código, pruebas, casos de estudio, explorador en vivo.
Explorador en vivo · implementación de referencia, demostraciones, estudios de caso y estadísticas para un artículo de investigación.
El riesgo de hacking clásico y el riesgo cuántico de tipo cosechar ahora, descifrar después (HNDL, por sus siglas en inglés), expresados en una sola unidad — dólares estadounidenses de pérdida por año de demora — de modo que una única lista ordenada pueda responder a "¿deberíamos cerrar este hallazgo clásico, o migrar primero la criptografía de ese activo?"
Estado: prototipo de investigación. Todas las entradas de los estudios de caso son suposiciones derivadas de documentación pública; ninguna organización proporcionó datos, y el método no ha sido validado contra incidentes o migraciones reales. Véase Advertencias.
Los atacantes pueden copiar datos cifrados hoy y descifrarlos una vez que exista una computadora cuántica a gran escala. Cuánto importa eso depende de cuánto tiempo deben permanecer secretos los datos, si pueden ser registrados y si un atacante común los habría tomado primero. Las puntuaciones de riesgo post-cuántico existentes son adimensionales y solo cuánticas, por lo que no pueden compararse con el riesgo clásico, que se mide en dólares.
Este repositorio calcula, para cada activo, el coste de esperar un año más frente a cada amenaza, en dólares, y los acopla de modo que la misma pérdida no se cuente dos veces. Contiene:
costofdelay/) con el modelo, la ley de tiempo de llegada de una computadora cuántica, la propagación de incertidumbre, el análisis de sensibilidad y una verificación de programación;app/) que se ejecuta en un navegador y explica cada entrada.| Idea | Término clásico = pérdida anualizada $\lambda V$. Término cuántico = $r,h\int_0^L f_Q(t),e^{-(\lambda+\rho)t},dt$, la tasa a la que posponer la migración compromete una pérdida irreversible. Ambos en USD/año; un factor de riesgos competitivos evita que la misma pérdida se cuente dos veces. |
| Demostrado | Unidades, ausencia de doble conteo, cotas, estática comparativa, un umbral de dominancia en forma cerrada, no separabilidad y optimalidad del ordenamiento bajo la regla de Smith (methodology/FORMAL_METHOD.md). |
| Verificado | 256 pruebas automatizadas; verificaciones cruzadas de Monte Carlo y cuadratura; una segunda implementación (JavaScript) que coincide en 577 valores. |
| Evaluado en | MOSIP (identificación nacional), Apache Fineract (banca), OpenMRS (registros médicos), Online Boutique (tienda de demostración, solo prueba de procedimiento). |
| Resultados principales | El término cuántico cambia magnitudes y unos pocos activos específicos de forma decisiva, pero mueve la lista completa menos de lo que lo hace el ruido de las entradas en tres de los cuatro sistemas. La fecha de llegada cuántica explica solo el 3–17% de la incertidumbre; la pérdida y la rotación explican el 73–91% (methodology/STATISTICS.md). |
Requiere Python ≥ 3.10. Node ≥ 18 es opcional (ejecuta la verificación de las matemáticas del explorador).
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 ejecuta, en orden: la suite de pruebas → la validación numérica → el análisis estadístico (results/) → las figuras (paper/figures/, creadas si faltan) → las tablas de parámetros → los datos del explorador y su verificación entre lenguajes. Tarda aproximadamente 2–4 minutos y es determinista (todo procedimiento aleatorio tiene una semilla fija). Después, git diff --stat results/ debería mostrar ningún cambio, o diferencias solo en el último dígito impreso si tus versiones de NumPy/SciPy difieren. Las versiones exactas probadas están en requirements-lock.txt.
Para explorar de forma interactiva, usa el explorador en vivo o abre app/index.html localmente. No necesita servidor, y el código de la página no realiza solicitudes de red ni envía tus entradas a ningún lado (GitHub, como anfitrión, registra las visitas ordinarias a la página).
Para puntuar tu propio registro:
python -m costofdelay.register path/to/asset_register.csv
El formato CSV se describe en methodology/PARAMETERS.md y se ejemplifica en case_studies/.
| Ruta | Contenido |
|---|---|
costofdelay/ | El paquete de Python: ley de llegada del CRQC, modelo de activos, puntuación, un comparador para la puntuación QARS publicada, incertidumbre y estadísticas, programación. El núcleo de puntuación usa solo la biblioteca estándar. |
tests/ | Pruebas unitarias, pruebas de propiedades de cada proposición, líneas base de refutación |
methodology/ | Demostraciones; definiciones y anclas de parámetros; análisis estadístico |
case_studies/ | Los cuatro registros de activos (CSV), uno por sistema |
scripts/ | Reproducción, resultados, figuras y tablas |
results/ | Números generados (JSON, CSV, Markdown) |
app/ | Explorador interactivo (HTML/JavaScript) con una prueba de paridad con Python |