[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Announcing Stego 1.0a2 - Steganography for the Mac



Announcing Stego 1.0a2
The First Steganography Tool For The Macintosh
by Romana Machado of Paradigm Shift Research
11/21/93

What is steganography?

Steganography is a method by which a message can be 
disguised by making it appear to be something else. It derives 
from two Greek roots. "Steg-" means "roof", the same root used 
in "stegosaur", called a "roof lizard" because of the large bony 
plates that decorate its back, and "-graphy" means writing. 
"Steganography" means "roofed", or covert writing.

What is Stego?

Stego is a tool that enables you to embed data in, and retrieve 
data from, Macintosh PICT format files, without changing the 
appearance of the PICT file.  Though its effect is visually 
undetectable, do not expect cryptographic security from Stego.  
Be aware that anyone with a copy of Stego can retrieve your 
data from your PICT file.  Stego  can  be used as an "envelope" 
to hide a _previously encrypted_ data file in a PICT file, 
making it much less likely to be detected.

How does Stego work?

Stego works by slightly altering pixel values.  Every computer 
graphics image is made up of an array of tiny dots of color, 
called pixels.  The color of each pixel is determined by its pixel 
value.  The pixel value is a number.  In a computer, all 
numbers, and all data are expressed by sequences of bits, or 
ones and zeroes.  For example, in an 8 bit computer graphics 
image, each pixel's color is determined by a sequence of 8 bits.  
The first bit in the sequence is called the "most significant bit", 
because it affects the pixel value the most, and the last bit in the 
sequence is called the "least significant bit", because it affects 
the pixel value the least.  Stego hides data by reading your data 
file one bit at a time, and copying each bit to the least 
significant bit of each pixel value as it scans across the image. 

Stego Tips

Stego can hide data in 8, 16, and 32 bit Macintosh PICT files.  
Stego can hide data from the data fork of Macintosh files only.  
If you need to steg something that has resources, use a utility 
like BinHex, or an encryption  or compression utility, to 
convert it to a binary data file first.

Stego Commands

Open... will only display PICT files.  When you select a file, 
Stego displays it with an info window across the top that tells 
you how much data can be stegged into the file.

Steg... becomes enabled when a PICT file is open.  It allows you 
to choose any type of file to steg, and informs you if the file has 
resources, or if it will not fit in the PICT file.

Unsteg...  also becomes enabled when a PICT file is open.  It 
asks you to specify an output file, and unstegs the data in the 
least significant bits of the PICT file.  It will produce an output 
file even if nothing's been previously stegged into the file.

Change File Info...  This function allows you to change the file 
type and creator of any file, and is enabled when no PICT file is 
currently open.  You may need to change the file type and 
creator of your data file back to what they were before your file 
was stegged, because Stego does not save file type and creator.  
The default output file of Stego is a TeachText file, with a file 
type of 'TEXT' and a file creator of 'ttxt', so that if you double-
click on a Stego output file, TeachText will launch and display 
it.  If you're in doubt whether you need this function, you can 
experiment by using the Change File Info... command to look 
at the file type and creator of your data file before you steg 
your data file, then unstegging to an output file,  closing the 
PICT file, and using the Change File Info... command to set the 
file type and creator back to what they were originally.

Good News

I plan to release the code for Stego, but it's not fully groomed 
yet.  In the mean time,it is available on request.  Stego may be 
expanded to handle other image formats, and other digital 
media: audio, video, etc. 

Output file type and creator defaults will be configurable in the 
next release. The next release will be able to steg and unsteg 
PICT resources in Macintosh files. I'd like to hear your 
suggestions for further development of Stego.

I have heard that new versions of PGP are being developed 
that can produce cyphertext that does not have the telltale 
headers and footers attached to the cyphertext, which would 
make cyphertext less detectable when  stegged into a carrier.  
Meanwhile, other encryption methods exist that can produce 
cyphertext that appears to be nothing more than a collection of 
random numbers. This kind of  file is ideal for stegging.

Technical Notes

Stego rasterizes the image, then stegs data into the least 
significant bit (or LSB) of each of the RGB color values. (In the 
case of indexed color, Stego stegs data into the LSB of the index 
values.) The file length of the data file to be stegged is hidden 
in the LSB's of the first 32 steggable bytes. To disguise this 
value somewhat, I take the second to least significant bits of the 
second 32 steggable bytes and XOR these with the 32 bit file 
length, and then steg the XOR'd file length into the LSB's of the 
first 32 steggable bytes.  

Where Can I Get Stego?
Stego is available via anonymous ftp from sumex-
aim.stanford.edu. A text file containing abstracts of all 
available files is available in the info-mac/help/ directory. 
Stego is also available via anonymous ftp from 
soda.berkeley.edu.

Don't Forget!

Stego is shareware. You can help to support further 
development by sending $15.00 or any stegosaur to:

Romana Machado
21090 Grenola Drive
Cupertino, CA 95014


Bugs? Questions?
EMail: [email protected]