Paper 2015/344

Watermarking Cryptographic Programs Against Arbitrary Removal Strategies

Ryo Nishimaki and Daniel Wichs


A watermarking scheme for programs embeds some information called a mark into a program while preserving its functionality. No adversary can remove the mark without damaging the functionality of the program. In this work, we study the problem of watermarking various cryptographic programs such as pseudorandom function (PRF) evaluation, decryption, and signing. For example, given a PRF key $K$, we create a marked program $\widetilde{C}$ that evaluates the PRF $F(K,\cdot)$. An adversary that gets $\widetilde{C}$ cannot come up with \emph{any} program $C^*$ in which the mark is removed but which still evaluates the PRF correctly on even a small fraction of the inputs. The work of Barak et al. (CRYPTO'01 and J.ACM, 59(2)) shows that, assuming indistinguishability obfuscation (iO), such watermarking is \textit{impossible} if the marked program $\widetilde{C}$ evaluates the original program with {perfect correctness}. In this work we show that, assuming iO, such watermarking is \textit{possible} if the marked program $\widetilde{C}$ is allowed to err with even a negligible probability, which would be undetectable to the user. We construct such a watermarking scheme with a secret-marking key used to embed marks in programs, and a public-detection key that allows anyone to detect marks in programs. For our security definition, we assume that the adversary can get oracle access to the marking functionality. We emphasize that our security notion of watermark non-removability considers arbitrary adversarial strategies to modify the marked program -- for example, an adversary could obfuscate the marked program and this should not remove the mark. This is in contrast to the prior works, such as that of Nishimaki (EUROCRYPT '13), which only consider restricted removal strategies that preserve the original structure of the marked program (e.g., as a vector of group elements), but do not provide security against arbitrary strategies.

Note: (6/Dec/2015): Put a pointer to, which subsumes the results of this paper, (4/Jun/2015): Correct minor typos

Available format(s)
Publication info
Preprint. MINOR revision.
watermarkingobfuscationpseudorandom function
Contact author(s)
nishimaki ryo @ lab ntt co jp
2015-12-07: last of 2 revisions
2015-04-22: received
See all versions
Short URL
Creative Commons Attribution


      author = {Ryo Nishimaki and Daniel Wichs},
      title = {Watermarking Cryptographic Programs Against Arbitrary Removal Strategies},
      howpublished = {Cryptology ePrint Archive, Paper 2015/344},
      year = {2015},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.