Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
rust_citadel — Post-Quanten-Hybridverschlüsselungsbibliothek, die X25519 + ML-KEM-768 mit AES-256-GCM kombiniert | Kitploit
Tools/GitHubGitHub/mrcord77/rust_citadel
Authentifizierung & AutorisierungVerschlüsselungs-/EntschlüsselungstoolsKryptographieCloud-SicherheitAPI-Sicherheit
GitHubmrcord77/rust_citadel

rust_citadel

Post-Quanten-Hybridverschlüsselungsbibliothek, die X25519 + ML-KEM-768 mit AES-256-GCM kombiniert

Repository anzeigen
223vor 5 MonatenNoch 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

Citadel

Post-Quanten-Hybrid-Verschlüsselungs- und Schlüsselverwaltungsserver.

Citadel kombiniert X25519 + ML-KEM-768 zur Schlüsselkapselung und AES-256-GCM zur Datenverschlüsselung, gemäß dem Hybridansatz von NIST für den Post-Quanten-Übergang. Anwendungen verschlüsseln und entschlüsseln Daten über eine REST-API. Citadel verwaltet die Schlüssel – Generierung, Rotation, Widerruf, Zugriffskontrolle und Prüfprotokollierung.

Status: Funktionierende Implementierung. Nicht auditiert. Keine Produktionsbereitstellungen. Siehe Sicherheit unten.


Was es tut

Your Application              Citadel                         Database
       |                         |                               |
       |-- POST /encrypt ------->|                               |
       |                         |-- hybrid KEM (X25519+ML-KEM)  |
       |                         |-- derive AES-256 key (HKDF)   |
       |                         |-- encrypt with AES-256-GCM    |
       |<-- encrypted blob ------|                               |
       |                                                         |
       |-- store blob ------------------------------------------>|

Ihre Anwendung berührt niemals das rohe Schlüsselmaterial. Der verschlüsselte Blob ist in sich geschlossen – er enthält den verpackten Schlüssel, Algorithmuskennungen und den Chiffrattext. Speichern Sie ihn in jeder Datenbank. Entschlüsseln Sie ihn, indem Sie ihn mit derselben AAD und demselben Kontext an Citadel zurücksenden.

Architektur

citadel-envelope    Hybridverschlüsselungskern (X25519 + ML-KEM-768 + AES-256-GCM)
citadel-keystore    Schlüssel-Lebenszyklusverwaltung, 4-stufige Hierarchie, bedrohungsadaptive Richtlinien
citadel-api         HTTP-Server, bereichsspezifische API-Schlüssel-Authentifizierung, Ratenbegrenzung, Echtzeit-Dashboard

Schnellstart

Docker (empfohlen)

# Klonen
git clone https://github.com/mrcord77/rust_citadel.git
cd rust_citadel

# Ihren Admin-API-Schlüssel festlegen
echo -n "your-secret-key" | sha256sum | cut -d' ' -f1
# Kopieren Sie den Hash

# Starten
CITADEL_API_KEY_HASH=<eingefügter-hash> docker compose up -d

# Prüfen
curl http://localhost:3000/health
# {"status":"ok","version":"0.2.0"}

Dashboard: http://localhost:3000

Aus dem Quellcode

Erfordert Rust 1.75+.

cargo build --release -p citadel-api
CITADEL_API_KEY="your-secret-key" CITADEL_SEED_DEMO=true ./target/release/citadel-api

Verwendung

Python

import requests

api = "http://localhost:3000"
headers = {"Authorization": "Bearer your-secret-key"}

# Verschlüsseln
r = requests.post(f"{api}/api/keys/{dek_id}/encrypt", headers=headers, json={
    "plaintext": "sensitive data",
    "aad": "record-001",        # bindet Chiffrattext an diesen Datensatz
    "context": "patient-records" # Bereichstrennung
})
blob = r.json()

# Entschlüsseln
r = requests.post(f"{api}/api/decrypt", headers=headers, json={
    "blob": blob,
    "aad": "record-001",
    "context": "patient-records"
})
plaintext = r.json()["plaintext"]

Siehe citadel_example.py für ein vollständiges Arbeitsbeispiel mit AAD-Bindung, Schlüsselrotation und bedrohungsbewusstem Anwendungsverhalten.

curl

# Status
curl http://localhost:3000/api/status -H "Authorization: Bearer $KEY"

# Schlüssel auflisten
curl http://localhost:3000/api/keys -H "Authorization: Bearer $KEY"

# Verschlüsseln
curl -X POST http://localhost:3000/api/keys/$DEK_ID/encrypt \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{"plaintext":"hello","aad":"test","context":"demo"}'

API-Endpunkte

EndpunktMethodeBereichBeschreibung
/healthGET—Health-Check
/api/statusGETreadBedrohungsstufe, Schlüsselanzahl
/api/metricsGETreadSicherheitsmetriken
/api/keysGETreadAlle Schlüssel auflisten
/api/keysPOSTmanageNeuen Schlüssel generieren
/api/keys/:idGETreadSchlüsseldetails abrufen
/api/keys/:id/activatePOSTmanageEinen ausstehenden Schlüssel aktivieren
/api/keys/:id/rotatePOSTmanageSchlüssel rotieren (neue Version)
/api/keys/:id/revokePOSTmanageSchlüssel dauerhaft widerrufen
/api/keys/:id/destroyPOSTmanageSchlüsselmaterial vernichten
/api/keys/:id/encryptPOSTencryptDaten verschlüsseln
/api/decryptPOSTencryptDaten entschlüsseln
/api/threatGETreadBedrohungsinformationen im Detail
/api/policiesGETreadAktive Schlüsselrichtlinien
/api/auth/whoamiGETreadAktuelle API-Schlüssel-Informationen
/api/auth/keysGETadminAPI-Schlüssel auflisten
/api/auth/keysPOSTadminAPI-Schlüssel erstellen
/api/auth/keys/:idDELETEadminAPI-Schlüssel widerrufen

Schlüsselhierarchie

Root Key
  └── Domain Key (pro Umgebung / Geschäftseinheit)
        └── KEK — Key Encrypting Key (umhüllt DEKs)
              └── DEK — Data Encrypting Key (verschlüsselt Anwendungsdaten)

Folgt NIST SP 800-57. Jede Ebene begrenzt den Schadensradius einer Kompromittierung – ein durchgesickerter DEK legt keine anderen DEKs offen, da der KEK separat ist.

API-Schlüssel-Bereiche

BereichBerechtigungen
readSchlüssel, Status, Metriken, Bedrohungsstufe anzeigen
encryptDaten verschlüsseln und entschlüsseln
manageSchlüssel erstellen, rotieren, widerrufen, vernichten
adminAlles oben Genanntes + API-Schlüssel verwalten

admin impliziert alle anderen Bereiche. Prinzip der geringsten Privilegien: Geben Sie Überwachungs-Dashboards read, Anwendungsdiensten read + encrypt, Verwaltungswerkzeugen admin.

Adaptives Bedrohungssystem

Citadel überwacht Sicherheitsereignisse und passt die Schlüsselrichtlinien automatisch an:

StufeAuslöserReaktion
LOWNormalbetriebStandard-Kryptoperioden
GUARDEDGeringfügige AnomalienEtwas engere Rotation
ELEVATEDVerdächtige MusterVerkürzte Rotationspläne
HIGHAktive BedrohungsindikatorenErzwungene Rotation, reduzierte Nutzungsbeschränkungen
CRITICALUnter AngriffMaximale Einschränkungen

Ereignisse, die die Bedrohungsstufe erhöhen: fehlgeschlagene Authentifizierung, Entschlüsselungsfehler, schnelle Zugriffsmuster, manuelle Eskalation. Der Wert nimmt mit der Zeit ab.

Kryptographie

KomponenteAlgorithmusStandard
Schlüsselkapselung (klassisch)X25519 ECDHRFC 7748
Schlüsselkapselung (post-quanten)ML-KEM-768FIPS 203
DatenverschlüsselungAES-256-GCMNIST SP 800-38D
SchlüsselableitungHKDF-SHA256NIST SP 800-56C

Hybride Konstruktion: Beide gemeinsamen Geheimnisse werden konkateniert und durch HKDF geführt. Die Sicherheit bleibt erhalten, wenn entweder X25519 oder ML-KEM-768 sicher bleibt.

Drahtformat

version[1] || suite_kem[1] || suite_aead[1] || flags[1] || kem_ct_len[2] ||
x25519_ephemeral_pk[32] || mlkem768_ct[1088] || nonce[12] || aead_ct[variable]

Selbstbeschreibend, versioniert, keine Aushandlung (verhindert Downgrade-Angriffe). Siehe SPEC.md für die vollständige Spezifikation.

Sicherheitseigenschaften

Tool herunterladen