IP Library Granted Patent US 9,871,651
Granted Patent B2
US 9,871,651 · App. 14/607,137 · Granted Jan 16, 2018

Differential power analysis countermeasures

Inventor: Yaacov Belenky (Maaleh Adumim, IL)
Assignee: Cisco Technology, Inc.
H04L9/003H04L2209/08
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,871,651
App. No.
14/607,137
Granted
Jan 16, 2018
Kind
B2
Abstract

An electronic device includes a plurality of logic units, which have respective inputs and outputs and are arranged in a ring topology, such that an input of each of the logic units is coupled to an output of another of the logic units. Each of the logic units includes respective processing logic, which is identical to and operates in synchrony with the processing logic of the other logic units to process respective data values using at least one secret value stored in the device. The logic units are coupled, at an initial cycle of the device, to receive respective input values that are mutually uncorrelated. At subsequent cycles of the device, each of the logic units receives and operates on intermediate values that are output by another of the logic units.

Claims (37)

1. An electronic device, comprising:

a device input, coupled to receive a first input value;

a device output; and

a logic core, coupled to the device input so as to receive and process the first input value using a secret value stored in the logical core so as to provide an output value at the device output, the logic core comprising:

an input generator, configured to provide a second input value that is uncorrelated with the first input value; and

a plurality of logic units implemented in hardware, consisting essentially of:

a first logic unit, comprising a first logic input, which is coupled to receive, at an initial cycle of the device, the first input value from the device input and to receive, at subsequent cycles of the device, first intermediate values generated by another one of the logic units; and first processing logic configured to operate on first data values provided by the first logic input using the secret value, thereby generating second intermediate values; and

a second logic unit, comprising a second logic input, which is coupled to receive the second input value from the input generator at the initial cycle of the device and to receive, at subsequent cycles of the device, the second intermediate values; and second processing logic identical to the first processing logic and configured to operate, in synchrony with the first processing logic, on second data values provided by the second logic input, thereby generating further intermediate values for input to a further one of the logic units.

2. The device according to claim 1 , wherein the input generator comprises a random data generator, such that the second input value is a random value.

3. The device according to claim 1 , wherein the first logic input is coupled to receive, at the subsequent cycles of the device, the further intermediate values generated by the second processing logic, whereby the first intermediate values comprise the further intermediate values.

4. The device according to claim 1 , wherein the plurality of the logic units comprises a third logic unit, comprising a third logic input, which is coupled to receive the further intermediate values generated by the second processing logic, and third processing logic identical to the first and second processing logic and configured to operate, in synchrony with the first and second processing logic, on third data values provided by the third logic input.

5. The device according to claim 4 , wherein the first logic input is coupled to receive, at the subsequent cycles of the device, third intermediate values generated by the third processing logic for processing by the first processing logic, whereby the first intermediate values comprise the third intermediate values.

6. The device according to claim 1 , wherein the second processing logic is configured to operate on the second data values using the same secret value as the first processing logic.

7. The device according to claim 1 , wherein the second processing logic is configured to operate on the second data values using another secret value, different from the secret value used by the first processing logic.

8. A method, comprising: receiving, at a device input of a device comprising a plurality of logic units implemented in hardware, a first input value;

providing, in the device, a second input value that is uncorrelated with the first input value; and

processing the first and second input values in a logic core consisting essentially of a plurality of logic units, using a secret value stored in the device, so as to provide an output value at a device output of the device,

wherein the plurality of the logic units consist essentially of:

a first logic unit, comprising a first logic input, which receives, at an initial cycle of the device, the first input value from the device input and receives, at subsequent cycles of the device, first intermediate values generated by another one of the logic units; and first processing logic operating on first data values provided by the first logic input using the secret value to generate second intermediate value; and

a second logic unit, comprising a second logic input, which receives the second input value at the initial cycle of the device and receives, at subsequent cycles of the device, the second intermediate values; and second processing logic identical to the first processing logic and operating in synchrony with the first processing logic on second data values provided by the second logic input to generate further intermediate values for input to a further one of the logic units.

9. The method according to claim 8 , wherein providing the second input value comprises generating a random value.

10. The method according to claim 8 , wherein processing the first and second input values comprises receiving, at the first logic input, at the subsequent cycles of the device, the further intermediate values generated by the second processing logic, whereby the first intermediate values comprise the further intermediate values.

11. The method according to claim 8 , wherein the plurality of the logic units comprises a third logic unit, comprising a third logic input, which receives the further intermediate values generated by the second processing logic, and third processing logic identical to the first and second processing logic and operating in synchrony with the first and second processing logic, on third data values provided by the third logic input.

12. The method according to claim 11 , wherein processing the first and second input values comprises receiving, at the first logic input, at the subsequent cycles of the device, third intermediate values generated by the third processing logic for processing by the first processing logic, whereby the first intermediate values comprise the third intermediate values.

13. The method according to claim 8 , wherein processing the first and second input values comprises operating on the second data values in the second processing logic using the same secret value as the first processing logic.

14. The method according to claim 8 , wherein processing the first and second input values comprises operating on the second data values in the second processing logic using another secret value, different from the secret value used by the first processing logic.

15. An electronic device, consisting essentially of a plurality of logic units implemented in hardware, which have respective inputs and outputs and are arranged in a ring topology, such that an input of each of the logic units is coupled to an output of another of the logic units,

wherein each of the logic units comprises respective processing logic, which is identical to and operates in synchrony with the processing logic of the other logic units to process respective data values using at least one secret value stored in the device,

wherein the logic units are coupled, at an initial cycle of the device, to receive respective input values that are mutually uncorrelated, and

wherein at subsequent cycles of the device, each of the logic units receives and operates on intermediate values that are output by another of the logic units.

16. The device according to claim 15 , and comprising:

a device input, which is configured to receive a first input value for input to one of the logic units at the initial cycle; and

at least one input generator, which is configured to provide at least one second input value, uncorrelated with the first input value, for input to at least one other of the logic units.

17. The device according to claim 16 , wherein the input generator is inaccessible from outside the device.

18. The device according to claim 16 , wherein the at least one second input value comprises a random value.

19. The device according to claim 16 , and comprising a device output, which is configured to provide an output value, depending on the first input value, after processing of the first input value by the logic units in the ring topology.

20. The device according to claim 15 , wherein the plurality of the logic units comprises first and second logic units, having respective first and second inputs and outputs, wherein the first input is coupled to the second output and the second input is coupled to the first output.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2015
From: BELENKY, YAACOV
To: CISCO TECHNOLOGY, INC.
Reel/Frame 034839/0271 →
Priority Claims (1)
IL 233164 · Jun 16, 2014 · national
Continuity (1)
Related Publication 20150365228A1 · Dec 17, 2015