Re: Steganography

From: Douglas W. Jones <jones_at_cs_dot_uiowa_dot_edu>
Date: Sun Jun 06 2004 - 10:30:02 CDT

On Jun 4, 2004, at 2:49 PM, David Mertz wrote:

> Another sneaky thing to do is to not use internal spaces, but trailing
> spaces at the end of lines. You can't see those in a printout, and
> most text viewers don't display them either. (good text editors might
> have the option of displaying spaces, but how many of you turn that on
> anyway?)

If you set your tab stops every 8 spaces (the Unix default and very
common in C and C++ programming as a result), you can follow each
tab in the string of tabs starting at the beginning of a line with
from 0 to 7 blanks, so you get to encode 3 bits in each leading tab
on the line. Do the same at end of line on any line with its last
printing character before column 72 (so you avoid forcing any lines
over 80 characters, to be conservative) and you can stuff another
three bits there. In programming languages that have "C-like
formatting", this lets you stuff a fairly good number of bits into
each line, and few people will notice.

My favorite use of this is for the stegonagraphic encoding of
version numbers and document signatures into source programs. It
doesn't interfere with the compiler, yet it's easy to run a tool
over the program to verify that the code hasn't been tampered with
unless by someone who knows what you've done and knows the private
key you used to create your document signature.

                        Doug Jones
                        jones@cs.uiowa.edu
==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================
Received on Wed Jun 30 23:17:09 2004

This archive was generated by hypermail 2.1.8 : Wed Jun 30 2004 - 23:17:29 CDT