Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CQPToolkit — Framework zur Steuerung von QKD-Geräten und Verwaltung symmetrischer Schlüssel. Siehe die [Projektseite hier](https://qcomms.gitlab.io/cqptoolkit/) | Kitploit
Tools/GitLabGitLab/qcomms/cqptoolkit
Embedded-System-SicherheitVerschlüsselungs-/EntschlüsselungstoolsNetzwerksicherheitKryptographieHardware-Sicherheit
GitLabqcomms/cqptoolkit

CQPToolkit

Framework zur Steuerung von QKD-Geräten und Verwaltung symmetrischer Schlüssel. Siehe die [Projektseite hier](https://qcomms.gitlab.io/cqptoolkit/)

Repository anzeigen
6113vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

CQP Tool kit

Das System bietet verschiedene Komponenten zur Integration von QKD in ein Sicherheitssystem. Es ist in C++11 geschrieben, verwendet jedoch [GRPC][]-Schnittstellen, sodass es mit vielen verschiedenen Sprachen integriert werden kann.

Schnellstart

Um die Software nativ auszuführen, entweder:

  • die Ubuntu-Deb-Pakete herunterladen und installieren oder
  • das Quellverzeichnis klonen, sicherstellen, dass Submodule aktualisiert sind, und lokal bauen

Um das Quellverzeichnis inklusive Submodule zu klonen:```bash git clone --recurse-submodules [email protected]:QComms/cqptoolkit.git

> Falls Sie ohne Verwendung von `--recurse-submodules` geklont haben, können die Submodule durch Ausführen von `git submodule update --init` aus dem Quellordner aktualisiert werden.

Hier ist eine Liste der Abhängigkeiten, die Sie zum Kompilieren des Projekts benötigen (bitte lesen Sie weiter unten für weitere Details zur 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

Schnelltest

Aus dem Build-Ordner, um zwei Standorte (auf demselben lokalen Computer) jeweils mit einem QKD-Gerät zu betreiben, starten Sie zunächst Standort "A", indem Sie einen Site-Agenten starten und einen Alice "Dummy-Treiber" damit verbinden: (Falls die Binärdateien installiert wurden, lassen Sie die Pfade zu den Befehlen aus den Anweisungen weg.)```bash ./src/Tools/SiteAgentRunner/SiteAgentRunner -p 8000 & ./src/Drivers/DummyQKDDriver/DummyQKDDriver -r localhost:8000 -a

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

Dies wird nicht sofort mit der Schlüsselproduktion beginnen, da dieses System so konzipiert ist, dass es von einem Managementsystem gesteuert wird. Die Verbindung muss mit dem Befehl SiteAgentCtl hergestellt werden.

  • Zuerst können Sie die Liste der verfügbaren Geräte mit:```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -d -c localhost:8000
was standardmäßig etwas Ähnliches erzeugen sollte, wenn *SiteAgentRunner* und *DummyQKDDriver* ohne Angabe eines Konfigurations-JSON-String-Dateiarguments gestartet wurden:```json
{
 "url": "<hostname>:8000",
 "devices": [
  {
   "config": {
    "id": "dummyqkd__0__16_alice",
    "kind": "dummyqkd"
   },
   "controlAddress": "<hostname>:34219"
  }
 ]
}

und Port 8001 sollte eine ähnliche Ausgabe wie```json { "url": ":8001", "devices": [ { "config": { "id": "dummyqkd__0__16_bob", "side": "Bob", "kind": "dummyqkd" }, "controlAddress": ":38367" } ] }

- Nun, die Verbindung kann nun durch Aufrufen von: hergestellt werden:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -j localhost:8001

Dadurch wird ein einzelner Hop von einer Site zur nächsten erstellt, wiederum können komplexere Routen definiert werden, indem die Option -a mit einer JSON-Zeichenfolge verwendet wird, die den Pfad angibt.

Nach einigen Sekunden sollte ein Schlüssel verfügbar sein, der durch Anfordern eines Schlüssels getestet werden kann.

HINWEIS: Der Parameter -k muss die URL sein, die in den Details der zweiten Site angezeigt wird, nicht "localhost:8001"```bash ./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -k hostname:8001

Der Link kann mit dem unjoin-Befehl gestoppt werden:```bash
./src/Tools/SiteAgentCtl/SiteAgentCtl -c localhost:8000 -u localhost:8001

Nicht, dass der Schlüssel noch verfügbar ist, auch wenn die Generierung gestoppt wurde, solange die Site-Agenten laufen. Er kann mit demselben Schlüsselanforderungsbefehl wie oben angefordert werden.

Verschlüsselungsbeispiel

Mit den gestarteten Site-Agenten und Treibern auf demselben lokalen Computer wie oben beschrieben und nachdem der Link für den Schlüsselaustausch gestartet wurde, können auch die Verschlüsselungsfunktionen getestet werden.

  • Starten Sie zunächst eine Seite des „VPN“ auf dem Bob, der auf Port 9010 lauscht und eine Verbindung zu Bobs Schlüsselspeicher herstellt:``` ./src/Tools/QTunnelServer/QTunnelServer -p 9010 --keystore-url=hostname:8001
Starten Sie nun die Alice-Seite des VPN und definieren Sie den zu erstellenden Tunnel. Es werden zwei Ports geöffnet, einer für jede Seite auf 9000 und 9001; alles, was diese Ports erreicht, wird verschlüsselt, auf die andere Seite übertragen, entschlüsselt und auf dem anderen Port ausgegeben.```
./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

Alles, was TCP-Kommunikation verwendet, kann dann diesen Port nutzen. Netcat ist ein einfaches Programm, das Daten über die Ports sendet. Starten Sie einen auf einer Seite:``` nc localhost 9000

und eine auf der anderen:```
nc localhost 9001

Alles, was auf einer Seite eingegeben wird, erscheint auf der anderen, wenn die Eingabetaste gedrückt wird. Die Überprüfung der Pakete, die durch die Ports 9000 und 9001 reisen, mit einem Tool wie wireshark zeigt, dass die Daten verschlüsselt werden und die verwendete Schlüssel-ID angezeigt wird.

Andere Verbindungsformen können anstelle von tcpserv erstellt werden:

| Beispiel | Beschreibung | | ============================= | ===================================================== | | tcpserv://0.0.0.0:1234 | Ein lauschender Port wird auf Port 1234 erstellt | | tcp://127.0.01:1234 | Eine Verbindung zum TCP-Port 1234 auf localhost wird hergestellt | | udp://0.0.0.0:1234 | UDP-Pakete werden von diesem Port gesendet | | tun://192.168.101.1/?netmask=255.255.255.0 | Ein IP-Level-Tunnelgerät wird mit einer IP-Adresse erstellt | | tap://192.168.101.1/?netmask=255.255.255.0 | Ein Ethernet-Level-Tap-Gerät wird erstellt | | eth://eth0/?level=tcp | Erstellt einen Raw-Socket, Level kann tcp, ip oder eth sein. |

Fortschritt

Geplante und abgeschlossene Funktionen

Tool herunterladen