Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
RRC_steganography — Esteganografía lingüística demostrablemente segura que incrusta mensajes secretos en texto generado por LLM mediante codificación de rango rotativa. Incluye scripts de incrustación, extracción y verificación de ida y vuelta. | Kitploit
Herramientas/GitHubGitHub/ryehr/rrc_steganography
EsteganografíaCriptografíaAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y EducaciónSeguridad de IA
GitHubryehr/rrc_steganography

RRC_steganography

Esteganografía lingüística demostrablemente segura que incrusta mensajes secretos en texto generado por LLM mediante codificación de rango rotativa. Incluye scripts de incrustación, extracción y verificación de ida y vuelta.

Ver Repositorio
6147hace 5 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Esteganografía RRC

Esteganografía por Codificación de Rango Rotacional (RRC) — un método esteganográfico lingüístico eficiente y demostrablemente seguro que incrusta mensajes secretos en texto en lenguaje natural generado por modelos de lenguaje de gran tamaño.

Artículo: Efficient Provably Secure Linguistic Steganography via Range Coding

Cómo Funciona

PasoDescripción
Incrustar (Algoritmo 3)Convertir el mensaje secreto a un valor decimal y rotarlo iterativamente dentro de un intervalo decreciente guiado por la distribución de probabilidad del LM y un desplazamiento generado por PRNG. Cada paso de rotación produce un token.
Extraer (Algoritmo 4)Volver a ejecutar el LM sobre el estegotexto para recuperar los límites del intervalo y luego invertir la rotación hasta el valor decimal original y binarizarlo.

El mecanismo de rotación resuelve dos problemas de la esteganografía por codificación de rango básica:

  1. Preservación de la distribución de probabilidad — el valor secreto rotado se distribuye uniformemente dentro de cada intervalo, por lo que la selección de tokens sigue la distribución original del LM.
  2. Aleatoriedad nueva — un nuevo desplazamiento PRNG en cada paso evita la reutilización de la aleatoriedad.

Estructura del Repositorio

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

Requisitos

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

Instalar dependencias:

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

Inicio Rápido

1. Verificar la corrección

La prueba de ida y vuelta utiliza meta-llama/Llama-2-7b-hf y se ejecuta en CPU/CUDA:

root@kitploit:~
python test_roundtrip.py

Salida esperada:

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

    ✅ SUCCESS — extracted message matches perfectly!

2. Incrustar un mensaje secreto

Prepare un archivo de prompts 0.Prompts.tsv con las columnas idx y text y luego ejecute:

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

3. Extraer el mensaje secreto

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

⚠️ Importante: El emisor y el receptor deben usar el mismo modelo de lenguaje, clave, longitud de bits y configuración top-k para una extracción correcta.

Argumentos de CLI

RRC_embed.py

RRC_extract.py

Nota Técnica: Módulo Decimal

El tipo Decimal de Python usa división truncada para el operador %, que puede devolver restos negativos (p. ej., Decimal('-19672') % Decimal('65536') → -19672 en lugar de 45864). Esta implementación utiliza un helper decimal_mod que garantiza que el resultado esté siempre en [0, m):

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

⚠️ Para una extracción fiable del secreto, algunas operaciones (sort, cumsum) se descargan a la CPU con precisión float64 para evitar el no determinismo de CUDA. Esto intercambia una cantidad de velocidad por una consistencia garantizada de codificación-decodificación.

Descargar herramienta
ArgumentoPredeterminadoDescripción
--language_modelmeta-llama/Llama-3.1-8BIdentificador de modelo HuggingFace
--bit_length128Longitud del mensaje secreto en bits
--top_k-1Truncamiento top-k; -1 = vocabulario completo
--key42Clave simétrica K (semilla PRNG)
--part / --part_max0 / 2Para ejecución paralela en conjuntos grandes de prompts
ArgumentoPredeterminadoDescripción
--language_modelmeta-llama/Llama-3.1-8BDebe coincidir con el modelo de incrustación
--bit_length128Debe coincidir con la configuración de incrustación
--top_k-1Debe coincidir con la configuración de incrustación
--key42Debe coincidir con la clave de incrustación
--input_file(requerido)Ruta al TSV del codificador