Hermetic Stego
Hiding a Data File
  1. Specify data file
  2. Enter stego key
  3. Specify image files in which to hide the data
  4. Specify folder to receive stego images
  5. Hide the data


After selecting the option to hide a data file ...

... you have to do three things:

  1. Locate the data file which is to be hidden (here we use the example of a text file, lunecl.txt, of size 1.132 Mb, although the file to be hidden need not be a text file, it can be of any type).
  2. Get one or more BMP image files and place them in a folder. Hermetic Stego will use as many of them as it needs to hide the data file.
  3. Decide on an output folder (containing no BMP files) which will hold the stego files produced.

Not all BMP files are suitable for use by this program. Only 8-bit grayscale and 24-bit color BMP files may be used. The program, of course, detects whether an input image file is suitable.

At startup one or two of the buttons may be disabled, and are enabled only when all information required for the operation has been obtained.


a.  Specify the data file

First click on File with data to be hidden and specify the file in the usual way.


b.  Enter the stego key

A data file can be hidden with or without the use of a stego key. Clicking on Specify key brings up a window which allows you to enter a stego key:

stego key

The stego key is any string of typeable characters from 16 to 64 characters in length. Spaces are ignored and no distinction is made between upper and lower case.

The checksum is an error-avoidance device. If you enter a particular stego key often then you will become familiar with the checksum for that key, and if you make a typing error it will be revealed as a difference in the checksum value, allowing you to correct your error.

For full security a stego key should be specified. If a stego key is not used then the program supplies one (it is not always the same). For further information see Using the default stego key. Here and in the next section we'll assume that a user-selected stego key is used.


c.  Specify the image files in which to hide the data

Before hiding the data file you must assemble one or more BMP image files to be available for hiding the data. These are placed in a particular folder (the 'input images folder'). A second folder (the 'stego images folder') must then be available to hold the stego image files — these are the original BMP image files, or rather, copies of them, with the data hidden within them.

Click on Select input images folder to specify the folder containing the BMP images to use for hiding the data file.

Hermetic Stego will, by default, use the images in the input folder in order of decreasing size (omitting any which it finds unsuitable), and using as many as it needs to hide the data file. But if you wish it to begin with a certain image then you can select a 'first' input image. First check the Select first input image box; this enables the corresponding button.

In this example a small BMP file, check.bmp (2,406 bytes), has been selected as the first image file. The other eight files range in size from 97,254 bytes to 827,454 bytes, and the sum of the sizes of all nine files is 4,687,136 bytes.

It is not possible to say exactly how many bytes of image files are required to hide a given data file because (i) sections of the data file are compressed (if possible) before being hidden in the image files and (ii) not all bytes in the image files are used to store bits from the data file (the bytes in the image files used for this purpose are selected randomly). But if we assume 50% compression and a byte-usage of 80% (i.e., on average four image file bytes out of five are used to store bits of the data) then the sum of the image file sizes must be about five times the size of the data file.

If you List the BMP files in a folder you will be informed of the sum of their file sizes.


d.  Specify the folder to receive the stego images

As stated above, Hermetic Stego does not insert the data into the original BMP files but rather makes copies of those files with (parts of) the data inserted into them. A folder must be specified which is to hold these 'stego' images, and this is called the 'stego images folder'. This folder is specified in the same way as the input images folder. The stego images folder must not contain any BMP files at the start of the operation.


e.  Hide the data

The Hide the data button is now active. Click on this to perform the operation (which typically takes just a few seconds).

If there are not enough input image files to hide the data file, or some other error occurs, then a message box will appear with an error message. Otherwise success is reported and a list is given of the files in which the data was hidden.

Operation: Hide data
Data file: C:\_hst_test\input_images\lunecl.txt
Data file size: 1,186,737 bytes
Input images folder:  C:\_hst_test\input_images\
Stego images folder: C:\_hst_test\stego_images\
The data was successfully hidden in the following 9 images:
  check.bmp (2,406 bytes)
  palmen.bmp (827,454 bytes)
  dearsailors.bmp (807,506 bytes)
  threads.bmp (787,510 bytes)
  dog.bmp (589,878 bytes)
  puppy.bmp (589,878 bytes)
  sunset.bmp (589,878 bytes)
  view.bmp (197,686 bytes)
  bindu_sagar.bmp (197,686 bytes)

The program will not attempt to use any images in the input images folder which are not suitable (e.g., are not either 8-bit grayscale image or 24-bit color). If it finds unsuitable images then it will ask you if you wish to list them. You can then leave them, or delete them manually.

If, however, you have checked the Delete unsuitable images checkbox and the program finds one or more unsuitable images then you will be asked not only if you wish to list them, but also if you wish to delete them (just to avoid cluttering up the input images folder with unsuitable images).

If the stego images are examined in a graphics file viewer they will appear to be ordinary image files.

The stego image files should not be renamed, unless their names can be restored.

After hiding the data file it is advisable (if maximum security is required) to delete (or purge, using Data Destroyer) the input image files (unless you wish to re-use them). If both the stego images and the original images fell into the wrong hands then a comparison of the two sets would provide information about which bytes in the stego images hold bits from the data file. This is not good, but also not fatal, since the data is encrypted before being hidden.

Hermetic Stego Main Page Hermetic Systems Home Page