Posted actionscript 3, flash, lab, sourcecode on Sunday, November 4th, 2007.
Soon the face recognition tools will expand into the search market. And since everyone putting everything on the Internet and nothing disappears, integrity problems will increase.
A solution to that could be something like this application. It transforms a image to something that is harder to read. and then when you want to look at it it transforms back to the original. Of course you can make a printscreen and crop out the image but that is quite boring.
There are a lot of other uses of a application like this. Photgraphers afraid of people stealing there photos and so on, you don’t need the waterstamp.
This is not a usable product right now but more like a proof of concept.

original

encrypted
decrypted
There are some problems to fix before the application can be used more serious:
1. use of jpeg. An obfuscated image can not be compressed destructive, as jpeg, and still work,
2. keep the compression rate. The example changes every pixel depending on there value and the distorted image cant be compresses since there are no large areas of the same color.
3. add a real encryption algorithm. for example TEA. That would make it almost impossible for an computer do transform back with brutal-force since the result is not plaintext.
Most of them are easy to archive if you instead of images use swf. But one of the main purpose of the application is to be able to continue to use the same channels for images that exist today. People don’t understand the swf format. The example above can be cropped and in some cases rescaled and still be able to be decrypted.
4 Comments to “Image Obfuscator”Comment on this post below
You can leave a response, or trackback from your own site.

You can look at http://my.dnsalias.com/jpegobfuscation/beta/form for something similar.
thanks luis for the link, that should solve almost all of the above problems. But there are no source to the obfuscator decoder to port to as what I can find. And to write an own from the jpeg specs is a little bit to much work.
I know nothing about Flash, so maybe the question is silly … wouldn’t be possible to use the service as it is right now POSTing requests against it through Flash?
The obfuscation/deobfuscation is quite CPU intensive so eligible for the server-side.
Thanks for your time.
It would be possible to do the trick on the serverside with something like image.php?url=url_to_image&password=foo. But then you don’t have to distort the image, just return the origional image if the password is correct. If the undistortion is made om client side there is no need to send the password to the server, which increases security. And the undistorted image will never exist outside the memory of the client, unless it’s screendumped. The distorted image can be copied around with the normal channels but it can’t be read unless you use the undistort application, which works both on offline and online.