Patent US5058164A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5058164A Expired / Lapsed US ⏱️ 0.0 years remaining

Encryption of streams of addressed information to be used for program code protection

Assignee: National Semiconductor Corp
•
Filing: 1990-05-03
•
Granted: 1991-10-15
•
Expires: 2010-05-03
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Thomas I. Elmer
  • 👤 Tuan T. Nguyen
  • 👤 Rung-Pan Lin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 05:36
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/14; H; H04; H04L; H04L9/00; H04L9/08; G06F12/1408; G06F21/00; G06F21/70; G06F21/78; G06F21/79; H04L9/0894; G06F2221/00; G06F2221/21; G06F2221/2107

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 67 words
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.
Claim 2
Independent Claim 67 words
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.
Claim 3
Dependent Claim 27 words
A method as in claim 1 wherein said step of providing a key address comprises the step of altering said data address to provide said key address.
Claim 4
Dependent Claim 35 words
A method as in claim 2 wherein said step of altering said data address to provide said key address comprises the step of setting one or more bits of said data address to predefined values.
Claim 5
Dependent Claim 50 words
A method as in claim 2 wherein said step of altering said data address to provide said key address comprises the step of performing a function on one or more bits of said data address, said function selected from the group of functions consisting of logical functions and arithmetic functions.
Claim 6
Dependent Claim 25 words
A method as in claim 1 wherein said step of encrypting comprises logically combining one or more bits of said data and said encryption key.
Claim 7
Dependent Claim 25 words
A method as in claim 1 wherein said step of encrypting comprises arithmetically combining one or more bits of said data and said encryption key.
Claim 8
Dependent Claim 102 words
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.
Claim 9
Dependent Claim 102 words
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.
Claim 10
Dependent Claim 39 words
A data device as in claim 7 wherein said data device comprises an integrated circuit and said means for encrypting operates in response to at least one control signal which is not readily available external to said integrated circuit.
Claim 11
Dependent Claim 14 words
A data device as in claim 8 wherein said means for encrypting operates asynchronously.
Claim 12
Dependent Claim 27 words
A data device as in claim 7 wherein said means for providing a key address comprises means for altering said data address to provide said key address.
Claim 13
Dependent Claim 26 words
A data device as in claim 10 wherein said key address is provided by setting one or more bits of said data address to predefined values.
Claim 14
Dependent Claim 25 words
A data device as in claim 11 wherein the selection of bits which serve as said one or more bits varies for different data addresses.
Claim 15
Dependent Claim 37 words
A data device as in claim 12 wherein the selection of said one or more bits is dependent on the value of one or more bits selected from the bits forming said data and said data address.
Claim 16
Dependent Claim 41 words
A data device as in claim 10 wherein said key address is provided by performing a function on one or more bits of said data address, said function selected from the group of functions consisting of logical functions and arithmetic functions.
Claim 17
Dependent Claim 41 words
A data device as in claim 14 wherein the selection of bits which serve as said one or more bits is dependent on the value of one or more bits selected from the bits forming said data and said data address.
Claim 18
Dependent Claim 37 words
A data device as in claim 15 wherein the selection of said one or more bits is dependent on the value of one or more bits selected from the bits forming said data and said data address.
Claim 19
Dependent Claim 32 words
A data device as in claim 7 wherein said means for encrypting comprises means for logically combining one or more bits selected from the bits forming said data and said encryption key.
Claim 20
Dependent Claim 37 words
A data device as in claim 17 wherein the selection of said one or more bits is dependent on the value of one or more bits selected from the bits forming said data and said data address.
Claim 21
Dependent Claim 32 words
A data device as in claim 7 wherein said means for encrypting comprises means for arithmetically combining one or more bits selected from the bits forming said data and said encryption key.
Claim 22
Dependent Claim 37 words
A data device as in claim 19 wherein the selection of said one or more bits is dependent on the value of one or more bits selected from the bits forming said data and said data address.

References Cited (Backward Citations)

US4087626A Cited
US4157454A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-10-14 1995-04-15 1995-10-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-10-14 1999-04-15 1999-10-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-10-14 2003-04-15 2003-10-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag