Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CQPToolkit — Framework pour contrôler les dispositifs QKD et gérer les clés symétriques. Voir la [page du projet ici](https://qcomms.gitlab.io/cqptoolkit/) | Kitploit
Outils/GitLabGitLab/qcomms/cqptoolkit
Sécurité des Systèmes EmbarquésOutils de Chiffrement/DéchiffrementSécurité RéseauCryptographieSécurité Matérielle
GitLabqcomms/cqptoolkit

CQPToolkit

Framework pour contrôler les dispositifs QKD et gérer les clés symétriques. Voir la [page du projet ici](https://qcomms.gitlab.io/cqptoolkit/)

Voir le dépôt
6113il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

CQP Tool kit

Le système fournit divers composants pour intégrer QKD dans un système de sécurité. Il est écrit en C++11 mais utilise des interfaces [GRPC][] ce qui permet de l'intégrer avec de nombreux langages différents.

Démarrage rapide

Pour exécuter le logiciel nativement, soit :

  • téléchargez et installez les paquets deb Ubuntu ou
  • clonez la source, en vous assurant que les sous-modules sont mis à jour, et compilez localement

Pour cloner la source avec les sous-modules :```bash git clone --recurse-submodules [email protected]:QComms/cqptoolkit.git

> Si vous avez cloné sans utiliser `--recurse-submodules`, les sous-modules peuvent être mis à jour en exécutant `git submodule update --init` depuis le dossier source.

Voici une liste des dépendances nécessaires pour compiler le projet (veuillez lire plus bas pour plus de détails sur l'installation) :```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 rapide

Depuis le dossier de build, pour exécuter deux sites (sur le même ordinateur local) chacun avec un dispositif QKD , commencez par démarrer le site « A » en lançant un agent de site et en y connectant un « pilote factice » d'Alice : (Si les binaires ont été installés, omettez les chemins vers les commandes des instructions.)```bash ./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8000 & ./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8000 -a

ENTRÉE :```bash
./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8001 &
./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8001 -b

Cela ne commencera pas à produire une clé immédiatement, car ce système est conçu pour être contrôlé par un système de gestion, la connexion doit être établie avec la commande SiteAgentCtl.

  • Tout d'abord, vous pouvez vérifier la liste des périphériques disponibles avec :```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -d -c localhost:8000
ce qui devrait produire quelque chose de similaire par défaut, si *SiteAgentRunner* et *DummyQKDDriver* étaient lancés sans spécifier un argument de fichier de chaîne de configuration JSON :```json
{
 "url": "<hostname>:8000",
 "devices": [
  {
   "config": {
    "id": "dummyqkd__0__16_alice",
    "kind": "dummyqkd"
   },
   "controlAddress": "<hostname>:34219"
  }
 ]
}

et port 8001 devrait produire quelque chose de similaire à```json { "url": ":8001", "devices": [ { "config": { "id": "dummyqkd__0__16_bob", "side": "Bob", "kind": "dummyqkd" }, "controlAddress": ":38367" } ] }

- Maintenant, la connexion peut être établie en appelant :```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -j localhost:8001

Cela créera un seul saut d'un site à l'autre, là encore, des itinéraires plus complexes peuvent être définis en utilisant l'option -a avec une chaîne JSON spécifiant le chemin.

Après quelques secondes, une clé devrait être disponible, qui peut être testée en demandant une clé.

NOTE : Le paramètre -k doit être l'URL affichée dans les détails du second site, pas "localhost:8001"```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -k hostname:8001

Le lien peut être arrêté avec la commande unjoin:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -u localhost:8001

Notez que la clé est toujours disponible même si la génération a été arrêtée, tant que les agents du site sont en cours d'exécution. Elle peut être demandée avec la même commande de demande de clé ci-dessus.

Exemple de chiffrement

Avec les agents et pilotes de site lancés sur le même ordinateur local comme décrit ci-dessus et après avoir démarré le lien pour l'échange de clés, on peut également tester les fonctionnalités de chiffrement.

  • Tout d'abord, démarrez un côté du « VPN » sur bob qui écoutera sur le port 9010 et se connectera au magasin de clés de Bob :``` ./src/Tools/QTunnelServer/QTunnelServer -p 9010 --keystore-url=hostname:8001
Maintenant, démarrez le côté Alice du VPN, en définissant le tunnel à créer. Deux ports seront ouverts, un pour chaque côté sur 9000 et 9001, tout ce qui entre dans ces ports sera chiffré, transféré de l'autre côté, déchiffré et produit sur l'autre port.```
./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

Tout ce qui utilise des communications TCP peut alors utiliser ce port, netcat est un programme simple qui enverra des données sur les ports, démarrez-en un d'un côté :``` nc localhost 9000

et un sur l'autre:```
nc localhost 9001

Tout ce qui est tapé d’un côté apparaîtra de l’autre lorsque la touche Entrée est enfoncée. L’inspection des paquets transitant par les ports 9000 et 9001 avec un outil tel que Wireshark montrera les données chiffrées et l’ID de clé utilisé.

D’autres formes de connexion peuvent être créées, au lieu de tcpserv :

| Exemple | Description | | ============================= | ===================================================== | | tcpserv://0.0.0.0:1234 | Un port d’écoute est créé sur le port 1234 | | tcp://127.0.01:1234 | Une connexion au port tcp 1234 sur localhost est établie | | udp://0.0.0.0:1234 | Les paquets UDP sont envoyés depuis ce port | | tun://192.168.101.1/?netmask=255.255.255.0 | Un périphérique de tunnel au niveau IP est créé avec une adresse IP | | tap://192.168.101.1/?netmask=255.255.255.0 | Un périphérique tap au niveau Ethernet est créé | | eth://eth0/?level=tcp | Crée un socket brut, le niveau peut être tcp, ip ou eth. |

Progression

Fonctionnalités prévues et terminées

Télécharger l’outil