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
CQPToolkit — Framework per il controllo di dispositivi QKD e la gestione di chiavi simmetriche. Vedi la [pagina del progetto qui](https://qcomms.gitlab.io/cqptoolkit/) | Kitploit
Strumenti/GitLabGitLab/qcomms/cqptoolkit
Sicurezza Sistemi EmbeddedStrumenti di Crittografia/DecrittografiaSicurezza di ReteCrittografiaSicurezza Hardware
GitLabqcomms/cqptoolkit

CQPToolkit

Framework per il controllo di dispositivi QKD e la gestione di chiavi simmetriche. Vedi la [pagina del progetto qui](https://qcomms.gitlab.io/cqptoolkit/)

Vedi Repository
61124 anni 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
Sito web

CQP Tool kit

Il sistema fornisce vari componenti per integrare QKD in un sistema di sicurezza. È scritto in C++11 ma utilizza interfacce [GRPC][] che permettono l'integrazione con molti linguaggi diversi.

Avvio Rapido

Per eseguire il software in modo nativo, è possibile:

  • scaricare e installare i pacchetti deb per Ubuntu oppure
  • clonare il sorgente, assicurandosi che i sottomoduli siano aggiornati, e compilare localmente

Per clonare il sorgente inclusi i sottomoduli:```bash git clone --recurse-submodules [email protected]:QComms/cqptoolkit.git

> Se hai clonato senza usare `--recurse-submodules`, i sottomoduli possono essere aggiornati eseguendo `git submodule update --init` dalla cartella sorgente.

Ecco un elenco delle dipendenze necessarie per compilare il progetto (leggi più avanti per maggiori dettagli sull'installazione):```bash
sudo apt install pkg-config ca-certificates file build-essential cmake ninja-build libusb-1.0-0-dev libcurl4-openssl-dev \
	libcrypto++-dev libcap-dev uuid-dev libssl-dev libsqlite3-dev libprotobuf-dev libgrpc++-dev \
	libssl-dev protobuf-compiler protobuf-compiler-grpc checkinstall
mkdir build-cqptoolkit
cd build-cqptoolkit
cmake -G Ninja ../cqptoolkit && ninja

Test rapido

Dalla cartella di build, per eseguire due siti (sullo stesso computer locale) ciascuno con un dispositivo QKD, avvia prima il sito "A" avviando un agente del sito e collegandovi un "dummy driver" di Alice: (Se i binari sono stati installati, ometti i percorsi dei comandi dalle istruzioni.)```bash ./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8000 & ./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8000 -a

Le prestazioni, l'affidabilità e la compatibilità di ogni strumento possono variare in base al tuo caso d'uso specifico e all'ambiente.```bash
./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8001 &
./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8001 -b

Questo non inizierà a generare la chiave immediatamente, poiché questo sistema è progettato per essere controllato da un sistema di gestione; la connessione deve essere stabilita con il comando SiteAgentCtl.

  • Innanzitutto, puoi verificare l'elenco dei dispositivi disponibili con:```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -d -c localhost:8000
che dovrebbe produrre qualcosa di simile a questo per impostazione predefinita, se *SiteAgentRunner* e *DummyQKDDriver* fossero avviati senza specificare un argomento di file di stringa JSON di configurazione:```json
{
 "url": "<hostname>:8000",
 "devices": [
  {
   "config": {
    "id": "dummyqkd__0__16_alice",
    "kind": "dummyqkd"
   },
   "controlAddress": "<hostname>:34219"
  }
 ]
}

e la porta 8001 dovrebbe produrre qualcosa di simile a```json { "url": ":8001", "devices": [ { "config": { "id": "dummyqkd__0__16_bob", "side": "Bob", "kind": "dummyqkd" }, "controlAddress": ":38367" } ] }

- Ora, la connessione può ora essere effettuata chiamando:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -j localhost:8001

Questo creerà un singolo salto da un sito al successivo; ancora, rotte più complesse possono essere definite utilizzando l'opzione -a con una stringa JSON che specifica il percorso.

Dopo alcuni secondi dovrebbe essere disponibile una chiave, che può essere testata richiedendo una chiave.

NOTA: Il parametro -k deve essere l'url mostrato nei dettagli del secondo sito, non "localhost:8001"```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -k hostname:8001

Il collegamento può essere fermato con il comando unjoin:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -u localhost:8001

Non che la chiave sia ancora disponibile anche se la generazione è cessata, fintanto che gli agenti del sito sono in esecuzione. Può essere richiesta con lo stesso comando di richiesta chiave sopra.

Esempio di crittografia

Con gli agenti del sito e i driver avviati sullo stesso computer locale come descritto sopra e dopo aver avviato il collegamento per lo scambio di chiavi, è possibile testare anche le funzionalità di crittografia.

  • Per prima cosa, avviare un lato della "VPN" su bob, che rimarrà in ascolto sulla porta 9010 e si collegherà al deposito chiavi di Bob:``` ./src/Tools/QTunnelServer/QTunnelServer -p 9010 --keystore-url=hostname:8001
- Ora avvia il lato Alice della VPN, definendo il tunnel da creare. Verranno aperte due porte, una per ogni lato sulle porte 9000 e 9001, tutto ciò che entra in queste porte verrà crittografato, trasferito all'altro lato, decrittografato e prodotto sull'altra porta.```
./src/Tools/QTunnelServer/QTunnelServer --keystore-url=`hostname`:8000 --remote=localhost:9010 --start-node=tcpsrv://0.0.0.0:9000 --end-node=tcpsrv://0.0.0.0:9001

Qualsiasi cosa che utilizza comunicazioni tcp può quindi usare questa porta, netcat è un semplice programma che invierà dati attraverso le porte, avvia una da un lato:``` nc localhost 9000

e uno sull'altro:```
nc localhost 9001

Qualsiasi cosa digitata in un lato apparirà sull'altro quando viene premuto Invio. Ispezionando i pacchetti che viaggiano attraverso le porte 9000 e 9001 con uno strumento come wireshark, si vedrà che i dati sono crittografati e verrà mostrato l'ID della chiave utilizzato.

Altre forme di connessione possono essere create, invece di tcpserv:

| Esempio | Descrizione | | ============================= | ===================================================== | | tcpserv://0.0.0.0:1234 | Viene creata una porta in ascolto sulla porta 1234 | | tcp://127.0.01:1234 | Viene stabilita una connessione alla porta tcp 1234 su localhost | | udp://0.0.0.0:1234 | I pacchetti UDP vengono inviati da questa porta | | tun://192.168.101.1/?netmask=255.255.255.0 | Viene creato un dispositivo tunnel a livello IP con un indirizzo IP | | tap://192.168.101.1/?netmask=255.255.255.0 | Viene creato un dispositivo tap a livello ethernet | | eth://eth0/?level=tcp | Crea un raw socket, il livello può essere tcp, ip o eth. |

Avanzamento

Funzionalità pianificate e completate

Scarica lo strumento