- Notifications
You must be signed in to change notification settings - Fork3
comydream/Discop
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Discop: Provably Secure Steganography in Practice Based on “Distribution Copies”
Jinyang Ding,Kejiang Chen,Yaofei Wang, Na Zhao,Weiming Zhang, andNenghai Yu
InIEEE 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 usingAnaconda and execute the following commands.
conda create -n discop python=3.8.12conda 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 dependenciespython -m pip install -r requirements.txt# Build the Cython filespython src/setup.py build_ext --build-lib=src/
You can modify the default settings for each generation task insrc/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 byHugging Face.
In the text-to-speech (TTS) task, we utilize publicly available pre-trained models frombshall/Tacotron andbshall/UniversalVocoding.We have incorporated them into our code repository (src/tacotron/
andsrc/univoc/
) and made some adaptations as needed.
- Add
src/tacotron/TTS_cleaner.py
, which borrows fromCoqui.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
About
Provably Secure Steganography in Practice Based on “Distribution Copies”