Process for secure processing of a sensitive logical element in a storage register, and security module implementing this process
First Claim
1. A process for the secure processing of a sensitive logical element in a storage register containing several sensitive words, each formed of several sensitive logical elements comprising:
- defining a first auxiliary word containing several sensitive logical elements randomly defining a position of one specified sensitive word among other sensitive words of the storage register, which is intended to store said sensitive logical element, and within said one specified sensitive word, the position of one of the sensitive logical elements among the other sensitive logical elements of said one specified sensitive word, the other words of the storage register constituting decoy words;
using the first auxiliary word to select said one specified sensitive word and to store the sensitive logical element in said specified position within said one specified sensitive word.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention relates to a process for the secure processing of a sensitive logical element (S2) in a storage register (30) containing several words (31-38), each formed of several logical elements (L1-L8, S1-S8). The process comprises:
defining a first auxiliary word containing several logical elements randomly defining the position of a sensitive word (36) among the words of the storage register, which is intended to store the sensitive logical element (S2), and within the sensitive word, the position of the sensitive logical element among the logical elements of the sensitive word, the other words (31-35, 37, 38) of the storage register constituting decoy words; and
using the first auxiliary word to select the sensitive word (36) and storing the sensitive logical element (S2) in its position within the sensitive word.
-
Citations
6 Claims
-
1. A process for the secure processing of a sensitive logical element in a storage register containing several sensitive words, each formed of several sensitive logical elements comprising:
-
defining a first auxiliary word containing several sensitive logical elements randomly defining a position of one specified sensitive word among other sensitive words of the storage register, which is intended to store said sensitive logical element, and within said one specified sensitive word, the position of one of the sensitive logical elements among the other sensitive logical elements of said one specified sensitive word, the other words of the storage register constituting decoy words;
using the first auxiliary word to select said one specified sensitive word and to store the sensitive logical element in said specified position within said one specified sensitive word. - View Dependent Claims (2)
in the event that the value to be stored of the sensitive logical element corresponds to the real value of said sensitive logical element, storing said real value; and
in the event that the value to be stored of the sensitive logical element corresponds to the logical complement of its real value, storing the logical complement of said real value.
-
-
3. A process for the secure processing of a sensitive logical element in a storage register containing several words, each formed of several logical elements, comprising:
-
defining a first auxiliary word containing several logical elements randomly defining the position of one specified sensitive word among other sensitive words of the storage register, which is intended to store said sensitive logical element, and within said one specified sensitive word, the position of the sensitive logical element among the logical elements of said one specified word, the other sensitive words of the storage register constituting decoy words;
defining a second auxiliary word containing several logical elements randomly defining, for each decoy word in particular, the position of a decoy logical element among the logical elements of this word; and
successively considering each of the words of the storage register and randomly assigning for the word considered a value to the logical elements of the second auxiliary word, and in the event that the considered word is a decoy word, using the second auxiliary word to store the decoy logical element in its position, and in the event that said considered word is the sensitive word, using the first auxiliary word to store the sensitive logical element in its position. - View Dependent Claims (4, 5)
in the event that the value to be stored of the logical element corresponds to the real value of the logical sensitive element, storing said value; and
in the event that the value to be stored of the logical element corresponds to the logical complement of its real value, storing the logical complement of the real value.
-
-
5. A process according to claim 4 for reading said real value of the stored sensitive logical element, comprising the steps consisting of:
-
using the first auxiliary word to select the one specified sensitive word in the storage register, selecting in said one specified sensitive word the sensitive logical element, and defining whether a stored value of the sensitive logical element corresponds to the real value of the sensitive logical element or to a logical complement of the real value;
in the event that the stored value of the logical element corresponds to the real value of the logical sensitive element, storing said value; and
in the event that the stored value of the logical element corresponds to the logical complement of its real value, reading said value and taking its logical complement.
-
-
6. A security module comprising information processing means and information storage means constructed and arranged to perform a secure processing of a sensitive logical element in a storage register containing several words, each formed of several logical elements:
-
means for defining a first auxiliary word containing several logical elements randomly defining the position of one specified sensitive word among other sensitive words of the storage register, said storage register being adapted to store said sensitive logical element, and within said one specified sensitive word, the position of the sensitive logical element among the logical elements of said one specified sensitive word, the other sensitive words of the storage register constituting decoy words;
means for defining a second auxiliary word containing several logical elements randomly defining, for each decoy word in particular, the position of a decoy logical element among the logical elements of said decoy word;
means for successively considering each of the words of the storage register and randomly assigning for the considered word a value to the logical elements of the second auxiliary word, and in the event that said considered word is a decoy word, using the second auxiliary word to store the decoy logical element in its position, and in the event that said considered word is the sensitive word, using the first auxiliary word to store the sensitive logical element in its position.
-
Specification