Steganography with 96Crypt



    Steganography is the science of hiding the existence of a message, as opposed to hiding
    the meaning or content of the message (which is cryptography). Cryptanalysis, cryptography
    and steganography are the fundamental branches of cryptology. Steganography will often
    hide a secret message within an innocent message (container), so that even the existence
    of the secret message is indiscernible. Historical methods could include minute variations on
    individual characters, tiny pin pricks on those characters, a cut-out overlay that reveals
    the message alone, and so on. Today's most popular methodology is to hide the message
    within a graphic image or eventually a digital sound.

    As 96Crypt has already an EnCryption engine including several block ciphers, cipher modes
    with HASH-HMAC functions, it was a logical extension to implement a steganographic algorithm
    that starts by EnCrypting the message before hiding it within an "innocent container".

    Even when in Steganographic mode, 96Crypt continues to make full usage of all its available
    resources: block ciphers (3DES, Blowfish, MARS, RijnDael-AES, SERPENT or Twofish), cipher
    modes with a MAC mechanism (CTR or CBC) and the HASH-HMAC functions (HAVAL, MD5,
    RMD, SHA-1, SHA256, SHA384, SHA512 or TIGER
).
    The secret message confidentiality and integrity are fully preserved due to the usage of
    highly trusted Cryptographic algorithms and not by simply relying on a Steganographic layout.


    Data, files of just any type or any extension without exception, may be EnCrypted & Hidden,
    using 96Crypt, inside a graphic picture or a digital sound used as an "innocent container".
    Several graphic images format are supported by 96Crypt: ( jpg, bmp, tga, tif, ras ) and
    several digital sound format are supported as well: ( wav, au, snd, iff, svx, aif ).
    This is maybe more than any other available steganographic application could offer.

    Supported image/sound format SHOULD BE FREE of any compression mode in order to be used
    as a container to hide other files. However, the "jpg" is the ONLY supported compressed graphic
    image format, but the output picture containing the hidden file, will be rendered in bmp
    uncompressed format. (mainly due to copyrights issues when compressing in jpg format).
    Grpahic images cannot have less than 16-bit or 65536 color depth, and digital sounds cannot
    be encoded in less than 16-bit.

    Hiding a secret file inside the image/sound container, WILL NOT affect at all the size of the image
    or sound file, the only exception remains when using the jpg image format as a container. In this
    case, the output is rendered in bmp which is NOT compressed, resulting therefore in a larger file size.
    The quality of the image/sound may decrease if a large file is to be hidden. The most quality
    affected format is the audio wav.
    3 different algorithms are proposed depending on the rendered quality versus the available space
    of the file to hide.

    When a file is hidden inside a picture/sound container, this container is pemanently modified.
    Retrieving the hidden file from the container DOES NOT restore the container to its original status,
    instead, the hidden file is simply re-created from its segmented bytes embedded in the container,
    then saved on the disk. Because of this fact which is commun to any Steganography software
    available on the market, the picture or sound file used as a container are no longer authentic
    after being "injected" with hundreds of bytes received from the file-to-hide!

    Although this "byte injection" impact on the container's quality is very low and undetectable, it
    is always preferable to avoid altering files. For this reason, unlike other Steganography softawres,
    96Crypt DOES NOT overwrite the container with the rendered output. 96Crypt creates a
    new file with the same container name preceded by "New_". For instance a container sound
    file myMusic.wav will be named to New_myMusic.wav after hiding a file in it.
    When the picture/sound container is located on a read-only media like a CDROM/DVD, it cannot
    be overwritten anyways, therefore, it's a good practice to create a new separate container file
    and avoid to alter the original picture/sound container.


    The following steps describe the procedure for hiding / retrieving a file using the 96Crypt's
    Steganographic feature.

    • 1. Switching to Steganographic mode
          Check the 4th selection Steganography (EnCrypt & Hide A File In A Picture Or Sound) from
          the Process Select menu in order to enter the Steganograhy mode.

          



      When selecting the Steganography feature, the color of the interface window changes to indicate
      the activation of the Steganographic mode. However, the following steps:
        (step 2). Block Cipher selection,
        (step 3). Cipher mode selection,
        (step 4). HASH selection,
        (step 5). Password typing or file-password selection
      remain the same as in a normal EnCryption procedure.


    • 2. Select the Block Cipher algorithm
      A block cipher algorithm needs to be selected.
      This is done as detailed in the Cipher Select menu.

          




    • 3. Select the Cipher encryption mode
      The user may choose between 2 encryption modes (CTR or CBC). A MAC (message
      authentication code) is implemented with both modes to insure data integrity.
      The selection is done as detailed in the Cipher mode Select menu.

          




    • 4. Select the HASH function algorithm
      One of the HASH function algorithm needs also be selected.
      This is done as detailed in the HASH Select menu.

          


      Note that when opening 96Crypt, it will auto-position on the last Steganography/Cipher/Mode/HASH
      selections that were saved the last time 96Crypt was closed.

      The Previous 4 (Steganography, Cipher, Mode and HASH selection) steps can be simply skipped if the
      user keeps the same cipher, Mode and HASH algorithms as the last time 96Crypt was closed.



    • 5. Use a Strong Password
      Type a password in the corresponding field

          


      then re-confirm it for double verification. Make sure to remember it as IT IS IMPOSSIBLE to recover
      an EnCrypted file with a lost password.

          

      Typed password are case sensitive. They should contain letters and numbers of at least 7 characters.




      96Crypt provides an advanced feature that allows the user to select a file of his choice and use it
      as a password instead of typing the password. Here are some of the advantages:

      - The number of variables is much higher in a file-password compared to a typed password, when the
      file-password is HASHed, this will return a HASH value (key) with an extremely low collision probability.
      - A file-password could contain any of the 256 ACSII characters, while a typed password is much more limited.
      - A file-password may be represented in Unicode. A typed password cannot.
      - A file-password has the highest level of resistance to all known dictionary attacks.
      - A file-password is totally safe against "possible" key loggers installed on the PC.
      - Make sure to keep a copy of the file-password in a safe place and NOT to EnCrypt, compress or modify
      its content in any other way. For the security of your process, 96Crypt will turn the attribute of the
      selected file-password to read only so it cannot be quickly erased.

          

      You may store a personal file-password of your choice (larger than 7bytes, but smaller
      than 2.5Mb)
      on a separate USB key, then use this USB key every time you need to
      EnCrypt or DeCrypt any of your private Data. The selected file-password could be of
      any extension/type (jpg, bmp, mp3, exe, dll, txt, bin etc...) or any format (Binary, Hex, Unicode...).
                                                                                                                        


      96Crypt requires a file-password larger than 7bytes, but smaller than 2.5Mb.

          

      Whether typed or file-selected, the password will be processed with multiple HASH/SALT rounds
      to be transformed to a "key". The HASH function returns a fixed length "key" from a variable
      size user-provided secret password. The "key" will then be fed to the cipher after being properly
      length-adjusted to meet the cipher's requirements.





      While the previous 5 steps have defined all necessary primitives used for the EnCrytion process,
      the following steps, mostly deal with Steganography, they define:
        (step 6). The selection of the picture or sound file to be used as container.
        (step 7). The Steganographic algorithm fixing the size of the file-to-hide versus the container's size.
        (step 8). The file to be EnCrypted then Hidden inside the container.



    • 6. Select a Picture or Sound container file
      As soon as the password is entered or file-selected, a prompt window opens to allow the selection
      of the picture or sound file to be used as a container for hiding another file.
      The user can only select one container file at a time, no multiple-selection is allowed.

      96Crypt supports Eleven different picture/sound container format.
      Picture file containers can have the following extensions: ( jpg, bmp, tga, tif, ras ) and
      the supported digital sound containers are: ( wav, au, snd, iff, svx, aif ).
      Except for the jpg format, NONE of the supported format can be compressed. Also, pictures cannot
      have less than 16-bit or 65536 color depth, and digital sounds cannot be encoded in less than 16-bit.
      Although the jpg format is the ONLY supported compressed format as a container, but the output
      picture that will contain the hidden file, will be rendered in bmp uncompressed format.

      Hiding a secret file inside the picture/sound container, WILL NOT affect at all the size of the picture
      or sound file, the only exception remains when using the jpg image format as a container. In this
      case, the output is rendered in bmp which is NOT compressed, resulting therefore in a larger file size.
      The quality of the image/sound may decrease if a large file is to be hidden. The most quality
      affected format is the audio wav.

          





    • 7. The Steganographic algorithm
      When the picture or sound file container is selected, 96Crypt proposes 3 different Steganographic
      algorithms (modes) depending on the rendered quality versus the available space for the file-to-hide:
        (1). Simple:    Renders the highest picture/sound quality with a little space for a file-to-hide.
        (2). Medium:  Renders a good picture/sound quality with the double space for a file-to-hide.
        (3). Complex: Renders the lowest picture/sound quality but the highest space for a file-to-hide.

      the user needs to select one of the above 3 modes and click on the "Confirm your selection" button.

          





    • 8. Selection of the file-to-hide
      Now that the Steganography mode , Block Cipher , Cipher mode , HASH function and password were properly
      defined, and the Steganographic algorithm (mode) was confirmed by the user, the "File Selection Dialog Window"
      opens indicating the maximum allowed size of the file-to-hide. This maximum size is calculated by the selected
      Steganographic algorithm to always insure the best quality of the rendered picture/sound container.
      The user may then select 1 single file-to-hide and add it to the job list.
      First it will be EnCrypted, then it will be hidden inside the previously selected picture/sound container.

      Empty files with size zero cannot be hidden! Files with larger size than the maximum allowed will be rejected.
      The file-to-hide can be of any type, any extension, any format.
      If the file fulfills these two conditions:
      -1. Having a size smaller that the indicated maximum allowed size.
      -2. Not already EnCrypted with 96Crypt.
      then it can be hidden in any one of the 11 supported image/sound container format.

          





    • 9. Hiding the selected file inside the picture/sound container
      The file-to-hide added to the job list will be EnCrypted then hidden inside the picture/sound container.
      The created file will have the same container name with the prefix  "New_"

          





      All the previous steps, described so far the procedure for hiding a file inside a picture/sound
      container. The following steps, detail the file's retrieving procedure from a picture/sound container.
      Retrieving a file DOES NOT require any preliminary setup of the Block Cipher, Cipher mode,
      HASH function or the Steganographic algorithm (mode).


    • 10. Enter (or select) a Password to start retrieving a hidden file
      Type a password in the corresponding field

          


      then re-confirm it for double verification. Typed password are case sensitive.

          





    • 11. Select the Picture or Sound container where your file was previously hidden
      The Picture or Sound containers with the prefix  "New_"  contain already a hidden file.
      Select only one picture/sound container at a time in order to open it.

          





    • 12. Opening the Picture or Sound container
      If the entered password is incorrect, the process simply ends this way:

          

      If however the password is correct and the picture/sound container is not damaged and contains
      a 96Crypt steganographic hidden file, then the following message will appear providing additional
      information on the hidden File name, File size and the used Steganographic algorithm.

          





    • 13. Retrieve the hidden file from the Picture or Sound container
      Answering "Yes" to the above prompt will retrieve the file and DeCrypt its content.
      The re-created retrieved file will be saved on the disk. However the picture/sound container
      remains modified and DOES NOT recover to its original status. It still contains the hidden file!

          








    The Picture/Sound container format supported by 96Crypt are listed below:

Picture/sound Format
Rendered Format
Recommended Stegano Mode
Initial Container Name (example)
Rendered Container Name (example)
Rendered Container Size
jpg (picture)
bmp
1, 2 or 3
NicePhoto.jpg
New_NicePhoto.bmp
bmp size is larger than jpg
bmp (picture)
bmp
1, 2 or 3
NicePhoto.bmp
New_NicePhoto.bmp
Exactly same as original
tga (picture)
tga
1, 2 or 3
NicePhoto.tga
New_NicePhoto.tga
Exactly same as original
tif (picture)
tif
1, 2 or 3
NicePhoto.tif
New_NicePhoto.tif
Exactly same as original
ras (picture)
ras
1, 2 or 3
NicePhoto.ras
New_NicePhoto.ras
Exactly same as original
wav (sound)
wav
1 or 2
SoundFile.wav
New_SoundFile.wav
Exactly same as original
au (sound)
au
1 or 2
SoundFile.au
New_SoundFile.au
Exactly same as original
snd (sound)
snd
1 or 2
SoundFile.snd
New_SoundFile.snd
Exactly same as original
iff (sound)
iff
1 or 2
SoundFile.iff
New_SoundFile.iff
Exactly same as original
svx (sound)
svx
1 or 2
SoundFile.svx
New_SoundFile.svx
Exactly same as original
aif (sound)
aif
1 or 2
SoundFile.aif
New_SoundFile.aif
Exactly same as original













File Shredder


Copyright 2002 - © eRightSoft