Coder Social home page Coder Social logo

discop's Introduction

Discop

Discop: Provably Secure Steganography in Practice Based on “Distribution Copies”

Jinyang Ding, Kejiang Chen, Yaofei Wang, Na Zhao, Weiming Zhang, and Nenghai Yu

In IEEE Symposium on Security and Privacy (IEEE S&P) 2023

paper cite slides doi blog_post semantic_scholar

Brief Overview

Given a probability distribution to sample from, if we want to embed $n$ bits, we construct $2^{n}$ copies of the distribution by rotation and use the copy index to express information.

distribution copies

To improve the embedding rate, we decompose the multi-variate distribution into multiple bi-variate distributions through a Huffman tree.

recursion

The embedding rate can reach about 0.95 of its theoretical limit.

Usage

Preparation

First, please ensure that you have installed all the required libraries for this repository.

We recommend using Anaconda and execute the following commands.

conda create -n discop python=3.8.12
conda activate discop

# Visit the PyTorch website (https://pytorch.org/get-started/locally/) for installation commands tailored to your environment
# We have not tested PyTorch versions other than v1.12.0.
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
# Install other dependencies
python -m pip install -r requirements.txt

# Build the Cython files
python src/setup.py build_ext --build-lib=src/

Run Single Example

You can modify the default settings for each generation task in src/config.py.

The program may automatically download the required pretrained models and datasets during the first run.

python src/run_single_example.py

Get Statistics

python src/get_statistics.py

Acknowledgment

In the text generation and image completion tasks, we directly employ the pre-trained models provided by Hugging Face.

In the text-to-speech (TTS) task, we utilize publicly available pre-trained models from bshall/Tacotron and bshall/UniversalVocoding. We have incorporated them into our code repository (src/tacotron/ and src/univoc/) and made some adaptations as needed.

  • Add src/tacotron/TTS_cleaner.py, which borrows from Coqui.ai TTS.
  • Add the encode_speech(), decode_speech(), and random_sample_speech() functions in src/univoc/model.py to facilitate Discop’s message embedding and extraction, as well as random sampling.

Citation

If you find this work useful, please consider citing:

@inproceedings{dingDiscopProvablySecure2023,
  title      = {Discop: Provably Secure Steganography in Practice Based on ``Distribution Copies''},
  shorttitle = {Discop},
  booktitle  = {2023 {IEEE} Symposium on Security and Privacy ({SP})},
  author     = {Ding, Jinyang and Chen, Kejiang and Wang, Yaofei and Zhao, Na and Zhang, Weiming and Yu, Nenghai},
  year       = {2023},
  month      = may,
  pages      = {2238--2255},
  publisher  = {{IEEE}},
  doi        = {10.1109/SP46215.2023.10179287},
  url        = {https://ieeexplore.ieee.org/document/10179287},
  isbn       = {978-1-66549-336-9},
  langid     = {english}
}

Further Reading

comydream/provably-secure-steganography: Provably Secure Steganography

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.