Digital computer system for executing encrypted programs
First Claim
1. A digital computer system for executing at least one program comprising a set of instructions, at least one of said sets including at least one encrypted instruction, said system comprising:
- A. main memory means for storing the instructions of said set,B. cache memory including means for storing selected instructions in said set, said selected instructions being
7 Assignments
0 Petitions
Accused Products
Abstract
A digital computer system adapted for executing a set of instructions including at least one encrypted instruction. The system includes a main memory for storing the instructions, a cache memory for storing selected instructions with a relatively fast access time, a selectively operable decryption system for decrypting selected encrypted instructions from the main memory, and a central processing unit. The system is adapted so that the program stored in the main memory may be executed by the central processing unit. To this end, the decrypted instructions are decrypted only during execution when those instructions are transferred from the main memory to the cache memory so that plaintext versions of those encrypted instructions exist only in the cache memory in response to requests by the central processing unit while executing the program.
-
Citations
8 Claims
-
1. A digital computer system for executing at least one program comprising a set of instructions, at least one of said sets including at least one encrypted instruction, said system comprising:
-
A. main memory means for storing the instructions of said set, B. cache memory including means for storing selected instructions in said set, said selected instructions being - View Dependent Claims (3, 4, 5, 6, 7, 8)
-
-
2. selected non-decrypted instructions, that is, instructions, either in plaintext form or in encrypted form, which have not been decrypted;
- or
2. selected decrypted instructions corresponding to said encrypted instructions in said set, C. decryption means selectively operable when enabled for receiving an encrypted instruction from said memory means, for decrypting said received instruction to generate a corresponding decrypted instruction, and for transferring said decrypted instruction to said cache memory for storage therein, D. central processing means including i. means selectively operable in an execute mode for searching for an instruction in said cache memory, and when said instruction is not resident in said cache memory, for transferring said instructions from said memory means to said decryption means and for enabling said decryption means, and when said decrypted instruction is resident in said cache memory for transferring said instruction from said cache memory to said central processing means and for executing said instruction, and when said corresponding encrypted instruction is resident in said cache memory, for removing said instruction from said cache memory, and for then transferring said instruction from said main memory means to said decryption means and for enabling said decryption means ii. means selectively operable in a fetch mode for searching for an instruction in said cache memory, and when said instruction is resident in said cache memory and said instruction is a decrypted instruction, for transferring said corresponding encrypted instruction from said main memory means to said cache memory and to said central processing means, when said instruction is resident in said cache memory and said instruction is a non-decrypted instruction, for transferring said instruction from said cache memory to said central processing means, and when said instruction is not resident in said cache memory, for transferring said instruction from said main memory means to said cache memory and to said central processing means.
- or
Specification