This webpage was created by DDE Lab at Binghamton University, NY, in December 2012 with the intention of providing the steganography research community with Matlab, MEX and C++ implementations of steganographic algorithms for spatial domain, JPEG and Side Informed JPEG. MEX implementation usually runs faster.
DDE Lab keeps the copyright, however, the codes can be freely used for research and non-profit purposes. The full copyright notice is included in the header of all sourcecodes.
For suggestions and feedback, please use the contact information below.
Thank you.
Name | Matlab / MEX | C++ Win | C++ Linux | Proposed |
---|---|---|---|---|
S-UNIWARD * | S-UNIWARD.m | S-UNIWARD.zip | S-UNIWARD.tar.gz | [1] |
WOW * | WOW.m | WOW.zip | WOW.tar.gz | [2] |
HUGO bounding dist. | HUGO_bounding.m | HUGO_bounding.zip | HUGO_bounding.tar.gz | [3] |
MG | MG.zip | - | - | [7] |
Pentary MVG | MVG.zip | - | - | [8] |
MiPOD | MiPOD.zip | - | - | [10] |
Synch | Synch.zip | - | - | [9] |
Name | Matlab / MEX | C++ Win | C++ Linux | Proposed | ||
---|---|---|---|---|---|---|
Note: Some JPEG domain steganographic algorithms implemented in Matlab require |
||||||
J-UNIWARD * | J-UNIWARD.m | J-UNIWARD.zip | J-UNIWARD.tar.gz | [1] | ||
nsF5 | nsF5_matlab.m | - | - | [4] Details |
ORIGINAL F5 ALGORITHM AS PROPOSED IN [6]
Original Java implementation of the JPEG-domain algorithm F5 is available here: f5_original.zip.
Any questions regarding the code should be directed to the author: Andreas Westfeld (andreas [dot] westfeld [at] htw-dresden [dot] de), http://www2.htw-dresden.de/~westfeld/.
Name | Matlab / MEX | C++ Win | C++ Linux | Proposed | ||
---|---|---|---|---|---|---|
Note: Some JPEG domain steganographic algorithms implemented in Matlab require |
||||||
SI-UNIWARD * | SI-UNIWARD.m | SI-UNIWARD.zip | SI-UNIWARD.tar.gz | [1] | ||
Perturbed Quantization | PQ_matlab.m | - | - | [5] Details | ||
SI with Additive Distortion | SI_additive.zip | - | - | [11] | ||
SI-MiPOD | si_mipod.zip | - | - | [12] | ||
J2-UNIWARD | J2_UNIWARD.m | - | - | [13] | ||
NS in JPEG | NS_JPEG.zip | - | - | [14] | ||
Clustered-SI (nmSI) | nmSI_SUNI.m | - | - | [15] | ||
PQ-UNIWARD | PQ-UNIWARD_matlab.zip | - | - | [16] |
∗ -  | MEX and C++ implementations may contain memory leak. To avoid the problem, use 'clear mex' Matlab command after every MEX function call. If using command line, embed in smaller image batches. |
[1] V. Holub, J. Fridrich, T. Denemark, Universal Distortion Function for Steganography in an Arbitrary Domain, EURASIP Journal on Information Security, (Section:SI: Revised Selected Papers of ACM IH and MMS 2013), 2014(1). [pdf]
[2] V. Holub, J. Fridrich, Designing Steganographic Distortion Using Directional Filters, IEEE Workshop on Information Forensic and Security, Tenerife, Canary Islands, December 2–5, 2012. [pdf] [poster]
[3] T. Filler, J. Fridrich, Gibbs Construction in Steganography, IEEE Transactions on Information Forensics and Security, December 2010. [pdf]
[4] J. Fridrich, T. Pevný, and J. Kodovský, Statistically undetectable JPEG steganography: Dead ends, challenges, and opportunities. In J. Dittmann and J. Fridrich, editors, Proceedings of the 9th ACM Multimedia & Security Workshop, pages 3–14, Dallas, TX, September 20–21, 2007. [pdf]
[5] J. Fridrich, M. Goljan, and D. Soukal, Perturbed quantization steganography. ACM Multimedia System Journal, 11(2):98–107, 2005. [pdf]
[6] A. Westfeld, High capacity despite better steganalysis (F5 – a steganographic algorithm). In I. S. Moskowitz, editor, Information Hiding, 4th International Workshop, volume 2137 of Lecture Notes in Computer Science, pages 289–302, Pittsburgh, PA, April 25–27, 2001. Springer-Verlag, New York.
[7] V. Sedighi, J. Fridrich and R. Cogranne, Content-Adaptive Pentary Steganography Using the Multivariate Generalized Gaussian Cover Model. Proc. SPIE, Electronic Imaging, Media Watermarking, Security, and Forensics 2015, vol. 9409, San Francisco, CA, February 8–12, 2015. [pdf]
[8] J. Fridrich and J. Kodovsky, Multivariate Gaussian model for designing additive distortion for steganography. Proc. IEEE, ICASSP, Vancouver, Canada, May 26-31, 2013. [pdf]
[9] T. Denemark and J. Fridrich, Improving Steganographic Security by Synchronizing the Selection Channel. , 3rd IH&MMSec. Workshop, Portland, Oregon, June 17-19, 2015.
[10] V. Sedighi, R. Cogranne and J. Fridrich, Content-Adaptive Steganography by Minimizing Statistical Detectability. , IEEE Transactions on Information Forensics and Security.
[11] T. Denemark, J. Fridrich, Side-Informed Steganography with Additive Distortion. , IEEE Workshop on Information Forensic and Security, Rome, IT, November 16–19, 2015.
[12] T. Denemark, J. Fridrich, Model Based Steganography with Precover. , Proc. IS&T, Electronic Imaging, Media Watermarking, Security, and Forensics 2017, San Francisco, CA, January 29–February 2, 2017.
[13] T. Denemark, J. Fridrich, Steganography with Multiple JPEG Images of the Same Scene.,IEEE TIFS, vol. 12, no. 10, pp. 2308-2319, October 2017.
[14] T. Denemark, P. Bas, J. Fridrich, Natural Steganography in JPEG Compressed Images. , Proc. IS&T, Electronic Imaging, Media Watermarking, Security, and Forensics 2018, Burlingame, CA, 2018.
[15] Mehdi Boroumand and Jessica Fridrich, Synchronizing Embedding Changes in Side-Informed Steganography. , IS&T, Electronic Imaging, Media Watermarking, Security, and Forensics, Burlingame, CA, 2020.
[16] Jan Butora and Jessica Fridrich, Revisiting Perturbed Quantization, 9th IH&MMSec. Workshop, Brussels, Belgium, June 22-25, 2021.
[pdf]
Last update: November 2015