I create a watermark with photoshop like this

To make this watermark I use a software functions of a software (for example photoshop). Functions is implement like set instructions (my variables)

a, b,c,d 

function is like this

f(x) = a,b,c,d

set instruction is implemented like variables a,b,c,d

- place the bitmap over a photo or drawing (a)
- apply a Flat (b)
- adjust the transparency slider setting to X value (c)
- edit the Contrast amount X value (d)

I save to png format, I know also that software add also EXIF metadata.

I sent picture to my friend. My friend open picture with my same software and it want remove my watermark applying the inverse function that I used to realize my embossed transparent watermark.

If my initial function was

f = f (x)

used to generate watermark, my friend need to remove my watermark so he need to have this situation

f = f ^-1 

hardware & software is the same, algorithm is known both, me and he.

Have same software allow to use EXIF metadata like a decode key and have same format png allow to decode and separate watermark like if it is encoded layer (in photoshop, for example, we can add edits and compose picture in layers) but applying inverse function we can remove watermark directly because inverse function + key make this :

a) Recognize that picture It comes from the same software because EXIF metadata added after saving picture is like a decode key or access point
b) Recognize that algorith is same because format file is same (png)
c) Recognize that in that picture is integrated watermark like an locally integrable function, in sofware language is integrated like a encoded level that appears in software like merged layer as if it is only one.
This is possible because software works like an operator so using same software and adding metadata info generate a transfer function
d) Appling inverse function allow to transform encoded level like a simply layer.

We don't have distorsion

Is possible ?

  • Not sure how this is a security question.
    – schroeder
    Dec 4, 2016 at 21:48

1 Answer 1


It depends on the watermark you've added. If the watermark changes the image in a known way without losing any image fidelity, then yes. Otherwise, no.

The key is being able to retain sufficient detail in the amended image that running the inverse function exactly reproduces the original image data. Typically, this is a very hard problem because digital image files have limited data depth.

For a simple example, imagine your function changed 1 pixel. It changes a single channel - red lets say - of that pixel by multiplying by 2. The red channel started with a value of 180, 180x2=360 but a standard png file only allows a single byte per channel = 255. So your change looses data, what should have been 360 is actually 255. Now reverse your function, 255/2 = 127, different to the original 180.

So if you can work out a clever algorithm that will never exceed the image data limits then you are OK. Good luck with that! On the other hand, if you used a different image format, you would have fewer limits so the problem would be somewhat easier.

The other way to fix the problem would be to somehow capture the missing data in the metadata. But then your "inverse" function would have to use that data somehow to restore the images full fidelity. And you would need to somehow hide or encrypt the metadata otherwise someone else could do the same thing which would make adding a watermark pretty pointless in the first instance.

  • mmm..your answer is good, It made me think. So need I to use raw format without compression to avoid lose data depth ? But is possible implement this missing changed 1 pixel like part of my function implemented in hardware mode (no software) directly like monitor signal ? My aim is not working on algorithm decoding only to restore the original image, but i may change final information directly creating a loop fuction if there some is missing because however this picture is display on a monitor, not only processed like code. The function should be implemented like a signal modulation
    – Jacky Ned
    Dec 5, 2016 at 1:31
  • Raw gives you more to work with, I'm not an expert there, there are other extended depth formats too. But you still need to make sure you don't loose data. Not really sure what you are asking now. Digital images ARE code, you could create a display method to implement a watermark or indeed to reverse it out I guess. A pure hardware method would be pointless I think because nobody would buy it. Dec 5, 2016 at 7:05
  • Yes, you are right but maybe it be useful for security trasmission method to bypass breaking RSA algorithms or from interception by a remote station. Modulation it should work only locally (like home) if people have got this 'demodulator' (you can imagine it like a power plug attached directly to the socket of the wall or immediately before the modem filter) so if you want to send an audio or text message you can bypass without loose data because you transfer a function and not a information that, instead, is transmitted by modem using a synchronization mechanism by quartz oscillators
    – Jacky Ned
    Dec 5, 2016 at 16:22
  • quartz oscillators generate a costant k between signals to allow trasmission present in modem electronic so if you look information is because you have same method or same hardware/algorithm implementation (costant k). Also modem is a modulator-demodulator that modulates one or more carrier wave signals, so I only need to correct no the signal but generate an out of sync using this particular power plug modulators in my home sockets because my purpose is not information but apply my function. With this method, in theory, I could also send a distorted image directly without encrypt it
    – Jacky Ned
    Dec 5, 2016 at 16:23
  • In practice, I realize a filter that filters the modem filter but I don't act on signal frequency or transmission signal but only the input signal of my home so the out of sync it maybe useful to use this plug modulators directly like function generators so if my friend want reconstruct he must have this filter attached on socket otherwise picture trasmitted is distorted. This solution avoid to use algorithms and thus avoid transmitting information as a constant k. The thing is not easy to study, there are some technical details on which I must work :-)
    – Jacky Ned
    Dec 5, 2016 at 16:31

You must log in to answer this question.

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