Hello, this is Videogamer555, the author of this software. Lets start out with the background for what made me think about such software.
After seeing a news story a couple years ago (and more recently checking out the story online) about a pedophile who attempted to
disguise his face using the Twirl feature of Adobe Photoshop, and how the cops succeded in just undoing it by using Photoshop and the
same Twirl effect, but just in the opposite direction, I thought, wow what a dummy he is for thinking he could get away with this.
Mathematically speaking it isn't a blur but rather a transformation, as the pixel locations are just shifted circularly, not actually
destroyed. In fact, it isn't even encrypted by the twirl, just a pure transformation, which can be described mathematically. So I asked
myself why he might have opted for simply transforming the portion of the image over his face, rather than bluring it. I could only
think of one possible explanation. That explanation would be that the sicko wanted his fellow pedo buddies to be able to undo the
transformation and recover the whole image including his face (maybe as a way to brag about his "accomplishments"). Unfortunately for
him, it wasn't encrypted in any way so anybody could determine the values used in the transformation by trial and error, including the
police. No password was needed, and the transformation was in no way randomized.
That's where my program comes in. I decided to see if it would be possible for someone with just a copy of Microsoft Visual Basic to be
able to write an encryption/decryption program for images, and I have succeded. After you have loaded a picture file, and have selected
the desired region of the image to encrypt, it works by first generating a set of random numbers that corespond to each pixel in the
image, then XORing the random numbers with the pixel values, and then saving the XOR encrypted image as a PNG file. It then saves the
coordinates of the encrypted region of the image, an AES encrypted copy of the random data (key) that was XORed into the image, and the
SHA256 hash of the password that was used in the AES encryption, all to a key file.
When decrypting the image, the encrypted image file is loaded, and the key file is loaded, and the password used to encrypt the random
data is typed in. After this, the password is checked against the hash, and the program will only continue if it matches. After this
the program then decrypts the random data, and then XORs the now decrypted random data with the correct region of the image. This
restores the original image in its entirety, which is then saved as a PNG file.
This program is very user friendly, complete with text based feedback on the state of the program, so you always know what to do next.
I, Videogamer555, am the program author. My home page is http://18.104.22.168/
(alternatively you can use http://tinyurl.com/vg555/
which is my easy-to-remember redirect address)
XnView ActiveX DLL file can be downloaded from the XnView website. The XnView homepage is http://www.xnview.com/
The implementation of AES encryption and SHA256 hash algorithms I used are from Phil Fresle. His homepage is http://www.frez.co.uk/
The AES encryption algorithm was invented by Joan Daemen and Vincent Rijmen.
The SHA256 hash algorithm was developed by the National Security Agency. Their homepage is http://www.nsa.gov/
The LZW compression used in the GIF file format and some compressed TIF files, was developed by Unisys who's website is http://www.unisys.com/unisys/
(although technically it's no longer under patent, so I don't need a license to use it, Unisys deserves to be listed in the credits)
The PNG file format was developed by the group who's home page is http://www.libpng.org/pub/png/libpng.html
The TGA format was developed by Truevison, for their line of graphics cards. Their home page is http://www.truevision.com/PublicSite/us/Home/
(though they no longer make these graphics boards, those are now about two decades old, the file format still exists, though is no longer common)
The PCX file format was developed by Z-Soft for their PC Paintbrush software. The company no longer exists.
(the name Z-Soft is now used by a completely unrelated company)
The GIF file format was developed by CompuServe. Their homepage is http://webcenters.netscape.compuserve.com/menu/
The TIF file format was developed by Aldus. They have since merged with Adobe. The Adobe homepage is http://www.adobe.com/
The BMP file format was developed by Microsoft. Their website is http://www.microsoft.com/en-us/default.aspx
While I was inspired to write this program because of a news story I heard on pedophiles, I am not a pedophile, nor do I condone their
behavior. Also this program is not targeted at pedophiles. There are many legitimate and legal reasons to hide a picture in part or in
its entirety. If for example you have a document scanned that has personal info, but while you are afraid of hackers getting the image,
you also don't want to delete the image, as you prefer electronic copies of your documents, then encrypting the part of the image which
has personal info is a perfectly reasonable use of this software. If it unfortunately does make its way into the hands of perverts
though, I am in no way legally or civily to be held liable, even in a horible event such as if that said hypothetical pedophile murders
a child, and even if said hypothetical child may not have been murdered if it wasn't for my software having fallen into the hands of
that pedophile. Also if you use it to encrypt personal info, and in some unforseen event that personal info is still retrieved (though
theoretically impossible with this encryption and a good password), I am not to be held liable for any identity theft or other crime
that may result from such hypothetical hacker getting your personal info even after it has been encrypted with this software.
This software is provided as is, and regardles of who ends up using it, or what happens to anybody who uses it, or what happens to
anybody who is harmed by someone else who uses it, the victim of such unfortunate events (up to and including death) may not sue me nor
have the cops arrest me, nor may their family members, nor may their friends, nor any law enforcement or other officials, nor anybody
else in the world. This disclaimer is not a joke, and shall be interpreted in any court to be legally binding. If any case is made
legally or civily against me involving this software as a piece of evidence, this software shall be thrown out of the collection of