Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Quantum-Algorithm-for-Elliptic-Curve-Discrete-Logarithms-with-Space-Efficient-Point-Addition — Framework di stima delle risorse basato su Qiskit per circuiti quantistici di inversione modulare e addizione di punti affini efficienti in termini di spazio utilizzati negli algoritmi di logaritmo discreto su curve ellittiche. | Kitploit
Strumenti/GitHubGitHub/zerowang030221/quantum-algorithm-for-elliptic-curve-discrete-logarithms-with-space-efficient-point-addition
Analisi StaticaAnalisi del CodiceCrittografiaAnalisi di BinariPaper e RicercaApprendimento e Formazione
GitHubzerowang030221/quantum-algorithm-for-elliptic-curve-discrete-logarithms-with-space-efficient-point-addition

Quantum-Algorithm-for-Elliptic-Curve-Discrete-Logarithms-with-Space-Efficient-Point-Addition

Framework di stima delle risorse basato su Qiskit per circuiti quantistici di inversione modulare e addizione di punti affini efficienti in termini di spazio utilizzati negli algoritmi di logaritmo discreto su curve ellittiche.

Vedi Repository
143121 mese faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Algoritmo Quantistico per i Logaritmi Discreti su Curve Ellittiche con Addizione di Punti Efficiente in Spazio

Questo repository contiene codice Qiskit per la stima delle risorse dei circuiti quantistici di inversione modulare e di addizione di punti affine efficienti in termini di spazio, usati in contesti di logaritmi discreti su curve ellittiche.

Il codebase attuale è incentrato su tre flussi di lavoro:

  1. conteggio ricorsivo a chunk del circuito di inversione modulare;
  2. ottimizzazione locale opzionale del circuito tramite template NCT;
  3. stima compilata delle risorse a blocchi del circuito di addizione di punti affine incapsulato.

Struttura del repository

.
├── README.md
│
├── eea_model/: original classical EEA reference implementation used for algorithm prototyping and correctness validation.
│
├── run_eea_s835_fastdual_recursive_chunks_checkpoint.py
├── run_eea_s835_fastdual_recursive_chunks_checkpoint_nctopt.py
├── count_s835_fastdual_wrapped_point_addition_blocks_compiled.py
│
├── eea_circuit.py
├── eea_circuit_s835_fastdual.py
├── eea_circuit_s835_lowaux.py
├── eea_circuit_updated.py
├── under1000_eea_shared_s835_fastdual_wrapped.py
├── under1000_modular_arithmetic_base.py
│
├── point_addition_fig14_s835_fastdual_wrapped_quadratic.py
├── quadratic_fig15_inplace_s835_fastdual_wrapped.py
├── quadratic_gidney_arithmetic.py
├── quadratic_lazy_instruction.py
├── quadratic_modular_arithmetic.py
├── quadratic_squ_minus.py
│
├── ccx_recursive_block_counter.py
├── nct_template_segment_optimizer.py
│
├── test_eea_strict_main.py
└── test_point_addition_strict_main.py

Script di ingresso principali

  • run_eea_s835_fastdual_recursive_chunks_checkpoint.py
    Conta i passi dell'Algoritmo-3 EEA ricorsivamente, in chunk con checkpoint.

  • run_eea_s835_fastdual_recursive_chunks_checkpoint_nctopt.py
    Stesso flusso di conteggio EEA, ma con ottimizzazione locale tramite template NCT.

  • count_s835_fastdual_wrapped_point_addition_blocks_compiled.py
    Conta il circuito di addizione di punti incapsulato contando ricorsivamente i sottoblocchi compilati riutilizzabili e assemblando i componenti aritmetici ripetuti con molteplicità esatte.

File EEA

  • eea_circuit_s835_fastdual.py: Implementazione principale del circuito EEA di produzione.
  • eea_circuit_s835_lowaux.py: Routine helper con pochi qubit ausiliari usate dall'implementazione principale.
  • eea_circuit_updated.py: Blocchi di costruzione EEA condivisi e utilità di conteggio ricorsivo delle risorse.
  • eea_circuit.py: Wrapper di compatibilità all'indietro per i test.

File per addizione di punti e aritmetica

  • point_addition_fig14_s835_fastdual_wrapped_quadratic.py: costruisce il circuito di addizione di punti affine incapsulato corrispondente allo schedule della Fig.14.
  • quadratic_fig15_inplace_s835_fastdual_wrapped.py: costruisce la struttura di divisione in-place e moltiplicazione in-place della Fig.15 con EEA, moltiplicazione, misurazione, reset e correzione di fase feed-forward.
  • quadratic_modular_arithmetic.py: istruzioni di addizione/sottrazione modulare, moltiplicazione, moltiplicazione inversa, raddoppio e dimezzamento usate dal contatore di addizione di punti.
  • quadratic_gidney_arithmetic.py: primitive aritmetiche in stile Gidney e helper di misurazione e feed-forward usati dal livello di aritmetica modulare quadratica.
  • quadratic_squ_minus.py: blocco square-minus usato nello schedule dell'addizione di punti affine.
  • under1000_eea_shared_s835_fastdual_wrapped.py: wrapper EEA condiviso e helper usati dal circuito di addizione di punti.
  • under1000_modular_arithmetic_base.py: piccole utilità condivise di aritmetica modulare.

Utilità di conteggio e ottimizzazione

  • ccx_recursive_block_counter.py: contatore ricorsivo per circuiti Qiskit, con policy per l'espansione MCX e l'espansione SWAP.
  • nct_template_segment_optimizer.py: ottimizzatore locale basato su template per i segmenti {X, CX, CCX}.

Requisiti

Ambiente consigliato:

  • Python 3.10+
  • Qiskit

Installa la dipendenza principale con:

python -m pip install --upgrade pip
python -m pip install qiskit

Avvio rapido

Esegui la suite di test:

python test_eea_strict_main.py
python test_point_addition_strict_main.py

Per uno smoke test più rapido dell'addizione di punti:

python test_point_addition_strict_main.py --skip-n256 --skip-report

1. Conteggio ricorsivo a chunk dell'EEA

Il punto di ingresso standard per il conteggio EEA è:

python run_eea_s835_fastdual_recursive_chunks_checkpoint.py \
  --n 192 \
  --chunk-size 25 \
  --measurement-uncompute \
  --resume \
  --workdir eea_s835_fastdual_chunks25 \
  --out eea_s835_fastdual_algorithm3_recursive_chunks_n192_measurement.json

Argomenti importanti:

  • --n: larghezza in bit.
  • --T-max: override opzionale per il numero di passi dell'Algoritmo-3; di default viene usato il valore da eea.get_n_config(n).
  • --chunk-size: numero di passi dell'Algoritmo-3 contati per chunk di checkpoint.
  • --aux-size: override opzionale per il pool di qubit helper; se omesso, la dimensione degli helper del layout viene calcolata automaticamente.
  • --measurement-uncompute: abilita l'uncomputation basato su misurazione nei blocchi EEA contati.
  • --resume: riutilizza i file JSON di chunk non vuoti esistenti in --workdir.
  • --workdir: directory per i file di checkpoint per chunk.
  • --out: riepilogo JSON cumulativo scritto dopo ogni chunk.

Lo script scrive file per chunk come:

eea_s835_fastdual_chunks25/eea_s835_fastdual_n192_T0001_0025.json

e un JSON di output cumulativo contenente campi come:

mode
n
T_max
num_qubits
len_width
shift_width
aux_size
measurement_based
ops
chunks
elapsed_s_so_far

2. Conteggio EEA con ottimizzazione tramite template NCT

Il punto di ingresso per il conteggio ottimizzato è:

python run_eea_s835_fastdual_recursive_chunks_checkpoint_nctopt.py \
  --n 128 \
  --chunk-size 25 \
  --measurement-uncompute \
  --templates small-nct \
  --rounds 1 \
  --max-nct-segment-gates 40 \
  --segment-timeout-s 10 \
  --timeout-mode auto \
  --resume \
  --workdir eea_s835_fastdual_chunks_nctopt_failopen_r1_128_seg40_to10 \
  --out eea_s835_fastdual_algorithm3_recursive_chunks_n128_measurement_nctopt_failopen_r1_seg40_to10.json

Questo flusso di lavoro tenta l'ottimizzazione locale tramite template sui segmenti {X, CX, CCX}. È progettato come un contatore fail-open con limite: se un passo ottimizzato va in timeout o solleva un'eccezione, quel passo viene contato esattamente, senza round di template, e poi salvato tramite checkpoint, così i conteggi finali riportati rimangono completi.

Argomenti utili in aggiunta a quelli standard dell'EEA:

  • --templates {small-nct,all-nct}: selezione della libreria di template.
  • --rounds: numero di round di ottimizzazione tramite template.
  • --max-nct-segment-gates: dimensione massima di un segmento reversibile inviato all'ottimizzazione tramite template.
  • --max-nct-segment-qubits: numero massimo di qubit in un segmento.
  • --segment-timeout-s: timeout per l'ottimizzazione del singolo segmento.
  • --step-timeout-s: timeout per un intero passo dell'Algoritmo-3 prima di ripiegare sul conteggio invariato.
  • --fallback-step-timeout-s: timeout per il conteggio di fallback esatto.
  • --force: ricalcola anche se i checkpoint di passo/chunk esistono già.
  • --ignore-policy-mismatch: riutilizza i vecchi checkpoint anche quando la policy di ottimizzazione differisce; serve principalmente al debug.

Il flusso di lavoro ottimizzato scrive sia i checkpoint a livello di passo in:

<workdir>/steps/

sia i riepiloghi a livello di chunk in:

<workdir>/

3. Conteggio compilato a blocchi dell'addizione di punti incapsulata

Scarica lo strumento