tchk: Squirrel Badge (Default)
[personal profile] tchk
Today I've seen it one too many times. People using gaussian blur on screenshots to "protect privacy".

But, you say, it's heat flow simulation. It's proven to be nonreversible.

That is true in principle if your starting point is just any image. But it is completely false if your image is known to consist of, say, black text on a white background:

blur01

Let's gauss this with 20 px radius.

blur02

If you enlarge the result, you can see how easy it is to notice the bounding box of the gaussian blur. Simply find the first pixel that differs from pure white.

blur03_T

How does this help recover the plaintext? Above is the left part of the first letter "T". If the first letter is "A" instead, the part in question would look like this.

blur04_A

It is fairly easy to compare all the pixels in the image with the blurred letters of the alphabet, and with standard techniques from mathematical optimization ("minimize the total brightness distance for all the pixels"), you can calculate that the shape in question is the letter "T" with 99.96% confidence.

Then subtract the blurred letter T from the image, and move to the next letter. With a bit of experimentation on step width and exact start of the original bounding box, you get this:

blur05

Now just repeat.

Tip: a similar technique exists for pixelization, although depending on pixel block size and relative layout it can be more complex to execute. It still works almost all the time unless your pixel blocks are significantly larger than your letters.

To summarize, if you really want to protect privacy in a screenshot, please, black out the entire bounding box of the text fragment in question.

Profile

tchk: Squirrel Badge (Default)
tchk

May 2016

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 21st, 2017 10:35 am
Powered by Dreamwidth Studios