FR3035532A1 - DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT - Google Patents

DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT Download PDF

Info

Publication number
FR3035532A1
FR3035532A1 FR1553724A FR1553724A FR3035532A1 FR 3035532 A1 FR3035532 A1 FR 3035532A1 FR 1553724 A FR1553724 A FR 1553724A FR 1553724 A FR1553724 A FR 1553724A FR 3035532 A1 FR3035532 A1 FR 3035532A1
Authority
FR
France
Prior art keywords
electronic component
subset
code words
code
physical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1553724A
Other languages
French (fr)
Other versions
FR3035532B1 (en
Inventor
Houssem Maghrebi
Victor Servant
Julien Bringer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia Identity & Security France Fr
Original Assignee
Morpho SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Morpho SA filed Critical Morpho SA
Priority to FR1553724A priority Critical patent/FR3035532B1/en
Publication of FR3035532A1 publication Critical patent/FR3035532A1/en
Application granted granted Critical
Publication of FR3035532B1 publication Critical patent/FR3035532B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention propose un procédé d'encodage, par un composant électronique, d'une donnée de n bits en un mot de code de m bits, caractérisé en ce que le mot de code codant la donnée est choisi dans un sous-ensemble de 2n mots de code parmi l'ensemble des 2m mots de code possibles, tel que la variance des émanations physiques du composant électronique lors de l'utilisation des mots de code du sous-ensemble sur la variance du bruit du composant électronique est inférieure ou égale à un seuil prédéterminé ou tel qu'une différence maximale, entre deux mots de code du sous-ensemble, d'émanations physiques du composant électronique lors de l'utilisation des mots de code, est minimale parmi tous les sous-ensembles de 2n mots de code compris dans l'ensemble.The invention proposes a method of encoding, by an electronic component, an n-bit data item into a m-bit code word, characterized in that the code word coding the data item is chosen from a subset of 2n code words out of the set of possible 2m code words, such that the variance of the physical emanations of the electronic component when using the subset codewords on the noise variance of the electronic component is less than or equal to at a predetermined threshold or such that a maximum difference, between two code words of the subset, of physical emanations of the electronic component when using the code words, is minimal among all subsets of 2n words of code included in the set.

Description

1 DOMAINE DE L'INVENTION Le domaine de l'invention est celui de l'encodage de données par des composants électroniques, pour sécuriser leur utilisation ultérieure. L'invention s'applique notamment à l'encodage de données de type clé secrète ou code PIN, pour des composants électroniques de type carte à puce. ETAT DE LA TECHNIQUE De nombreux composants électroniques, tels que par exemple des cartes à puces, mettent en oeuvre des opérations de calcul ou de comparaison sur des données secrètes. Certaines applications de ces opérations sont par exemple des applications bancaires, des applications pour téléphonie mobile, etc. Les opérations sur les données secrètes peuvent faire l'objet d'attaques pour déterminer lesdites données secrètes. Certaines de ces attaques, dites « sides channels » en anglais ou encore attaques sur canaux cachés, consistent à étudier le comportement physique du composant électronique, notamment en termes de fuites électromagnétiques, ou encore en termes de variations de consommation électrique, ou de temps de réponse. Par exemple, pour un composant électronique de type carte à puce, dont l'activation est conditionnée à la saisie d'un code secret, il est connu de surveiller l'évolution de la consommation électrique lors de la saisie du code pour déterminer le code. Pour lutter contre ce type d'attaque, des contre-mesures ont déjà été proposées, comme par exemple dans le document VVO 2014/131546 de la Demanderesse. Les contre-mesures existantes sont basées sur l'hypothèse selon laquelle le degré de fuite d'informations d'un composant électrique sur un canal caché dépend linéairement du poids de Hamming de la donnée manipulée, de sorte que la manipulation de données de poids de Hamming identiques induit des fuites identiques. Il a donc été proposé d'encoder des données avec des mots de code de poids de Hamming constant pour rendre constant les courants de fuite (c'est-à-dire la consommation électrique du composant lors de l'utilisation des mots de code) et 3035532 2 ainsi rendre indifférenciée l'utilisation d'une donnée secrète de celle de toute autre donnée. Or l'implémentation de ces contre-mesures montre que la relation entre la consommation du composant électronique et le poids de Hamming du mot de code 5 utilisé n'est pas exactement linéaire, de sorte qu'a mot de code de poids de Hamming constant, des variations de consommation électrique existent. Par conséquent les contre-mesures proposées ne sont pas parfaitement fiables.FIELD OF THE INVENTION The field of the invention is that of the encoding of data by electronic components, to secure their subsequent use. The invention applies in particular to the encoding of secret key type data or PIN code, for electronic components of the smart card type. STATE OF THE ART Many electronic components, such as, for example, smart cards, implement calculation or comparison operations on secret data. Some applications of these operations are for example banking applications, applications for mobile telephony, etc. Operations on the secret data can be attacked to determine said secret data. Some of these attacks, known as "sides channels" in English or attacks on hidden channels, consist in studying the physical behavior of the electronic component, in particular in terms of electromagnetic leakage, or in terms of variations in electrical consumption, or time of reply. For example, for an electronic component of the smart card type, the activation of which is conditional on the input of a secret code, it is known to monitor the evolution of the power consumption when entering the code to determine the code . To fight against this type of attack, countermeasures have already been proposed, as for example in VVO document 2014/131546 of the Applicant. The existing countermeasures are based on the assumption that the degree of information leakage of an electrical component on a hidden channel is linearly dependent on the Hamming weight of the data handled, so that the manipulation of Identical Hamming induces identical leaks. It has therefore been proposed to encode data with constant Hamming weight code words to make the leakage currents (that is, the power consumption of the component when using the code words) constant. and thus to make the use of a secret datum undifferentiated from that of any other datum. However, the implementation of these countermeasures shows that the relationship between the consumption of the electronic component and the Hamming weight of the code word used is not exactly linear, so that a constant Hamming weight code word , variations in power consumption exist. Therefore the proposed countermeasures are not perfectly reliable.

10 PRESENTATION DE L'INVENTION L'invention a pour but de pallier les inconvénients de l'art antérieur, en proposant un procédé d'encodage de données qui soit plus fiable que les contre-mesures de l'art antérieur.SUMMARY OF THE INVENTION The object of the invention is to overcome the drawbacks of the prior art, by proposing a method of encoding data that is more reliable than the countermeasures of the prior art.

15 A cet égard, l'invention a pour objet un procédé d'encodage, par un composant électronique, d'une donnée de n bits en un mot de code de m bits, caractérisé en ce que le mot de code codant la donnée est choisi dans un sous-ensemble de 2n mots de code parmi l'ensemble des 2m mots de code possibles, tel que la variance des émanations physiques du composant électronique lors de 20 l'utilisation des mots de code du sous-ensemble sur la variance du bruit du composant électronique est inférieure ou égale à un seuil prédéterminé ou tel qu'une différence maximale, entre deux mots de code du sous-ensemble, d'émanations physiques du composant électronique lors de l'utilisation des mots de code, est minimale parmi tous les sous-ensembles de 2n mots de code compris 25 dans l'ensemble. Avantageusement, mais facultativement, le procédé selon l'invention peut en outre comprendre au moins l'une des caractéristiques suivantes : - Le procédé peut comprendre une étape de construction du sous-ensemble 30 des mots de code à choisir pour l'encodage. - La construction du sous-ensemble peut comprendre une étape préliminaire de détermination d'un niveau d'émanation physique du composant électronique pour chacun des 2m mots de code possibles. 3035532 3 - un niveau d'émanation physique du composant électronique pour un mot de code peut être calculé à partir d'un ensemble de m valeurs de consommation électrique élémentaire, chaque valeur correspondant à la consommation d'un bit d'un rang donné dans le mot de code. 5 - Le niveau d'émanation physique du composant électronique pour un mot de code peut être calculé selon la formule : C = aixi où a, est la consommation électrique élémentaire du composant pour le bit de rang i, et x, est la valeur du bit de rang i. - Le procédé peut en outre comprendre les étapes consistant à: 10 o calculer, pour au moins un sous-ensemble de 2n mots de code parmi l'ensemble des 2m mots de code, une valeur de ratio de la variance des émanations physiques du composant électronique lors de l'utilisation des mots de code du sous-ensemble sur la variance du bruit du composant électronique, 15 o comparer ladite valeur au seuil prédéterminé, et o si la valeur est inférieure audit seuil pour au moins un sous- ensemble, générer le sous-ensemble des mots de code à choisir pour l'encodage comme un sous-ensemble pour lequel la valeur est inférieure audit seuil. 20 - Si la valeur de ratio est supérieure au seuil pour tous les sous- ensembles de 2n mots de code parmi l'ensemble des 2m mots de code, le procédé peut en outre comprendre une étape de construction du sous-ensemble des mots de code à choisir pour l'encodage tel qu'une différence maximale, entre deux mots de code du sous-ensemble, 25 d'émanations physiques du composant électronique lors de l'utilisation des mots de code, est minimale parmi tous les sous-ensembles de 2n mots de code compris dans l'ensemble. - le sous-ensemble de 2n mots de code peut être construit par la mise en oeuvre des étapes consistant à: 30 o classer les mots de code par ordre de consommation électrique du composant électronique dans un tableau indexé, 3035532 4 o déterminer un index jo d'un mot de code du tableau pour lequel une différence de consommation électrique entre le mot de code d'indice jo et le mot de code d'indice jo + 2n est minimale, et o former le sous-ensemble avec les mots de code d'indice j compris 5 entre jo et j0+2. - Les émanations physiques du composant électronique peuvent comprendre une consommation électrique du composant ou un rayonnement électromagnétique du composant. - L'étape préliminaire peut être mise en oeuvre par le composant électronique, 10 ou par une unité de traitement distincte du composant électronique. L'invention a également pour objet un produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre du procédé selon la description qui précède lorsqu'il est exécuté par un processeur.In this regard, the subject of the invention is a method of encoding, by an electronic component, n-bit data into a m-bit code word, characterized in that the codeword coding the data is selected from a subset of 2n codewords from the set of possible 2m code words, such as the variance of the physical emanations of the electronic component when using the subset codewords on the variance of the noise of the electronic component is less than or equal to a predetermined threshold or such that a maximum difference, between two code words of the subset, of physical emanations of the electronic component when using the code words, is minimal among all subsets of 2n code words included in the set. Advantageously, but optionally, the method according to the invention may further comprise at least one of the following features: The method may comprise a step of constructing the subset of the code words to be chosen for encoding. The construction of the subset may comprise a preliminary step of determining a physical emanation level of the electronic component for each of the possible 2 m codewords. A level of physical emanation of the electronic component for a code word can be calculated from a set of m elementary power consumption values, each value corresponding to the consumption of a bit of a given rank in the code word. 5 - The level of physical emanation of the electronic component for a codeword can be calculated according to the formula: C = aixi where a, is the elementary electrical consumption of the component for the bit of rank i, and x, is the value of the bit of rank i. The method may further comprise the steps of: calculating, for at least a subset of 2n codewords from the set of 2m codewords, a ratio value of the variance of the component's physical emanations when the code words of the subset are used on the variance of the noise of the electronic component, o compare said value with the predetermined threshold, and o if the value is below said threshold for at least one subset, generate the subset of the codewords to be chosen for the encoding as a subset for which the value is below said threshold. If the ratio value is greater than the threshold for all subsets of 2n code words out of the set of 2m codewords, the method may further comprise a step of constructing the subset of the codewords. to choose for the encoding such as a maximum difference between two subset code words, physical emanations of the electronic component when using the code words, is minimal among all subsets of 2n code words included in the set. the subset of 2n codewords can be constructed by implementing the steps of: classifying the code words in order of electrical consumption of the electronic component in an indexed array, determining an index jo a code word of the array for which a difference in power consumption between the index code word jo and the index code word jo + 2n is minimal, and o form the subset with the code words of index j inclusive 5 between jo and j0 + 2. The physical emanations of the electronic component may comprise an electrical consumption of the component or an electromagnetic radiation of the component. The preliminary step may be carried out by the electronic component, or by a separate processing unit of the electronic component. The invention also relates to a computer program product, comprising code instructions for implementing the method according to the preceding description when it is executed by a processor.

15 L'invention a enfin pour objet un composant électronique, comprenant un processeur configuré pour la mise en oeuvre du procédé selon la description qui précède, ce composant électronique pouvant être une carte à puce.Finally, the subject of the invention is an electronic component, comprising a processor configured for implementing the method according to the preceding description, this electronic component possibly being a smart card.

20 Le procédé d'encodage selon l'invention est plus fiable que les procédés de l'art antérieur. En effet, il est basé sur une modélisation des courants de fuite plus précise qu'auparavant, selon laquelle chaque bit d'une donnée induit une consommation électrique ou un rayonnement électromagnétique différent du composant électronique manipulant ladite donnée.The encoding method according to the invention is more reliable than the methods of the prior art. Indeed, it is based on modeling leakage currents more accurate than before, according to which each bit of a data induces an electrical consumption or an electromagnetic radiation different from the electronic component manipulating said data.

25 Le procédé tient compte de cette modélisation en sélectionnant, parmi un ensemble de mots de code possible pour coder une donnée sur un nombre de bits déterminé, un sous-ensemble de mots de code utilisables, pour lesquelles les consommations électriques du composant sont les plus proches les unes des autres.The method takes this modeling into account by selecting, from among a set of possible codewords for coding data on a given number of bits, a subset of usable code words, for which the component's electrical consumptions are the most significant. close to each other.

30 Ceci permet en particulier de réduire les différences de consommation par rapport à une contre-mesure basée sur un poids de Hamming constant, et rend donc plus difficilement différenciables les données utilisées par un composant électronique.This makes it possible in particular to reduce the differences in consumption with respect to a countermeasure based on a constant Hamming weight, and thus makes it more difficult to differentiate the data used by an electronic component.

3035532 5 DESCRIPTION DES FIGURES D'autres caractéristiques, buts et avantages de la présente invention apparaîtront à la lecture de la description détaillée qui va suivre, au regard des figures annexées, données à titre d'exemples non limitatifs et sur lesquelles : 5 - La figure 1 représente schématiquement un composant électronique devant traiter une ou plusieurs données secrètes, - La figure 2 représente schématiquement la sélection des mots de code du sous-ensemble pour l'encodage conforme à un mode de réalisation de l'invention, 10 - La figure 3 représente les principales étapes d'un exemple de mise en oeuvre du procédé d'encodage. - La figure 4 illustre des résultats obtenus par la mise en oeuvre du procédé d'encodage.DESCRIPTION OF THE FIGURES Other characteristics, objects and advantages of the present invention will appear on reading the following detailed description, with reference to the appended figures, given by way of non-limiting examples and in which: FIG. 1 schematically represents an electronic component to process one or more secret data; FIG. 2 diagrammatically represents the selection of the codewords of the subset for the encoding according to one embodiment of the invention, FIG. 3 represents the main steps of an exemplary implementation of the encoding method. FIG. 4 illustrates results obtained by implementing the encoding method.

15 DESCRIPTION DETAILLEE D'AU MOINS UN MODE DE MISE EN OEUVRE En référence à la figure 1, on a représenté un exemple de composant électronique encodant des données, dont notamment des données secrètes de type code secret. Ce composant électronique 1 est avantageusement une carte à puce, 20 comprenant un processeur 10, une mémoire 11 et une interface de communication 12, avec ou sans contact, avec un lecteur et/ou tout autre unité de traitement. Le processeur 10 est configuré pour encoder des données, les données étant des séquences de n bits, en mots de code, les mots de code étant des séquences de m bits, avec m strictement supérieur à n.DETAILED DESCRIPTION OF AT LEAST ONE MODE OF IMPLEMENTATION Referring to FIG. 1, there is shown an example of an electronic component encoding data, including secret data of the secret code type. This electronic component 1 is advantageously a smart card, comprising a processor 10, a memory 11 and a communication interface 12, with or without contact, with a reader and / or any other processing unit. The processor 10 is configured to encode data, the data being n-bit sequences, into codewords, the codewords being m-bit sequences, with m strictly greater than n.

25 Procédé d'encodage de données En référence à la figure 3, on a représenté les principales étapes d'un procédé d'encodage d'une donnée mis en oeuvre par le composant électronique 1 décrit ci-avant.Data Encoding Method With reference to FIG. 3, the main steps of a data encoding method implemented by the electronic component 1 described above have been represented.

30 Ce procédé est basé sur une modélisation affinée des fuites électromagnétiques d'un composant électronique lors de la manipulation d'un mot de code. En effet, il s'avère que chaque bit d'une variable X fuit différemment en fonction de son rang, de sorte que la consommation électrique totale ou le 3035532 6 rayonnement électromagnétique total C du composant électronique pour la variable X peut s'écrire comme suit : C = aixi Où ai est un coefficient statistique de pondération, et xi est le bit de rang i de la variable X, égal à 0 ou 1.This method is based on a refined modeling of the electromagnetic leakage of an electronic component during the manipulation of a code word. Indeed, it turns out that each bit of a variable X leaks differently depending on its rank, so that the total power consumption or the total electromagnetic radiation C of the electronic component for the variable X can be written as follows: C = aixi Where ai is a statistical weighting coefficient, and xi is the bit of rank i of the variable X, equal to 0 or 1.

5 Le procédé décrit ci-après tient compte de cette modélisation affinée. Il comprend une étape 200 d'encodage d'une donnée de n bits en un mot de code de m bits. Le mot de code est utilisé pour représenter la donnée dans des 10 opérations ultérieures telles que des opérations de chiffrement, de déchiffrement, des opérations arithmétiques, etc, la donnée est remplacée ou représentée par le mot de code. Lors de cette étape 200 d'encodage, le mot de code est choisi parmi un sous-ensemble SE comprenant 2n mots de code, parmi l'ensemble E des 2m mots 15 de code d'une longueur de m bits possibles. Le sous-ensemble SE est sélectionné, en fonction des coefficients de pondération de fuite du composant correspondant à des bits respectifs, pour augmenter la résistance du composant aux attaques par canaux cachés en diminuant des variations de consommation électrique ou de rayonnement 20 électromagnétique du composant électronique 1 lorsque le composant utilise les mots de code du sous-ensemble ensemble. Dans toute la suite, on désigne par le terme général « émanation physique » la consommation électrique ou le rayonnement électromagnétique du composant électronique lors de l'utilisation d'un mot de code, cette utilisation pouvant être une 25 opération de comparaison du mot de code avec un code secret, une opération arithmétique, ou plus généralement toute opération induisant la mise à jour d'un registre interne du composant lors d'une manipulation du mot de code. Ainsi, le procédé d'encodage 200 comprend avantageusement une étape 30 préliminaire 100 de génération du sous-ensemble SE. Cette étape peut être mise en oeuvre par une unité de traitement distincte du composant électronique 1, et dans ce 3035532 7 cas les mots de code composant le sous-ensemble SE sont ensuite stockés dans la mémoire du composant électronique. Alternativement, le composant électronique 1 génère lui-même le sous-ensemble SE et mémorise ensuite les mots de code le composant.The method described hereinafter takes into account this refined modeling. It comprises a step 200 of encoding n-bit data into a m-bit code word. The code word is used to represent the data in subsequent operations such as encryption, decryption operations, arithmetic operations, etc., the data is replaced or represented by the code word. During this encoding step 200, the codeword is chosen from a subset SE comprising 2n code words, from the set E of the 2m codewords with a length of m possible bits. The subset SE is selected, according to the leakage weighting coefficients of the component corresponding to respective bits, to increase the resistance of the component to the hidden channel attacks by decreasing electrical power or electromagnetic radiation variations of the electronic component. 1 when the component uses the codewords of the subset together. In the following, the general term "physical emanation" refers to the electrical consumption or the electromagnetic radiation of the electronic component when using a code word, this use being able to be a comparison operation of the code word. with a secret code, an arithmetic operation, or more generally any operation inducing the updating of an internal register of the component during a manipulation of the code word. Thus, the encoding method 200 advantageously comprises a preliminary step 100 of generating the subset SE. This step can be implemented by a separate processing unit of the electronic component 1, and in this case the code words composing the subset SE are then stored in the memory of the electronic component. Alternatively, the electronic component 1 itself generates the subset SE and then stores the code words component.

5 L'étape de génération du sous-ensemble SE est avantageusement mise en oeuvre comme suit. Une première sous-étape 110 comprend la détermination d'un niveau d'émanation physique du composant électronique 1, par exemple un niveau de consommation électrique, lorsque celui-ci utilise un mot de code, pour tous les mots 10 de code possibles de l'ensemble E des mots de code de m bits. Cette étape peut être mise en oeuvre empiriquement, en mesurant la consommation électrique ou le rayonnement électromagnétique du composant électronique lors d'une utilisation de ce composant qui est identique pour tous les mots de code. Cette utilisation est dans ce cas typiquement une opération de 15 comparaison du mot de code avec un code secret, une opération arithmétique, ou plus généralement toute opération induisant la mise à jour d'un registre interne du composant. Alternativement, et de préférence, cette sous-étape est mise en oeuvre en calculant la consommation électrique totale ou le rayonnement électromagnétique 20 du composant électronique lors de l'utilisation d'un mot de code, à partir des fuites élémentaires a, correspondant à la part de consommation ou de rayonnement de chaque bit du mot de code. Ainsi à la sous-étape 110, les émanations physiques du composant électronique 1 pour tous les mots de code de l'ensemble sont-elles plus 25 avantageusement calculées à partir de l'équation indiquée précédemment, et des coefficients a, de consommation correspondant à chaque rang des bits. Ces coefficients sont avantageusement déterminés par une analyse statistique de la consommation d'un composant électrique en fonction des mots de code utilisés. Avantageusement, cette analyse est une analyse stochastique basée sur 30 une régression linéaire de la consommation du composant électronique en fonction des mots de code utilisés, pour caractériser la relation qui relie la consommation et les mots de code. On peut par exemple se référer à la publication de W. Schindler, K. Lemke et C. Paar, « A Stochastic Model for Differential Side Channel 3035532 8 Cryptanalysis », CHES 2005 in Lecture Notes in Computer Science volume 3659 pour la mise en oeuvre d'une telle analyse. Une fois cette étape réalisée, on obtient un ensemble de 2m valeurs de consommations électriques correspondant aux 2m mots de code possibles.The step of generating the subset SE is advantageously implemented as follows. A first substep 110 includes determining a physical emanation level of the electronic component 1, for example a power consumption level, when using a code word, for all possible code words of the electronic component 1. set E of code words of m bits. This step can be implemented empirically, by measuring the power consumption or the electromagnetic radiation of the electronic component when using this component which is identical for all the codewords. This use is in this case typically an operation of comparing the code word with a secret code, an arithmetic operation, or more generally any operation inducing the updating of an internal register of the component. Alternatively, and preferably, this sub-step is implemented by calculating the total electrical consumption or the electromagnetic radiation of the electronic component when using a code word, from the elementary leaks a, corresponding to the the consumption or radiation portion of each bit of the codeword. Thus, in sub-step 110, the physical emanations of the electronic component 1 for all the code words in the set are more advantageously calculated from the equation indicated above, and the coefficients a, of consumption corresponding to each rank of the bits. These coefficients are advantageously determined by a statistical analysis of the consumption of an electrical component as a function of the codewords used. Advantageously, this analysis is a stochastic analysis based on a linear regression of the consumption of the electronic component as a function of the code words used, to characterize the relationship that links the consumption and the codewords. One can for example refer to the publication of W. Schindler, K. Lemke and C. Paar, "A Stochastic Model for Differential Side Channel 3035532 8 Cryptanalysis", CHES 2005 in Lecture Notes in Computer Science volume 3659 for implementation such an analysis. Once this step is completed, we obtain a set of 2m electrical consumption values corresponding to the possible 2m codewords.

5 Le sous-ensemble est ensuite sélectionné comme comprenant des mots de code pour lesquels le ratio signal sur bruit du composant électronique lors de l'utilisation des mots de code du sous-ensemble est inférieur à un seuil déterminé en fonction d'un niveau de sécurité exigé. A défaut de disposer d'un sous-ensemble 10 de 2n mots de code satisfaisant à ce niveau de sécurité, les mots de code du sous- ensemble SE sont choisis de sorte qu'une différence maximale d'émanation physique du composant électronique parmi des mots de code du sous-ensemble soit minimale parmi tous les sous-ensembles possibles.The subset is then selected as comprising code words for which the signal-to-noise ratio of the electronic component when using the codewords of the subset is less than a threshold determined according to a level of security required. If a subset 10 of 2n codewords satisfying this security level is not available, the code words of the subset SE are chosen so that a maximum difference of physical emanation of the electronic component among codewords from the subset is minimal among all possible subsets.

15 On va décrire en détail la construction du sous-ensemble satisfaisant à ces exigences. D'abord, une sous-étape 120 est mise en oeuvre pour déterminer un sous-ensemble éventuel pour lequel le ratio signal sur bruit du composant électronique est inférieur à un seuil déterminé. Le signal sur bruit est en effet un indicateur de 20 sécurité car plus il est faible, et plus il est difficile de déterminer le mot de code manipulé par le composant électronique. La sous-étape 120 comprend d'abord la fixation 121 d'une valeur seuil de ratio signal sur bruit à atteindre pour obtenir un niveau de sécurité satisfaisant. Le seuil sur la valeur du ratio signal sur bruit est déterminé en fonction des 25 besoins en sécurité pour un composant électronique donné. Par exemple, l'article de Stefan Mangard, « Hardware Countermeasures against DPA - A Statistical Analysis of Their Effectivenes (CT-RSA, volume 2964 of Lecture Notes in Computer Science, pages 222-235, Springer, 2004) donne un lien entre le ratio signal sur bruit et le nombre d'échantillons statistiques nécessaires pour réussir une attaque, ce qui 30 correspond directement au taux de succès d'une attaque, comme visible dans la figure 4 décrite ci-après. Par exemple, on cherche à imposer l'utilisation de 100000 échantillons statistiques (appelés traces) au minimum pour pouvoir mener à bien une attaque par observation des émanations physiques.The construction of the subset satisfying these requirements will be described in detail. First, a substep 120 is implemented to determine a possible subset for which the signal-to-noise ratio of the electronic component is less than a determined threshold. The signal on noise is indeed a security indicator because the lower it is, the harder it is to determine the codeword manipulated by the electronic component. The substep 120 first comprises the setting 121 of a signal-to-noise threshold value to be reached to obtain a satisfactory level of security. The threshold on the value of the signal-to-noise ratio is determined according to the security requirements for a given electronic component. For example, the article by Stefan Mangard, "Hardware Countermeasures against DPA - A Statistical Analysis of Their Effectivenes" (CT-RSA, volume 2964 of Lecture Notes in Computer Science, pages 222-235, Springer, 2004) provides a link between the signal-to-noise ratio and the number of statistical samples required to complete an attack, which corresponds directly to the success rate of an attack, as can be seen in FIG. 4 described below. For example, we try to impose the use of 100000 statistical samples (called traces) at least to carry out an attack by observation of physical emanations.

3035532 9 Des protocoles bancaires utilisant une clé secrète donnée limitent en général le nombre d'utilisation à 65536, ainsi le choix d'un nombre de 100000 échantillons statistiques laisse une certaine marge par rapport à cette limite. En utilisant l'article cité ci-avant, on peut calculer que le ratio signal sur bruit 5 pour atteindre ce nombre de 100000 échantillons statistiques doit être d'environ 5.10-5 indépendamment du circuit électronique. Cette dernière valeur peut donc constituer un exemple de cible privilégiée à atteindre. La sous-étape 120 comprend ensuite le calcul 122 d'un ratio signal sur bruit 10 du composant électronique pour au moins un sous-ensemble de 2n mots de code parmi l'ensemble des 2m mots de code possibles. Le ratio signal sur bruit est calculé comme le ratio de la variance des émanations physiques du composant électronique sur les mots de code du sous-ensemble de 2n mots de code, divisé par la variance du bruit lors de la manipulation 15 par le composant de tout mot de code. La variance des émanations physiques du composant électronique sur les mots de code est la variance de la consommation totale ou du rayonnement électromagnétique C fourni par l'équation décrite ci-avant et calculée à l'étape 110, pour tous les mots de code du sous-ensemble.Banking protocols using a given secret key generally limit the number of uses to 65536, so the choice of a number of 100000 statistical samples leaves a certain margin with respect to this limit. Using the article cited above, it can be calculated that the signal-to-noise ratio to reach this number of 100,000 statistical samples should be about 5.10-5 independent of the electronic circuit. This last value can therefore be an example of a privileged target to be reached. Sub-step 120 then comprises calculating 122 a signal-to-noise ratio of the electronic component for at least a subset of 2 n code words out of the set of possible 2 m codewords. The signal-to-noise ratio is calculated as the ratio of the variance of the physical emanations of the electronic component over the code words of the subset of 2n code words, divided by the variance of the noise during the manipulation by the component of any code word. The variance of the physical emanations of the electronic component on the code words is the variance of the total consumption or the electromagnetic radiation C provided by the equation described above and calculated in step 110, for all the code words of the sub code. -together.

20 La variance du bruit est quant à elle constante pour un composant électronique donné. Avantageusement, la variance du bruit peut être déterminée conformément à la méthode décrite dans la publication « How to compare profiled Side-channel attacks ? » par F.-X. Standaert, F. Koeune, VV.Schindler, publié dans Applied 25 Cryptography and Network Security (ACNS) 2009, et résumée comme suit : - Réaliser l'analyse stochastique de l'étape 110 pour caractériser le signal du composant électronique (cette étape est déjà faite à l'étape 110), - Acquérir de nouvelles émanations physiques du composant lors de son utilisation avec plusieurs séquences de bits différentes, 30 - Soustraire des émanations acquises celles qui étaient normalement attendues en vertu de l'analyse stochastique, - Effectuer la caractérisation stochastique du signal résultant, et calculer la variance des paramètres obtenus.The noise variance is constant for a given electronic component. Advantageously, the variance of the noise can be determined according to the method described in the publication "How to compare profiled Side-channel attacks? By F.-X. Standaert, F. Koeune, VV.Schindler, published in Applied Cryptography and Network Security (ACNS) 2009, and summarized as follows: - Perform the stochastic analysis of step 110 to characterize the signal of the electronic component (this step is already done in step 110), - Acquire new physical emanations of the component when used with several different bit sequences, 30 - Subtract acquired emanations from those normally expected by virtue of the stochastic analysis, - Perform the stochastic characterization of the resulting signal, and calculate the variance of the parameters obtained.

3035532 10 Puis le ratio signal sur bruit est comparé au seuil lors d'une étape 123. Si le ratio est inférieur au seuil, alors le sous-ensemble pour lequel le ratio signal sur bruit a été calculé à l'étape 120 est choisi pour former (étape 124) le sous-ensemble SE contenant les mots de code pour l'encodage 200 de la donnée.Then, the signal-to-noise ratio is compared with the threshold during a step 123. If the ratio is below the threshold, then the subset for which the signal-to-noise ratio has been calculated in step 120 is chosen to forming (step 124) the subset SE containing the code words for encoding 200 of the data.

5 La mise en oeuvre des sous-étapes 122 et 123 peut faire l'objet de variantes. Les étapes 122 et 123 peuvent être successivement itérées à chaque fois sur un nouveau sous-ensemble parmi l'ensemble des 2m mots de code possibles, jusqu'à ce qu'un sous-ensemble satisfasse au test de l'étape 123, et termine cette itération, ou que tous les sous-ensembles possibles aient été testés (flèche en pointillées sur 10 la figure 3 de l'étape 123 à l'étape 122). En variante, les sous-étapes 122 et 123 peuvent être mises en oeuvre directement sur tous les sous-ensembles possibles (flèche en pointillé sur la figure 3 rebouclant sur l'étape 122), puis le sous-ensemble SE est sélectionné comme le ou l'un parmi les sous-ensembles ayant satisfait au test de l'étape 123.The implementation of substeps 122 and 123 may be subject to variations. Steps 122 and 123 may be successively iterated each time on a new subset from the set of possible 2m code words, until a subset passes the test of step 123, and ends this iteration, or that all possible subsets have been tested (dotted arrow in Figure 3 from step 123 to step 122). Alternatively, the substeps 122 and 123 may be implemented directly on all possible subsets (dashed arrow in Figure 3 looping back to step 122), and then the subset SE is selected as the one of the subsets having passed the test of step 123.

15 Dans le cas où le critère de sécurité imposé lors de l'étape 121 est tel qu'aucun sous-ensemble de mots de code n'a satisfait à ce critère de sécurité, alors le procédé comprend ensuite une étape 130 de construction du sous-ensemble SE comme le sous-ensemble pour lequel une différence maximale de consommation 20 entre deux mots de code choisis dans le sous-ensemble est minimale parmi tous les sous-ensembles de 2n mots de code de l'ensemble E. En d'autre termes, quels que soient deux mots de code choisis dans le sous-ensemble SE, la différence de consommation du composant électronique 1 lors de l'utilisation de chacun de ces deux mots de code est toujours inférieure à la différence de consommation du 25 composant pour deux mots de code choisis hors du sous-ensemble. De ce fait, les variations de consommation du composant électronique sont minimisées et il est plus difficile de différencier, en analysant la consommation électrique ou le rayonnement électromagnétique du composant, le traitement d'une clé secrète du traitement d'une autre donnée quelconque.In the case where the safety criterion imposed during step 121 is such that no subset of codewords has satisfied this safety criterion, then the method then comprises a step 130 of construction of the sub-set SE-set as the subset for which a maximum consumption difference between two chosen code words in the subset is minimum among all subsets of 2n code words of the set E. In other In other words, whatever two codewords chosen in the subset SE, the consumption difference of the electronic component 1 when using each of these two codewords is always less than the difference in consumption of the component for the component. two codewords chosen outside the subset. As a result, the consumption variations of the electronic component are minimized and it is more difficult to differentiate, by analyzing the electrical consumption or the electromagnetic radiation of the component, the processing of a secret key of the processing of any other data.

30 On comprend que la mise en oeuvre de l'étape 120 ne présente un avantage que si le niveau de sécurité fixé à cette étape est plus strict que celui obtenu par la mise en oeuvre de l'étape 130. Donc si le niveau de sécurité obtenu à l'étape 130 est satisfaisant vis-à-vis des applications envisagées, cette étape pourrait 3035532 11 également être mise en oeuvre directement sans mettre en oeuvre l'étape 120 pour économiser des temps de calculs. Pour déterminer rapidement le sous-ensemble SE sans nécessiter de 5 moyens de calculs importants, le procédé comprend une sous-étape 131 au cours de laquelle les valeurs de consommation obtenues à l'étape 110 sont ordonnées dans un tableau T indexé de 0 à 2m-1. Les valeurs de consommation peuvent être ordonnées par ordre croissant ou décroissant.It is understood that the implementation of step 120 has an advantage only if the security level set at this step is stricter than that obtained by the implementation of step 130. So if the security level obtained in step 130 is satisfactory vis-à-vis the envisaged applications, this step could also be implemented directly without implementing step 120 to save computing time. To rapidly determine the subset SE without requiring significant calculation means, the method comprises a substep 131 during which the consumption values obtained in step 110 are ordered in an indexed table T 0 to 2 m -1. Consumption values can be ordered in ascending or descending order.

10 Puis, une sous-étape 132 comprend la détermination de l'index jo du tableau pour lequel une différence de consommation électrique entre le mot de code d'indice jo et le mot de code d'indice jo + 2n est minimale en valeur absolue, notamment pour le cas où les valeurs de consommation sont ordonnées par ordre croissant (dans le cas où les valeurs sont ordonnées par ordre décroissant, la 15 différence est déjà positive). L'index jo est donc compris entre 0 et 2m-2n-1. On minimise, sur j : 1T - + 2/11 Le tableau ayant été préalablement ordonné, la différence de consommation maximale sur un sous-ensemble de 2n mots de code est la différence entre les mots 20 de code correspondant aux index respectivement minimum et maximum du tableau. La recherche de l'indice Jo est de fait de complexité linéaire. Enfin, l'étape 130 de génération du sous-ensemble 100 comprend une sous-étape 133 de formation du sous-ensemble au cours de laquelle tous les mots de code présentant un indice compris entre le mot de code d'indice jo et le mot de 25 code d'indice j0+2n sont sélectionnés, et de préférence mémorisés dans la mémoire 11 du composant électronique 1. Le sous-ensemble SE est représenté schématiquement en figure 2, où l'on a représenté des profils de consommation du composant électronique pour différents mots de code, et sélectionné les profils présentant une différence minimale.Then, a substep 132 comprises determining the index jo of the table for which a difference in power consumption between the index code word jo and the index code word jo + 2n is minimal in absolute value. especially for the case where the consumption values are ordered in ascending order (in the case where the values are ordered in decreasing order, the difference is already positive). The index jo is therefore between 0 and 2m-2n-1. The table having been previously ordered, the maximum consumption difference over a subset of 2n codewords is the difference between the codewords corresponding to the minimum and maximum indexes, respectively. of the Board. The search for the Jo index is in fact linear complexity. Finally, the step 130 of generating the subset 100 comprises a sub-step 133 of forming the subset in which all the code words having an index comprised between the index code word jo and the word The subset SE is shown diagrammatically in FIG. 2, where the consumption profiles of the electronic component have been represented. The index subscript j0 + 2n are selected, and preferably stored in the memory 11 of the electronic component 1. for different code words, and selected profiles with minimal difference.

30 Tout encodage de donnée 200 subséquent par le composant électronique est donc réalisé en choisissant un mot de code du sous-ensemble SE pour encoder une donnée.Any subsequent data encoding 200 by the electronic component is therefore performed by choosing a codeword from the subset SE to encode a datum.

3035532 12 On a représenté sur la figure 4 les résultats d'attaques par canaux cachés obtenus par la mise en oeuvre du procédé ci-avant. L'attaque consiste à mesurer la consommation électrique ou le rayonnement électromagnétique d'un composant électronique 1 lors du traitement d'un échantillon 5 statistique de mots de code, dans le but de déterminer un mot de code correspondant à une clé secrète à protéger du composant électronique. En abscisse est fournie le nombre d'échantillons statistiques (appelés traces) utilisés, et en ordonnée le taux de succès de l'attaque, pour un écart-type du bruit sigma_b de 0,2 et pour un écart type de la déviation des coefficients a, par rapport 10 au modèle du poids de Hamming (représentatif de la déviation entre les valeurs des coefficients et la valeur 1 du poids de Hamming) de 0,05. Le procédé décrit ci-avant est testé pour différentes longueurs (« m ») de mots de code, et est comparé au procédé d'encodage Dual Rail de l'art antérieur, et au procédé d'encodage par poids constant décrit dans le document VVO 15 2014/1 31 546 de la Demanderesse. On constate en premier lieu que le procédé décrit ci-après protège mieux le composant électronique que les procédés de l'art antérieur, car le nombre d'échantillons statistiques nécessaire pour obtenir un taux de succès de l'attaque de l'ordre de 90% est de l'ordre de deux fois celle requise pour le code Dual Rail.FIG. 4 shows the results of concealed channel attacks obtained by the implementation of the above method. The attack consists in measuring the electrical consumption or the electromagnetic radiation of an electronic component 1 during the processing of a statistical sample of code words, with the aim of determining a code word corresponding to a secret key to be protected from the electronic component. On the abscissa is provided the number of statistical samples (called traces) used, and on the ordinate the success rate of the attack, for a standard deviation of the noise sigma_b of 0.2 and for a standard deviation of the deviation of the coefficients a, with respect to the Hamming weight model (representative of the deviation between the coefficient values and the Hamming weight value 1) of 0.05. The method described above is tested for different lengths ("m") of codewords, and is compared with the prior art Dual Rail encoding method, and the constant weight encoding method described in the document. VVO 15 2014/1 31 546 of the Applicant. It is firstly noted that the method described below protects the electronic component better than the methods of the prior art, because the number of statistical samples necessary to obtain a success rate of the attack of the order of 90 % is in the order of twice that required for the Dual Rail code.

20 En second lieu, la sécurité du procédé augmente avec la longueur des mots de code sélectionnée, car la différence de consommation maximale entre deux mots de code du sous-ensemble SE diminue lorsque la longueur des mots de code augmente. Par conséquent, la longueur des mots de code est avantageusement choisie 25 en fonction d'un compromis entre le niveau de sécurité requis et la quantité de mémoire disponible du composant électronique 1.Secondly, the security of the process increases with the length of the selected code words because the difference in maximum consumption between two codewords of the subset SE decreases as the length of the codewords increases. Therefore, the length of the codewords is advantageously chosen according to a compromise between the required level of security and the amount of available memory of the electronic component 1.

Claims (14)

REVENDICATIONS1. Procédé d'encodage (200), par un composant électronique (1), d'une donnée de n bits en un mot de code de m bits, caractérisé en ce que le mot de code codant la donnée est choisi dans un sous- ensemble (SE) de 2n mots de code parmi l'ensemble (E) des 2m mots de code possibles, tel que la variance des émanations physiques du composant électronique (1) lors de l'utilisation des mots de code du sous-ensemble (SE) sur la variance du bruit du composant électronique est inférieure ou égale à un seuil prédéterminé ou tel qu'une différence maximale, entre deux mots de code du sous-ensemble (SE), d'émanations physiques du composant électronique (1) lors de l'utilisation des mots de code, est minimale parmi tous les sous-ensembles de 2n mots de code compris dans l'ensemble (E).REVENDICATIONS1. A method of encoding (200), by an electronic component (1), an n-bit data into a m-bit codeword, characterized in that the codeword encoding the data item is selected from a subset (SE) 2n code words out of the set (E) of the possible 2m code words, such as the variance of the physical emanations of the electronic component (1) when using the subset code words (SE ) on the variance of the noise of the electronic component is less than or equal to a predetermined threshold or such as a maximum difference, between two code words of the subset (SE), of physical emanations of the electronic component (1) when the use of code words, is minimum among all subsets of 2n codewords included in the set (E). 2. Procédé d'encodage selon la revendication 1, comprenant une étape (100) de construction du sous-ensemble (SE) des mots de code à choisir pour l'encodage.2. Encoding method according to claim 1, comprising a step (100) of construction of the subset (SE) of the code words to be chosen for encoding. 3. Procédé d'encodage selon la revendication 1, dans lequel la construction (100) du sous-ensemble (SE) comprend une étape préliminaire (110) de détermination d'un niveau d'émanation physique du composant électronique pour chacun des 2m mots de code possibles.The encoding method according to claim 1, wherein the subset construct (100) comprises a preliminary step (110) of determining a physical emanation level of the electronic component for each of the 2m words. possible code. 4. Procédé d'encodage selon la revendication 3, dans lequel un niveau d'émanation physique du composant électronique (1) pour un mot de code est calculé à partir d'un ensemble de m valeurs de consommation électrique élémentaire, chaque valeur correspondant à la consommation d'un bit d'un rang donné dans le mot de code.An encoding method according to claim 3, wherein a physical emanation level of the electronic component (1) for a code word is calculated from a set of m elementary power consumption values, each value corresponding to the consumption of a bit of a given rank in the code word. 5. Procédé d'encodage selon l'une des revendications 3 ou 4, dans lequel le niveau d'émanation physique du composant électronique (1) pour un mot de code est calculé selon la formule : C = aixi 3035532 14 où a, est la consommation électrique élémentaire du composant pour le bit de rang i, et x, est la valeur du bit de rang i.5. encoding method according to one of claims 3 or 4, wherein the level of physical emanation of the electronic component (1) for a code word is calculated according to the formula: C = aixi 3035532 14 where a, is the elementary electrical consumption of the component for the bit of rank i, and x, is the value of the bit of rank i. 6. Procédé d'encodage selon l'une des revendications 2 à 5, comprenant en outre 5 les étapes consistant à: - calculer (122), pour au moins un sous-ensemble de 2n mots de code parmi l'ensemble des 2m mots de code, une valeur de ratio de la variance des émanations physiques du composant électronique lors de l'utilisation des mots de code du sous-ensemble sur la variance du bruit du 10 composant électronique, - comparer (123) ladite valeur au seuil prédéterminé, et - si la valeur est inférieure audit seuil pour au moins un sous-ensemble, générer (124) le sous-ensemble des mots de code à choisir pour l'encodage comme un sous-ensemble pour lequel la valeur est inférieure 15 audit seuil.The encoding method according to one of claims 2 to 5, further comprising the steps of: calculating (122), for at least a subset of 2n code words from the set of 2m words of code, a ratio value of the variance of the physical emanations of the electronic component when using the subset codewords on the noise variance of the electronic component, - comparing (123) said value with the predetermined threshold, and if the value is below said threshold for at least one subset, generating (124) the subset of the code words to be chosen for the encoding as a subset for which the value is less than said threshold. 7. Procédé d'encodage selon la revendication 6, dans lequel, si la valeur de ratio est supérieure au seuil pour tous les sous-ensembles de 2n mots de code parmi l'ensemble des 2m mots de code, le procédé comprend en outre une étape (130) de 20 construction du sous-ensemble (SE) des mots de code à choisir pour l'encodage tel qu'une différence maximale, entre deux mots de code du sous-ensemble (SE), d'émanations physiques du composant électronique (1) lors de l'utilisation des mots de code, est minimale parmi tous les sous-ensembles de 2n mots de code compris dans l'ensemble (E). 25The encoding method according to claim 6, wherein, if the ratio value is greater than the threshold for all subsets of 2n code words out of the set of 2m code words, the method further comprises a step (130) of building the subset (SE) of the code words to be chosen for the encoding such as a maximum difference, between two subset code words (SE), of physical emanations of the component electronic (1) when using the code words, is minimum among all subsets of 2n code words included in the set (E). 25 8. Procédé d'encodage selon l'une des revendications 2 à 7, dans lequel le sous-ensemble de 2n mots de code est construit (130) par la mise en oeuvre des étapes consistant à : - classer les mots de code (131) par ordre de consommation électrique du 30 composant électronique dans un tableau indexé, - déterminer (132) un index jo d'un mot de code du tableau pour lequel une différence de consommation électrique entre le mot de code d'indice jo et le mot de code d'indice jo + 2n est minimale, et 3035532 15 - former (133) le sous-ensemble avec les mots de code d'indice j compris entre jo et j0+2n.8. Encoding method according to one of claims 2 to 7, wherein the subset of 2n code words is constructed (130) by performing the steps of: - classifying the code words (131) ) in order of electrical consumption of the electronic component in an indexed array, - determining (132) an index jo of a code word of the array for which a difference in power consumption between the index code word jo and the word of index code jo + 2n is minimal, and 3035532 - form (133) the subset with the index code words j between jo and j0 + 2n. 9. Procédé d'encodage selon l'une des revendications précédentes, dans lequel les 5 émanations physiques du composant électronique comprennent une consommation électrique du composant ou un rayonnement électromagnétique du composant.The encoding method according to one of the preceding claims, wherein the physical emanations of the electronic component comprise an electrical consumption of the component or an electromagnetic radiation of the component. 10. Procédé d'encodage selon l'une des revendications 3 à 9, dans lequel l'étape préliminaire (110) est mise en oeuvre par le composant électronique. 1010. Encoding method according to one of claims 3 to 9, wherein the preliminary step (110) is implemented by the electronic component. 10 11. Procédé d'encodage selon l'une des revendications 3 à 9, dans lequel l'étape préliminaire (110) est mise en oeuvre par une unité de traitement distincte du composant électronique. 1511. Encoding method according to one of claims 3 to 9, wherein the preliminary step (110) is implemented by a processing unit separate from the electronic component. 15 12. Produit programme d'ordinateur, comprenant des instructions de code pour la mise en oeuvre du procédé selon l'une des revendications 1 à 10 lorsqu'il est exécuté par un processeur (10).12. Computer program product, comprising code instructions for implementing the method according to one of claims 1 to 10 when executed by a processor (10). 13. Composant électronique (1), comprenant un processeur (10) configure pour la 20 mise en oeuvre du procédé selon l'une des revendications 1 à 9.13. Electronic component (1), comprising a processor (10) configured for carrying out the method according to one of claims 1 to 9. 14. Composant électronique (1) selon la revendication 13, le composant étant une carte à puce.14. Electronic component (1) according to claim 13, the component being a smart card.
FR1553724A 2015-04-24 2015-04-24 DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT Active FR3035532B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1553724A FR3035532B1 (en) 2015-04-24 2015-04-24 DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1553724A FR3035532B1 (en) 2015-04-24 2015-04-24 DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT
FR1553724 2015-04-24

Publications (2)

Publication Number Publication Date
FR3035532A1 true FR3035532A1 (en) 2016-10-28
FR3035532B1 FR3035532B1 (en) 2018-07-27

Family

ID=54199765

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1553724A Active FR3035532B1 (en) 2015-04-24 2015-04-24 DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT

Country Status (1)

Country Link
FR (1) FR3035532B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2855286A1 (en) * 2003-05-22 2004-11-26 Gemplus Card Int Data transmission method for use in chip card, involves coding message of k bits from CPU into n bits code word with constant Hamming weight w based on specified relation, and decoding code word without error signal
WO2014131546A1 (en) * 2013-02-27 2014-09-04 Morpho Method for encoding data on a chip card by means of constant-weight codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2855286A1 (en) * 2003-05-22 2004-11-26 Gemplus Card Int Data transmission method for use in chip card, involves coding message of k bits from CPU into n bits code word with constant Hamming weight w based on specified relation, and decoding code word without error signal
WO2014131546A1 (en) * 2013-02-27 2014-09-04 Morpho Method for encoding data on a chip card by means of constant-weight codes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CONG CHEN ET AL: "Balanced Encoding to Mitigate Power Analysis: A Case Study", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20141121:072458, 20 November 2014 (2014-11-20), pages 1 - 15, XP061017438 *
VICTOR SERVANT ET AL: "Study of a Novel Software Constant Weight Implementation", CORRECT SYSTEM DESIGN, vol. 8968, 1 January 2015 (2015-01-01), Cham, pages 35 - 48, XP055250347, ISSN: 0302-9743, ISBN: 978-3-642-22877-3 *

Also Published As

Publication number Publication date
FR3035532B1 (en) 2018-07-27

Similar Documents

Publication Publication Date Title
EP3414701A1 (en) Method and device for anonymizing data stored in a database
Fateh et al. A new method of coding for steganography based on LSB matching revisited
EP3168754B1 (en) Method for identifying an entity
Bennett et al. A note on the random greedy independent set algorithm
Kalyoncu et al. Interpolation‐based impulse noise removal
Cogranne et al. Application of hypothesis testing theory for optimal detection of LSB matching data hiding
EP2941843B1 (en) Secured comparative processing method
EP3816829B1 (en) Detection device and detection method
KR20200058329A (en) 2-D code error correction decoding
You et al. Single-trace fragment template attack on a 32-bit implementation of keccak
EP2591556A1 (en) Method of determining at least one parameter of an error correcting code implemented on transmission, corresponding device and computer program
JP6786884B2 (en) Relationship encryption
FR2838210A1 (en) CRYPTOGRAPHIC METHOD PROTECTED FROM CACHE-CHANNEL TYPE ATTACKS
EP4055506A1 (en) Method for detecting attacks using hardware performance counters
RU2710310C2 (en) Electronic forming device
FR3035532A1 (en) DATA ENCODING METHOD MINIMIZING LEAK VARIATIONS OF AN ELECTRONIC COMPONENT
EP2936302B1 (en) Chaotic sequence generator
CN110868382A (en) Decision tree-based network threat assessment method, device and storage medium
Chauhan et al. Double secret key based medical image watermarking for secure telemedicine in cloud environment
CA2613884A1 (en) Method for providing a secured communication between a user and an entity
CN112580027A (en) Malicious sample determination method and device, storage medium and electronic equipment
FR2969875A1 (en) METHOD AND SYSTEM FOR MULTI-MODAL MULTI-THRESHOLD AUTHENTICATION USING SECRET SHARING
CN114707662B (en) Federal learning method, federal learning device and federal learning system
Sharma et al. Comment on “Texture zeros and weak basis transformations in the quark sector of the standard model”
EP3340096B1 (en) Method for configuring a cryptographic program intended for being run by a terminal

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20161028

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

CA Change of address

Effective date: 20230220

CD Change of name or company name

Owner name: IDEMIA IDENTITY & SECURITY FRANCE, FR

Effective date: 20230220

PLFP Fee payment

Year of fee payment: 10