Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Software watermarking: models and dynamic embeddings
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Protection of Computer Software: Its Technology and Application
Protection of Computer Software: Its Technology and Application
A Secure, Robust Watermark for Multimedia
Proceedings of the First International Workshop on Information Hiding
A Graph Theoretic Approach to Software Watermarking
IHW '01 Proceedings of the 4th International Workshop on Information Hiding
Software watermarking via opaque predicates: Implementation, analysis, and attacks
Electronic Commerce Research
More on graph theoretic software watermarks: Implementation, analysis, and attacks
Information and Software Technology
A survey of software watermarking
ISI'05 Proceedings of the 2005 IEEE international conference on Intelligence and Security Informatics
Encoding watermark numbers as cographs using self-inverting permutations
Proceedings of the 12th International Conference on Computer Systems and Technologies
Multiple encoding of a watermark number into reducible permutation graphs using cotrees
Proceedings of the 13th International Conference on Computer Systems and Technologies
Evaluating the WaterRpg software watermarking model on Java application programs
Proceedings of the 17th Panhellenic Conference on Informatics
Hi-index | 0.00 |
In a software watermarking environment, several graph theoretic watermark methods use integers as watermark values, where some of these methods encode the watermark integers as reducible permutation graphs (RPG; these are reducible control-flow graphs with a maximum out-degree of two). Since there is a one-to-one correspondence between self-inverting permutations and isomorphic classes of RPGs, for encoding watermark integers most of the watermarking methods use only those permutations that are self-inverting. In this paper we present an efficient algorithm for encoding integers as self-inverting permutations. More precisely, our algorithm takes as input an integer w, computes its binary representation b1b2...bn, and then produces a self-inverting permutation π* in O(n) time. Moreover, we also present an algorithm for decoding a self-inverting permutation; our algorithm takes as input a self-inverting permutation π* produced by the encoding algorithm and returns its corresponding integer w in O(n) time, where n is the length of the input permutation.