Abstract
Software watermarking has received considerable attention and was adopted by the software development community as a technique to prevent or discourage software piracy and copyright infringement. A wide range of software watermarking techniques has been proposed among which the graph-based methods that encode watermark numbers as graphs whose structure resembles that of real program graphs. that encode watermarks as graph structures. Following up on our recently proposed methods for encoding watermark numbers w as reducible permutation flow-graphs F[π*] through the use of self-inverting permutations π*, in this paper, we extend the types of flow-graphs available for software watermarking by proposing two different reducible permutation flow-graphs F1[π*] and F2[π*] incorporating important properties which are derived from the bitonic subsequences composing forming the self-inverting permutation π*. We show that a self-inverting permutation π* can be efficiently encoded into either F1[π*] or F2[π*] and also efficiently decoded from these graph structures. The proposed flow-graphs F1[π*] and F2[π*] enrich the repository of graphs which can encode the same watermark number w and, thus, enable us to embed multiple copies of the same watermark w into an application program P. Moreover, the enrichment of that repository with new flow-graphs increases our ability to select a graph structure more similar to the structure of a given application program P thereby enhancing the resilience of our codec system to attacks.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have