-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEAT] added randomize pixels function to pixelate tool #3368
base: master
Are you sure you want to change the base?
[FEAT] added randomize pixels function to pixelate tool #3368
Conversation
@kurayami07734 Thanks for the great work. Is it possible to:
|
I did not find where exactly the pixel size is being set
I tried to add a setting for this in my latest commit. I followed the example of other settings already present. I am some how getting a segfault now QLayout: Attempting to add QLayout "" to SidePanelWidget "", which already has a layout EditI've narrowed it down to |
Hey guys, you probably missed this PR |
@kurayami07734 I'm reviewing your PR now. Sorry about the wait. |
960a83a
to
d3bd236
Compare
I've randomized the pixel using Also, can I run flameshot from wsl? |
Ah my bad it will be a separate toggle/option. Cool. |
What's the status of reviewing this? The only conversation in the latest review looks resolved. I'm specifically referring to the need to add an |
The pRNG is not initialized using a suitably secure seed (time can be brute forced, or - in the case of images - simply taken from the metadata). Hence using this implementation does not improve security over pixelation (it might even be worse). More generally I'd argue that the contents of the area to be hidden should not be used as an input at all, see my comment on #3289. |
That's a good point. Using something like time since local boot instead of time since epoch in the seed assignment (currently |
Using uptime is not a good idea either. The uptime of most machines is less that a month. And a month has only about A better solution would be to sort the pixels by value and then shuffle using an insecure PRNG for the same visual effect. That way reversing the insecure shuffling would only reveal the sorted pixels. However as I said I'm not convinced that the approach of shuffling works at all. All values of all pixels are kept, which is quite a lot of information. There might be situations where e.g. the precise number of oddly colored pixels from subpixel rendering might reveal substantial information about the secret. The point is that I have absolutely no idea how to prove that no such attack exists. I'm also quite pessimistic about other similar approaches. There are simply way too many footguns. |
Fixes #3289
Concerns
Pixelate tool's look changes completely. It now looks like white noise
Changes
random_shuffle
from<algorithm>
andmemcpy
from<cstring>
Results of cursory test
before
after