# Steganography

Home

FileMatrix

Help center

The algorithm uses 512 bits data units.

The user supplied encryption password is not used in the encryption process, but is used only to generate a compact random-like data unit, called binary user key (BUK). The BUK is generated by mixing the user supplied key, a random data unit caled salt (which is not encrypted), and the bits of the carrier picture.

The BUK is used to encrypt a random data unit, which in its turn is used to encrypt the next data unit, recursively.

If someone attempts to find out the encryption password through dictionary attacks, it would need a lot of time because the encryption algorithm mixes the user password with the entire picture, into the encryption seed - the BUK. This means that for each tested dictionary password, the attacker must combine it with the picture, step which takes a lot of time.

To slow down the attacker even more, you can increase the value of the "User key iterations" field. This value represents the number of steps used to generate some initial random-like data units. The higher this number is, the slower the decryption gets (for both the cracker and the rightful user).

If the number of iterations is big enough to increase the time of the verification of each dictionary password to one tenth of a second (it obviously can't be over one second because the rightful user would have to wait too much), the decryption would be fast enough for the rightful user, but would require thousands of years for a cracker to find the correct password (even if it has only three words – one trillion combinations).

To prevent the precomputing of BUKs, the generation process uses random data (the salt and the bits of the carrier picture).

The encryption method has not been tested by experts in cryptology, so it might be possible that someone could break it. A way to protect your data from being revealed this way would be to encrypt it with another program before you steg it in.

It is not possible, for an attacker, to see the length of a hidden message, because the program stegs-in a block of bits of maximum length (where all bits which are normally empty, are actually random data). Basically, the program tries its best to create the impression that a carrier file contains random data.

The random number generator needs 256 mouse movements (over the main window of the program) to be fully randomly initialized. So, don't try to steg-in something (or use the password generator) without first moving the mouse over the columns (for a few seconds).