Zero-knowledge SoftwareWatermarking for C Programs

Sukriti Bhattacharya, Agostino Cortesi · 2010

Abstract. This paper proposes a novel method for watermarking C source code by exploiting the programming language features.The key idea of our watermarking scheme is a semantics-preserving program transformation, based on a hidden permutation of local identifiers, followed by another hidden permutation of the functions defined in the source code. This last permutation allows to encrypt the prove of ownership, in the framework of interactive zero-knowledge proof system. The proposed watermarking scheme is invisible to compilers and does not reveal any information about the watermark, its nature and its location into the program, since the zero knowledge proof is independent of the encoding and of the embedding. Finally, we introduce a third party Trusted Time-Stamp Service into the system to prevent invertibility/ambiguity attacks.

Read the paper · More papers on PaperTik