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

Method for protecting an enciphered computer object code against cryptanalysis

Assignee: NEC Corp
•
Filing: 1994-10-28
•
Granted: 1996-08-06
•
Expires: 2014-10-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract In order to transform enciphered instructions stored in an external memory into the original ones while a microcomputer executes the same, the instructions have been enciphered and stored in the memory such as to be logically partitioned into a plurality of groups. The enciphered instructions are read out of the memory for decipherment. A first instruction located at an initial storage address of a group is initially deciphered using a first value. Thereafter, the following instructions in the group are sequentially deciphered using a second value which is determined by transforming an immediately preceding instruction. If the microcomputer executes a branch instruction, the execution control is transferred to a branched address. Subsequently, a first instruction located at the group, which includes the branched address, is deciphered using the first value. Thereafter, the instruction(s) following the first instruction are deciphered, using the second value, until deciphering an instruction stored at the branched address.

Inventors

  • 👤 Naoyuki Ogura

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 20:44
CPC Classifications
G; G06; G06F; G06F12/00; G06F12/14; G06F21/00; G06F21/10; G06F21/12; G06F21/121; G06F21/123; G06F21/125; H; H04; H04L; H04L9/00; H04L9/06; H04L9/065; G06F2221/00; G06F2221/21; G06F2221/2107

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 98 words
A method of sequentially enciphering a plurality of instructions of a computer object code, the enciphered instructions being stored in a memory, said method comprising the steps of: enciphering, using a first value, each of first instructions if the first instruction is supplied for encipherment, said plurality of first instructions being separately located, in said computer object code, away from an adjacent first instruction by a predetermined number of instructions; and enciphering, using a second value, each of a plurality of instructions other than said first instructions, said second value being determined by transforming an immediately preceding instruction.
Claim 2
Independent Claim 98 words
A method of sequentially enciphering a plurality of instructions of a computer object code, the enciphered instructions being stored in a memory, said method comprising the steps of: enciphering, using a first value, each of first instructions if the first instruction is supplied for encipherment, said plurality of first instructions being separately located, in said computer object code, away from an adjacent first instruction by a predetermined number of instructions; and enciphering, using a second value, each of a plurality of instructions other than said first instructions, said second value being determined by transforming an immediately preceding instruction.
Claim 3
Dependent Claim 25 words
A method as claimed in claim 1, wherein locations of said first instructions are defined by storage addresses having a predetermined number of lower bits.
Claim 4
Dependent Claim 40 words
A method as claimed in claim 1, wherein said first value has a predetermined bit length and varies depending on part of a storage address which indicates a memory location to which an enciphered first instruction is to be stored.
Claim 5
Dependent Claim 39 words
A method as claimed in claim 1, wherein said first value has a predetermined bit length and varies depending on an entire storage address which indicates a memory location to which an enciphered first instruction is to be stored.
Claim 6
Independent Claim 169 words
A method of deciphering a plurality of instructions stored in an external memory after being enciphered, said plurality of instructions having being logically partitioned into a plurality of groups in said external memory, deciphered instructions being applied to a microcomputer and executed therein, said method comprising the steps of: reading one by one said plurality of instructions from said external memory; deciphering, using a first value, a first instruction located at an initial storage address of a group; deciphering, using a second value, each of a plurality of instructions other than said first instruction, said second value being determined by transforming an immediately preceding instruction; branching to a storage address defined by a branch instruction when said microcomputer has executed said branch instruction; deciphering, using said first value, a first instruction located at an initial storage address of a particular group which includes the branched storage address; and deciphering, using said second value, one or more than one instructions until deciphering an instruction stored at the branched storage address.
Claim 7
Independent Claim 169 words
A method of deciphering a plurality of instructions stored in an external memory after being enciphered, said plurality of instructions having being logically partitioned into a plurality of groups in said external memory, deciphered instructions being applied to a microcomputer and executed therein, said method comprising the steps of: reading one by one said plurality of instructions from said external memory; deciphering, using a first value, a first instruction located at an initial storage address of a group; deciphering, using a second value, each of a plurality of instructions other than said first instruction, said second value being determined by transforming an immediately preceding instruction; branching to a storage address defined by a branch instruction when said microcomputer has executed said branch instruction; deciphering, using said first value, a first instruction located at an initial storage address of a particular group which includes the branched storage address; and deciphering, using said second value, one or more than one instructions until deciphering an instruction stored at the branched storage address.
Claim 8
Dependent Claim 26 words
A method as claimed in claim 4, wherein the initial addresses of said groups are defined by storage addresses having a predetermined value of lower bits.
Claim 9
Dependent Claim 40 words
A method as claimed in claim 5, wherein said first value has a predetermined bit length and varies depending on part of a storage address which indicates a memory location to which an enciphered first instruction is to be stored.
Claim 10
Dependent Claim 39 words
A method as claimed in claim 5, wherein said first value has a predetermined bit length and varies depending on an entire storage address which indicates a memory location to which an enciphered first instruction is to be stored.

References Cited (Backward Citations)

US4864494A Cited
US5081675A Cited
US5182770A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-08-06 2000-02-05 2000-08-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-08-06 2004-02-05 2004-08-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-08-06 2008-02-05 2008-08-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag