Text watermarking and watermark recovery
sd-eng [-6] -i origfile newfile "Recipient" ["Comment"]
sd-eng [-6] -e origfile newfile
sd-eng [-6] -l
snowdrop is a stenographic text watermarking and watermark recovery system. It is composed of three programs:
sd-eng
Watermark normal English text.
sd-engf
Watermark fine quality English text, yielding higher quality output but encoding less information.
sd-c
Watermark C code.
The three programs operate similarly, with the same parameters and usage. The watermark is encoded in using a number of techniques, such as whitespace reformatting, typo insertation, word substitutions, punctuation changes, and for C code, logic reordering, variable name mangling, etc.
The watermark is a md5sum, which is retrievable from as little as 5 or 10 lines of the watermarked document. Even large changes to a medium sized document should not obscure the watermark, as it is stored redundantly in multiple independent channels.
The three usage modes are adding a watermark, checking for the presence of a watermark, and listing the contents of your database of watermarks. Note that to later check a watermark, you must retain a copy of the original, un-watermarked file.
-i
Inject a watermark into a file. You must pass it the original file, the filename to output the watermarked version to, information about who you intend the watermarked file for, and an optional comment.
-e
Extract a watermark from a file. Needs the original file and the new file that you suspect bears the watermark.
-l
Lists the contents of the watermark database. Each of the three programs will have a different list.
-6
Enable 64 bit watermarking. The default is a weak 32 bit watermark.
SD_SYNONYMS
This variable can be used to point snowdrop at a customized synonyms file.
~/.snowdrop/database
Database of watermarked files.
/usr/share/doc/snowdrop/README.gz
Explain snowdrop in more depth, its limitations, and how to write additional watermarking modules for other types of files.
Michal Zalewski <[email protected]>