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

FIDO, steganography, PGP



-----BEGIN PGP SIGNED MESSAGE-----

I've had fun writing this!

This is a PERL script that takes as input a PGP encrypted, ascii
output file.  It skips the headers and stuff, and converts every
character in the body into a geographic name.  I don't think I'll have
a chance to write the reverse script tonight, but it will coming along
soon.

So maybe this can be used to mail other people lists of geographic
names rather than encrypted messages since I've heard some networks
frown upon encrypted mail :-)

Generate your PGP file, and invoke the script like this:

pgpsteg < encrypted_file_ascii_output > steg.out

and steg.out will contain a list of places derived from your input
file.

- ----------8< cut here >8----------
#!/usr/local/bin/perl

#simple minded steganography for pgp encrypted messages
#Karl L. Barrus <[email protected]>

%conversion = (
  '0', 'canada', '1', 'united states', '2', 'mexico',
  '3', 'pacific ocean', '4', 'atlantic ocean', '5', 'arctic ocean',
  '6', 'gulf of mexico', '7', 'north america', '8', 'allegheny mountains',
  '9', 'rocky mountains',
  'a', 'alabama',  'b', 'alaska', 'c', 'arizona', 
  'd', 'new mexico', 'e', 'arkansas', 'f', 'california',
  'g', 'colorado', 'h', 'connecticut', 'i', 'rhode island',
  'j', 'delaware', 'k', 'maryland', 'l', 'florida',
  'm', 'georgia', 'n', 'hawaii', 'o', 'idaho',
  'p', 'illinois', 'q', 'indiana', 'r', 'iowa',
  's', 'kansas', 't', 'kentucky', 'u', 'louisiana',
  'v', 'maine', 'w', 'massachusetts', 'x', 'michigan',
  'y', 'minnesota', 'z', 'mississippi', 'A', 'missouri',
  'B', 'montana', 'C', 'nebraska', 'D', 'nevada',
  'E', 'utah', 'F', 'new hampshire', 'G', 'vermont',
  'H', 'new jersey', 'I', 'new york', 'J', 'north carolina',
  'K', 'north dakota', 'L', 'south dakota', 'M', 'ohio',
  'N', 'oklahoma', 'O', 'oregon', 'P', 'pennsylvania', 
  'Q', 'south carolina', 'R', 'tennessee', 'S', 'texas',
  'T', 'virginia', 'U', 'washington', 'V', 'west virginia',
  'W', 'wisconsin', 'X', 'wyoming', 'Y', 'washington d.c.',
  'Z', 'bermuda', '+', 'guam', '/', 'puerto rico',
  '=', 'virgin islands',
);

while (<>) {
  last if /^-----BEGIN PGP/;
}

while (<>) {
  last if /^$/;
}

while (<>) {
  last if /^-----END PGP/;

  $line = $_;
  chop $line;
  @pgpchars = split(//,$line);

  while (@pgpchars) {
    $convert = shift @pgpchars;
    print $conversion{$convert}, "\n";
  }
  print "\n";
}

- ----------8< cut here >8----------

-----BEGIN PGP SIGNATURE-----
Version: 2.3a

iQCVAgUBLKvBOYOA7OpLWtYzAQGsAwP/Y5xZx5nZdKYM785zQSmPAU60UqqqU7X+
bAZ6+6f0foC2bo7AfClSTcAcCmZkCyPAL10toB6Qs0Qzkoe6eZKSlRVJgy9WzDdB
oZhJV/jlvYxxlgpBJXz95sJ7ADxmtIBw6jIbfRYPjX1zva7GenTeBzXcMTabJUZJ
SPG853ZqWeA=
=0MEu
-----END PGP SIGNATURE-----