I understand that there are techniques that allows me to hide information in an image. In particular, I am interested in what ways I can save a relatively short string in an image, say 30-40 characters. Suppose I have a flow that looks like the following:

Me -> unknown intermediary -> My friend

The problem is that there is a risk that the intermediary will manipulate the file in an undesirable way (e.g. changing the file with lossy compression).

My question

Is there any way for me to ensure that my friend will receive the message, even if the intermediary has manipulated the file? (I realize that I have to assume that these changes do not change the principal appearance of the image.)

  • May this "unknown intermediary" be considered as a potentially evil intermediary, ie. someone who could voluntary modify your images in order to inject crafted messages? Can you and your friend agree on a pre-shared set of images, so the messages can be composed in visual differences between the original and the posted image? I think for instance of images with a lot details, like rocks or a library picture: changing the color of some rocks / books would be an easy and durable way to encode a piece of information. Commented Jun 19, 2016 at 16:55
  • @WhiteWinterWolf 1. Of course, I'd like to prevent evil intermediaries if possible, but this is not a main concern. If assuming that the intermediary is not evil will lead to a simple and robust implementation, I wouldn't mind going for this approach. 2) Yes, it would be possible for me and my friend to agree on such terms. However, I want the process to be fully automated, i.e. all he should need to do is to start the software and choose the target file. I hope this answers your questions.
    – Anton
    Commented Jun 19, 2016 at 18:52
  • I know too little in image stego to answer your question. But there are error-correcting codes that allow (technical or intended) modifications of bit sequences to some limited extent. [OT] Since you have only small quantities of stego bits, you could try to embed these in emails instead. see s13.zetaboards.com/Crypto/topic/6939954/1/ Commented Jun 20, 2016 at 10:50

1 Answer 1


I believe that there is some old research (like this or this on lossy-compression tolerant stego, but not I do not know if there are any guarantees provided or real-world implementations. At the end of the day, there are too many possible manipulations and it is unrealistic for a tool to handle all possible image transformations (but I haven't tried this in years).

You may want to pre-empt users compressing your files by using a JPEG-based stego tool that already performs compression. Try Red JPEG XT or StegaMail.

One thing you should handle is that an attacker could intentionally modify your hidden message. You may wish to include an HMAC within your message if all your tool supports is encryption-and-encoding and not message integrity.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .