Skip to content

Repository files navigation

Subtext

A linguistic steganography tool built for the end-user. It is designed to encrypt messages into intelligible text, that could passably be produced by a human. Unlike traditional linguistic steganographic methods, which encode messages into existing text by word substitution, it uses a local large language model to generate text that contains the encoded and compressed stego (hidden message).

Setup

Requirements: Python 3.9+

  1. Clone the repository

    git clone https://github.com/LeosPrograms/Subtext
    cd Subtext
  2. Install dependencies

    pip install torch transformers numpy
  3. Download the model weights

    python download_model.py

    This downloads GPT-2 into model/gpt2/ for offline use.

  4. Run the app

    python app.py

Acknowledgements

Subtext is an implementation of the arithmetic coding steganography algorithm given in Zachary Ziegler, Yuntian Deng, and Alexander Rush's "Neural Linguistic Steganography" (2019).

Similar Projects

  • Neural Steganography

    A project that implements all three steganography methods from Zachary Ziegler, Yuntian Deng, and Alexander Rush's 2019 paper.

    Differences: It is not open-source, and does not provide a graphical user interface.

  • Textcoder

    An implementation of a distinct steganography method using LLM's, based on Matt Timmerman's Bijective Arithmetic Coding algorithm.

    Differences: It supports authentication and encryption of the inputs, but provides inferior data efficiency. It lacks a graphical user interface.

  • Tomato

    A llm-based steganography tool that uses minimum-entropy coupling.

    Differences: It requires Nvidia CUDA, and is designed for high-end machines. It does not provide a graphical user interface.

  • lm-steganography

    An implementation of Falcon Z. Dai and Zheng Cai's Towards Near-imperceptible Steganographic Text (2019).

    Differences: It is less efficient, and provides an inferior theoretical security guarantee, but may provide a more passable output. It does not provide a graphical user interface.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages