Claims Analysis
Total Claims: 19
Claim 1
Independent Claim
127 words
A method of software protection comprising the steps of encrypting each protected program of a program offering for sale or lease with a unique file key and writing the encrypted program on a storage medium as a program file, providing a computer having a protected memory and a cryptographic facility, with a secret unique cryptographic key identifier, providing a purchaser/lessee (hereinafter, simply purchaser) of the storage medium containing the encrypted program with a secret password unique to the particular program and said cryptographic key identifier, whereby, when said medium is loaded into said computer and said secret password is entered thereinto, said program becomes executable after at least a portion of the program has been decrypted in said cryptographic facility as a function of said secret password.
Claim 2
Independent Claim
127 words
A method of software protection comprising the steps of encrypting each protected program of a program offering for sale or lease with a unique file key and writing the encrypted program on a storage medium as a program file, providing a computer having a protected memory and a cryptographic facility, with a secret unique cryptographic key identifier, providing a purchaser/lessee (hereinafter, simply purchaser) of the storage medium containing the encrypted program with a secret password unique to the particular program and said cryptographic key identifier, whereby, when said medium is loaded into said computer and said secret password is entered thereinto, said program becomes executable after at least a portion of the program has been decrypted in said cryptographic facility as a function of said secret password.
Claim 3
Dependent Claim
54 words
A method as claimed in claim 1 , wherein, only when the program is first loaded in said computer, performing the steps of prompting the user for the secret password, and in response to the input of the secret password by the user, writing the password in the header record of the program file.
Claim 4
Dependent Claim
30 words
A method as claimed in claim 1 or claim 2, further comprising the step of writing the decrypted program into said protected memory from which it can only be executed.
Claim 5
Dependent Claim
194 words
4 . A method as claimed in any preceding claim wherein the step of providing the secret password is performed by providing the purchaser of the storage medium containing the encrypted program with an authorisation number and identifying the encrypted program with a program number and the storage medium with a storage medium number, requesting the purchaser to input the authorisation number, the program number, the storage medium number and a number identifying said cryptographic key identifier, computing from the inputted program number and storage medium number an authorisation number, comparing the computer authorisation number with the inputted authorisation number, providing a key distribution centre with the inputted program number, storage medium number and the number identifying said cryptographic key identifier if the computed and inputted authorisation numbers are the same, otherwise rejecting a password request by the purchaser, generating a first key as a function of said cryptographic key identifier and then encrypting the program number and storage medium number concatenated together with said first key to produce a second key at the key distribution centre, and encrypting the secret file key of the program with said second key to produce said password.
Claim 6
Dependent Claim
50 words
A method as claimed in claim 4 further comprising the step of determining if the computer authorisation number has been used before, and if it has not, then performing the step of comparing the computed authorisation number with the inputted authorisation number, otherwise rejecting a password request by the purchaser.
Claim 7
Dependent Claim
104 words
A method as claimed in claim 4 or claim 5 wherein the step of decrypting at least a portion of the program is performed by the steps of reading said password, program number and storage medium number from said header record, encrypting said program number and storage medium number from said header record, encrypting said program number and storage medium number concatenated together with a key which is a function of said secret unique cryptographic key identifier to produce a decryption key, decrypting said password with said decryption key to produce said secret file key, and decrypting the program using said secret file key.
Claim 8
Dependent Claim
53 words
A method as claimed in claim 1 or claim 2, wherein the step of providing a computer with a secret unique cryptographic key identifier is performed by the software or computer vendor issuing to the purchaser a smart card having said secret unique cryptographic key identifier, said smart card interfacing with said computer.
Claim 9
Dependent Claim
200 words
A method as claimed in claim 7 wherein the step of providing the secret password is performed by the steps of providing the purchaser of the storage medium containing the encrypted program with an authorisation number and identifying the encrypted program with a program number and the storage medium with a storage medium number, requesting the purchaser to input the authorisation number, a number of the smart card,, the program number and the storage medium number, computing an authorisation number from the inputted program number and storage medium number, comparing the computed authorisation number with the inputted authorisation number, and if the computed and inputted authorisation numbers are the same, providing a key distribution centre with the inputted number of the smart card, the program number and the storage medium number, otherwise rejecting a password request by the purchaser, generating a card key corresponding to the inputted card number and then encrypting the program number and storage medium number concatenated together with said card key to produce an encryption key at the key distribution centre, generating a secret file key corresponding to the inputted program number, and encrypting said secret file key with said encryption key to produce said password.
Claim 10
Dependent Claim
99 words
9 . A method as claimed in claim 7 or claim 8, wherein the step of decrypting at least a portion of the program is performed by the steps of supplying the smart card with the password, program number and storage medium number, encrypting in the smart card the program number and storage medium number concatenated together with the key of the smart card to produce a decryption key, decrypting the password with said decryption key to produce the secret file key, and decrypting in the computer at least said portion of the program using the secret file key.
Claim 11
Dependent Claim
124 words
1 0. A method as claimed in claim 9 further comprising the steps of supplying the smart card with a number identifying said cryptographic facility, encrypting in the smart card the number identifying said cryptographic facility with a universal key to produce a computer encryption key, generating in the computer a random number and supplying the random number to the smart card, exclusive ORing in the smart card the secret file key with the random number and encrypting the result with said computer encryption key to produce an encrypted exclusive ORed output, decrypting in the computer the encrypted exclusive ORed output with the computer encryption key, and exclusive ORing the decrypted exclusive ORed output with said random number to produce the secret file key.
Claim 12
Dependent Claim
29 words
1 1. A method as claimed in claim 10 wherein the steps of encryption in the smart card and decryption in the computer are performed using the DES algorithm.
Claim 13
Dependent Claim
154 words
A method as claimed in claim 9 further comprising the steps providing the computer with a public key, PKt, decrypted under the secret key of a public registry, and also providing said cryptographic facility with a corresponding secret key, SKt, providing said smart card with a public key, PKu, encrypting in the smart card the computer public key decrypted under the secret key of the public registry with the card's public key PKu to produce said key PKt, generating in the computer a random number and supplying the random number to the smart card, exclusive ORing in the smart card the secret file key with the random number and encrypting the result with said key PKt to produce an encrypted exclusive ORed output, decrypting in the computer the encrypted exclusive ORed output with the key SKt, and exclusive ORing the decrypted exclusive ORed output with said random number to produce the secret file key.
Claim 14
Dependent Claim
34 words
A method as claimed in claim 12 wherein the steps of encryption and decryption in the smart card and the computer are performed by selectively using the DES algorithm and a public key algorithm.
Claim 15
Dependent Claim
61 words
A method as claimed in claim 1 wherein said cryptographic facility supports encryption and decryption of user generated data comprising the steps of accepting a user input parameter, and decrypting said user input parameter under a key which is a function of said secret unique cryptographic key identifier to generate a file key for encrypting and decrypting said user generated data.
Claim 16
Dependent Claim
75 words
A method as claimed in claim 14 wherein said input parameter is input as a first parameter and a second parameter, said step of decrypting comprises the steps of encrypting said second parameter under said key which which is a function of said secret unique cryptographic key identifier to produce a first cipher text, and decrypting said first parameter using said first cipher text to produce a second cipher text corresponding to a key KF.
Claim 17
Dependent Claim
40 words
A method as claimed in claim 14 further comprising the step of exclusive ORing said key KF with a constant to produce a key KF1 which is used as a file key for encrypting and decrypting said user generated data
Claim 18
Dependent Claim
57 words
A method as claimed in claim 14 further comprising the steps of generating a random number, and exclusive ORing said random number with the decrypted user input parameter to produce a key KF and exclusive ORing said key KF with a constant to produce a key KF1 which is used for encrypting and decrypting user generated data.
Claim 19
Dependent Claim
104 words
A method as claimed in claim 14 wherein said cryptographic facility supports encryption of user generated data comprising the steps of encrypting user generated data under said file key, decrypting user generated data by the steps of accepting the user input parameter in the form of a first parameter and a second parameter, encrypting said second parameter with said key which is a function of said secret unique cryptographic key identifier to produce a decryption key, decrypting said first parameter with said decryption key to produce a key KF related to said file key, and decrypting said user generated data using said file key.