WO2002065692A1 - Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant - Google Patents

Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant Download PDF

Info

Publication number
WO2002065692A1
WO2002065692A1 PCT/FR2002/000579 FR0200579W WO02065692A1 WO 2002065692 A1 WO2002065692 A1 WO 2002065692A1 FR 0200579 W FR0200579 W FR 0200579W WO 02065692 A1 WO02065692 A1 WO 02065692A1
Authority
WO
WIPO (PCT)
Prior art keywords
boolean
separation
arithmetic
operations
parts
Prior art date
Application number
PCT/FR2002/000579
Other languages
English (en)
Inventor
Louis Goubin
Original Assignee
Cp8
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 Cp8 filed Critical Cp8
Priority to EP02704839A priority Critical patent/EP1362451A1/fr
Priority to US10/468,130 priority patent/US7334133B2/en
Publication of WO2002065692A1 publication Critical patent/WO2002065692A1/fr

Links

Classifications

    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Abstract

L'invention concerne un procédé de sécurisation d'un ensemble électronique mettant en oeuvre un algorithme cryptographique utilisant des opérations booléennes et des opérations arithmétiques, dans lequel au moins une variable est séparée en plusieurs parties, selon une séparation arithmétique utilisant une opération arithmétique, caractérisé en ce que, pour passer de l'une quelconque de ces séparations à l'autre, on effectue un nombre prédéterminé d'opérations booléennes et arithmétiques sur lesdites parties et au moins un aléa, de manière à ce, pour chacune des valeurs apparaissant au cours du calcul, il n'y ait aucune corrélation avec ladite variable. L'invention concerne aussi un système embarqué associé.

Description

Procédé de sécurisation d'un ensemble électronique mettant en œuvre un algorithme cryptographique utilisant des opérations booléennes et des opérations arithmétiques, et système embarqué correspondant
Introduction
Paul Kocher et al. ont introduit en 1998 [5] et publié en 1999 [6] le concept de « Differential Power Analysis », connu aussi sous le nom de DPA. La cible initiale était les cryptosystèmes symétriques, tels que le DES ou les candidats AES, mais les cryptosystèmes à clé publique se sont depuis avérés également vulnérables face aux attaques DPA.
En 1999, Chari et al. [2] ont suggéré une contre-mesure générique consistant à séparer toutes les variables intermédiaires. Une méthode similaire de « duplication » a été proposée par Goubin et al. [4], comme cas particulier. Or ces méthodes générales augmentent en général fortement la quantité de mémoire ou le temps de calcul nécessaires, comme l'ont remarqué Chari et al. De plus, il a été montré que même les étapes intermédiaires peuvent être attaquées par DPA, si bien que la séparation des variables doit être effectuée sur toutes les étapes de l'algorithme. Cela rend d'autant plus cruciale la question de la mémoire et du temps de calcul supplémentaires, en particulier pour des systèmes embarqués tels que les cartes à puce.
En 2000, Thomas Messerges [8] a étudié les attaques DPA appliquées aux candidats AES. Il a développé une contre-mesure générale, consistant à masquer toutes les entrées et sorties de chaque opération élémentaire exécutée par le microprocesseur. Cette technique générique lui a permis d'évaluer l'impact de ces contre-mesures sur les cinq candidats AES. Néanmoins, pour des algorithmes qui combinent des fonctions booléennes et des fonctions arithmétiques, on est conduit à utiliser deux sortes de masques. On a donc besoin d'une méthode de conversion entre le masquage booléen et le masquage arithmétique. C'est typiquement le cas pour IDEA [7] et pour trois des candidats AES : MARS [1], RC6 [9] et Twofish [10].
T. Messerges [8] a proposé un algorithme pour effectuer cette conversion. Malheureusement, Coron et Goubin [3] ont décrit une attaque spécifique, montrant que l'algorithme « BooleanTo Arithmetic » proposé par T. Messerges est insuffisant pour se prémunir contre la DPA. De même, son algorithme « ArithmeticToBoolean » n'est pas sûr non plus.
L'objet de la présente invention est de proposer deux nouveaux algorithmes « BooleanToArithmetic » et « ArithmeticToBoolean », prouvés sûrs contre les attaques DPA. Chacun de ces algorithmes n'utilise que des opérations très simples : XOR (ou exclusif), AND, la soustraction, et le « décalage à gauche » d'un registre. Notre algorithme « BooleanToArithmetic » utilise un nombre constant (égal à 7) de telles opérations élémentaires, alors que le nombre d'opérations élémentaires mises en jeu dans notre algorithme « ArithmeticToBoolean » est proportionnel (il vaut 5R+5) à la taille (Le. le nombre de bits K) des registres du processeur.
Contexte
L'attaque « Differential Power Analysis »
La « Differential Power Analysis » (DPA) est une attaque qui permet d'obtenir des informations sur la clé secrète (contenue dans une carte à puce par exemple), en effectuant une analyse statistique des enregistrements de consommation électrique, mesurés sur un grand nombre de calculs avec la même clé.
Cette attaque ne requiert aucune connaissance sur la consommation électrique individuelle de chaque instruction, ni sur la position dans le temps de chacune de ces instructions. Elle s'applique exactement de la même manière dès que l'attaquant connaît les sorties de l'algorithme et les courbes de consommation correspondantes. Elle repose uniquement sur l'hypothèse fondamentale suivante :
Hypothèse fondamentale : // existe une variable intermédiaire, apparaissant au cours du calcul de l'algorithme, telle que la connaissance de quelques bits de la clé (en pratique moins de 32 bits) permet de décider si deux entrées (respectivement deux sorties) donnent ou non la même valeur pour cette variable.
La méthode de masquage
La présente invention s'intéresse à la méthode de « masquage », suggérée par Chari ét al. [2].
Le principe de base consiste à programmer l'algorithme de telle sorte que l'hypothèse fondamentale ci-dessus ne soit plus vérifiée (Le. une variable intermédiaire ne dépend jamais de la connaissance d'un sous-ensemble facilement accessible de la clé secrète). Plus précisément, en utilisant un schéma de partage de clé, chacune des variables intermédiaires apparaissant dans l'algorithme cryptographique est séparée en plusieurs parties. De cette manière, un attaquant se trouve obligé d'analyser des distributions de plusieurs points, ce qui rend sa tâche exponentielle en le nombre d'éléments de la séparation.
Le problème de conversion
Pour des algorithmes qui combinent des fonctions booléennes et des fonctions arithmétiques, deux types de masquage doivent être utilisés :
Un masquage booléen : x' = x Φ r. Un masquage arithmétique : A = x - r modulo 2l Ici, la variable x est masquée par la valeur aléatoire r, ce qui donne la valeur masquée x' (ou A). Notre objectif est de trouver un algorithme efficace pour passer du masquage booléen au masquage arithmétique et vice versa, tout en faisant en sorte que les variables intermédiaires soient décorrélées des données à masquer, ce qui assure la résistance à la DPA.
Dans tout le présent document, on suppose que le processeur utilise des registres de K bits (en pratique K est la plupart du temps égal à 8, 16, 32 ou 64). Toutes les opérations arithmétiques (comme l'addition « + », la soustraction « - », ou le doublement « z —> 2.z ») sont considérées modulo 2 . Pour des raisons de simplicité, le « modulo 2 » sera souvent omis dans la suite.
L'invention concerne à cet effet un procédé de sécurisation d'un ensemble électronique comprenant un processeur et une mémoire, mettant en oeuvre un algorithme cryptographique stocké dans la mémoire et utilisant des opérations booléennes et des opérations arithmétiques, dans lequel au moins une variable est séparée en plusieurs parties, selon une séparation booléenne utilisant une opération booléenne, et selon une séparation arithmétique utilisant une opération arithmétique, caractérisé en ce que, pour passer de l'une quelconque de ces séparations à l'autre, on effectue, au moyen du processeur, un nombre prédéterminé d'opérations booléennes et arithmétiques sur lesdites parties et au moins un aléa, de manière à ce, pour chacune des valeurs apparaissant au cours du calcul, il n'y ait aucune corrélation avec ladite variable, le calcul aboutissant à un résultat stocké dans la mémoire.
Avantageusement, pour passer de la séparation booléenne à la séparation arithmétique, le procédé comprend les étapes suivantes :
-séparer toutes les parties sauf une en au moins deux éléments ;
-calculer au moins deux résultats partiels ne dépendant jamais de tous les éléments d'une partie ; -pour obtenir chaque partie sauf une de la séparation arithmétique, regrouper au moins deux desdits résultats partiels. Avantageusement, la séparation desdites parties en au moins deux éléments utilise une opération booléenne.
Avantageusement, ledit regroupement de deux desdits résultats partiels s'effectue au moyen d'une opération booléenne.
Avantageusement, l'opération booléenne utilisée pour la séparation desdites parties en au moins deux éléments est l'opération "ou exclusif".
Avantageusement, l'opération booléenne utilisée pour le regroupement desdits résultats partiels s'effectue au moyen de l'opération "ou exclusif".
Avantageusement, pour passer de la séparation booléenne à la séparation arithmétique, on utilise uniquement les opérations "ou exclusif" et "soustraction".
Avantageusement, la séparation booléenne, en deux parties, utilisant l'opération "ou exclusif" et la séparation arithmétique, en deux parties, utilisant l'opération "addition", le procédé est caractérisé en ce que pour passer de la séparation booléenne à l'opération arithmétique, on utilise cinq opérations "ou exclusif" et deux opérations "soustraction".
Avantageusement, pour passer de la séparation arithmétique à la séparation booléenne, on définit au moins une variable obtenue au moyen d'un nombre prédéterminé d'itérations successives à partir d'une valeur initiale qui est fonction d'au moins un aléa, par applications successives d'une transformation à base d'opérations booléennes et arithmétiques s' appliquant auxdites parties de la séparation arithmétique et audit au moins un aléa.
Avantageusement, ladite transformation est à base des opérations "ou exclusif", "et logique" et "décalage logique d'un bit à gauche". Avantageusement, chaque partie sauf une de la séparation booléenne est obtenue en appliquant des opérations booléennes à ladite ou lesdites variables obtenues par itération successives, auxdites parties de la séparation arithmétique et audit ou auxdits aléas.
Avantageusement, les opérations booléennes appliquées pour obtenir toutes les parties sauf une de la séparation booléenne sont l'opération "ou exclusif" et l'opération "décalage logique d'un bit vers la gauche".
Avantageusement, pour sécuriser un ensemble électronique utilisant des registres de K bits, la séparation arithmétique, en deux parties, utilisant l'opération "addition" et la séparation booléenne, en deux parties, utilisant l'opération "ou exclusif", caractérisé en ce que pour passer de la séparation booléenne à l'opération arithmétique, on utilise (2K+4) opérations "ou exclusif", (2K+1) opérations "et logique", et K opérations "décalage logique d'un bit à gauche".
L'invention concerne aussi un système embarqué comprenant un processeur et une mémoire, et mettant en oeuvre un algorithme cryptographique stocké dans la mémoire et utilisant des opérations booléennes et des opérations arithmétiques, dans lequel au moins une variable est séparée en plusieurs parties, selon une séparation booléenne utilisant une opération booléenne, et selon une séparation arithmétique utilisant une opération arithmétique, caractérisé en ce que, pour passer de l'une quelconque de ces séparations à l'autre, il comprend des moyens de conversion pour effectuer, au moyen du processeur, un nombre prédéterminé d'opérations booléennes et arithmétiques sur lesdites parties et au moins un aléa, de manière à ce, pour chacune des valeurs apparaissant au cours du calcul, il n'y ait aucune corrélation avec ladite variable, le calcul aboutissant à un résultat stocké dans la mémoire.
La description qui suit est accompagnée d'une figure unique représentant la constitution d'une carte à puce propre à exécuter l'invention. Du masquage booléen au masquage arithmétique
Pour calculer A = (x Φ r) - r, on utilise l'algorithme suivant :
Algorithme « BooleanToArithmetic »
Entrée : (x', r) tel que x = x' Φ r. Sortie : (A, r) tel que x = A + r.
Initialiser Ea une valeur aléatoire γ T <-x' ΦΓ
T A- T- Γ
T A- T x' r<-r®r A <-X' ΦΓ A <-A - Γ A <-A ΦT
L'algorithme « BooleanToArithmetic » utilise 2 variables auxiliaires (T et T), 1 appel au générateur aléatoire, et 7 opérations élémentaires (plus précisément : 5 « XOR » et 2 soustractions).
Du masquage arithmétique au masquage booléen
Pour calculer x' = (A + r) Φ r, on utilise l'algorithme suivant :
Algorithme « ArithmeticToBoolean »
Entrée : (A, r) tel que x = A + r. Sortie : (x', r) tel que x - x' r. Initialiser Eà une valeur aléatoire γ T <-2.r x' <-TΦr
x' -TΦA
Γ<-ΓΦX'
Ω<-ΩΦΓ Γ -TΛA Ω<-ΩΦΓ
FOR k=l to K-l r<-T Λr
Γ-ΓΦΩ
T<-TΛA Γ-ΓΦT
T<-2.Γ
ENDFOR x' <-x' ΦT
L'algorithme « ArithmeticToBoolean » utilise 3 variables auxiliaires (T, Ω et -T), 1 appel au générateur aléatoire, et (5Λ.+5) opérations élémentaires (plus précisément (2K+4) « XOR », (2K+1) « AND » et K « décalages à gauche »).
En ce qui concerne le nombre des aléas intervenant dans le procédé selon l'invention, on notera qu'il peut y en avoir un ou plusieurs par variable et, dans le cas de plusieurs variables, il y aura en général plusieurs aléas respectivement associés auxdites variables. La figure unique rappelle la constitution générale d'une carte à puce 1. Elle comprend des moyens de traitement d'information ou CPU 2, des moyens de mémorisation d'information 3,4,5 de différents types (RAM, EEPROM, ROM), des moyens d'entrée/sortie 6 permettant à la carte de coopérer avec un terminal lecteur de carte, et un bus 7 permettant à ces différents éléments de dialoguer entre eux. Les moyens de conversion précités, propres à effectuer les opérations booléennes et arithmétiques, comprennent notamment au moins un programme stocké dans les moyens de mémorisation d'information 3,4,5.
Bibliographie
[1] Carolynn Burwick, Don Coppersmith, Edward D'Avignon, Rosario Gennaro, Shai Halevi, Charanjit Jutla, Stephen M. Matyas, Luke O'Connor, Mohammad Peyravian, David Safford et Nevenko Zunic, « MARS - A Candidate Cipher for AES », Proposition pour l'AES, Juin 1998. Disponible sur : http://www.research.ibm.com/security/mars.pdf
[2] Suresh Chari, Charantjit S. Jutla, Josyula R. Rao et Pankaj Rohatgi, « Towards Sound Approaches to Counteract Power-Analysis Attacks », in Proceedings of Advances in Cryptology - CRYPTO'99, Springer-Verlag, 1999, pp. 398-412.
[3] Jean-Sébastien Coron et Louis Goubin, « On Boolean and Arithmetic Masking against Differential Power Analysis », in Proceedings of Workshop on Cryptographie Hardware and Embedded Systems, Springer-Verlag, Août 2000.
[4] Louis Goubin et Jacques Patarin, « DES and Differential Power Analysis - The Duplication Method », in Proceedings of Workshop on Cryptographie Hardware and Embedded Systems, Springer-Verlag, Août 1999, pp. 158-172.
[5] Paul Kocher, Joshua Jaffe et Benjamin Jun, « Introduction to Differential Power Analysis and Related Attacks », http://www.cryptography.com dpa/technical, 1998. [6] Paul Kocher, Joshua Jaffe et Benjamin Jun, « Differential Power Analysis », in Proceedings of Advances in Cryptology - CRYPTO'99, Springer-Verlag, 1999, pp. 388-397.
[7] Xuejia Lai et James Massey, « A Proposai for a New Block Encryption Standard », in Advances in Cryptology - EUROCRYPT '90 Proceedings, Springer- Verlag, 1991, pp. 389-404.
[8] Thomas S. Messerges, « Securing the AES Finalists Against Power Analysis Attacks », in Proceedings of Fast Software Encryption Workshop 2000, Springer- Verlag, Avril 2000.
[9] Ronald L. Rivest, Matthew J.B. Robshaw, Ray Sidney et Yiqun L. Yin, « The RC6 Block Cipher », vl.l, 20 août 1998. Disponible sur : ftp://ftp.rsasecurity.com/pub/rsalabs/aes/rc6v 11.pdf
[10] Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall et Niels Ferguson, « Twofish: A 128-Bit Block Cipher », 15 juin 1998, soumission AES disponible sur : http://www.counte ane.com/twofish.pdf

Claims

Revendications
1. Procédé de sécurisation d'un ensemble électronique mettant en oeuvre un algorithme cryptographique utilisant des opérations booléennes et des opérations arithmétiques, dans lequel au moins une variable est séparée en plusieurs parties, selon une séparation booléenne utilisant une opération booléenne, et selon une séparation arithmétique utilisant une opération arithmétique, caractérisé en ce que, pour passer de l'une quelconque de ces séparations à l'autre, on effectue un nombre prédéterminé d'opérations booléennes et arithmétiques sur lesdites parties et au moins un aléa, de manière à ce que, pour chacune des valeurs apparaissant au cours du calcul, il n'y ait aucune corrélation avec ladite variable.
2. Procédé selon la revendication 1, caractérisé en ce que, pour passer de la séparation booléenne à la séparation arithmétique, le procédé comprend les étapes suivantes :
-séparer toutes les parties sauf une en au moins deux éléments ;
-calculer au moins deux résultats partiels ne dépendant jamais de tous les éléments d'une partie ;
-pour obtenir chaque partie sauf une de la séparation arithmétique, regrouper au moins deux desdits résultats partiels.
3. Procédé selon la revendication 2, caractérisé en ce que la séparation desdites parties en au moins deux éléments utilise une opération booléenne.
4. Procédé selon la revendication 2, caractérisé en ce que ledit regroupement de deux desdits résultats partiels s'effectue au moyen d'une opération booléenne.
5. Procédé selon la revendication 3, caractérisé en ce que l'opération booléenne utilisée pour la séparation desdites parties en au moins deux éléments est l'opération "ou exclusif".
6. Procédé selon la revendication 4, caractérisé en ce que l'opération booléenne utilisée pour le regroupement desdits résultats partiels s'effectue au moyen de l'opération "ou exclusif".
7. Procédé selon la revendication 6, caractérisé en ce que pour passer de la séparation booléenne à la séparation arithmétique, on utilise uniquement les opérations "ou exclusif" et "soustraction".
8. Procédé selon la revendication 6, la séparation booléenne, en deux parties, utilisant l'opération "ou exclusif" et la séparation arithmétique, en deux parties, utilisant l'opération "addition", caractérisé en ce que pour passer de la séparation booléenne à l'opération arithmétique, on utilise cinq opérations "ou exclusif" et deux opérations "soustraction".
9. Procédé selon la revendication 1, caractérisé en ce que, pour passer de la séparation arithmétique à la séparation booléenne, on définit au moins une variable obtenue au moyen d'un nombre prédéterminé d'itérations successives à partir d'une valeur initiale qui est fonction d'au moins un aléa, par applications successives d'une transformation à base d'opérations booléennes et arithmétiques s'appliquant auxdites parties de la séparation arithmétique et audit au moins un aléa.
10. Procédé selon la revendication 9, caractérisé en ce que ladite transformation est à base des opérations "ou exclusif", "et logique" et "décalage logique d'un bit à gauche".
11. Procédé selon la revendication 9, caractérisé en ce que chaque partie sauf une de la séparation booléenne est obtenue en appliquant des opérations booléennes à ladite ou lesdites variables obtenues par itération successives, auxdites parties de la séparation arithmétique et audit ou auxdits aléas.
12. Procédé selon la revendication 11, caractérisé en ce que les opérations booléennes appliquées pour obtenir toutes les parties sauf une de la séparation booléenne sont l'opération "ou exclusif" et l'opération "décalage logique d'un bit vers la gauche".
13. Procédé selon la revendication 12, pour sécuriser un ensemble électronique utilisant des registres de K bits, la séparation arithmétique, en deux parties, utilisant l'opération "addition" et la séparation booléenne, en deux parties, utilisant l'opération "ou exclusif", caractérisé en ce que pour passer de la séparation booléenne à l'opération arithmétique, on utilise (2K+4) opérations "ou exclusif", (2K+1) opérations "et logique", et K opérations "décalage logique d'un bit à gauche".
14. Système embarqué comprenant des moyens de traitement d'information et des moyens de stockage d'information, et mettant en oeuvre un algorithme cryptographique utilisant des opérations booléennes et des opérations arithmétiques, dans lequel au moins une variable est séparée en plusieurs parties, selon une séparation booléenne utilisant une opération booléenne, et selon une séparation arithmétique utilisant une opération arithmétique, caractérisé en ce que, pour passer de l'une quelconque de ces séparations à l'autre, il comprend des moyens de conversion pour effectuer un nombre prédéterminé d'opérations booléennes et arithmétiques sur lesdites parties et au moins un aléa, de manière à ce, pour chacune des valeurs apparaissant au cours du calcul, il n'y ait aucune corrélation avec ladite variable.
PCT/FR2002/000579 2001-02-15 2002-02-14 Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant WO2002065692A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP02704839A EP1362451A1 (fr) 2001-02-15 2002-02-14 Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
US10/468,130 US7334133B2 (en) 2001-02-15 2002-02-14 Method for making a computer system implementing a cryptographic algorithm secure using Boolean operations and arithmetic operations and a corresponding embedded system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR01/02091 2001-02-15
FR0102091A FR2820914A1 (fr) 2001-02-15 2001-02-15 Procede de securisation d'un ensemble electronique mettant en oeuvre en algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant

Publications (1)

Publication Number Publication Date
WO2002065692A1 true WO2002065692A1 (fr) 2002-08-22

Family

ID=8860075

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/000579 WO2002065692A1 (fr) 2001-02-15 2002-02-14 Procede de securisation d'un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant

Country Status (4)

Country Link
US (1) US7334133B2 (fr)
EP (1) EP1362451A1 (fr)
FR (1) FR2820914A1 (fr)
WO (1) WO2002065692A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596527A1 (fr) * 2004-05-13 2005-11-16 Giesecke & Devrient GmbH Passage d'un masquage booléen à un masquage arithmétique
WO2018162115A1 (fr) 2017-03-06 2018-09-13 Giesecke+Devrient Mobile Security Gmbh Transition d'un masquage booléen à un masquage arithmétique
DE102021003275B3 (de) 2021-06-24 2022-07-14 Giesecke+Devrient Mobile Security Gmbh Verfahren zur Berechnung eines Übergangs von einer booleschen zu einer arithmetischen Maskierung

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100585119B1 (ko) * 2004-01-07 2006-06-01 삼성전자주식회사 암호화 장치, 암호화 방법 및 그 기록매체
DE102004061312B4 (de) * 2004-12-20 2007-10-25 Infineon Technologies Ag Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
US8752032B2 (en) * 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
FR2924879B1 (fr) 2007-12-07 2009-12-18 Sagem Securite Procede de codage d'un secret forme par une valeur numerique
KR101566408B1 (ko) * 2009-03-13 2015-11-05 삼성전자주식회사 불 마스크와 산술 마스크의 변환 회로 및 변환 방법
US8615078B2 (en) * 2009-08-21 2013-12-24 Electronics And Telecommunications Research Institute Method and apparatus for processing F-function in seed encryption system
KR101334040B1 (ko) * 2010-01-20 2013-11-28 한국전자통신연구원 대칭키 암호화 시스템의 마스킹 연산 방법 및 장치
FR2960728B1 (fr) * 2010-05-26 2016-04-15 Oberthur Technologies Procede de determination d'une representation d'un produit et procede d'evaluation d'une fonction
US8572146B2 (en) 2010-08-17 2013-10-29 Fujitsu Limited Comparing data samples represented by characteristic functions
US8874607B2 (en) 2010-08-17 2014-10-28 Fujitsu Limited Representing sensor data as binary decision diagrams
US8930394B2 (en) 2010-08-17 2015-01-06 Fujitsu Limited Querying sensor data stored as binary decision diagrams
US8645108B2 (en) 2010-08-17 2014-02-04 Fujitsu Limited Annotating binary decision diagrams representing sensor data
US8583718B2 (en) 2010-08-17 2013-11-12 Fujitsu Limited Comparing boolean functions representing sensor data
US8495038B2 (en) * 2010-08-17 2013-07-23 Fujitsu Limited Validating sensor data represented by characteristic functions
US9002781B2 (en) 2010-08-17 2015-04-07 Fujitsu Limited Annotating environmental data represented by characteristic functions
US9138143B2 (en) 2010-08-17 2015-09-22 Fujitsu Limited Annotating medical data represented by characteristic functions
KR20120070873A (ko) 2010-12-22 2012-07-02 한국전자통신연구원 부채널 방지 마스킹 덧셈 연산 장치
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US9176819B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Detecting sensor malfunctions using compression analysis of binary decision diagrams
US8812943B2 (en) * 2011-09-23 2014-08-19 Fujitsu Limited Detecting data corruption in medical binary decision diagrams using hashing techniques
US9075908B2 (en) 2011-09-23 2015-07-07 Fujitsu Limited Partitioning medical binary decision diagrams for size optimization
US8620854B2 (en) 2011-09-23 2013-12-31 Fujitsu Limited Annotating medical binary decision diagrams with health state information
US8909592B2 (en) 2011-09-23 2014-12-09 Fujitsu Limited Combining medical binary decision diagrams to determine data correlations
US8719214B2 (en) 2011-09-23 2014-05-06 Fujitsu Limited Combining medical binary decision diagrams for analysis optimization
US8838523B2 (en) 2011-09-23 2014-09-16 Fujitsu Limited Compression threshold analysis of binary decision diagrams
US9177247B2 (en) 2011-09-23 2015-11-03 Fujitsu Limited Partitioning medical binary decision diagrams for analysis optimization
EP2634953A1 (fr) * 2012-03-02 2013-09-04 Gemalto SA Procédé de contre-mesure contre l'analyse de canal latéral pour algorithmes cryptographiques utilisant des opérations booléennes et opérations arithmétiques
TWI507989B (zh) * 2013-08-08 2015-11-11 Nat Univ Tsing Hua 資源導向之嵌入式系統功率消耗分析方法
US9923719B2 (en) 2014-12-09 2018-03-20 Cryptography Research, Inc. Location aware cryptography
US10333699B1 (en) 2015-09-30 2019-06-25 Cryptography Research, Inc. Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
US10871947B2 (en) 2016-03-03 2020-12-22 Cryptography Research, Inc. Converting a boolean masked value to an arithmetically masked value for cryptographic operations
FR3101982B1 (fr) 2019-10-11 2024-03-08 St Microelectronics Grenoble 2 Détermination d'un bit indicateur
FR3101980B1 (fr) 2019-10-11 2021-12-10 St Microelectronics Grenoble 2 Processeur
FR3101983B1 (fr) * 2019-10-11 2021-11-12 St Microelectronics Grenoble 2 Détermination d'un bit indicateur

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182216B1 (en) * 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
WO2001024439A1 (fr) * 1999-09-29 2001-04-05 Hitachi, Ltd. Dispositif, programme ou systeme de traitement d'informations secretes

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CORON J-S ET AL: "ON BOOLEAN AND ARITHMETIC MASKING AGAINST DIFFERENTIAL POWER ANALYSIS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONAL WORKSHOP, CHES 2000, 17 August 2000 (2000-08-17), WORCESTER (US), pages 231 - 237, XP000989986 *
GOUBIN L: "A SOUND METHOD FOR SWITCHING BETWEEN BOOLEAN AND ARITHMETIC MASKING", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. 3RD INTERNATIONAL WORKSHOP, CHES 2001, PARIS, FRANCCE, MAY 14 - 16, 2001 PROCEEDINGS, LECTURE NOTES IN COMPUTER SCIENCE, BERLIN: SPRINGER, DE, vol. 2162, 14 May 2001 (2001-05-14), pages 3 - 15, XP008002644, ISBN: 3-540-42521-7 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1596527A1 (fr) * 2004-05-13 2005-11-16 Giesecke & Devrient GmbH Passage d'un masquage booléen à un masquage arithmétique
WO2018162115A1 (fr) 2017-03-06 2018-09-13 Giesecke+Devrient Mobile Security Gmbh Transition d'un masquage booléen à un masquage arithmétique
DE102021003275B3 (de) 2021-06-24 2022-07-14 Giesecke+Devrient Mobile Security Gmbh Verfahren zur Berechnung eines Übergangs von einer booleschen zu einer arithmetischen Maskierung
WO2022268364A1 (fr) 2021-06-24 2022-12-29 Giesecke+Devrient Mobile Security Gmbh Procédé de calcul d'une transition d'un masquage booléen à un masquage arithmétique

Also Published As

Publication number Publication date
US20040139136A1 (en) 2004-07-15
EP1362451A1 (fr) 2003-11-19
US7334133B2 (en) 2008-02-19
FR2820914A1 (fr) 2002-08-16

Similar Documents

Publication Publication Date Title
WO2002065692A1 (fr) Procede de securisation d&#39;un ensemble electronique mettant en oeuvre un algorithme cryptographique utilisant des operations booleennes et des operations arithmetiques, et systeme embarque correspondant
Coron et al. On boolean and arithmetic masking against differential power analysis
Oswald et al. Template attacks on masking—resistance is futile
JP4632950B2 (ja) 個人鍵を用いた耐タンパ暗号処理
Goubin A sound method for switching between boolean and arithmetic masking
Standaert et al. An overview of power analysis attacks against field programmable gate arrays
US10361854B2 (en) Modular multiplication device and method
US7908641B2 (en) Modular exponentiation with randomized exponent
JP5823639B2 (ja) ブール演算および算術演算を用いる暗号アルゴリズムへのサイドチャネル解析に対する対策方法
Mather et al. Multi-target DPA attacks: Pushing DPA beyond the limits of a desktop computer
US20110216900A1 (en) Methods of encryption and decryption and encryption systems using the same
CN101006677A (zh) 用于实施加密运算的方法和装置
CN111817842B (zh) 一种针对rsa-crt运算的能量分析攻击测试装置和方法
Bauer et al. Correlation analysis against protected SFM implementations of RSA
Amiel et al. Distinguishing multiplications from squaring operations
EP1381936A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
Kamoun et al. Experimental Implementation of 2ODPA attacks on AES design with flash-based FPGA Technology
FR3095709A1 (fr) Procédé et système de masquage pour la cryptographie
Roelofs et al. Online template attack on ECDSA: Extracting keys via the other side
US7123717B1 (en) Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm
EP1198921A2 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
WO2006067057A1 (fr) Procede d&#39;exponentiation securisee et compacte pour la cryptographie
KR100772550B1 (ko) 전력분석공격에 안전한 메시지 블라인딩 방법
Park et al. An improved side channel attack using event information of subtraction
CN110299992B (zh) 基于滑动窗口的多变量二次方程的乱序加密方法及装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002704839

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002704839

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 10468130

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP