IP Library Granted Patent US 9,565,016
Granted Patent B2
US 9,565,016 · App. 14/521,150 · Granted Feb 7, 2017

Protection of the execution of an algorithm against side-channel attacks

Inventors: Alexandre Wostyn (Brussels, BE); Jean-Louis Modave (Ottignies, BE)
Assignee: Proton World International N.V.
H04L9/003G06F12/1408G06F21/558G06F21/72G06F21/77H04L2209/26
View Patent ↗
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 9,565,016
App. No.
14/521,150
Granted
Feb 7, 2017
Kind
B2
Abstract

A protection mechanism for the execution of an encryption algorithm is disclosed. In the mechanism the encryption algorithm has its execution preceded by an update of a counter stored in a reprogrammable non-volatile memory. Storing the value of the counter into the memory corresponds with the execution of the algorithm.

Claims (40)

1. A method to protect execution of an encryption algorithm, comprising:

updating a counter before execution of the encryption algorithm, the counter configured for storage in a reprogrammable non-volatile memory; and

storing a value of the counter into the reprogrammable non-volatile memory during execution of the encryption algorithm, wherein the storing includes:

activating a write function of the reprogrammable non-volatile memory;

writing a value of the counter in the reprogrammable non-volatile memory, the writing of the value corresponding with beginning execution of the encryption algorithm or after execution of the encryption algorithm begins; and

deactivating the write function of the memory.

2. The method of claim 1 wherein

execution of the encryption algorithm: occurs

between the activating and deactivating.

3. The method of claim 1 wherein the encryption algorithm is an AES algorithm.

4. The method of claim 2 , comprising:

analyzing power consumption of a circuit performing the activating, the writing, the executing, and the deactivating.

5. The method of claim 4 wherein analyzing the circuit power consumption includes executing a simple power analysis (SPA) or executing a differential power analysis (DPA).

6. The method of claim 1 , comprising:

verifying the value is within a threshold before executing the encryption algorithm; and

prohibiting the act of executing the encryption algorithm if the value is outside of the threshold.

7. An encryption algorithm execution circuit, comprising:

a reprogrammable non-volatile memory;

a counting circuit wherein a count value produced by the counting circuit is storable in the reprogrammable non-volatile memory; and

a processing unit to execute an encryption algorithm, the processing unit configured to enable a write function in the reprogrammable non-volatile memory, concurrently execute the encryption algorithm and store the storable count value in the reprogrammable nonvolatile memory, and disable the write function in the reprogrammable non-volatile memory,

wherein storing the storable count value in the reprogrammable non-volatile memory corresponds with beginning execution of the encryption algorithm or after execution of the encryption algorithm has begun.

8. The encryption algorithm execution circuit of claim 7 wherein the processing unit is configured to begin storing the count value and begin executing the encryption algorithm at about a same time.

9. The encryption algorithm execution circuit of claim 7 wherein a time between beginning to store the count value and beginning to execute the encryption algorithm is random.

10. The encryption algorithm execution circuit of claim 7 wherein an amount of time to complete storing the count value and an amount of time to execute the encryption algorithm is substantially equal.

11. The encryption algorithm execution circuit of claim 7 wherein the reprogrammable non-volatile memory is an EEPROM.

12. A method, comprising:

activating charge pump circuits of a reprogrammable non-volatile memory;

storing a valid count value in the reprogrammable non-volatile memory; and

concurrent with the storing, executing an encryption algorithm, wherein storing the valid count value in the reprogrammable non-volatile memory corresponds with beginning execution of the encryption algorithm or after execution of the encryption algorithm has begun; and

deactivating the write function of the memory.

13. The method of claim 12 , comprising:

checking a first count value; and

based on the first count value, updating the first count value to produce the valid count value and permitting the activating, the storing, and the executing.

14. The method of claim 13 , comprising:

if the first count value is outside a threshold, prohibiting the activating, the storing, and the executing.

15. The method of claim 12 , comprising:

deactivating the charge pump circuits of the reprogrammable non-volatile memory.

16. The method of claim 12 wherein the encryption algorithm is an AES algorithm.

17. The method of claim 15 wherein the act of activating the charge pump circuits begins before executing the encryption algorithm and the act of deactivating the charge pump circuits ends after executing the encryption algorithm.

18. The method of claim 12 wherein the act of activating the charge pump circuits begins at a time t 1 and the act of executing the encryption algorithm begins at a time t 2 and wherein the time between t 1 and t 2 is a random time less than the time to execute the encryption algorithm.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2022
From: PROTON WORLD INTERNATIONAL N.V.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 061796/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2014
From: WOSTYN, ALEXANDRE; MODAVE, JEAN-LOUIS
To: PROTON WORLD INTERNATIONAL N.V.
Reel/Frame 034022/0662 →
Priority Claims (1)
FR 13 60300 · Oct 23, 2013 · national
Continuity (1)
Related Publication 20150110265A1 · Apr 23, 2015