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
Given a probability distribution to sample from, if we want to embed
To improve the embedding rate, we decompose the multi-variate distribution into multiple bi-variate distributions through a Huffman tree.
The embedding rate can reach about 0.95 of its theoretical limit.
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/
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
python src/get_statistics.py
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()
, andrandom_sample_speech()
functions insrc/univoc/model.py
to facilitate Discop’s message embedding and extraction, as well as random sampling.
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}
}
comydream/provably-secure-steganography: Provably Secure Steganography