EP0455064A2

Data encryption device and method for data encryption.

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.

EP0455064A2, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Projected expiry passed 19 April 2011, 15.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

17 claims: 2 independent, 15 dependent

  1. 1
    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 providing 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.
  2. 11
    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. 12
    A method as in Claim 11 wherein said step of providing a key address comprises the step of altering said data address to provide said key address.
  4. 13
    A method as in Claim 12 wherein said step of altering said data address to provide said key address comprises the step of setting one or more bits or said data address to predefined values.
  5. 14
    A method as in Claim 12 wherein said step of altering said data address to provide said key address comprises the step of performing a logic or arithmetic function on one or more bits of said data address.
  6. 15
    A method as in Claim 11 wherein said step of encrypting comprises logically or arithmetically combining one or more bits of said data and said encryption key.