FR3141261A1 - Protection de données masquées - Google Patents

Protection de données masquées Download PDF

Info

Publication number
FR3141261A1
FR3141261A1 FR2211078A FR2211078A FR3141261A1 FR 3141261 A1 FR3141261 A1 FR 3141261A1 FR 2211078 A FR2211078 A FR 2211078A FR 2211078 A FR2211078 A FR 2211078A FR 3141261 A1 FR3141261 A1 FR 3141261A1
Authority
FR
France
Prior art keywords
data
hidden
type
masked
binary
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.)
Pending
Application number
FR2211078A
Other languages
English (en)
Inventor
Thomas SARNO
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.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
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 STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Priority to FR2211078A priority Critical patent/FR3141261A1/fr
Priority to US18/487,697 priority patent/US20240232342A9/en
Publication of FR3141261A1 publication Critical patent/FR3141261A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Protection de données masquées La présente description concerne un procédé de protection d'un dispositif électronique (100) contre les attaques par analyse de canaux cachés, le dispositif électronique (100) étant adapté à appliquer au moins une première opération logique binaire masquée (601, 602, 603, 604, 605) à une première donnée masquée, dans lequel ladite au moins une première opération (601, 602, 603, 604, 605) est mise en oeuvre par une table de correspondance. Figure pour l'abrégé : Fig. 6

Description

Protection de données masquées
La présente description concerne de façon générale le dispositifs et circuits électroniques, et en particulier les dispositifs et circuits électroniques adaptés à traiter des données binaires. La présente description se rapporte, plus précisément, à la protection de données binaires et, en particulier à la protection de données binaires face aux attaques par analyse de canaux cachés.
Lors de l'utilisation de données binaires sensibles, il est courant d'utiliser des opérations de masquages et des opérations logiques masquées pour protéger ces données. De telles opérations peuvent être mises en oeuvre, par exemple, par un processeur.
Il serait souhaitable de pouvoir améliorer, au moins en partie, le traitement de données masquées, et en particulier, la protection des données masquées.
Il existe un besoin pour un traitement de données sensibles plus sécurisé.
Il existe un besoin pour un traitement de données sensibles masquées plus sécurisé.
Il existe un besoin pour un traitement de données sensibles plus sécurisé face aux attaques de type par analyse de canaux cachés.
Un mode de réalisation pallie tout ou partie des inconvénients des dispositifs connus traitant des données sensibles, et en particulier, des données masquées.
Un mode de réalisation pallie tout ou partie des inconvénients des procédés de protection contre les attaques par analyse de canaux cachés connus.
Un mode de réalisation prévoit un procédé de protection d'un dispositif électronique contre les attaques par analyse de canaux cachés, le dispositif électronique étant adapté à appliquer au moins une première opération logique binaire masquée à une première donnée masquée, dans lequel ladite au moins une première opération est mise en oeuvre par une table de correspondance.
Selon un mode de réalisation, ladite au moins une opération logique binaire masquée est une opération adaptée à mettre en oeuvre successivement une opération logique binaire et une opération de masquage.
Selon un mode de réalisation, ladite opération logique binaire exécute un calcul bit à bit.
Selon un mode de réalisation, ladite opération logique binaire est choisie parmi le groupe comprenant : une opération logique de type inverseuse, une opération logique de type OU, une opération logique de type NON-OU, une opération logique de type OU EXCLUSIF, une opération logique de type NON-OU EXCLUSIF, une opération logique de type NON, une opération logique de type ET, et une opération logique de type NON-ET, une opération de multiplication bit à bit, et une combinaison de deux ou plus des opérations précédentes.
Selon un mode de réalisation, ladite opération de masquage est une opération logique dans laquelle une donnée binaire est combinée avec un masque.
Selon un mode de réalisation, ladite opération de masquage met en oeuvre une opération logique de type OU EXCLUSIF.
Selon un mode de réalisation, la première donnée masquée est une donnée comprenant au moins 2 bits.
Selon un mode de réalisation, la première donnée masquée est une donnée comprenant au moins 3 bits.
Selon un mode de réalisation, la première donnée masquée est une donnée comprenant au moins 4 bits.
Selon un mode de réalisation, le dispositif électronique est adapté à appliquer au moins une deuxième opération logique binaire masquée à une deuxième donnée masquée, ladite au moins une deuxième opération étant mise en oeuvre par une table de correspondance.
Un autre mode de réalisation prévoit un dispositif adapté à mettre en oeuvre le procédé décrit précédemment.
Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :
la représente, très schématiquement et sous forme de blocs, un dispositif électronique auquel peut s'appliquer le mode de réalisation décrit en relation avec la ;
la représente, très schématiquement et sous forme de blocs, une opération de masquage ;
la représente, très schématiquement et sous forme de blocs, une opération logique binaire masquée ;
la comprend deux vues illustrant une première mise en oeuvre d'une opération logique binaire masquée ;
la comprend deux vues illustrant une deuxième mise en oeuvre d'une opération logique binaire masquée ; et
la représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'un procédé de protection contre les attaques par canaux cachés.
De mêmes éléments ont été désignés par de mêmes références dans les différentes figures. En particulier, les éléments structurels et/ou fonctionnels communs aux différents modes de réalisation peuvent présenter les mêmes références et peuvent disposer de propriétés structurelles, dimensionnelles et matérielles identiques.
Par souci de clarté, seuls les étapes et éléments utiles à la compréhension des modes de réalisation décrits ont été représentés et sont détaillés. En particulier, aucun exemple de procédé de traitement de données masquées n'est décrits, les modes de réalisation décrits étant compatibles avec la plupart des procédés de traitement de données masquées connus.
Sauf précision contraire, lorsque l'on fait référence à deux éléments connectés entre eux, cela signifie directement connectés sans éléments intermédiaires autres que des conducteurs, et lorsque l'on fait référence à deux éléments reliés (en anglais "coupled") entre eux, cela signifie que ces deux éléments peuvent être connectés ou être reliés par l'intermédiaire d'un ou plusieurs autres éléments.
Dans la description qui suit, lorsque l'on fait référence à des qualificatifs de position absolue, tels que les termes "avant", "arrière", "haut", "bas", "gauche", "droite", etc., ou relative, tels que les termes "dessus", "dessous", "supérieur", "inférieur", etc., ou à des qualificatifs d'orientation, tels que les termes "horizontal", "vertical", etc., il est fait référence sauf précision contraire à l'orientation des figures.
Sauf précision contraire, les expressions "environ", "approximativement", "sensiblement", et "de l'ordre de" signifient à 10 % près, de préférence à 5 % près.
La représente, très schématiquement et sous forme de blocs, un dispositif électronique 100 pouvant mettre en oeuvre le mode de mise en oeuvre de procédé de protection contre les attaques par canaux cachés décrit en relation avec la .
Le dispositif 100 est un dispositif électronique adapté à traiter des données, et plus particulièrement, à traiter des données sensibles, c'est-à-dire des données dont l'accès est restreint à une ou plusieurs personnes spécifiques. Pour cela, le dispositif 100 est adapté à traiter des données masquées, c'est-à-dire des données chiffrées. Une opération de masquage est décrite en relation avec la . Le dispositif 100 est, en outre, adapter à mettre en oeuvre des opérations logiques binaires masquées. Une opération logique binaire masquée est décrite en relation avec la .
Le dispositif 100 comprend un processeur 101 (CPU) permettant de traiter des données. Selon un exemple, le dispositif 100 peut comprendre plusieurs processeurs adaptés chacun à traiter différents types de données. Selon un exemple particulier, le dispositif 100 peut comprendre un processeur principal et un processeur sécurisé adapté à ne traiter que des données sensibles.
Le dispositif 100 comprend, en outre, une ou plusieurs mémoires 102 (MEM) dans lesquelles sont stockées des données, par exemple des données binaires. Selon un exemple, le dispositif 100 comprend plusieurs types de mémoires, comme une mémoire morte, une mémoire volatile, et/ou une mémoire non volatile. Selon un exemple particulier, le dispositif 100 peut comprendre une mémoire principale et au moins une mémoire sécurisée adapté à stocker des données sensibles.
Le dispositif 100 comprend, en outre et de façon optionnelle, un ou plusieurs circuits d'entrée/sortie 103 (I/0) permettant au dispositif 100 de transmettre et/ou recevoir des données et/ou de l'énergie avec un ou plusieurs dispositifs électroniques externes.
Le dispositif 100 comprend, en outre, un ou plusieurs circuits 104 (FCT) mettant en oeuvre une ou plusieurs fonctionnalités du dispositif 100. Selon un exemple, les circuits 104 peuvent comprendre des circuits de traitement spécifiques de données, comme des circuits de chiffrement, ou des circuits permettant d'effectuer des mesures, comme des capteurs.
Le dispositif 100 comprend, en outre, un ou plusieurs bus de communication 105 permettant à tous les circuits du dispositif 100 de communiquer. En , un seul bus 105 reliant le processeur 101, la ou les mémoires 102, et les circuits 103 et 104 est représenté, mais en pratique, le dispositif 100 comprend plusieurs bus de communication reliant ces différents éléments.
La représente, schématiquement et sous forme de blocs, la mise en oeuvre d'une opération de masquage 200 (MSK) d'une donnée binaire X1 avec un masque M1.
L'opération de masquage 200 permet de réaliser un traitement sécurisé d'une donnée en la combinant, ou en la chiffrant, avec une autre donnée binaire appelé masque. Il existe différents types de masquage de données, mais dans les modes de réalisation décrits ci-après, le masquage utilisé est un masquage utilisant une opération logique de type OU EXCLUSIF (XOR). D'autres types de masquage peuvent être envisagés, comme le masquage multiplicatif, et sont à la portée de la personne du métier.
Ainsi, l'opération de masquage 200 met en oeuvre une opération de masquage en utilisant la formule mathématique suivante :
[Math 1]

dans lequel :
- l'opérateur xor désigne l'opération logique OU EXCLUSIF ;
- X1 est la donnée binaire à masquer ;
- M1 est la donnée binaire servant de masque ; et
- M1(X1) est la donnée binaire masquée.
Par ailleurs, une opération de démasquage permettant de retourner la donnée X1 à partir de la donnée masquée M1(X1) et du masque M1 applique la même opération qu'une opération de masquage. En effet, lorsque l'opération de masquage est une simple utilisation de l'opération logique OU EXCLUSIF, masquer la donnée masquée M1(X1) avec le masque M1 revient à annuler la première opération. Autrement dit, une opération de démasquage utilise la formule mathématique suivante :
[Math 2]
La représente, schématiquement et sous forme de blocs, un mode de réalisation d'une opération logique binaire masquée 300 (MSK Logic fct) de deux données masquées MA(A) et MB(B).
La donnée masquée MA(A), respectivement MB(B), est le résultat de l'application d'une opération de masquage à une donnée A, respectivement B, en utilisant un masque MA, respectivement MB.
L'opération logique binaire masquée est une opération logique prenant, en entrée, une ou plusieurs données binaires, masquées ou non, et fournissant, en sortie, une donnée binaire masquée avec un masque indépendant des éventuels masques des données binaires d'entrée. En , l'opération 300 prend, en entrée, deux données binaires masquées MA(A) et MB(B), et un masque de sortie MC, et fournit, en sortie, une donnée masquée MC(C). A titre de variante l'opération 300 pourrait prendre en entrée une seule donnée binaire, ou plus de deux données.
L'opération 300 est une opération adaptée à mettre en oeuvre successivement une opération logique binaire F et une opération de masquage. Plus particulièrement, l'opération 300 met en oeuvre la formule mathématique suivante :
[Math 3]
La fonction F est une fonction logique binaire, c'est-à-dire une fonction mettant en oeuvre une opération logique bit à bit et prenant, en entrée, des données binaires. Selon un mode de réalisation, la fonction F met en oeuvre une opération choisie parmi le groupe comprenant : une opération logique de type inverseuse, une opération logique de type OU, une opération logique de type NON-OU, une opération logique de type OU EXCLUSIF, une opération logique de type NON-OU EXCLUSIF, une opération logique de type NON, une opération logique de type ET, et une opération logique de type NON-ET, une opération de multiplication bit à bit, n'importe laquelle des opérations logiques précédentes utilisant une ou plusieurs données stockées dans lesdites opérations logiques, et une combinaison de deux ou plus des opérations précédentes.
L'opération de masquage est du type de celle décrit en relation avec la .
Selon un exemple, l'opération 300 peut prendre comme donnée d'entrée des données ayant au moins 2 bits, par exemple 2, 3, ou 4 bits.
Un moyen connu pour récupérer des données sensibles masquées est de surveiller la consommation en énergie d'un dispositif mettant en oeuvre des opérations sur ces données. Une attaque de ce type s'appelle une attaque par analyse de canaux cachés (Side-channel analysis). En effet, la mise en oeuvre d'une opération logique binaire masquée peut avoir un temps de réalisation variable en fonction des données reçues en entrée. En particulier, certaines données, comme une donnée représentant le chiffre 0 dans certain cas, peut simplifier la mise en oeuvre des calculs et donc accélérer le temps de réalisation de l'opération. Cet exemple est décrit plus en détails en relation avec les figures 4 et 5. Par ailleurs, si une donnée peut simplifier la mise en oeuvre d'une opération faisant partie d'un procédé de traitement comprenant plusieurs opérations, alors cette donnée accélère aussi la mise en oeuvre du procédé de traitement complet.
Les figures 4 et 5 comprennent, chacune, deux vues illustrant la mise en oeuvre d'une attaque par analyse de canaux cachés à l'encontre de l'opération 300 décrite en relation avec la . Plus particulièrement, chaque , 5 comprend une vue (A) représentant un chronogramme illustrant la mise en oeuvre de l'opération 300 et une vue (B) représentant l'évolution temporelle de la consommation en énergie du circuit mettant en oeuvre l'opération 300.
Dans le cas de la , l'opération 300 reçoit des données masquées MA(A) et MB(B) dont les valeurs ne simplifie pas la mise en oeuvre de l'opération 300.
A un instant t40, l'opération 300 n'a pas encore reçu les données masquées MA(A) et MB(B), et ne peut être mise en oeuvre pour fournir la donnée masquée MC(C). Selon un exemple, la donnée masquée MB(B) est rendue accessible pour l'opération 300 à partir d'un instant t41, postérieure à l'instant t40, et la donnée MA(A) est rendue accessible pour l'opération 300 à partir d'un instant t42, postérieure aux instants t40 et t41. L'opération 300 ne peut donc être mise en oeuvre qu'à partir de l'instant t42, et à un instant t43, postérieur à l'instant t42, la donnée résultat masquée MC(C) est obtenue et rendue accessible par la mise en oeuvre de l'opération 300.
Le graphique de la vue (B) indique que jusqu'à l'instant t43 la consommation électrique du circuit mettant en oeuvre l'opération 300 est haute, puis diminue puisque l'opération n'est plus mise en oeuvre.
Dans le cas de la , et par comparaison avec le cas de la , l'opération 300 reçoit des données masquées MA(A) et MB(B) dont au moins une des valeurs, par exemple la valeur de la donnée MB(B), simplifie la mise en oeuvre de l'opération 300.
A un instant t50, l'opération 300 n'a pas encore reçu les données masquées MA(A) et MB(B), et ne peut être mise en oeuvre pour fournir la donnée masquée MC(C). Selon un exemple, la donnée masquée MB(B) est rendue accessible pour l'opération 300 à partir d'un instant t51, postérieure à l'instant t50, et la donnée MA(A) est rendue accessible pour l'opération 300 à partir d'un instant t52, postérieure aux instants t50 et t51. L'opération 300 ne peut donc, en théorie, être mise en oeuvre qu'à partir de l'instant t52. Cependant, en pratique, comme la donnée MB(B) simplifie la mise en oeuvre de l'opération 300 alors l'opération 300 peut être mise en oeuvre à partir du moment où la donnée MB(B) est rendue accessible, et à un instant t53, postérieur à l'instant t51, la donnée résultat masquée MC(C) est obtenue et rendue accessible par la mise en oeuvre de l'opération 300, avec un décalage temporelle par rapport à la donnée résultat masquée MC(C) obtenue en .
Le graphique de la vue (B) indique que jusqu'à l'instant t53 la consommation électrique du circuit mettant en oeuvre l'opération 300 est haute, puis diminue puisque l'opération n'est plus mise en oeuvre.
Il est intéressant de remarquer que comme, dans le cas de la , la valeur de la donnée masquée MB(B) simplifie la mise en oeuvre de l'opération 300, la temps de réalisation de l'opération 300 est diminué, et donc la consommation en énergie du circuit mettant en oeuvre l'opération 300 est nettement diminuée.
La représente, très schématiquement et sous forme de blocs, un mode de mise en oeuvre d'un procédé de protection contre les attaques par canaux cachés. Plus particulièrement, la représente un procédé 600 (ALG) de traitement de données sensibles.
Plus particulièrement, le procédé 600 comprend la mise en oeuvre d'au moins une fonction logique binaire masquée du type de la fonction 300 décrite en relation avec la . En , le procédé 600 met en oeuvre cinq opérations logiques binaires masquées 601 (FCT1), 602 (FCT2), 603 (FCT3), 604 (FCT4), et 605 (FCT5). Les opérations 601 à 605 peuvent être mises en oeuvre chacune un ou plusieurs fois, et dans n'importe quelle ordre.
Selon un mode de réalisation, au moins une des opérations 601 à 605 est mise en oeuvre en utilisant une table de correspondance (Look Up Table). Une table de correspondance est une liste d'association de valeurs stockée dans une mémoire ou dans une partie d'une mémoire.
Un avantage de ce mode de réalisation est que quelque soit les données masquées envoyées en entrée d'une opération, le temps de mise en oeuvre de l'opération est toujours le même, et ainsi la consommation en énergie du dispositif mettant en oeuvre le procédé 600. Cela permet de rendre une attaque par analyse de canaux cachés plus difficile . En pratique, l'utilisation d'une table de correspondance permet de réduire la propagation d'un décalage temporelle obtenu par simplification d'une opération à d'autres opérations. Selon un exemple, lorsque les données binaires masquées d'entrée comprennent deux bits, ce mode de réalisation permet de réduire d'au moins 50 % la propagation de décalage temporelle.
Selon un autre mode de réalisation, plusieurs des opérations 601 à 605 sont mises en oeuvre en utilisant des tables de correspondance. Augmenter le nombre de tables de correspondance utilisées pour mettre en oeuvre le procédé 600 permet d'accroître la difficulté de mener à bien une attaque par analyse de canaux cachés.
Divers modes de réalisation et variantes ont été décrits. La personne du métier comprendra que certaines caractéristiques de ces divers modes de réalisation et variantes pourraient être combinées, et d’autres variantes apparaîtront à la personne du métier.
Enfin, la mise en oeuvre pratique des modes de réalisation et variantes décrits est à la portée de la personne du métier à partir des indications fonctionnelles données ci-dessus.

Claims (11)

  1. Procédé de protection d'un dispositif électronique (100) contre les attaques par analyse de canaux cachés, le dispositif électronique (100) étant adapté à appliquer au moins une première opération logique binaire masquée (300 ; 601, 602, 603, 604, 605) à une première donnée masquée (MA(A), MB(B)), dans lequel ladite au moins une première opération (300 ; 601, 602, 603, 604, 605) est mise en oeuvre par une table de correspondance.
  2. Procédé selon la revendication 1, dans lequel ladite au moins une opération logique binaire masquée (300 ; 601, 602, 603, 604, 605) est une opération adaptée à mettre en oeuvre successivement une opération logique binaire (F) et une opération de masquage (200).
  3. Procédé selon la revendication 2, dans lequel ladite opération logique binaire (F) exécute un calcul bit à bit.
  4. Procédé selon la revendication 2 ou 3, dans lequel ladite opération logique binaire (F) est choisie parmi le groupe comprenant : une opération logique de type inverseuse, une opération logique de type OU, une opération logique de type NON-OU, une opération logique de type OU EXCLUSIF, une opération logique de type NON-OU EXCLUSIF, une opération logique de type NON, une opération logique de type ET, et une opération logique de type NON-ET, une opération de multiplication bit à bit, et une combinaison de deux ou plus des opérations précédentes.
  5. Procédé selon l'une quelconque des revendications 2 à 4, dans lequel ladite opération de masquage (200) est une opération logique dans laquelle une donnée binaire est combinée avec un masque.
  6. Procédé selon la revendication 5, dans lequel ladite opération de masquage (200) met en oeuvre une opération logique de type OU EXCLUSIF.
  7. Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la première donnée masquée est une donnée comprenant au moins 2 bits.
  8. Procédé selon la revendication 7, dans lequel la première donnée masquée est une donnée comprenant au moins 3 bits.
  9. Procédé selon la revendication 8, dans lequel la première donnée masquée est une donnée comprenant au moins 4 bits.
  10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel le dispositif électronique (100) est adapté à appliquer au moins une deuxième opération (300 ; 601, 602, 603, 604, 605) logique binaire masquée à une deuxième donnée masquée, ladite au moins une deuxième opération (300 ; 601, 602, 603, 604, 605) étant mise en oeuvre par une table de correspondance.
  11. Dispositif (100) adapté à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 10.
FR2211078A 2022-10-25 2022-10-25 Protection de données masquées Pending FR3141261A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2211078A FR3141261A1 (fr) 2022-10-25 2022-10-25 Protection de données masquées
US18/487,697 US20240232342A9 (en) 2022-10-25 2023-10-16 Protection of masked data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2211078A FR3141261A1 (fr) 2022-10-25 2022-10-25 Protection de données masquées
FR2211078 2022-10-25

Publications (1)

Publication Number Publication Date
FR3141261A1 true FR3141261A1 (fr) 2024-04-26

Family

ID=85685254

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2211078A Pending FR3141261A1 (fr) 2022-10-25 2022-10-25 Protection de données masquées

Country Status (2)

Country Link
US (1) US20240232342A9 (fr)
FR (1) FR3141261A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147243A1 (en) * 2004-01-07 2005-07-07 Samsung Electronics Co., Ltd. Cryptographic apparatus, cryptographic method, and storage medium thereof
US20090112896A1 (en) * 2004-12-01 2009-04-30 Jovan Golic Method And Related Device For Hardware-Oriented Conversion Between Arithmetic And Boolean Random Masking
WO2009074728A1 (fr) * 2007-12-13 2009-06-18 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147243A1 (en) * 2004-01-07 2005-07-07 Samsung Electronics Co., Ltd. Cryptographic apparatus, cryptographic method, and storage medium thereof
US20090112896A1 (en) * 2004-12-01 2009-04-30 Jovan Golic Method And Related Device For Hardware-Oriented Conversion Between Arithmetic And Boolean Random Masking
WO2009074728A1 (fr) * 2007-12-13 2009-06-18 Oberthur Technologies Procede de traitement cryptographique de donnees, notamment a l'aide d'une boite s, dispositif et programme associes

Also Published As

Publication number Publication date
US20240232342A9 (en) 2024-07-11
US20240134973A1 (en) 2024-04-25

Similar Documents

Publication Publication Date Title
EP1769603B1 (fr) Procede et dispositif d'execution d'un calcul cryptographique
EP0800691B1 (fr) Procede pour la mise en oeuvre d'un protocole de communication a cle secrete entre deux dispositifs de traitement
FR2977952A1 (fr) Protection d'un calcul d'exponentiation modulaire par multiplication par une quantite aleatoire
FR2977953A1 (fr) Protection d'un calcul d'exponentiation modulaire par addition d'une quantite aleatoire
FR3101981A1 (fr) Extraction et insertion de mots binaires
FR2917197A1 (fr) Procede de masquage du resultat d'une operation de multiplication modulaire et dispositif associe.
FR2929470B1 (fr) Procede de protection de circuit de cryptographie programmable, et circuit protege par un tel procede
WO2007006810A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
EP3545641A1 (fr) Procédé de chiffrement cherchable
FR3141261A1 (fr) Protection de données masquées
EP0262032A1 (fr) Additionneur binaire comportant un opérande fixé, et multiplieur binaire parallèle-série comprenant un tel additionneur
CA2403838A1 (fr) Procede d'estimation d'une matrice de correlation de signaux interferents recus par un reseau de capteur
FR2960728A1 (fr) Procede de determination d'une representation d'un produit et procede d'evaluation d'une fonction
EP0778677B1 (fr) Circuit numérique pour récepteur différentiel de signaux à étalement de spectre par séquence directe
EP1163562A1 (fr) Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme
EP1098464A1 (fr) Procédé de détection conjointe
EP3407530A1 (fr) Dispositif logique de détection de fautes
EP1229696B1 (fr) Estimation des paramètres de canal au moyen d'estimation de maximum de vraisemblance
FR2969875A1 (fr) Procede et systeme pour l'authentification multi-modale multi-seuil utilisant le partage de secret
EP3451316B1 (fr) Dispositif de réduction modulaire
FR3105490A1 (fr) Procede de traitement cryptographique de donnees et entite electronique associes
EP3739807A1 (fr) Dispositif de protection de donnees cryptees et procede associe
EP1335277A1 (fr) Opérateur saturant à haute efficacité
FR3045883A1 (fr) Procede de traitement cryptographique de donnees, programme d'ordinateur et entite electronique associes
EP1695204A2 (fr) Procede d'exponentiation modulaire protege contre les attaques du type dpa

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240426