textfiles/programming/CRYPTOGRAPHY/hideseek.txt

151 lines
8.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Hide and Seek v 4.1
data hiding/seeking using GIF files (GIF format copyright Compuserve).
these programs take data, usually text, including encrypted text, and hide
it in a gif file. just type hide <infile.ext> <giffile[.gif]> [key] and
viol ! your data is hidden away where it will be hard to detect.
unfortunately the nature of the method doesn't allow for _perfect_ secrecy,
and you can kinda tell the gif file has been changed a bit, and if you know
what to look for, you could probably spot a GIF with hidden data in it,
depending on how much data. i recommend black and white photo gifs for
maximum security---it'll just look a tiny bit "noisy", and you can't really
tell the difference at all with the naked eye, even with long files. be aware
that the GIF file must be 256-color (or shades of gray) for hide and seek to
work on it.....otherwise the picture degredation would be so severe as to be
laughable.
seek works by typing seek <giffile[.gif]> <outfile.ext> [key].
it takes the giffile, and produces a file called <outfile.ext>.
[key] is an optional key of 8 characters or less that "locks" the data into
the gif file by encrypting the header information with the IDEA cipher.
since seek won't be able to read the header intelligently without the key,
the data becomes fairly hard to extract. don't forget your key, though. if
you use no key the program still works fine, using a default key. note that
this "lock" does not encrypt the DATA at all, only the header info. if you
want to hide encrypted data, which is a good idea (see below), use a seperate
encryption program (idea.exe, distributed with hideseek, is a fine choice.
again, see below). note that the security offered by this "locking" mechanism
is good but not great--using a key made up of 8-or-less ascii characters
significantly weakens any encryption scheme. it will serve for most normal
purposes, though. plus, as noted above, if your data is that sensitive,
it should be independently encrypted by a more secure method anyway.
hide produces a file called outfile.gif, so the original gif is left
untouched. seek produces a file called whatever you tell it to, via the
name you choose for <outfile.ext>, so be careful, because seek will overwrite
any file of the same name as <outfile.ext> without checking. it just doesn't
give a durn. programs today, sheesh.......(hide is better behaved (the older
child, you understand) and will not overwrite outfile.gif unless you tell it
its okay).
::::NOTICE:::: the file to be hidden must be short. it can't be longer than
19K because each character takes 8 pixels to hide, and there are 320X480
pixels in the maximum VGA display mode, thus ((320X480)/8), which = 19200...
which gets rounded down in practice to an even 19000 for safe dispersion....
sorry. note also that since it uniformly uses mode 23 it may make your GIF
look kinda funny....but since it doesn't delete the original, no harm done.
the way it works is it uses the Least Significant Bit of each pixel to encode
characters, 8 pixels per character.....sneaky, huh? it uses dispersion to
spread the data (and thus the picture quality degredation) out a bit
throughout the GIF in a pseudo-random fashion....."noise" is still noticeable
for larger files, i'm afraid, but the smaller ones look really good...the
smaller the better. once again, greyscale is best by far....try it and see
the difference for yourself. dispersion also helps "lock" the data in---
without it, anyone could reverse engineer SEEK and just extract all the data
there is and look at it to see if it makes sense. because the data is
dispersed, in a pseudo-random way, and the header info is encrypted, there's
no telling what's in a "locked" file. it would be quite a chore to sift
through all the possible <outfiles> looking for data that could be encrypted
anyway.
simple, easy, effective, and FREE!!!! distribute it all you want! please
don't change it, and please don't charge for it. thanx. hide-and-seek are
copyright colin maroney, 1994.
this version of hide-and-seek is backwards compatible with version 3.5 and
4.0---files hidden with 3.5 or 4.0 can be sought with 4.0 or 4.1
on very rare occasions seek will think a file is v 3.5 or v 4.0 when it is
really a garbage file or a file with a very unluckily encrypted header.
in these cases it will pull out garbage.
if you use seek with the wrong key or on a garbage file you will get an
error saying you may have the wrong version---this is because it cannot read
the correct version from a file with an encrypted header without the right
key, and the garbage file will only extremely rarely chance to have a valid
version in the right place. this error is the usual result of trying seek on
a garbage file or of using the wrong key.
----------------------------------------------------------------------------
version 3.5 has a small error in that i did not allocate enough memory to
hold the path. oops. and i thought i'd fixed that. this is only a problem
if your path is longer than 25 letters.(your "path" meaning not the PATH
variable in the environment, but rather the place you run hide or seek from.)
please distribute this version to anyone and anywhere there might be a 3.5
please distribute these files to anyplace at all, for that matter.
note that this version, 4.1, has improved dispersion considerably.
because of the pseudo-random nature of the dispersion, as the hiding
progresses it becomes possible to re-calculate the dispersion level, and
update it to a more effecient level. i have done this here.
============================================================================
----------------------------------------------------------------------------
test your program by doing the following.
first, to show off how good a b&w gif looks, type "seek ardalabw idea.zip".
this will extract idea.zip, a 14K zip file out of ardalabw.
idea is an encryption program. it'd be really really secure (relatively) to
hide an encrypted text file....two layers of security, you understand......
i've done this here. type "seek ardala out.txt" to get a hidden secret
message!!! (boy!). go ahead and try to read it. then use idea to decrypt it
by typing "idea out.txt dw key" (first you have to unzip idea.zip, of course)
now you should be able to read it. wow! better than a captain cosmos decoder
ring anyday, huh?
try hiding idea.zip in ardala.gif (the color one), by typing
"hide idea.zip ardala". see how shitty it looks? remember, kids, black and
white works best.
----------------------------------------------------------------------------
The IDEA(tm) conventional block cipher used by HIDESEEK and IDEA is
covered by a patent in Europe, held by ETH and a Swiss company called
Ascom-Tech AG. The patent number is PCT/CH91/00117. International
patents are pending. IDEA(tm) is a trademark of Ascom-Tech AG. There
is no license fee required for noncommercial use of IDEA.
You may not extract the IDEA cipher from HIDESEEK or IDEA.EXE and put it
in another commercial product without a license. Commercial users of
IDEA may obtain licensing details from Dieter Profos, Ascom Tech AG,
Solothurn Lab, Postfach 151, 4502 Solothurn, Switzerland, Tel +41 65
242885, Fax +41 65 235761.
HIDESEEK and IDEA are freeware and i am an amateur. they are tested as
well as i have been able to test them, are as safe as i can make them,
and i am confident that they are robust. NEVERTHELESS, you may only use
them at your own risk. i cannot and will not be responsible for lost
data.
=============================================================================
please distribute this stuff as you got it......thanx
source is included in this release. you asked for it, you got it. please see
source.doc in source.zip for relevant info.
the files in this release are:
hide.exe
seek.exe
ardala.gif <=--contains a secret message!
ardalabw.gif <=--contains idea.zip
hideseek.doc <=--this file
source.zip <=--contains source code.
============================================================================
i am shaggy@phantom.com if you want or need to contact me.
-----remember: when cryptography is illegal, only 9*7^Py.> *8D7awQs û×9Ikj;