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
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 |