IP Library › Granted Patent US 11,476,872
Granted Patent B2
US 11,476,872 · App. 16/504,863 · Granted Oct 18, 2022

Protection against side-channel attacks

Inventors: Florian Mendel (Munich, DE); Bernd Meyer (Munich, DE)
Assignee: Infineon Technologies AG
H03M13/271G06F21/755H03M13/2742H04L9/003
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 11,476,872
App. No.
16/504,863
Granted
Oct 18, 2022
Kind
B2
Abstract

A method is proposed for copying a source array into a target array, wherein both the source array and the target array have at least two elements, wherein each element has a value, in which the elements of the source array are copied into the target array in the sequence of a random permutation, wherein, after a step of copying an element of the source array into the target array, the source array, the target array or the source array and the target array are rotated. A device is also indicated accordingly.

Claims (22)

1. A method for copying data elements of a source array into a target array, wherein both the source array and the target array have at least two data elements, wherein each data element has a value, the method comprising:

copying the data elements of the source array into the target array in the sequence of a permutation of the order in which the data elements appear in the source array,

wherein after each copying of a data element of the source array into the target array, the source array, the target array, or the source array and the target array are permutated.

2. The method of claim 1 , in which at least one cyclic shift register is provided for the source array and the target array to store the at least two data elements.

3. The method of claim 1 , in which a loop is provided which predefines a number of iterations which corresponds to the number of the at least two data elements, wherein, for each iteration,

the value is copied from the source array into the target array according to the sequence of the random permutation,

the source array and the target array are rotated through a predefined position.

4. The method of claim 1 , in which a loop is provided which predefines a number of iterations which corresponds to the number of the at least two data elements, wherein, for each iteration,

the value is copied from the source array into the target array according to the sequence of the permutation,

the source array is rotated through a first number of positions, wherein the first number is defined by a first digit,

the target array is rotated through a second number of positions, wherein the second number is defined by a second digit,

wherein the first random number and the second random number are in each coprime to the number of data elements of the respective array.

5. The method of claim 4 , in which the first number and/or the second number is/are in each case a random number or a deterministically defined number.

6. The method of claim 4 , in which the first number and the second number are defined for the total number of iterations.

7. The method of claim 1 , wherein the copying is for the initialization of at least one key register.

8. The method of claim 1 , in which each data element has a value which is representable by at least one bit.

9. A non-transitory computer-readable storage medium comprising instructions executable by a computer which are suitable so that the computer carries out steps of the method as claimed in claim 1 .

10. The method of claim 1 , wherein the data elements copied from the source array to the target array are elements of a cryptographic key.

11. A device for copying data elements of a source array into a target array, wherein both the source array and the target array have at least two data elements, wherein each data element has a value, the device comprising a processing circuit configured to carry out the following steps:

copying the data elements of the source array into the target array in the sequence of a permutation of the order in which the data elements appear in the source array,

rotating the source array, the target array or the source array and the target array after each copying of a data element of the source array into the target array.

12. The method of claim 11 , wherein the data elements copied from the source array to the target array are elements of a cryptographic key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2019
From: MENDEL, FLORIAN; MEYER, BERND
To: INFINEON TECHNOLOGIES AG
Reel/Frame 050630/0262 →
Continuity (1)
Related Publication 20200014404A1 · Jan 9, 2020