A fairly common practice when censoring passwords or other sensitive information in images is to apply the classic 'pixelation'. There is also the possibility of using directional distortion or bombarding the image with noise, but in general, pixels are more popular. Now, imagine a mechanism to recover the password from pixelated images. The Depix project goes in that direction, and although it has been in development for a little over two months, its potential is enormous.
Pixels and "Lost Information"
Mid last year we talked about Face Depixelizer, an artificial intelligence platform that can create perceptually realistic images from pixelated faces. The problem is that many people on the Web believed this technology could identify censored faces, when in practice it is not so. In fact, everything the algorithm presents is "invented", and judging by its original results, it has a very wide imagination.
However, the concept of partial recovery becomes viable depending on the material to process. For example, think of a pixelated password. The original information is destroyed, but in these cases a perfect result is not needed: it is sufficient to know the general structure of the password (say, how many characters it has in total) or some of its letters to develop a more elaborate and precise attack.
How to Recover a Password from Pixelated Images with Depix
That brings us to the Depix project by Sipke Mellema, who published in December 2020 an article called "Recovering passwords from pixelized screenshots". There he explains the basic pixelation process, and the history of some algorithms used to "unmask", which date back even to the mid-90s.
How exactly does this work? The so-called "linear box filter" (formal name for pixelation) uses a deterministic algorithm. In other words, if we decide to pixelate the same value over and over again, we will always get the same result. And text is not immune to this. Below, an example of the letter J, repeated under the same filter.
What Depix does is analyze and compare these patterns, in an attempt to identify specific letters, numbers and symbols. Now, it is not such a simple task: the algorithm requires the same text size and background color. Depix manages to compensate by using as a base an image that contains a De Bruijn sequence of all possible characters.
Technical Details and Conclusion
Technically, Depix is a Python script, and any environment prepared to run them should be able to execute it. Personally, I recommend using some flavor of Linux, and paying attention to the dependencies section, since not all distros have the right elements. Another aspect to highlight is that Depix takes its time. It all depends on how long the pixelation to process is, but I always saw the script using a single core.
As for the results, our initial experience was quite poor. Perhaps it is necessary to adjust a little more the prior conditions of the pixelated image, but we have no doubt that its performance will improve over time. Visit the Depix profile on GitHub, and give it a try.
Official site: Click here