Open Shotman opened 6 months ago
Hi, cool to hear you stumbled upon this repo :)
There's nothing stopping you from encoding (binary) data into the watermark, you can populate the MarkBuf with whatever you want, do note the comment there:
See paper section IV-D as to why using a binary signal is vulnerable to multi document attacks.
The second problem is that the data is modulated on the strongest coefficients, which effectively means that the first part of your data will be embedded much more strongly than the later parts of your data. This algorithm is really made to encode a fingerprint, where the fingerprints are just all stored in a database. With fully random fingerprints you get a strong spike in correlation if one is matched. Binary data like ip address will probably result in a.a.a.b
and a.a.a.c
both spiking against each other when checking for the presence, even though they're different ip addresess. You could of course do something where you use the data as an entropy source for the generation of the random fingerprint... but to check for matches you'd have to run through all the possible data used to create the fingerprints (which may be fine, if you use userids and there's a small number).
I expect with some searching you'll be able to find more modern algorithms that allow you to encode data robustly. The one from this paper is by now more than 25 years old.
Thanks for the answer. So generating a random fingerprint on user creation and then using this fingerprint to watermark the images would be the prefered way and will allow to store the fingerprints to be stored and retreive for later analysis.
Yeah, I think that's better than trying to encode data into the watermark directly.
Hello, Really interesting project but I wanted to know if there is a way to add custom data to the watermark ? Like adding a user ID or IP or something like this ?
Since the encoding is quite fast I was wondering if I could watermark images on the fly and identify who reposted the original one.
Thanks