Have you ever had a secret you wanted to hide in plain sight while still feeling secure? If so PGIE is just the program for you!
Well my nephew has come up with one and I think it's worth sharing. The image shows the picture I encoded of a Blue Tit, and next to it is the encrypted file after it had been encrypted with the programme. Mess with one pixel or any other attribute of the key-file or the decrypted image and it is unrecoverable.
PGIE uses an innovative and unique mix of new and traditional encryption techniques to store data within a randomly generated pixel image that can only be decoded using a special key file.
How It Works: (for the geeky among you)
PGIE first encrypts the data using a Rijndael symmetric algorithm. The key used to encrypt the data is a randomly generated 256 bit binary key that is unique to each encode.
The encrypted data is then split into sections and stored within the image. The data is then further secured by modifying the file based on the information stored within the key file. Finally the image is modified to make the original entry point unreadable.
If either the key file or encoded images are modified or damaged then the encryption is one way.
In order for a brute force attack to be successful on this encryption the whole key file image would have to be guessed precisely; every red, green, blue and alpha component would have to match the original in order for the decryption to occur successfully. This would take a very, very long time to achieve with modern computers. See the technical details section below.
Technical Data:
There are a set of 65,535 possible characters that can be used in the encryption key and the key is 256 characters in length. This means that there are 65,535^256 possible key sets to choose from - one very large number! In the simplest terms possible - if a computer can generate a billion keys per second then it would take far, far longer than the universe has existed to forcibly break.
There are four channels for data within a PNG pixel, red, green, blue and alpha. Each of these can range in value from 0-255. That means that there are 256^4 possible colour values per pixel (4,294,967,296). As the image size grows more pixels need to be correctly guessed in order to decode the image. As such each added pixel makes the image more difficult to decode again, making it virtually impossible to forcibly break.
This is the Chromo text encryption we use for really sensitive stuff, for everything else we use the other type as in the reply, we are safe from our government. It;s saved as a file, sent in an email, decrypted with a personal key. He's even made it open by default with a double-click so there's less steps to take.
I am proud of him so please forgive my enthusiasm.