Software watermarking: models and dynamic embeddings
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Characterizations of Reducible Flow Graphs
Journal of the ACM (JACM)
Introduction to algorithms
Protection of Computer Software: Its Technology and Application
Protection of Computer Software: Its Technology and Application
A Graph Theoretic Approach to Software Watermarking
IHW '01 Proceedings of the 4th International Workshop on Information Hiding
Algorithmic Graph Theory and Perfect Graphs (Annals of Discrete Mathematics, Vol 57)
Algorithmic Graph Theory and Perfect Graphs (Annals of Discrete Mathematics, Vol 57)
Software watermarking via opaque predicates: Implementation, analysis, and attacks
Electronic Commerce Research
A Simple Linear Time LexBFS Cograph Recognition Algorithm
SIAM Journal on Discrete Mathematics
More on graph theoretic software watermarks: Implementation, analysis, and attacks
Information and Software Technology
Encoding watermark integers as self-inverting permutations
Proceedings of the 11th International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing on International Conference on Computer Systems and Technologies
Encoding watermark numbers as cographs using self-inverting permutations
Proceedings of the 12th International Conference on Computer Systems and Technologies
IH'04 Proceedings of the 6th international conference on Information Hiding
An Embedding Graph-based Model for Software Watermarking
IIH-MSP '12 Proceedings of the 2012 Eighth International Conference on Intelligent Information Hiding and Multimedia Signal Processing
Hi-index | 0.00 |
Software watermarking involves embedding a unique identifier, i.e., a watermark value, within a software to discourage software theft; to this end, several graph theoretic watermark methods encode the watermark values as graph structures and embed them in application programs using a wide range of algorithmic techniques. In this paper we propose an efficient method for encoding the same watermark value into several different graphs, we call it multiple encoding, answering thus the question we have recently left open. In particular, we propose an efficient algorithm which embed a cograph G[π*] into a reducible permutation graph F[π*] by first computing the cotree of G[π*] then computing a rooted binary tree having specific node-value and child-parent properties, and finally, based on these properties, producing a reducible permutation graph F[π*]. In light of our recent encoding algorithms which encode a watermark value w as a self-inverting permutation π* and the permutation π* into several cographs G1[π*], G2[π*],...,Gn[π*], we conclude that we can efficiently encode the same watermark value w into several reducible permutation graphs F1[π*], F2[π*],..., Fn[π*], n ≥ 2. This property causes a codec watermarking system resilient to attacks since we can embed multiple copies of the same watermark value w into an application program. We also propose decoding algorithms which efficiently extract the watermark value w from the reducible permutation graph F[π*].