← Back to Patent Explorer
US5386469A Expired / Lapsed US ⏱️ 0.0 years remaining

Firmware encryption for microprocessor/microcomputer

Assignee: Acacia Research Group LLC
•
Filing: 1993-08-05
•
Granted: 1995-01-31
•
Expires: 2013-08-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A mask value generator is used to produce a mask value for deencrypting encrypted instructions from a memory. This encryption mask generator can produce a encryption mask value from a seed value and a program counter value. The seed value can stored in a memory outside the core microprocessor. The encryption mask value can be used to deencrypt instructions in an "exclusive or" logic section.

Inventors

  • 👤 Gyle Yearsley
  • 👤 Grant Richards

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 04:59
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/14; G06F12/1408; G06F21/00; G06F21/10; G06F21/101; G06F21/12; G06F21/121; G06F21/125; G06F21/70; G06F21/71; G09; G09C; G09C1/00; G06F2221/00; G06F2221/21; G06F2221/2107; H; H04; H04L; H04L2209/00; H04L2209/04

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 58 words
A microprocessor comprising: a microprocessor core comprising a program counter containing a program counter value; an encryption mask generator attached to said program counter; and a logic circuit having inputs attached to the mask value generator and attached to the external data bus and having an output attached to the internal data bus connected to the microprocessor core.
Claim 2
Dependent Claim 58 words
A microprocessor comprising: a microprocessor core comprising a program counter containing a program counter value; an encryption mask generator attached to said program counter; and a logic circuit having inputs attached to the mask value generator and attached to the external data bus and having an output attached to the internal data bus connected to the microprocessor core.
Claim 3
Dependent Claim 22 words
The microprocessor of claim 1, wherein said encryption mask generator comprises means for producing a mask value from the program counter value.
Claim 4
Dependent Claim 26 words
The microprocessor of claim 1, wherein said means for producing a mask value produces said mask value from a seed value and the program counter value.
Claim 5
Dependent Claim 54 words
The microprocessor of claim 2, wherein said logic circuit comprises "exclusive or" logic circuitry which is arranged to "exclusive or" bits of the mask value from the mask value generator with bits of an encrypted instruction from the external data bus to produce the bits of the deencrypted instruction on the internal data bus.
Claim 6
Dependent Claim 23 words
The microprocessor of claim 1, further comprising a memory attached to said external data bus, said memory adapted to store said encrypted instruction.
Claim 7
Dependent Claim 63 words
The microprocessor of claim 1, wherein said core microprocessor further comprises an instruction register and storage registers and wherein said encryption mask generator further includes internal registers that are adapted to store the seed value, wherein said microprocessor further comprises sequence detect logic circuitry attached to said instruction register for causing values in said storage registers to be loaded into said internal registers.
Claim 8
Dependent Claim 60 words
The microprocessor of claim 6, wherein said internal registers include bits to store enable bits and wherein said encryption mask generator further comprises means responsive to said enable bits for producing a dummy mask value such that dummy mask value causes the logic circuit to not effect the data moving from the external data bus to the internal data bus.
Claim 9
Dependent Claim 35 words
The microprocessor of claim 7, wherein said encryption mask generator further comprises means to reset said enable bits during a microprocessor reset such that said dummy mask value producing means produces a dummy mask value.
Claim 10
Independent Claim 42 words
A method of deencrypting an encrypted instruction in a microprocessor comprising the steps of: providing a program counter value corresponding to the encrypted instruction; producing a mask value from said program counter value; and deencrypting said encrypted instruction using said mask value.
Claim 11
Independent Claim 42 words
A method of deencrypting an encrypted instruction in a microprocessor comprising the steps of: providing a program counter value corresponding to the encrypted instruction; producing a mask value from said program counter value; and deencrypting said encrypted instruction using said mask value.
Claim 12
Dependent Claim 53 words
The method of claim 9, further comprising, before said program counter value providing step, the step of encrypting an instruction and the step of storing this encrypted instruction in a memory, wherein said program counter value provided in said program counter providing step indicates the location of said encrypted instruction in the memory.
Claim 13
Dependent Claim 32 words
The method of claim 9, wherein said mask value producing step comprises the step of producing a mask value that is a function of the program counter value and a seed value.
Claim 14
Dependent Claim 17 words
The method of claim 11, further comprising the step of obtaining said seed value from a memory.
Claim 15
Dependent Claim 37 words
The method of claim 12, wherein said seed value obtaining step comprises moving the seed value to a register in a core microprocessor and detecting a sequence of instructions before saving said seed value from said register.
Claim 16
Dependent Claim 46 words
The method of claim 11, further comprising the step of obtaining said mask enable bits from said memory, said mask enable bits corresponding to sections of said memory and indicating whether the instructions from that section of memory are to be deencrypted in said deencrypting step.
Claim 17
Dependent Claim 37 words
The method of claim 9, wherein said deencrypting step comprises using an "exclusive or" function to produce the bits of a deencrypted instruction from the bits of the encrypted instruction and the bits of the mask value.
Claim 18
Dependent Claim 22 words
The method of claim 9, further comprising the step of preventing the deencryption of instruction values from said memory after a reset.

References Cited (Backward Citations)

US4905277A Cited
US4797928A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-01-30 1998-08-01 1999-01-31 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-01-30 2002-08-01 2003-01-31 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-01-30 2006-08-01 2007-01-31 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag