IP Library Patent Application 10535755
Patent Application
App. No. 10/535,755

Microcontroller and assigned method for processing the programming of the micro-con- troller

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
10/535,755
Abstract

In order to further develop a microcontroller ( 100 ) the programming of which is carried out in at least one machine-dependent assembler language in which the assembler commands, with the exception of conditional program jumps or branches, can be executed in essence independently of data, together with a method for processing the programming of the microcontroller ( 100 ) carried out in at least one machine-dependent assembler language, in such a way that the program running on the microcontroller ( 100 ) is entirely secret and unpredictable, i.e. is not reproducible, for an external observer, it is proposed that the program jumps or branches are executed—in dependence on the state of at least one random number generator ( 10 ) and/or—independently of the internal state of the programming of the microcontroller ( 100 ).

Claims (14)

1 . A microcontroller the programming of which is carried out in at least one machine-dependent assembler language in which the assembler commands, with the exception of conditional program jumps or program branches, respectively, can be executed

in essence independently of data, characterized by at least one random number generator assigned to the microcontroller can be executed, by means of which the program jumps or program branches can be executed

in dependence on the state of the random number generator and/or independently of the internal state of the programming of the microcontroller.

2 . A microcontroller as claimed in claim 1 , characterized by at least one, in particular bit-addressable, random number register assigned to the random number generator.

3 . A microcontroller as claimed in claim 1 , characterized by an embodiment as a smartcard controller.

4 . An electrical or electronic device controlled by means of at least one microcontroller as claimed in claim 1 .

5 . A method for processing the programming of a microcontroller executed in at least one machine-dependent assembler language, the assembler commands, with the exception of conditional program jumps or branches, being executed essentially independently of data, characterized in that the program jumps or program branches are executed

in dependence on the state of at least one random number generator and/or

independently of the internal state of the programming of the microcontroller.

6 . A method as claimed in claim 5 , characterized in that the random number generated by the random number generator read via software via registers and the random number read is then evaluated with a conditional program jump or branch.

7 . A method as claimed in claim 5 , characterized in that, if at least one, in particular bit-addressable, random number register is present, testing per bit of the random number register and a conditional jump or branch is carried out.

8 . A method as claimed in claim 5 , characterized by the implementation of at least one assembler command (“branch on random bit”), a defined bit of the random number register being supplied, in particular directly, to the condition input for the conditional jump or branch.

9 . A method as claimed in claim 5 , characterized in that at least one Arithmetic Logic Unit (ALU) flag controlling the conditional jumps or branches is replaced, in particular via the software, by at least one bit of the random number register, so that the conditional jumps or branches corresponding to the bit of the Arithmetic Logic Unit are controlled by the bit of the Random Number Register.

10 . A use of a microcontroller as claimed in at least one of claims 1 to 3 and/or of a method as claimed in claim 5 for completely concealing the programming running on the microcontroller, so that at least one program running on the microcontroller is unpredictable and non-reproducible for an external observer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2008
From: KONINKLIJKE PHILIPS ELECTRONICS N.V.
To: NXP B.V.
Reel/Frame 021085/0959 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2005
From: SCHROEDER, JUERGEN; MUELLER, DETLEFT
To: KONINKLIJKE PHILIPS ELECTRONICS N.V.
Reel/Frame 017357/0036 →