← All projects

llm-steganography

by @hexxt-git

Active 13

hide secrets in normal looking text using an LLM

About this project

llm-steganography Goal: hide a short secret message inside normal-looking plaintext using LLM output. The text itself is not encrypted. Instead, the message is encoded in the token choices the model makes while generating. For the full mechanism, see docs/theoretical.md. The payload is UTF-8 bytes with a 32-bit byte-length header, followed by 8 bits per byte. On non-dominant steps, one bit is encoded per token by choosing between the two most likely non-EOG candidates. Anyone with the same model and prompt can replay generation, recover the bits, and read the message. Why it matters: the output still reads like a normal response, while the hidden data is carried by small token-level choices. This is experimental. Capacity is low, recovery depends on the exact same model, tokenizer, and prompt, and decrypt must receive the exact completionText returned by encrypt so tokenization stays aligned. Stack: Bun, node-llama-cpp, and a local GGUF (e.g. models/llama3.gguf) model. Prompts are wrapped with Llama 3’s chat format so behavior matches instruction-tuned models. Prerequisites Bun node-llama-cpp a local GGUF (e.g. models/llama3.gguf) model (see docs/ollama-to-gguf.md) Usage

From the project README on GitHub

Stars
13
Forks
0
Last push
20 Mar 2026

Add this badge to your README

Show that your project is listed on Made in Algeria.

Made in Algeria
[![Made in Algeria](https://www.madeinalgeria.dev/badge/llm-steganography.svg)](https://www.madeinalgeria.dev/projects/llm-steganography)

Related projects