You are on page 1of 10

An Exploration Into Basic

Steganography Over
TCP/IP
By Chris Gore
Intro to Steganography
Steganography is the art and science
of concealing communication. The
word “steganography” roughly
translates to “secret writing” in Greek
and has been used in various forms
for over 2000 years. Steganography
usually involves augmenting an
existing method of communication to
include a hidden layer of information
that is only apparent to those who are
History of Steganography
The ancient Greeks were some of the first people to
use steganography. There are records of a technique
in which they would melt the wax off of their wax
tables to carve a message in the wood underneath.
After that, they would reapply new wax to give the
appearance of a fresh tablet that could be transported
without concern for the their privacy. Thus, they
could have private conversations using a modified
version of an existing communications medium.
Hosts on the Underground Railroad would knit quilts
with symbols representing simple instructions and
guidelines to aid the runaway slaves. They would
then hang them in their windows to let the slaves
know about dangers ahead, safe houses, and hidden
My Algorithm
My algorithm distributes
the pieces of the smaller
file over the larger file
using samples from this
algorithm as the offset:
offset = multiplier /2 + multiplier* | sin(counter) |

Setting higher values for


the multiplier yields
pieces that are spread
farther apart. Lower
values for sampler
increment which takes
samples of counter give a
more sinusoidal
distribution, while higher
values cause the pieces
Demonstration
I have an instance of the server running
under Linux in a virtual machine (with IP
address 172.16.137.128). It’s run using
the command:

java SimStegServer
/home/cdgore/Desktop/SimStegFiles/

The argument passed to the program


specifies where the incoming files are to
be saved.
Demonstration
I ran the client under Mac OSX using the
command:

java SimStegClient 172.16.137.128 475


0.785
/Users/cdgore/Documents/School/CS
5550/Project/tokyo.bmp
/Users/cdgore/Documents/School/CS
5550/Project/secret.jpg

The arguments passed to the program


specify a server IP of 172.16.137.128
with a multiplier value of 475 and a
sampler increment value of 0.785, which
is approximately π/4 as well as files 1
and 2.
Demonstration

File 1
Demonstration

File 2
Demonstration

Mac Client (finished) Linux Server (finished)


Demonstration

The resulting output on the server side

You might also like