How ivgarci/qkd-net-tools works
qkd-net-tools is a research toolkit for generating and validating trusted-relay QKD network candidates, studying their structure and resilience, and analyzing an ADIF railway-network proxy. Its main workflow builds a topology from geographic candidates, applies a BB84 link-capacity model for QKD routing, and evaluates structural or service behavior under failures. Separate branches cover community-to-region alignment, generation sensitivity, and ADIF-derived maps and metrics. The README documents these capabilities; some subsystem wiring is not visible in the sampled source, so unverified links are omitted or dashed.
Main entry points: generar_red.py Network builder · skr_bb84.py BB84 SKR model · capacidad_servicio_ataques.py Service resilience · routing_core.py Routing engine
Components 21
Topology generation
- Network builder
generacion/generar_red.py - PAM regeneration
analisis/pam_regeneration.py - Δ sensitivity
analisis/delta_rho_sensitivity.py - Relay siting
analisis/relay_siting_sensitivity.py
QKD physics and routing
- BB84 SKR model
protocols/skr_bb84.py - Routing engine
analisis/routing_core.py - QKD routing
analisis/enrutamiento_qkd.py
Network analysis
- Community alignment
analisis/alignment_communities.py - Alignment null models
analisis/null_models_alignment.py - Structural metrics
analisis/analis_redes_complejas.py
Resilience studies
- Service resilience
analisis/capacidad_servicio_ataques.py - Device failures
analisis/fallos_dispositivo.py - Adversarial failures
analisis/fallos_adversariales.py - Random failures
ataques/ataques_aleatorios_nodos_fault.py - Targeted attacks
ataques/ataques_dirigidos_nodos_fault.py
ADIF proxy
- ADIF graph matrix
adif/generar_matriz_adif.py - ADIF junction analysis
adif/analisis_adif_junctions.py - ADIF maps
adif/generar_mapa_adif.py - ADIF resilience routing
analisis/enrutamiento_adif_completo.py
Other components
- Researcher
- Geographic candidates
Connections 25
- Researcher → Network builder: builds topology
- Geographic candidates → Network builder: provides locations
- Network builder → PAM regeneration: validates generation
- Network builder → Δ sensitivity: varies Δ and ρ
- Network builder → Relay siting: tests siting
- QKD routing → Routing engine: uses routing
analisis/enrutamiento_qkd.py - QKD routing → BB84 SKR model: uses SKR model
analisis/enrutamiento_qkd.py - Service resilience → Routing engine: uses widest paths
analisis/capacidad_servicio_ataques.py - Service resilience → BB84 SKR model: uses SKR model
analisis/capacidad_servicio_ataques.py - Device failures → Service resilience: reuses loaders
analisis/fallos_dispositivo.py - Device failures → BB84 SKR model: uses SKR model
analisis/fallos_dispositivo.py - Adversarial failures → Service resilience: uses loaders
analisis/fallos_adversariales.py - Adversarial failures → Routing engine: uses route metrics
analisis/fallos_adversariales.py - Adversarial failures → BB84 SKR model: uses SKR model
analisis/fallos_adversariales.py - Community alignment → Alignment null models: provides alignment functions
analisis/null_models_alignment.py - Researcher → Random failures: simulates failures
- Researcher → Targeted attacks: simulates attacks
- Researcher → Structural metrics: analyzes structure
- Researcher → Community alignment: compares communities
- Researcher → ADIF graph matrix: analyzes rail proxy
- ADIF graph matrix → ADIF junction analysis: derives junction graph
- ADIF junction analysis → ADIF maps: visualizes proxy
- Researcher → ADIF resilience routing: routes on ADIF proxy
- ADIF resilience routing → Routing engine: uses routing engine
analisis/enrutamiento_adif_completo.py - ADIF resilience routing → BB84 SKR model: uses SKR model
analisis/enrutamiento_adif_completo.py