README for sdwcq-attack Version 0.1; March 24, 2009 Python code implementing and testing the attack on the 'Watermarking Method Based on Significant Difference of Wavelet Coefficient Quantization' described in the paper Peter Meerwald, Christian Koidl, Andreas Uhl, "Attack on 'Watermarking Method Based on Significant Difference of Wavelet Coefficient Quantization'", Transaction on Multimedia, 11:5, pp. 1037-1041, Aug. 2009. See http://wavelab.at/sources. Overview: The source code can be split in three parts: part 1: attack on the original SDWCQ watermarking method part 2: attack on the original SDWCQ watermarking method (with watermark symbol ratio 1:3) part 3: attack on the modified SDWCQ watermarking method Each part has a test script, a program performing the embedding, attack and the detection. The test script calls the embedding, attack and detection tasks and computes average results over all images. The 515x512 PGM grayscale images Lena, Goldhill, Peppers, Man, Airport, Tank, Truck, Eelaine, Boat, Bbarbara have to be obtained from http://sipi.usc.edu/database/. Part 1: attack on the original SDWCQ watermarking method embed.py attack.py detect.py test.py Part 2: attack on the original SDWCQ watermarking method (with watermark symbol ratio 1:3) embed_ratio_1_3.py attack_ratio_1_3.py detect_ratio_1_3.py test_ratio_1_3.py Part 3: attack on the modified SDWCQ watermarking method embed_modified.py attack_modified.py detect_modified.py test_modified.py ssim.py The test_modified.py script has a switch to enable computation of the structural similarity index (SSIM). There is a stand-alone program to compute the probability of false-positive detection according to the paper: pfp.py Dependencies: The following programs and libraries need to be installed and in the execution path (shell or Python); the Debian/Ubuntu package names are given in brackets: * Python 2.5.2, http://www.python.org [python2.5] * Python Image Library (PIL) 1.1.6, http://www.pythonware.com/products/pil/ [python-imaging] * numpy 1.0.4, http://numpy.org [python-numpy] * scipy 0.6.0, http://scipy.org [python-scipy] * PyWavelets, http://wavelets.scipy.org [python-pywt] * Netpbm 10.0, http://netpbm.sourceforge.net [netpbm] The code has been tested under Debian and Ubuntu Linux. Disclaimer: This material is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. No author or distributor accepts responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all. The material is prepared strictly for research use only, commercial use is prohibited. Do not distribute the material without written permission. If you publish any work based on this code, please cite the original paper. Contact: Please address any technical questions to Peter Meerwald (pmeerw@cosy.sbg.ac.at) or write to Andreas Uhl Department of Computer Sciences Universität Salzburg Jakob-Haringer-Str. 2 A-5020 Salzburg AUSTRIA Telephone: ++43 (0)662 8044 6303 Fax: ++43 (0)662 8044 172 Email: uhl@cosy.sbg.ac.at