Encryption of streams of addressed information to be used for program code protection
First Claim
1. A method for encrypting data comprising the steps of:
- receiving a data address defining a location with a memory means containing data to be encrypted;
providing a key address based upon said data address, said key address defining a location within said memory means the contents of which will serve as an encryption key; and
utilizing said encryption key to encrypt said data, thereby providing encrypted data.
3 Assignments
0 Petitions
Accused Products
Abstract
An encryption method is taught which chooses certain bytes of data, stored in a particular on-chip memory, as encryption keys. These chosen bytes are used to encrypt themselves, and all of the remaining data in the above mentioned particular memory. The chosen bytes do not have values specifically assigned for encryption, they are merely chosen, according to a rule, from the body of data to be encrypted. When this technique is implemented, each byte of data, stored in the mentioned memory, is combined (for example using an exclusive NOR gate) with one of the designated encryption key bytes prior to disclosure. The user is not required to provide, program, or safeguard a set of key bytes separately. Additionally, no silicon area is wasted in storing such bytes. An intruder would need certain pieces of the original data in order to decipher the results of this encryption technique. Additionally, this technique degrades gracefully. The keys are chosen such that encrypted data does not have a single common dependency. Thus, in the event a single key is discovered, only a very small portion of the encrypted data will be disclosed.
272 Citations
20 Claims
-
1. A method for encrypting data comprising the steps of:
-
receiving a data address defining a location with a memory means containing data to be encrypted; providing a key address based upon said data address, said key address defining a location within said memory means the contents of which will serve as an encryption key; and utilizing said encryption key to encrypt said data, thereby providing encrypted data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data device comprising:
-
memory means for storing data; an address bus for receiving a data address defining a location within said memory means; a data bus for carrying data related to the data stored within said memory means at a location defined by said data address; means for providing a key address based upon said data address, said key address defining a location within said memory means, the contents of which will serve as an encryption key associated with said address; and means for encrypting said data with said encryption key in order to provide encrypted data on said data bus. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification