Claims Analysis
Total Claims: 6
Claim 1
Independent Claim
217 words
A method of protecting computer software from unauthorized execution using multiple keys, one of which is stored in a hardware device to produce a control key which will allow the protected software to execute comprising the steps of: storing a plurality of unique first keys in a plurality of hardware devices, each hardware device having its own unique first key, establishing a plurality of unique second keys, each having a predetermined relationship with one of each of said first keys forming a plurality of unique key pairs, storing an algorithm for processing said unique key pairs in software which is desired to be protected, supplying identical copies of said software to be protected together with said hardware devices, each having one of said first keys, one device with each of said copies, supplying said second key that forms said key pair with one of said first keys in said hardware device, inserting one of said hardware devices in an input/output port of said computer, loading said software to be protected containing said algorithm in said computer, loading a second key external to said software to be protected in said computer, and processing said first and second keys in said algorithm for deriving a control key, if present, for permitting the continued processing of the software being protected.
Claim 2
Independent Claim
217 words
A method of protecting computer software from unauthorized execution using multiple keys, one of which is stored in a hardware device to produce a control key which will allow the protected software to execute comprising the steps of: storing a plurality of unique first keys in a plurality of hardware devices, each hardware device having its own unique first key, establishing a plurality of unique second keys, each having a predetermined relationship with one of each of said first keys forming a plurality of unique key pairs, storing an algorithm for processing said unique key pairs in software which is desired to be protected, supplying identical copies of said software to be protected together with said hardware devices, each having one of said first keys, one device with each of said copies, supplying said second key that forms said key pair with one of said first keys in said hardware device, inserting one of said hardware devices in an input/output port of said computer, loading said software to be protected containing said algorithm in said computer, loading a second key external to said software to be protected in said computer, and processing said first and second keys in said algorithm for deriving a control key, if present, for permitting the continued processing of the software being protected.
Claim 3
Dependent Claim
24 words
The method as claimed in claim 1 wherein said step of loading said second key is performed using an input port of a computer.
Claim 4
Dependent Claim
33 words
The method as claimed in claim 2 wherein said step of loading said second key entered through any input port is stored in a hard disk file in said computer for subsequent retrieval.
Claim 5
Dependent Claim
76 words
The method as claimed in claim 1 including the steps of supplying at least one additional key loading said at least one additional key external to said software which bears a relationship to said first key configured in said algorithm and processing said at least one said additional keY with said first key in said algorithm for producing a new control key for the purpose of allowing other parts of the original software to be enabled.
Claim 6
Dependent Claim
86 words
The method as claimed in claim 1, including the steps of supplying a modification for said protected program having an additional algorithm in said modification, supplying a unique third key with said modification which bears a unique relationship to and forms another key pair with said unique first key stored in said hardware device, loading said unique third key in said computer and processing said first and third keys in said additional algorithm for deriving another control key for permitting processing of software modifications being protected.