How it works
PhotoShield Desktop Version
PhotoShield is an application that gives you the possibilty to transform your photos / images to protect them from prying eyes. The original image is divided into small squares tiles, like a mosaic. The individual tiles are then moved and rotated in a random way; the end result is a new scrambled image that "hides" the original one. The original image can now be accessed only with a password set by the user.
The smaller the tiles the image is divided in, the less recognizable its details and the safer the image will be.
Since the transformed image, though scrambled, remains an image it can still be used in any application used for picture\photo exchange without any problem.
The Application PhotoShield is available for Windows, Mac OSX, IOS and Android.
It behaves- as much as it is possible-homogenously across platforms.
When it’s used on the desktop it appears as follows:
After viewing the About window the program remains pending while you select a function from the available ones that are: Load Image, Paste and Exit.
The Load Image command lets you select an image to be transformed; after you select one, it will be displayed in the application window as you can see from the next screen.
Using the mouse you can vary the zoom level of the loaded image.
The status bar at the bottom of the window shows the image size in pixels.
Once the image is loaded, you can start its transformation; to do so you must open the Transform menu and select the Encoding function or use the speedbutton.
The selecting of the Encoding function opens a window that requires the transformation parameters that are: Password and Tile Size.
Password is whatever secret code you chose to protect your image. As with every encryption system, the password is the weak spot. The security of your encrypted image lies in the choice of a strong password (number of characters of the password, use the extended set of uppercase, lowercase characters, numerals and special characters).
The parameter Tile Size represents the size of the square tiles you want your image to be divided in before their scrambling and rotation. This value can vary from 1 pixel to a number equal to 1/2 of the size in pixels of the shorter side of the image.
In the free version of the application the tiles minimum dimension is 1/5 of the number of pixels on the shorter side of the image, a value sufficient to protect a photo from prying eyes. In the paid version the tile size can be any value from 1 pixel up to half the number of pixels on the shorter side of the image .
Once you have selected the Password Tile Size the Encoding can begin.
At the end of which you get the new transformed image.
At this point you can choose to save the image with a new name or to overwrite the original one.
If you are sent a picture transformed by PhotoShield after being loading it with the function of "Load Image", you can restore it to its original appearance by selecting the function Decoding in the Transform menu; this function requires the Password that was chosen for the transformation process.
In this case you will not need to indicate the Tile Size parameter because this information is stored in the transformed image. This means that the free version can handle images with any level of Tile Size.
Notes on the transformation process:
The image processing is carried out as follows:
1. The password is changed with the SHA256 in a 32-byte array.
2. The 32-byte vector is used to initialize the generation of the random vector sequence for the transformation of the image generated with the RC4 algorithm.
3. The values obtained are grouped to form integers used as the shift indices and the rotation of the tiles in which the picture was divided.
4. The number of tiles is determined by the parameter of the Tile Size. The number of tiles is equal to the X image size divided by the size of the tile, multiplied by the Y size of the image divided by the Tile Size. The parameter of the Tile Size can vary from 1 to 1/2 of the dimension of the shorter side of the image; All values are expressed in pixels.
The Free PhotoShield version can generate transformed images, setting the parameter Tile Size from 1/5 of the pixel value of the smallest side of the image; the paid version has complete freedom of setting. Both versions can bring back to the original form images transformed with any level of the Tile Size.
As the parameter Tile Size decreases, the level of security linked to the processing of the image naturally increases, as it increases the number of squares in which the image is divided.
Imagine a picture divided into just 4 blocks and rotated randomly distributed; at first glance you cannot understand, but even manually it is not difficult to reconstruct the original image. However, the 4 blocks randomly moved and rotated according to the four directions can generate 20’922’789’888’000 different combinations.
As the Tile Size decreases, the transformed images no longer have an apparent meaning.
Already at a Tile Size value of 100 pixels any image taken from an existing smartphone can be transformed into an unsolvable puzzle. Without the password of transformation, even a dedicated and intelligent software, would take an enormous amount of time to go through all the possible combinations and reconstruct the original image.
Now imagine how extreme this process can become with the Tile Size parameter set to 1.This means that each pixel of the original image has been moved randomly about-not rotated because at this level rotation is meaningless as a pixel is nothing but a dot of colour- scrambled in a way impossible to decipher.
The image is literally pulverized: without the password used for the transformation, you can not in any way reconstruct the original.