I’m really interested, because currently each channel can modify or compress images in some way, which can be considered as an attack on steganography.
We can divide steganography into two main types: first, it works in the spatial area of the image, and the second works on some kind of transformation area.
I am interested in the following types of attacks because they are all around us (if you want to save the image on facebook or want to create a thumbnail of the image or if you are going to save the image on a mobile platform, etc.):
- Image compression or recompression - mainly for JPEG images or PNG images with alpha multiplication.
- Resizing or scaling images and geometric manipulations - I mean transforming the image, except for compressing it, for example. image rotation, zooming, etc.
I would like to ask:
- How would people best suit you to protect the embedded message in an image from being compressed, like in JPEG? What about the "infinte" recompression of an image after attaching a message with a steganographic mechanism? Will this message be read?
- Where is the threshold for embedded messages due to image resizing, if any? In my opinion, steganography is much more sensitive to image resizing, then compression or rotation or adding noise to images. What is the best way for image resilient steganography? I mean, there is always an edge where we cannot go without losing a message, but there must be some threshold.
- What about a combination of manipulating images with a second dot?
I read a lot of articles about compression-resistant steganography, and mostly they always use error correction codes and Hamming distance to get a threshold of what we can hide without losing information (or how to get information in a lossy channel). Then the first step is to hide our message in the spatial domain using the Hamming distance. With an RGB image, we are going to select, for example, one triple as a single-byte carrier and modify our triple of colors - this is the way that the Hamming distance would be “in the center” of the edges. We could do this as a repetition error correction code or whatever (best practice are Hamming codes like F5).
The idea is that our error correction code with calculated Hamming distances on JPEG compressed images ensures that embedded information will remain there after many JPEG compression applications. Of course, all this is due to the image capacity, while we use redundancy using error correction codes.
Example link to this method: http://www.cs.unibo.it/babaoglu/courses/security/resources/documents/Steganography.pdf
I don’t know much about watermarking techniques in digital images, but we could probably find a guide on this topic there, because the purpose of the watermark is almost the same as in steganography. We are trying to save copyright information in digital images or we are trying to protect our hidden message in an image in various situations, for example, above.
I would like to discuss and ask you about today's mechanisms for protecting information in digital images through steganography. We can share our ideas or code examples to make the world a better place.