Systems and methods for watermarking software and other media
First Claim
1. A method for watermarking computer code utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the processor to perform the method, the method comprising:
- mapping a set of payload information onto a first set of sparse space strings, wherein each sparse space string in the first set of sparse space strings is chosen randomly from a second set of sparse space strings;
inserting a sparse space string from the first set of sparse space strings into the computer code, anddistributing the computer code to a recipient, wherein the recipient of the computer code;
extracts at least some of the inserted sparse space string from the computer code to form an extracted string, andtransmits the extracted string to a database operator,wherein the database operator;
identifies the sparse space string in the first set of sparse space strings associated with the extracted string,retrieves the payload information mapped to the identified sparse space string, andtransmits the payload information to the recipient.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying the content'"'"'s source, thus enabling unauthorized copies or derivatives to be reliably traced, and thus facilitating effective legal recourse by the content owner. Systems and methods are also disclosed for protecting, detecting, removing, and decoding information embedded in electronic content, and for using the embedded information to protect software or other media from unauthorized analysis, attack, and/or modification.
122 Citations
10 Claims
-
1. A method for watermarking computer code utilizing a system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the processor to perform the method, the method comprising:
-
mapping a set of payload information onto a first set of sparse space strings, wherein each sparse space string in the first set of sparse space strings is chosen randomly from a second set of sparse space strings; inserting a sparse space string from the first set of sparse space strings into the computer code, and distributing the computer code to a recipient, wherein the recipient of the computer code; extracts at least some of the inserted sparse space string from the computer code to form an extracted string, and transmits the extracted string to a database operator, wherein the database operator; identifies the sparse space string in the first set of sparse space strings associated with the extracted string, retrieves the payload information mapped to the identified sparse space string, and transmits the payload information to the recipient. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification