GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  ACME::STEGANOGRAPHY::IMAGE::PNG (3)

.ds Aq ’

NAME

Acme::Steganography::Image::Png - hide data (badly) in Png images

CONTENTS

SYNOPSIS



  use Acme::Steganography::Image::Png;

  # Write your data out as RGB PNGs hidden in the image "Camouflage.jpg"
  my $writer = Acme::Steganography::Image::Png::RGB::556FS->new();
  $writer->data(\$data);
  my @filenames = $writer->write_images("Camouflage.jpg");
  # Returns a list of the filenames it wrote to

  # Then read them back.
  my $reread =
     Acme::Steganography::Image::Png::RGB::556->read_files(@files);



DESCRIPTION

Acme::Steganography::Image::Png is extremely ineffective at hiding your secrets inside Png images.

There are 4 implementations
Acme::Steganography::Image::Png::FlashingNeonSignGrey Blatantly stuffs your data into greyscale PNG files with absolutely no attempt to hide it.
Acme::Steganography::Image::Png::RGB::556 Stuffs your data into a sample image, using the low order bits of each colour. 2 bytes of your data are stored in each pixel, 5 bits in Red and Green, 6 in Blue. It produces a rather grainy image.
Acme::Steganography::Image::Png::RGB::323 Also stuffs your data into a sample image, using the low order bits of each colour. Only 1 byte of your data is stored in each pixel, 3 bits in Red and Blue, 2 in Green. To the untrained eye the image looks good. But the fact that it’s PNG will make anyone suspicious about the contents.
Acme::Steganography::Image::Png::RGB::556FS Stuffs your data into a sample image, using the low order bits of each colour. 2 bytes of your data are stored in each pixel, 5 bits in Red and Green, 6 in Blue. Changing the value of pixels to store data is adding error to the image, in this case rather a lot of error. To attempt to conceal some of the graininess Floyd-Steinberg dithering is used to spread the errors around. It’s not perfect, but effects are quite interesting, producing a reasonably nice dithered image.
Write your data out by calling write_images

Read your data back in by calling read_files

You don’t have to return the filenames in the correct order.

BUGS

Virtually no documentation. There’s the source code...

Not very many tests.

Not robust against missing files when re-reading

If you want real steganography, you’re in the wrong place.

Doesn’t really do enough daft stuff yet to live up to being a proper Acme module. There are plans.

AUTHOR

Nicholas Clark, <nick@ccl4.org>, based on code written by JCHIN after a conversation we had.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PNG (3) 2006-10-01

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.