Skip to content
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

Implement Normal Image Steganography for Images #6

Open
M4cs opened this issue Dec 12, 2019 · 1 comment
Open

Implement Normal Image Steganography for Images #6

M4cs opened this issue Dec 12, 2019 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@M4cs
Copy link
Owner

M4cs commented Dec 12, 2019

A reddit user commented on some strategies to embed the encrypted images inside a provided input image and produce and image that looks similar but embedded with the encrypted message.

This would make this more pheasable for usage in real world applications for embeddable encryption in images.

Check here for the Reddit link. Here is a quote:

The usual way to hide messages in images is to let the user provide a real image to hide the message in.

For each RGB pixel you can take the R, G and B values individually, e.g. say R is 251. The idea is that the difference between 251, 250 or 252 is basically imperceptible in a photo. You can exploit that to hide your message in the bottom 2 (or 1 or 3) bits of each colour value in each pixel. Using 2 bits per colour you get 6 bits per pixel.

The end result is an image that looks visually identical but contains your message hidden in it.

@M4cs M4cs added enhancement New feature or request help wanted Extra attention is needed labels Dec 12, 2019
@TotallyNotChase
Copy link
Contributor

So this is a great idea, but quite hard to actually implement in practice. I actually had a similar idea of taking in user_input image and then manipulating over it. Although my idea is totally not this secure, I'm no cryptographer anyway lol

I was thinking of calculating the standard deviation after we do key_list[ord(i)] to identify which tuple of pixels is the most similar with it and then we can substitute that with the key. The issue in this method is, how do we get back? how do we know which pixels to decrypt later? Any suggestions?

Also, there's a bunch more stuff to do before we can safely implement this btw (i.e allc should be a list of tuples of 4 integers to get RGBA)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants