Implementation for technique described in this paper: reversible data hiding
On windows:
cmake -G "Visual Studio 16 2019" -S . -B build -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DBOOST_ROOT=<path to boost root> -DBOOST_LIBRARYDIR=<boost library dir>
cmake --build build --config Release
-
Example encryption:
rdh.exe --mode encrypt --image-path ./lena_gray.bmp --result-path ./images/lena_gray-enc.bmp --enc-key-file ./example_encrypt_key.bin
-
Example decryption:
rdh.exe --mode decrypt --image-path ./lena_gray-enc.bmp --result-path ./images/lena_gray-dec.bmp --enc-key-file ./example_encrypt_key.bin
-
Example data embedding:
rdh.exe --mode embed --image-path ./lena_gray-enc.bmp --result-path ./images/lena_gray-enc-embed.bmp --embed-key-file ./example_embed_key.bin --data-file ./example_data_to_embed.bin
-
Example data extraction:
./rdh.exe --mode extract --image-path ./marked-encrypted.bmp --result-path-data ./extracted.bin --embed-key FFDDEE
-
Example image recovery:
rdh.exe --mode extract --image-path ./marked-encrypted.bmp --result-path ./extracted.bmp --encryption-key AABBCC
-
Example data extraction and original image recovery:
rdh.exe --mode extract --image-path ./marked-encrypted.bmp --result-path ./extracted.bmp --result-path-data ./extracted.bin --encryption-key AABBCC --embed-key FFDDEE
-
Example SSIM calculation:
rdh.exe --mode ssim --image-path ./recovered_image_man.bmp --second-image ./man_original.bmp
-
Example PSNR calculation:
rdh.exe --mode psnr --image-path ./recovered_image_man.bmp --second-image ./man_original.bmp
- BOOST - program_options, dynamic_bitset, sha1
- Cimg - BMP opening/saving/showing
- eigen - math operations
- gtest - google testing library
- google benchmark - benchmarking library
@article{article,
author = {Qin, Chuan and He, Zhihong and Luo, Xiangyang and Dong, Jing},
year = {2018},
month = {07},
pages = {},
title = {Reversible Data Hiding in Encrypted Image with Separable Capability and High Embedding Capacity},
volume = {465},
journal = {Information Sciences},
doi = {10.1016/j.ins.2018.07.021}
}