Patent ID: 8671459

Claim:
A method of protecting a copy of a software application against piracy, said method implemented as software running on a computer, said method comprising the steps of: a. selecting a seed string of random length containing a series of random characters; b. generating, as a function of said seed string, a knowledge string by transforming said seed string, through one or more steps of character substitutions using strings of random characters, into said knowledge string, wherein for each character in said seed string: b.1. using said character in said seed string as an index to a first random string; b.2. using said indexed character in said first random string as an index to a second random string; b.3. placing said indexed character in said second random string into an intermediate string; and b.4. scrambling said intermediate string into said knowledge string using a third random string; c. generating, as a function of said seed string and said knowledge string, an activation code; d. encoding, with said copy of a software application, said knowledge string and software code to internally generate said seed string from said knowledge string, said software code also internally generating said activation code using said internally-generated seed string and said encoded knowledge string, said software code checking said internally-generated activation code against an externally-supplied activation code and verifying a non-pirated copy of said software application if a match is found between said internally-generated activation code and said externally-supplied activation code.