Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2019201944 - PROCÉDÉ SÉCURISÉ CONTRE DES ATTAQUES PAR CANAL LATÉRAL RÉALISANT UNE OPÉRATION ARITHMÉTIQUE D'UN ALGORITHME CRYPTOGRAPHIQUE MÉLANGEANT DES OPÉRATIONS BOOLÉENNES ET ARITHMÉTIQUES

Numéro de publication WO/2019/201944
Date de publication 24.10.2019
N° de la demande internationale PCT/EP2019/059836
Date du dépôt international 16.04.2019
CIB
H04L 9/00 2006.1
HÉLECTRICITÉ
04TECHNIQUE DE LA COMMUNICATION ÉLECTRIQUE
LTRANSMISSION D'INFORMATION NUMÉRIQUE, p.ex. COMMUNICATION TÉLÉGRAPHIQUE
9Dispositions pour les communications secrètes ou protégées
CPC
G06F 21/755
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
21Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
71to assure secure computing or processing of information
75by inhibiting the analysis of circuitry or operation
755with measures against power attack
G06F 2207/7233
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
2207Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
72Indexing scheme relating to groups G06F7/72 - G06F7/729
7219Countermeasures against side channel or fault attacks
7223Randomisation as countermeasure against side channel attacks
7233Masking, e.g. (A**e)+r mod n
G06F 9/3001
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30003Arrangements for executing specific machine instructions
30007to perform operations on data operands
3001Arithmetic instructions
G06F 9/30029
GPHYSICS
06COMPUTING; CALCULATING; COUNTING
FELECTRIC DIGITAL DATA PROCESSING
9Arrangements for program control, e.g. control units
06using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
30Arrangements for executing machine instructions, e.g. instruction decode
30003Arrangements for executing specific machine instructions
30007to perform operations on data operands
30029Logical and Boolean instructions, e.g. XOR, NOT
H04L 2209/046
HELECTRICITY
04ELECTRIC COMMUNICATION TECHNIQUE
LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
2209Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
04Masking or blinding
046of operations, operands or results of the operations
H04L 9/002
HELECTRICITY
04ELECTRIC COMMUNICATION TECHNIQUE
LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
9Cryptographic mechanisms or cryptographic; arrangements for secret or secure communication
002Countermeasures against attacks on cryptographic mechanisms
Déposants
  • THALES DIS FRANCE SA [FR]/[FR]
Inventeurs
  • VIGILANT, David
Mandataires
  • BRICKS, Amélie
Données relatives à la priorité
18305471.717.04.2018EP
Langue de publication Anglais (en)
Langue de dépôt anglais (EN)
États désignés
Titre
(EN) METHOD SECURED AGAINST SIDE-CHANNEL ATTACKS PERFORMING AN ARITHMETIC OPERATION OF A CRYPTOGRAPHIC ALGORITHM MIXING BOOLEAN AND ARITHMETIC OPERATIONS
(FR) PROCÉDÉ SÉCURISÉ CONTRE DES ATTAQUES PAR CANAL LATÉRAL RÉALISANT UNE OPÉRATION ARITHMÉTIQUE D'UN ALGORITHME CRYPTOGRAPHIQUE MÉLANGEANT DES OPÉRATIONS BOOLÉENNES ET ARITHMÉTIQUES
Abrégé
(EN) The present invention relates to a method secured against side channel attacks performing an arithmetic operation of a cryptographic algorithm mixing Boolean and arithmetic operations, wherein said method is performed by a cryptographic device comprising a processing system having at least one hardware processor, and said operation has a first value (x) and a second value (y) as operands, comprising : - obtaining (S1) a first masked value (x'), a second masked value (y'), a first Boolean mask (rx), a second Boolean mask (ry), said first masked value (x') resulting from masking said first value (x) by said first Boolean mask (rx) by performing a Boolean exclusive OR (XOR) operation between said first value (x) and said first Boolean mask (rx), and said second masked value (y') resulting from masking said second value (y) by said second Boolean mask (ry) by performing a Boolean exclusive OR (XOR) operation between said second value (y) and said second Boolean mask (ry), - performing (S2) in any order a plurality of computing steps combining values among said first masked value (x'), said second masked value (y'), said first Boolean mask (rx) and said second Boolean mask (ry) to obtain a boolean masked result equal to the result of the arithmetic operation having said first value (x) and said second value (y) as operands, masked by a third boolean mask (rx xor ry) resulting from performing said Boolean exclusive OR (XOR) operation between said first Boolean mask (rx) and said second Boolean mask (ry) ((x + y) xor (rx xor ry)), wherein said computing steps perform Boolean exclusive OR (XOR) operations or arithmetic operations between said values without disclosing any information relative to the first and second values and, wherein said computing steps are executed by the hardware processor by performing a constant number of elementary operations whatever the bit-size of said first and second values, - outputting (S3) said boolean masked result of the arithmetic operation between said first value (x) and said second value (y).
(FR) La présente invention concerne un procédé sécurisé contre des attaques par canal latéral effectuant une opération arithmétique d'un algorithme cryptographique mélangeant des opérations booléennes et arithmétiques, ledit procédé étant effectué par un dispositif cryptographique comprenant un système de traitement ayant au moins un processeur matériel, et ladite opération booléenne ayant une première valeur (x) et une deuxième valeur (y) en tant qu'opérandes, consistant à : - obtenir (S1) une première valeur masquée (x') et une deuxième valeur masquée (y'), un premier masque booléen (rx), un deuxième masque booléen (ry), ladite première valeur masquée (x') résultant du masquage de ladite première valeur (x) par ledit premier masque booléen (rx) en effectuant une opération booléenne de OU exclusif (XOR) entre ladite première valeur (x) et ledit premier masque booléen (rx), et ladite deuxième valeur masquée (y') résultant du masquage de ladite deuxième valeur (y) par ledit deuxième masque booléen (ry) en effectuant une opération de OU exclusif (XOR) entre ladite deuxième valeur (y) et ledit deuxième masque booléen (ry),- effectuer (S2) dans un ordre quelconque une pluralité d'étapes de calcul combinant des valeurs parmi ladite première valeur masquée (x'), ladite deuxième valeur masquée (y'), ledit premier masque booléen (rx) et ledit deuxième masque booléen (ry) pour obtenir un résultat à masque booléen égal au résultat de l'opération arithmétique ayant pour opérandes ladite première valeur (x) et ladite deuxième valeur (y), masqué par un troisième masque booléen (rx xor ry) résultant de la réalisation de ladite opération booléenne de OU exclusif (XOR) entre ledit premier masque booléen (rx) et ledit deuxième masque booléen (ry) ((x + y) xor (rx xor ry)), où lesdites étapes de calcul effectuent des opérations booléennes de OU exclusif (XOR) ou des opérations arithmétiques entre lesdites valeurs sans révéler d'informations concernant les première et deuxième valeurs et où lesdites étapes de calcul sont exécutées par le processeur matériel en effectuant un nombre constant d'opérations élémentaires quel que soit le nombre de bits desdites première et deuxième valeurs, - fournir en sortie (S3) ledit résultat à masque booléen de l'opération arithmétique entre ladite première valeur (x) et ladite deuxième valeur (y).
Documents de brevet associés
Dernières données bibliographiques dont dispose le Bureau international