Crypto microprocessor for executing enciphered programs
First Claim
1. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of information stored in enciphered form in a storage means as a plurality of portions of enciphered program instructions, the apparatus comprising:
- means included in said chip for storing a cipher key;
deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program;
processing means included in said chip for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means.
1 Assignment
0 Petitions
Accused Products
Abstract
A microprocessor for executing computer programs which are stored in cipher to prevent software piracy. Such a crypto-microprocessor deciphers the enciphered program piecemeal as it executes it, so that a large enciphered program can be securely executed without disclosing the deciphered program or associated data to persons who have access to the wiring of the computer in which the crypto-microprocessor is a component. Such a device may process valuable proprietary programs and data files which are distributed in cipher on videodiscs, semiconductor memory, or other media without risk of software piracy. Various methods of encryption may be used including methods which result in the cipher of a byte being a complicated function of the byte'"'"'s address in memory. Each crypto-microprocessor chip may use a unique cipher key or tables for deciphering the program, so that a program that can be executed in one chip cannot be run in any other microprocessor.
-
Citations
47 Claims
-
1. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of information stored in enciphered form in a storage means as a plurality of portions of enciphered program instructions, the apparatus comprising:
-
means included in said chip for storing a cipher key; deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means included in said chip for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means.
-
-
2. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of portions of enciphered program information, the apparatus comprising:
-
register means included in said chip for storing a cipher key; deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means included in said chip for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means; and internal bus means included in said chip for conveying a portion of said deciphered information from said deciphering means to said processing means, the internal bus means being isolated from external access during the conveying of said deciphered information so as to prevent external access to portions of said program in deciphered form.
-
-
3. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of portions of enciphered program information, the apparatus comprising:
-
register means included in said chip for storing a cipher key; deciphering means included in said chip for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means included in said chip for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means, the processing means being operative to produce output information; external means for conveying said output information to a location externally of the apparatus; and internal bus means included in said chip for conveying a portion of said deciphered information from said deciphering means to said processing means, the internal bus means being electrically isolated from said external bus means during the conveying of said deciphered information so as to prevent external access through said external bus means to portions of said program in deciphered form.
-
-
4. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of portions of enciphered program information, the apparatus comprising:
-
register means for storing a cipher key; deciphering means for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means; and means for erasing the cipher key in said register means after a pre-established amount of time of operation of the apparatus has elapsed, thereby enforcing a time limit on use of said enciphered program.
-
-
5. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of portions of enciphered program information, the apparatus comprising:
-
register means for storing a cipher key; deciphering means for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means for fetching a deciphered instruction from a portion of deciphered information from said deciphering means, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means; and means for accumulating the number of times the apparatus is enabled and for erasing the cipher key in said register means after the accumulated number of times has reached a preselected number, thereby enforcing a limit on an amount of use of said enciphered program.
-
-
6. A method of protecting a computer program of executable instructions during storage and during execution in a microprocessor having buffer means therein of a size substantially smaller than the program being protected, comprising the steps of:
-
storing said program externally of the microprocessor in enciphered form as a plurality of decipherable blocks; addressing a block of said enciphered program; deciphering said addressed block in said microprocessor to produce a corresponding deciphered block of executable instructions in said microprocessor buffer; fetching an instruction in said microprocessor from said deciphered block; executing said fetched instruction in said microprocessor; and addressing a subsequent block of said enciphered program for deciphering in said microprocessor in accordance with said executed instruction.
-
-
7. A method of protecting a computer program of executable instructions during storage and during execution in a microprocessor, comprising the steps of:
-
enciphering said instructions in accordance with a predetermined cipher key; storing said enciphered instructions in a memory; reading an enciphered instruction from said memory; deciphering said enciphered instruction in said microprocessor in accordance with said cipher key; executing said deciphered instruction in said microprocessor; and addressing a subsequent enciphered instruction in said memory in accordance with said executed instruction.
-
-
8. A method of protecting a computer program of executable instructions, comprising the steps of:
-
storing said program in enciphered form as a plurality of addressable portions; generating an address for addressing a portion of said program in said plurality of portions; combining a cipher key with said address to produce a scrambled key; deciphering said addressed portion under control of said scrambled key to produce a deciphered portion; executing an instruction in said program which is included in said deciphered portion; and addressing a subsequent portion of said enciphered program in accordance with said executed instruction.
-
-
9. A method of protecting a computer program of executable instructions, comprising the steps of:
-
storing said program in enciphered form as a plurality of addressable portions; generating an address for addressing a portion of said program; combining a cipher key with said address to produce a scrambled address; deciphering said addressed portion under control of said scrambled address to produce a deciphered operation code; executing an instruction in said program which includes said deciphered operation code; and addressing a subsequent portion of said program in accordance with said executed instruction.
-
-
10. A method of protecting a computer program of executable instructions, comprising the steps of:
-
storing said program as a transposed arrangement of addressable program portions; addressing a portion of said program; executing an instruction in said program which includes said addressed portion and a program address; scrambling said program address in accordance with said transposed arrangement to produce a scrambled address; and addressing a subsequent portion of said program in accordance with said scrambled address.
-
-
11. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a program of instructions stored therein in enciphered form, the apparatus comprising:
-
storage means included in said chip for storing said enciphered program as a plurality of addressable bytes; deciphering means included in said chip for cryptographically transforming a byte of said enciphered program to produce a byte of deciphered information containing an executable portion of an instruction in said program; processing means included in said chip for executing said instruction, and for addressing in said storage means a subsequent byte of said enciphered program for transforming by said deciphering means.
-
-
12. A cryptographic microprocessor apparatus for executing a scrambled program of instructions, the apparatus comprising:
-
means for storing said program as a plurality of addressable bytes in a transposed arrangement, each byte having a digital address; processing means for fetching a byte in said storing means containing a portion of an instruction in said program, and for executing said instruction, and for addressing a successor byte in said program by specifying a digital address; and means for cryptographically transforming said digital address to produce a scrambled address in accordance with said transposed arrangement of bytes in said storing means, thereby addressing a byte in said storing means for fetching by said processing means. - View Dependent Claims (13)
-
-
14. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of portions of enciphered program information, the apparatus comprising:
-
means for specifying a digital address of a portion of said enciphered program information in said plurality thereof; register means for storing a cipher key; means for combining said cipher key with said digital address to produce a scrambled key; deciphering means for cryptographically transforming said addressed portion of said enciphered program information under control of said scrambled key to produce a portion of deciphered information containing a deciphered instruction in said program; processing means for fetching a deciphered instruction from a portion of said deciphered information, and for executing the deciphered instruction, and for addressing in said storage means a subsequent portion of said enciphered program information for transforming by said deciphering means.
-
-
15. An apparatus for loading information into a cryptographic microprocessor device, the apparatus comprising:
-
means for storing a variable cipher key; means for generating a digital address; means for combining said digital address and said cipher key to produce a scrambled key; means for enciphering a portion of unenciphered information under control of said scrambled key to produce a portion of enciphered information; and means for storing said portion of enciphered information into a storage means location specified by said digital address.
-
-
16. An apparatus for loading an enciphered program of executable instructions into a cryptographic microprocessor device having a program deciphering means which operates under control of key information stored therein, the apparatus comprising:
-
means for storing a variable cipher key; means for generating a digital address; means for reading an executable portion of an unenciphered program from a storage means location specified by said digital address; means for scrambling together said executable program portion and said digital address and said cipher key to produce a portion of enciphered program; and means for storing said portion of enciphered program into said cryptographic microprocessor device at a location specified by said digital address.
-
-
17. A cryptographic microprocessor apparatus constructed as a hybrid circuit of at least two semiconductor chips for executing a computer program of instructions stored in enciphered form in a storage means as a plurality of portions of enciphered instructions, each portion being addressable in said storage means by a digital address, the apparatus comprising:
-
microprocessor chip means for generating a digital address on an address bus means to specify a portion of an executable instruction, for fetching said specified portion of the executable instruction on a data bus means, for executing said fetched instruction, and for addressing on said address bus a portion of a successor instruction in accordance with said fetched instruction; external address bus means for conveying said digital address to said storage means to address a portion of an enciphered instruction stored therein; external data bus means for receiving said addressed portion of enciphered instruction from said storage means; deciphering means connected to receive a portion of an enciphered instruction from said external data bus means, for deciphering said received portion to produce a deciphered operation code in an executable instruction and for conveying the deciphered operation code to the data bus of said microprocessor chip means, thereby providing said microprocessor with a deciphered instruction in said program.
-
-
18. A system of cryptographic microprocessors for executing computer programs of instructions stored in enciphered form as a plurality of portions of enciphered information, the system comprising:
-
storage means for storing said computer program as a plurality of addressable portions; first and second cryptographic microprocessors, each microprocessor comprising; a. means for deciphering a portion of said enciphered information under control of a cipher key to produce a portion of deciphered information which contains a executable portion of an instruction in said program, b. processing means for fetching said instruction from said deciphering means, and for executing said instruction, and for processing a portion of data, and for addressing in said storage means an enciphered portion of a successor instruction for deciphering by said deciphering means, c. means for enciphering said portion of data to be conveyed in cipher to another microprocessor in said system, and d. means for deciphering a portion of data conveyed from another microprocessor in said system; and common data bus means connecting said first and second microprocessors for conveying said enciphered portion of data between said microprocessors.
-
-
19. A cryptographic microprocessor apparatus for interpretively executing a computer program of code stored in enciphered form as a plurality of addressable portions, the apparatus comprising:
-
deciphering means for cryptographically transforming a portion of said program code to produce an executable portion of deciphered code; means for addressably storing the instructions of an interpreter program; and processing means for fetching an instruction from said storing means, and for executing the fetched instruction, and for addressing a successor instruction in said storing means, and for addressing a portion of said program code in said plurality of addressable portions, and for processing said executable portion of deciphered code in accordance with said interpreter program, thereby interpretively executing said program code in deciphered form.
-
-
20. A cryptographic microprocessor apparatus for interpretively executing a computer program of code stored in enciphered form as a plurality of addressable portions, each portion having a digital address, the apparatus comprising:
-
scrambling means for transforming the digital address of a portion of said program code to produce a scrambled address; means for deciphering said portion of program code by combining said scrambled address with said portion of program code under control of a cipher key to produce an executable portion of deciphered code; means for addressably storing the instructions of an interpreter program; and processing means for fetching an instruction from said storing means, and for executing the fetched instruction, and for addressing a successor instruction in said storing means, and for addressing a portion of said program code in said plurality of addressable portions, and for processing said portion of deciphered code in accordance with said interpreter program, thereby interpretively executing said program code in deciphered form.
-
-
21. A cryptographic microprocessor system for executing a computer program of instructions stored in enciphered form, the system comprising:
-
means for initiating reading of a portion of said enciphered program recorded in a plurality of portions thereof on a record carrier means, each program portion having a logical address; memory means for storing said portion of enciphered program at a storage means location which is addressable by a physical address; address translation means for converting a logical address in said program to a physical address in said memory means; and cryptographic microprocessor means for specifying the logical address of a portion of said enciphered program, and for fetching the specified portion from said memory means with a physical address provided by said translation means in accordance with said specified logical address, and for deciphering an instruction in the fetched portion, and for executing the deciphered instruction, and for specifying a logical address of a successor portion of said enciphered program. - View Dependent Claims (22, 23)
-
-
24. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as portions of enciphered information, the apparatus comprising:
-
deciphering means for cryptographically transforming a portion of said enciphered information to produce deciphered information which contains an executable portion of an instruction in said program; processing means for fetching from said deciphered information an executable portion of said instruction, and for executing the instruction; and means for addressing a portion of said enciphered information which contains a successor instruction portion of said program and which said deciphering means transforms into deciphered form.
-
-
25. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of portions of enciphered instructions, each portion being addressable with a digital address, the apparatus comprising:
-
scrambling means for transforming the digital address of a portion of said enciphered instructions to produce a scrambled address; means for deciphering said portion of enciphered instructions by combining said scrambled address with said portion of enciphered instructions to produce a deciphered instruction in said program; and processing means for fetching said deciphered instruction from said deciphering means, and for executing the fetched instruction, and for addressing a successor portion of said enciphered instructions for deciphering by said deciphering means.
-
-
26. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of portions of enciphered instructions, each portion being addressable with a digital address, the apparatus comprising:
-
register means for storing a cipher key; deciphering means for cryptographically transforming a portion of said enciphered instructions under control of said cipher key to produce a deciphered instruction in said program; processing means for fetching said deciphered instruction from said deciphering means, and for executing the fetched instruction, and for addressing a successor portion of said enciphered instructions for transforming by said deciphering means.
-
-
27. A cryptographic microprocessor for executing a computer program for executable instructions stored in enciphered form as a plurality of addressable blocks of enciphered information, the apparatus comprising:
-
deciphering means for cryptographically transforming a block of said enciphered information to produce a block of deciphered information; processing means for fetching an executable instruction from a block of said deciphered information, and for executing the fetched instruction; and means for addressing a block of said enciphered information which said deciphering means transforms into a deciphered block containing a successor instruction in said program.
-
-
28. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of executable instructions stored in enciphered form as a plurality of blocks of enciphered information, the apparatus comprising:
-
means included in said chip for storing a cipher key; deciphering means included in said chip for cryptographically transforming a block of said enciphered information under control of said cipher key to produce a block of deciphered information containing an executable instruction in said program; processing means included in said chip for fetching an executable instruction from a block of said deciphered information, and for executing the fetched instruction; and means in said chip for addressing a block of said enciphered information which said deciphering means transforms into a deciphered block containing a successor instruction in said program.
-
-
29. A cryptographic microprocessor for executing a computer program of instructions stored in enciphered form as a plurality of addressable blocks of enciphered program information, each addressable block having a digital address, the apparatus comprising:
-
means for addressing a block of said enciphered program information; means for storing an encryption key; product block deciphering means for transforming said addressed block to produce a block of deciphered information under control of said encryption key and under control of the digital address of said addressed block; processing means for fetching an instruction from a block of said deciphered information, and for decoding the fetched instruction, and for executing the decoded instruction, and for addressing a subsequent block of said enciphered program information for transforming by said product block ciphering means.
-
-
30. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as a plurality of addressable portions of enciphered information, the apparatus comprising:
-
register means for storing first and second variable cipher keys; deciphering means for cryptographically transforming a portion of said enciphered information under control of said first cipher key to produce a portion of deciphered information which includes an instruction in said program, and for cryptographically transforming a portion of enciphered information under control of said second cipher key to produce a portion of deciphered data; processing means for fetching said instruction from said deciphering means, and for executing the fetched instruction so as to process a portion of said deciphered data, and for addressing a portion of said enciphered information which includes a successor instruction in said program in enciphered form.
-
-
31. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a program of instructions stored therein and for processing enciphered data stored as a plurality of portions thereof, each portion having a digital address, the apparatus comprising:
-
means included in said chip for storing said program as a plurality of executable instructions; register means included in said chip for storing a cipher key; means included in said chip for specifying the digital address of a portion of enciphered data; means included in said chip for deciphering said portion of enciphered data as a function of said digital address and said cipher key to produce a portion of deciphered data; and processing means included in said chip for fetching and executing a plurality of executable instructions in said storing means and for processing said portion of deciphered data.
-
-
32. A cryptographic microprocessor apparatus for executing a program of instructions and for processing enciphered data stored as a plurality of portions thereof, each portion having a digital address, the apparatus comprising:
-
register means for storing a cipher key; means for specifying the digital address of a portion of enciphered data; means for deciphering said portion of enciphered data under control of said cipher key by scrambling together said key and said portion of enciphered data and said digital address, thereby producing a portion of deciphered data; and processing means for fetching and executing a plurality of executable instructions and for processing said portion of deciphered data.
-
-
33. A cryptographic microprocessor for executing a computer program of instructions stored in enciphered form as a plurality of addressable blocks of enciphered information, the apparatus comprising:
-
means for storing an encryption key; product block deciphering means for transforming a block of said enciphered information to produce a block of deciphered information under control of said encryption key; processing means for fetching an instruction from a block of said deciphered information, and for executing the fetched instruction; and means for addressing a block of said enciphered information which contains a successor instruction in said program and which said ciphering means transforms into deciphered form.
-
-
34. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as portions of enciphered information, the apparatus comprising:
-
deciphering means for cryptographically transforming a portion of said enciphered information to produce deciphered information which contains an executable portion of an instruction in said program; processing means for fetching from said deciphered information an executable portion of said instruction, and for executing the instruction, wherein said executable portion constitutes a disabling operation code; means for addressing a portion of said enciphered information which contains a successor instruction portion of said program and which said deciphering means transforms into deciphered form; and means for altering operation of said deciphering means in response to said disabling operation code, thereby disabling the microprocessor.
-
-
35. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as portions of enciphered information, the apparatus comprising:
-
deciphering means for cryptographically transforming a portion of said enciphered information to produce deciphered information which contains an executable portion of an instruction in said program; processing means for fetching from said deciphered information an executable portion of said instruction, and for executing the instruction; means for addressing a portion of said enciphered information which contains a successor instruction portion of said program and which said deciphering means transforms into deciphered form; register means storing information essential to operation of said microprocessor; and means for erasing said essential information from said register means, thereby disabling the microprocessor.
-
-
36. A method of protecting a computer program of executable instructions during storage and during execution in a microprocessor, comprising the steps of:
-
storing said program in a memory in enciphered form in accordance with a cipher key; storing said cipher key in said microprocessor; fetching an enciphered instruction from said memory; deciphering said enciphered instruction in said microprocessor in accordance with said cipher key; executing said deciphered instruction in said microprocessor; and addressing a successor enciphered instruction in said memory in accordance with said executed instruction.
-
-
37. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a program of instructions stored therein in enciphered form, the apparatus comprising:
-
storage means included in said chip for storing said enciphered program as a plurality of portions of enciphered information; means included in said chip for storing a cipher key; deciphering means included in said chip for cryptographically transforming a portion of said enciphered information under control of said cipher key to produce an executable portion of a deciphered instruction in said program; processing means included in said chip for fetching a portion of a deciphered instruction from said deciphering means, and for executing the deciphered instruction; and means in said chip for addressing a successor portion of enciphered information in said storage means.
-
-
38. A method of executing an enciphered program of instructions, comprising the steps of:
-
storing said program in enciphered form as a plurality of addressable portions; storing the cipher key used to control enciphering of said program; generating an address for addressing a portion of said enciphered program; scrambling together said addressed portion and said cipher key and said address to produce an executable portion of an instruction in said program; executing said instruction; and addressing a subsequent portion of said enciphered program in accordance with said executed instruction.
-
-
39. A method of deciphering a block of enciphered information stored in a plurality of addressable blocks of information enciphered under control of a cipher key, comprising the steps of:
-
storing a cipher key corresponding to said plurality of addressable blocks of enciphered information; addressing a block of said enciphered information with a digital address; scrambling together said digital address with said cipher key to produce a scrambled key; and cryptographically transforming said addressed block under control of said scrambled key, thereby producing a deciphered block of information as a function of said cipher key and said digital address.
-
-
40. An apparatus for enciphering information comprising:
-
means for storing a cipher key; means for generating a digital address; means for scrambling together said digital address and said cipher key to produce a scrambled key; means for performing a block cipher transformation on a block of said information under control of said scrambled key to produce a block of enciphered information; and means for loading said block of enciphered information into a storage means location specified by said digital address.
-
-
41. A cryptographic microprocessor apparatus for executing a computer program of instructions stored in enciphered form as portions of enciphered information, the apparatus comprising:
-
means for storing a cipher key; means for modifying said cipher key to produce a modified key; deciphering means for cryptographically transforming a portion of said enciphered information under control of said modified key to produce deciphered information containing an executable portion of an instruction in said program; processing means for fetching from said deciphered information and executable portion of said instruction. and for executing the instruction; and means for addressing a portion of said enciphered information which contains a successor instruction portion of said program and which said deciphering means transforms into deciphered form.
-
-
42. A cryptographic microprocessor apparatus constructed as an integrated circuit chip for executing a computer program of executable instructions stored in enciphered form as a plurality of addressable blocks of enciphered program information, the apparatus comprising:
-
means in said chip for specifying the digital address of an addressed block of said enciphered program information; means in said chip for storing a cipher key; deciphering means in said chip for transforming said addressed block to produce a block of deciphered information under control of said cipher key and as a function of the digital address of said addressed block; processing means in said chip for fetching an instruction from a block of said deciphered information, and for decoding the fetched instruction, and for executing the decoded instruction; and means in said chip for addressing a subsequent block of said enciphered program information for transforming by said deciphering means.
-
-
43. A cryptographic microprocessor for executing a computer program of executable instructions stored in enciphered form as addressable portions of enciphered program information, the apparatus comprising:
-
means for specifying the digital address of an addressed portion of said enciphered program information; means for storing a cipher key; deciphering means for scrambling together said addressed portion and said key and said address to produce an executable portion on an instruction in said program; processing means for fetching an instruction from said deciphering means and for executing the instruction; and means for addressing a subsequent portion of said enciphered program information for deciphering by said deciphering means.
-
-
44. A cryptographic microprocessor apparatus for executing a program of executable instructions stored in enciphered form as addressable portions of enciphered program information, the apparatus comprising:
-
means for storing a cipher key; deciphering means for cryptographically transforming a portion of said enciphered program information under control of said cipher key to produce an executable portion of a deciphered instruction in said program; processing means for fetching a deciphered instruction from said deciphering means and for executing the instruction; and means for addressing a successor portion of enciphered program information for transforming by said deciphering means.
-
-
45. A cryptographic microprocessor apparatus for processing enciphered data and for executing an enciphered program of instructions addressably stored as portions of enciphered information, the apparatus comprising:
-
means for storing a cipher key; deciphering means for cryptographically transforming a portion of said enciphered information under control of said cipher key to produce an executable portion of a deciphered instruction in said program; means for specifying the digital address of a portion of enciphered data; means for scrambling together said portion of enciphered data and said digital address to produce a portion of deciphered data; processing means for fetching a deciphered instruction from said deciphering means and for executing the instruction so as to process said portion of deciphered data; and means for addressing a successor portion of enciphered information for transforming by said deciphering means. - View Dependent Claims (46, 47)
-
Specification