Skip to content
KitploitKITPLOIT
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
RRC_steganography | Kitploit
Tools/GitHubGitHub/ryehr/rrc_steganography
SteganografieKryptographieMaschinelles LernenPapers & ForschungLernen & BildungKI-Sicherheit
GitHubryehr/rrc_steganography

RRC_steganography

Repository anzeigen
61vor 4 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

RRC-Steganografie

Rotation Range-Coding (RRC)-Steganografie — eine effiziente und beweisbar sichere linguistische steganografische Methode, die geheime Nachrichten in natürlichsprachlichen Text einbettet, der von großen Sprachmodellen erzeugt wird.

Paper: Efficient Provably Secure Linguistic Steganography via Range Coding

So funktioniert es

SchrittBeschreibung
Einbetten (Algorithmus 3)Wandeln Sie die geheime Nachricht in einen Dezimalwert um und rotieren Sie ihn iterativ innerhalb eines schrumpfenden Intervalls, das von der Wahrscheinlichkeitsverteilung des LM und einem PRNG-erzeugten Offset gesteuert wird. Jeder Rotationsschritt erzeugt ein Token.
Extrahieren (Algorithmus 4)Führen Sie das LM erneut auf dem Stegotext aus, um die Intervallgrenzen wiederherzustellen, dann rotieren Sie zurück zum ursprünglichen Dezimalwert und binarisieren Sie ihn.

Der Rotationsmechanismus löst zwei Probleme der herkömmlichen Range-Coding-Steganografie:

  1. Erhaltung der Wahrscheinlichkeitsverteilung — der rotierte geheime Wert ist innerhalb jedes Intervalls gleichverteilt, sodass die Tokenauswahl der ursprünglichen LM-Verteilung folgt.
  2. Frische Zufälligkeit — ein neuer PRNG-Offset bei jedem Schritt verhindert die Wiederverwendung von Zufallswerten.

Repository-Struktur

root@kitploit:~
.
├── RRC_embed.py   # Embedding (Algorithm 3) 
├── RRC_extract.py   # Extraction (Algorithm 4) 
├── test_roundtrip.py         # Self-contained end-to-end verification script
├── requirements.txt          # Python dependencies
└── README.md

Anforderungen

  • Python ≥ 3.10
  • PyTorch ≥ 2.0
  • Transformers ≥ 4.35

Abhängigkeiten installieren:

root@kitploit:~
pip install -r requirements.txt

Schnellstart

1. Korrektheit überprüfen

Der Round-Trip-Test verwendet meta-llama/Llama-2-7b-hf und läuft auf CPU/CUDA:

root@kitploit:~
python test_roundtrip.py

Erwartete Ausgabe:

root@kitploit:~
>>> Step 3: Verification
    Original: 10110011001010111010011100101011...
    Extracted: 10110011001010111010011100101011...

    ✅ SUCCESS — extracted message matches perfectly!

2. Eine geheime Nachricht einbetten

Bereiten Sie eine Prompts-Datei 0.Prompts.tsv mit den Spalten idx und text vor und führen Sie dann Folgendes aus:

root@kitploit:~
python RRC_embed.py \
    --language_model meta-llama/Llama-3.1-8B \
    --bit_length 128 \
    --key 42 \
    --top_k -1

3. Die geheime Nachricht extrahieren

root@kitploit:~
python RRC_extract.py \
    --language_model meta-llama/Llama-3.1-8B \
    --bit_length 128 \
    --key 42 \
    --input_file 1.RC_decimal_Llama-3.1-8B_bit128.tsv

⚠️ Wichtig: Sender und Empfänger müssen für eine korrekte Extraktion das gleiche Sprachmodell, denselben Schlüssel, dieselbe Bitlänge und dieselbe Top-k-Einstellung verwenden.

CLI-Argumente

RRC_embed.py

RRC_extract.py

Technischer Hinweis: Decimal-Modulo

Der Decimal-Typ von Python verwendet für den %-Operator eine abgeschnittene Division, die negative Reste liefern kann (z. B. Decimal('-19672') % Decimal('65536') → -19672 statt 45864). Diese Implementierung verwendet eine decimal_mod-Hilfsfunktion, die garantiert, dass das Ergebnis immer in [0, m) liegt:

root@kitploit:~
def decimal_mod(a, m):
    return a - m * (a / m).to_integral_value(rounding=ROUND_FLOOR)

⚠️ Für eine zuverlässige Geheimtext-Extraktion werden einige Operationen (sort, cumsum) mit float64-Präzision auf die CPU ausgelagert, um CUDA-Nichtdeterminismus zu vermeiden. Dies tauscht ein wenig Geschwindigkeit gegen eine garantierte Kodierungs- und Dekodierungskonsistenz.

Tool herunterladen
ArgumentStandardwertBeschreibung
--language_modelmeta-llama/Llama-3.1-8BHuggingFace-Modellkennung
--bit_length128Länge der geheimen Nachricht in Bits
--top_k-1Top-k-Beschränkung; -1 = vollständiger Wortschatz
--key42Symmetrischer Schlüssel K (PRNG-Seed)
--part / --part_max0 / 2Für die parallele Ausführung bei großen Prompt-Mengen
ArgumentStandardwertBeschreibung
--language_modelmeta-llama/Llama-3.1-8BMuss mit dem Einbettungsmodell übereinstimmen
--bit_length128Muss mit der Einbettungseinstellung übereinstimmen
--top_k-1Muss mit der Einbettungseinstellung übereinstimmen
--key42Muss mit dem Einbettungsschlüssel übereinstimmen
--input_file(erforderlich)Pfad zur TSV-Datei vom Encoder