FR2966953A1 - Procede de contremesure cryptographique par derivation d'une donnee secrete - Google Patents
Procede de contremesure cryptographique par derivation d'une donnee secrete Download PDFInfo
- Publication number
- FR2966953A1 FR2966953A1 FR1004294A FR1004294A FR2966953A1 FR 2966953 A1 FR2966953 A1 FR 2966953A1 FR 1004294 A FR1004294 A FR 1004294A FR 1004294 A FR1004294 A FR 1004294A FR 2966953 A1 FR2966953 A1 FR 2966953A1
- Authority
- FR
- France
- Prior art keywords
- data
- transformed
- calculation
- circuit
- processed
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
L'invention concerne un procédé de protection d'un circuit contre des attaques visant à découvrir une donnée secrète utilisée lors de l'exécution d'un calcul cryptographique, le procédé comprenant des étapes d'exécution d'un calcul de transformation (F) mettant en œuvre une fonction de transformation bijective, recevant en entrée une donnée secrète (K), et fournissant une donnée transformée (K'), exécution d'un calcul cryptographique (CC) recevant en entrée une donnée à traiter (M) et la donnée transformée (K'), et exécution d'un calcul de transformation inverse (G) recevant en entrée le résultat du calcul cryptographique (CM'), et fournissant un résultat (CM) que le calcul cryptographique aurait fourni s'il avait été appliqué à la donnée à traiter et directement à la donnée secrète, la donnée à traiter appartenant à un flux (DS) d'une multiplicité de données, la donnée transformée (K') étant fournie en entrée du calcul cryptographique pour toutes les données du flux.
Description
i PROCEDE DE CONTREMESURE CRYPTOGRAPHIQUE PAR DERIVATION D'UNE DONNEE SECRETE
La présente invention concerne un procédé de contremesure pour protéger des données sensibles circulant dans un circuit électronique, contre des attaques visant à découvrir ces données. La présente invention s'applique notamment aux cartes à microcircuits, aux boitiers décodeurs (set s top box), et plus généralement à tout dispositif manipulant des données secrètes ou mettant en oeuvre des fonctions cryptographiques. Les données sensibles peuvent être notamment des clés de chiffrement ou de déchiffrement, et plus généralement des données cryptographiques utilisées ou élaborées lors de calculs cryptographiques, io comme des données intermédiaires de tels calculs, et des identifiants qui doivent être conservés secrets. Les circuits électroniques manipulant des données sensibles font parfois l'objet d'attaques visant à déterminer ces données. Parmi les attaques connues, les attaques de type SPA (Simple Power Analysis) ou ls DPA (Differential Power Analysis) consistent à effectuer de nombreuses mesures de courants et de tensions entrant et sortant dans le circuit lors de l'exécution d'un programme ou le traitement de données par le circuit, avec des données d'entrée différentes. Les mesures obtenues sont exploitées par des analyses statistiques visant à faire apparaître des corrélations, pour en 20 déduire des données secrètes, traitées ou utilisées par le circuit. Dans ce même but, les attaques de type EMA (Electromagnetic Analysis) et DEMA (Differential Electromagnetic Analysis) se basent sur l'analyse du rayonnement électromagnétique émis par le circuit. Afin de lutter contre ces attaques variées par nature, de nombreuses 25 solutions très différentes les unes des autres ont été apportées. L'invention concerne plus particulièrement celles qui visent à empêcher les attaques par analyse statistique d'aboutir par corrélation à la découverte d'une donnée secrète. A cet effet, il est connu d'utiliser des nombres aléatoires pour 30 masquer des calculs cryptographiques. Par exemple lors d'une exponentiation modulaire, de la forme (Md mod N, M étant une donnée à 2
chiffrer et d une donnée secrète), couramment utilisée dans certains calculs cryptographiques, il est connu de d'ajouter à la donnée secrète d un nombre aléatoire r avant de l'utiliser comme exposant dans le calcul d'exponentiation modulaire (Md+r mod N). Pour obtenir le résultat de l'opération s d'exponentiation recherchée (Md mod N), il faut ensuite retirer la composante résultant de l'introduction du nombre aléatoire en effectuant un calcul d'exponentiation modulaire appliqué au nombre aléatoire préalablement changé de signe (M-r mod N), puis de multiplier les résultats obtenus par les deux exponentiations modulaires. io Au lieu d'ajouter à la donnée secrète un nombre aléatoire, il est également connu de multiplier celle-ci par un nombre aléatoire r. Dans ce cas, le résultat de l'exponentiation modulaire recherché (Md mod N) est obtenu en calculant l'inverse du nombre aléatoire 1/r et en effectuant un second calcul d'exponentiation modulaire à la puissance 1/r, appliqué au ls résultat du premier calcul d'exponentiation modulaire ((Mdr mod N)~~r mod N). Ces solutions présentent l'inconvénient de nécessiter un générateur de nombres aléatoires de bonne qualité, de stocker temporairement le résultat du premier calcul d'exponentiation modulaire et d'ajouter un second 20 calcul d'exponentiation modulaire et une multiplication ou un calcul d'inverse. II est également connu d'ajouter à la donnée secrète d utilisée comme exposant un terme de la forme r - cp(N) tel que le calcul d'exponentiation modulaire utilisant la somme obtenue comme exposant (Md+r.q)(N) mod N), fournit un résultat identique au calcul d'exponentiation modulaire utilisant 25 uniquement la donnée secrète comme exposant (Md mod N). Cette solution nécessite également un générateur de nombre aléatoire de bonne qualité pour déterminer la valeur de r. Il est également nécessaire de connaître le facteur (p(N) qui permet de ne pas changer le résultat de l'exponentiation modulaire, ce qui, selon les applications, n'est pas toujours le cas. 30 Au lieu de modifier la donnée secrète avant de procéder au calcul d'exponentiation modulaire, il a également été envisagé de modifier la donnée à chiffrer M avant le calcul d'exponentiation en la multipliant par un nombre aléatoire r. Le calcul d'exponentiation modulaire fournit donc la valeur ((M - r)d mod N). Pour obtenir le résultat du calcul recherché, il est 3 donc nécessaire de calculer la quantité (r"d mod N) et de multiplier cette quantité par le résultat du premier calcul d'exponentiation modulaire. Cette solution présente les inconvénients des solutions précédemment décrites. II est donc souhaitable d'empêcher la découverte de données secrètes lors de calculs cryptographiques, sans avoir besoin d'un générateur de nombres aléatoires et de mémoire pour stocker des résultats intermédiaires. Des modes de réalisation concernent un procédé de protection d'un circuit contre des attaques visant à découvrir une donnée secrète utilisée io lors de l'exécution par le circuit d'un calcul cryptographique, le procédé comprenant des étapes consistant à : exécuter un calcul de transformation mettant en oeuvre une fonction de transformation bijective, recevant en entrée une donnée secrète, et fournissant une donnée transformée, exécuter un calcul cryptographique recevant en entrée une donnée à traiter 15 et la donnée transformée, et exécuter un calcul de transformation inverse recevant en entrée le résultat du calcul cryptographique, et fournissant un résultat que le calcul cryptographique aurait fourni s'il avait été appliqué à la donnée à traiter et directement à la donnée secrète. Selon un mode de réalisation, la donnée à traiter appartient à un flux comprenant une 20 multiplicité de données à traiter, la donnée transformée étant fournie en entrée du calcul cryptographique pour toutes les données du flux de données à traiter. Selon un mode de réalisation, le procédé comprend des étapes de mémorisation de la donnée transformée et de lecture de la donnée 25 transformée mémorisée, pour chaque donnée du flux à traiter, le calcul de transformation de la donnée secrète en donnée transformée étant effectué une seule fois pour toutes les données du flux à traiter. Selon un mode de réalisation, le procédé comprend des étapes de réception et d'exécution par le circuit d'un ordre de sélection d'une nouvelle 30 fonction de transformation et d'une fonction de transformation inverse, parmi un ensemble de couples de fonctions de transformations bijectives et de transformations inverses correspondantes, de calcul d'une nouvelle donnée transformée résultant de l'application de la nouvelle fonction de transformation sélectionnée à la donnée secrète, d'utilisation de la nouvelle 35 donnée transformée en entrée du calcul cryptographique appliqué à chacune 4
des données d'un flux de données à traiter, reçu à la suite de l'ordre de sélection. Selon un mode de réalisation, le procédé comprend des étapes de réception par le circuit d'un nouveau couple de fonctions de transformation s et de transformation inverse correspondante, sous la forme de séquence d'instructions exécutables, d'exécution de la fonction de transformation reçue, appliquée à la donnée secrète, pour obtenir une nouvelle donnée transformée, et d'utilisation de la nouvelle donnée transformée en entrée du calcul cryptographique appliqué à chacune des données d'un flux de io données à traiter, reçu à la suite de la réception du couple de fonctions de transformation. Selon un mode de réalisation, le calcul cryptographique comprend un calcul d'exponentiation modulaire de la donnée à traiter, utilisant comme exposant la donnée secrète ou la donnée transformée, ou bien une ls multiplication de courbe elliptique cryptographique de la donnée à traiter par la donnée transformée ou la donnée secrète. Selon un mode de réalisation, la fonction de transformation est une multiplication modulo N par un nombre entier positif ou négatif, ou l'inverse d'un tel nombre. 20 Des modes de réalisation concernent également un circuit de traitement de flux de données, configuré pour mettre en oeuvre le procédé tel que défini précédemment. Selon un mode de réalisation, le circuit de traitement comprend un circuit sécurisé de calcul cryptographique configuré pour mémoriser une 25 donnée secrète et exécuter le calcul de transformation de la donnée secrète et le calcul cryptographique sur une donnée d'un flux de données à traiter. Selon un mode de réalisation, le circuit de calcul cryptographique sécurisé est configuré pour mémoriser la donnée transformée résultant du calcul de transformation appliqué à la donnée secrète, et pour utiliser à 30 chaque calcul cryptographique, la donnée transformée mémorisée. Selon un mode de réalisation, le circuit de calcul cryptographique sécurisé est configuré pour mémoriser plusieurs couples de fonctions de transformation et de transformation inverse correspondante, pour recevoir des ordres de sélection d'un nouveau couple de fonctions parmi les couples 35 de fonctions mémorisés, et de calcul d'une nouvelle donnée transformée résultant de l'application de la fonction de transformation sélectionnée à la donnée secrète. 2966953 s Selon un mode de réalisation, le circuit de traitement est configuré pour recevoir un nouveau couple de fonctions de transformation et de transformation inverse correspondante, sous la forme de séquences d'instructions exécutables, exécuter la fonction de transformation reçue, s appliquée à la donnée secrète, pour obtenir une nouvelle donnée transformée, et utiliser la nouvelle donnée transformée en entrée du calcul cryptographique appliqué à chacune des données d'un flux de données à traiter.
io Des exemples de réalisation de l'invention seront décrits dans ce qui suit, à titre non limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente sous la forme de blocs un calcul cryptographique classique, la figure 2 représente sous la forme de blocs un calcul ls cryptographique modifié selon un mode de réalisation, la figure 3 représente schématiquement un circuit susceptible d'être protégé en mettant en oeuvre le calcul cryptographique modifié. La figure 1 représente un calcul cryptographique effectué par un circuit électronique. Le calcul cryptographique CC applique une fonction 20 mathématique CC à une donnée à traiter M et à une donnée secrète K et fournit un résultat CM = CC(M, K). Le calcul cryptographique CC peut être un calcul de chiffrement ou déchiffrement, symétrique ou asymétrique. La figure 2 représente un calcul cryptographique effectué par un circuit électronique, selon un mode de réalisation. Le calcul cryptographique 25 représenté sur la figure 2 fournit un résultat identique à celui de la figure 1. A cet effet, le calcul de la figure 2 applique tout d'abord à la donnée secrète K une fonction de transformation F qui est une fonction mathématique bijective. La fonction F appliquée à la donnée secrète K fournit une donnée transformée K'. La donnée à traiter M et la donnée transformée K' obtenue 30 sont fournies en entrée du calcul cryptographique CC. Ainsi le calcul CC fournit un résultat CM' = CC(M, K'). Pour obtenir le même résultat CM que par le calcul de la figure 1, le calcul de la figure 2 applique au résultat CM' une fonction mathématique G dite "inverse" de la fonction F, telle qu'elle fournit le résultat CM qui aurait été obtenu en appliquant le calcul 35 cryptographique CC à la donnée à traiter M et directement à la donnée secrète K, c'est-à-dire non transformée par la fonction F. Ainsi, le calcul cryptographique de la figure 2 peut être représenté par l'équation suivante : CM = CC(M, K) = G(F(M, F(K))) (1) Sur le plan mathématique, si la fonction F est bijective, il existe une fonction s G satisfaisant à l'équation (1). L'équation (1) peut s'appliquer notamment à des calculs cryptographique comprenant un ou plusieurs calculs d'exponentiation modulaire, de la manière suivante : CM = MK mod N = G(MF(K) mod N) (2) io Dans ce cas, les fonctions F et G sont des fonctions mathématiques modulo N. Les fonctions F et G peuvent être des fonctions mathématiques simples, telles qu'une multiplication modulo N par un nombre entier positif ou négatif A, ou l'inverse B=1/A d'un tel nombre, pour la fonction F, et une exponentiation modulo N à la puissance 1/A pour la fonction G. L'équation ls (2) peut s'appliquer à tout calcul cryptographique mettant en oeuvre des calculs d'exponentiation modulaire, tel que RSA, Diffie Hellman, et El Gamal. L'équation (1) peut également s'appliquer à la cryptographie basée sur les courbes elliptiques, de la manière suivante : CM = K x M = G(F(K) x M) (3) 20 dans laquelle l'opérateur "x" est une multiplication modulo N dans le groupe mathématique constitué par les points d'une courbe elliptique préalablement choisie, et N est un nombre premier correspondant à un point du groupe mathématique correspondant à la courbe elliptique choisie. Les fonctions F et G sont alors des fonctions dans le groupe mathématique associé à la 25 courbe elliptique choisie. Les fonctions F et G peuvent être des fonctions mathématiques simples dans le groupe des points de la courbe elliptique choisie, telles qu'une multiplication modulo N par un nombre entier positif ou négatif A pour la fonction F, et une multiplication par l'inverse 1/A de du nombre A (ou le nombre A élevé à la puissance -1 modulo N) pour la 30 fonction G. La figure 3 représente un exemple de circuit mettant en ceuvre le calcul cryptographique de la figure 2. Sur la figure 3, le circuit IC comprend une unité de traitement de données DPU, une ou plusieurs mémoires MEM1, MEM2, MEM3, un circuit sécurisé de calcul cryptographique CAU et 35 un circuit d'interface INT permettant au circuit IC de communiquer avec des 7
circuits externes. L'unité DPU, les mémoires MEM1 à MEM3, et les circuits CAU et INT sont interconnectés par l'intermédiaire d'un bus de transmission de données ADB. Les mémoires MEM1 et MEM2 sont par exemple des mémoires non volatiles. La mémoire MEM1 peut être de type ROM et la s mémoire MEM2 de type réinscriptible (EEPROM). La mémoire MEM3 peut être une mémoire volatile. Le circuit IC est configuré pour recevoir et/ou émettre des flux de données DS dont les données sont traitées par le circuit CAU, avant leur émission ou après leur réception par le circuit INT. Le circuit CAU fournit par exemple à l'unité DPU des données traitées CM résultant de io l'application le calcul cryptographique CC aux données M du flux DS. Le circuit CAU transforme chaque donnée M du flux DS en une donnée dérivée CM correspondant au résultat du calcul cryptographique CC(M,K) appliqué à la donnée M et à la clé secrète K. Le circuit IC peut être un circuit de décodeur vidéo (set top box) ou un microcircuit par exemple intégré dans ls une carte à puce. Selon un mode de réalisation, le circuit CAU calcule chaque donnée dérivée CM en appliquant l'équation (1), (2) ou (3), à chaque donnée M du flux DS, le couple de fonctions (F, G) et la donnée secrète K restant secrets et inchangés pour chaque donnée M du flux à traiter DS. De cette manière, 20 si le circuit IC subit une attaque basée sur une analyse statistique de mesures réalisées sur le circuit IC, visant à faire apparaître des corrélations, l'attaque peut conduire à la découverte, non pas de la donnée secrète K, mais de la donnée transformée K'. Il est à noter que le couple de fonctions (F, G) n'est pas changé à 25 chaque donnée à traiter, car sinon une attaque ne peut aboutir par corrélation à la découverte d'une donnée secrète ou transformée. Par conséquent, la donnée transformée K' est utilisée à la place de la donnée secrète K dans une série de calculs cryptographiques CC, un nombre minimum de fois suffisant pour que des corrélations puissent être établies 30 par les attaques connues. Selon un mode de réalisation, la donnée transformée K' = F(K) est calculée une fois pour traiter une première donnée du flux DS, est mémorisée par le circuit CAU, la donnée transformée mémorisée étant lue par ce dernier pour traiter toutes les autres données du flux DS. 2966953 s
Selon un mode de réalisation, les fonctions F et G sont exécutées par le circuit CAU. Selon un autre mode de réalisation, la fonction de transformation F est appliquée à la donnée secrète K par le circuit CAU, et la fonction inverse G correspondante est appliquée par un autre circuit tel que l'unité DPU, aux données transformées CM' = CC(M, K'). Selon un mode de réalisation, un ensemble de plusieurs couples de fonctions F et G est mémorisé par le circuit CAU. Le circuit IC peut recevoir par l'intermédiaire du circuit d'interface INT un ordre de changement du couple de fonctions (F, G) utilisé. Le circuit CAU sélectionne alors l'un des io couples de fonctions (F, G) qu'il mémorise. Cette sélection peut être aléatoire ou imposée par l'ordre reçu par le circuit d'interface INT. De cette manière, s'il existe un doute sur la connaissance des fonctions F et G, par des attaquants potentiels du circuit IC, ces fonctions peuvent être changées à distance par des exploitants du circuit IC.
15 Selon un mode de réalisation, les fonctions F et G peuvent être mémorisées par le circuit IC (dans la mémoire MEM2 ou par le circuit CAU) sous la forme de séquences d'instructions exécutables. Ces séquences d'instructions mémorisées peuvent être modifiées en transmettant au circuit IC de nouvelles séquences d'instructions implémentant un autre couple de 20 fonctions F et G. La transmission de ces séquences d'instructions au circuit IC est effectuée de manière sécurisée, par exemple sous forme chiffrée à l'aide d'une clé secrète partagée avec l'exploitant du circuit IC ayant émis les séquences d'instructions, ou bien à l'aide d'une clé appartenant à une paire de clés asymétriques. 25 9
Claims (11)
- REVENDICATIONS1. Procédé de protection d'un circuit (IC) contre des attaques visant à découvrir une donnée secrète utilisée lors de l'exécution par le circuit d'un calcul cryptographique, le procédé comprenant des étapes consistant à : exécuter un calcul de transformation mettant en oeuvre une fonction s de transformation bijective (F), recevant en entrée une donnée secrète (K), et fournissant une donnée transformée (K'), exécuter un calcul cryptographique (CC) recevant en entrée une donnée à traiter (M) et la donnée transformée (K'), et exécuter un calcul de transformation inverse (G) recevant en entrée 10 le résultat du calcul cryptographique (CM'), et fournissant un résultat (CM) que le calcul cryptographique aurait fourni s'il avait été appliqué à la donnée à traiter et directement à la donnée secrète, caractérisé en ce que la donnée à traiter (M) appartient à un flux (DS) comprenant une multiplicité de données à traiter, la donnée transformée (K') 15 étant fournie en entrée du calcul cryptographique (CC) pour toutes les données du flux de données à traiter.
- 2. Procédé selon la revendication 1, comprenant des étapes de mémorisation de la donnée transformée (K') et de lecture de la donnée 20 transformée mémorisée, pour chaque donnée (M) du flux à traiter (DS), le calcul de transformation (F) de la donnée secrète (K) en donnée transformée étant effectué une seule fois pour toutes les données du flux à traiter.
- 3. Procédé selon la revendication 1 ou 2, comprenant des étapes de 25 réception et d'exécution par le circuit (IC) d'un ordre de sélection d'une nouvelle fonction de transformation (F) et d'une fonction de transformation inverse (G), parmi un ensemble de couples de fonctions de transformations bijectives et de transformations inverses correspondantes, de calcul d'une nouvelle donnée transformée (K') résultant de l'application de la nouvelle 30 fonction de transformation sélectionnée à la donnée secrète (K), d'utilisation de la nouvelle donnée transformée en entrée du calcul cryptographique (CC) appliqué à chacune des données (M) d'un flux de données à traiter (DS), reçu à la suite de l'ordre de sélection.io
- 4. Procédé selon la revendication 1 ou 2, comprenant des étapes de réception par le circuit (IC) d'un nouveau couple de fonctions de transformation (F) et de transformation inverse correspondante (G), sous la s forme de séquence d'instructions exécutables, d'exécution de la fonction de transformation reçue, appliquée à la donnée secrète (K), pour obtenir une nouvelle donnée transformée (K'), et d'utilisation de la nouvelle donnée transformée en entrée du calcul cryptographique (CC) appliqué à chacune des données (M) d'un flux de données à traiter (DS), reçu à la suite de la 10 réception du couple de fonctions de transformation.
- 5. Procédé selon l'une des revendications 1 à 4, dans lequel le calcul cryptographique (CC) comprend un calcul d'exponentiation modulaire de la donnée à traiter (M), utilisant comme exposant la donnée secrète (K) ou la 15 donnée transformée (K'), ou bien une multiplication de courbe elliptique cryptographique de la donnée à traiter par la donnée transformée ou la donnée secrète.
- 6. Procédé selon l'une des revendications 1 à 5, dans lequel la 20 fonction de transformation (F) est une multiplication modulo N par un nombre entier positif ou négatif, ou l'inverse d'un tel nombre.
- 7. Circuit de traitement de flux de données, caractérisé en ce qu'il est configuré pour mettre en oeuvre le procédé 25 selon l'une des revendications 1 à 6.
- 8. Circuit selon la revendication 7, comprenant un circuit sécurisé de calcul cryptographique (CAU) configuré pour mémoriser une donnée secrète (K) et exécuter le calcul de transformation (F) de la donnée secrète et le 30 calcul cryptographique (CC) sur une donnée (M) d'un flux de données à traiter (DS).
- 9. Circuit selon la revendication 8, dans lequel le circuit de calcul cryptographique sécurisé (CAU) est configuré pour mémoriser la donnée 35 transformée (K') résultant du calcul de transformation (F) appliqué à laIl donnée secrète (K), et pour utiliser à chaque calcul cryptographique, la donnée transformée mémorisée.
- 10. Circuit selon l'une des revendications 8 et 9, dans lequel le circuit s de calcul cryptographique sécurisé (CAU) est configuré pour mémoriser plusieurs couples de fonctions de transformation et de transformation inverse correspondante (F, G), pour recevoir des ordres de sélection d'un nouveau couple de fonctions parmi les couples de fonctions mémorisés, et de calcul d'une nouvelle donnée transformée (K') résultant de l'application 10 de la fonction de transformation sélectionnée à la donnée secrète.
- 11. Circuit selon l'une des revendications 7 à 9, configuré pour recevoir un nouveau couple de fonctions de transformation et de transformation inverse correspondante (F, G), sous la forme de séquences 15 d'instructions exécutables, exécuter la fonction de transformation reçue, appliquée à la donnée secrète (K), pour obtenir une nouvelle donnée transformée (K'), et utiliser la nouvelle donnée transformée en entrée du calcul cryptographique (CC) appliqué à chacune des données (M) d'un flux de données à traiter (DS). 20
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1004294A FR2966953B1 (fr) | 2010-11-02 | 2010-11-02 | Procede de contremesure cryptographique par derivation d'une donnee secrete |
US13/286,962 US8666067B2 (en) | 2010-11-02 | 2011-11-01 | Cryptographic countermeasure method by deriving a secret data |
US14/091,153 US9363073B2 (en) | 2010-11-02 | 2013-11-26 | Cryptographic countermeasure method by deriving a secret data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1004294A FR2966953B1 (fr) | 2010-11-02 | 2010-11-02 | Procede de contremesure cryptographique par derivation d'une donnee secrete |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2966953A1 true FR2966953A1 (fr) | 2012-05-04 |
FR2966953B1 FR2966953B1 (fr) | 2015-08-28 |
Family
ID=44072555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1004294A Active FR2966953B1 (fr) | 2010-11-02 | 2010-11-02 | Procede de contremesure cryptographique par derivation d'une donnee secrete |
Country Status (2)
Country | Link |
---|---|
US (2) | US8666067B2 (fr) |
FR (1) | FR2966953B1 (fr) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2977953A1 (fr) * | 2011-07-13 | 2013-01-18 | St Microelectronics Rousset | Protection d'un calcul d'exponentiation modulaire par addition d'une quantite aleatoire |
DE102012209404A1 (de) * | 2012-06-04 | 2013-12-05 | Robert Bosch Gmbh | Vorrichtung zur Ausführung eines kryptographischen Verfahrens und Betriebsverfahren hierfür |
DE102012025416A1 (de) * | 2012-12-21 | 2014-06-26 | Giesecke & Devrient Gmbh | Verfahren zum Betreiben eines portablen Datenträgers sowie ein solcher portabler Datenträger |
EP3220305B1 (fr) * | 2016-02-22 | 2018-10-31 | Eshard | Procédé de test de la résistance d'un circuit à une analyse de canal latéral de second ordre ou plus |
FR3069993B1 (fr) * | 2017-08-07 | 2020-09-18 | Maxim Integrated Products | Dispositifs et procedes de masquage d'operations de chiffrement rsa |
US20220198068A1 (en) * | 2020-12-18 | 2022-06-23 | Agita Labs, Inc. | Privacy-enhanced computation via sequestered encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060029224A1 (en) * | 2004-08-06 | 2006-02-09 | Yoo-Jin Baek | System and recording medium for securing data and methods thereof |
EP2326041A1 (fr) * | 2009-11-19 | 2011-05-25 | Gemalto SA | Contre-mesures contre les attaques en force pour la randomisation de l'exposant |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4078152A (en) * | 1976-04-26 | 1978-03-07 | International Business Machines Corporation | Block-cipher cryptographic system with chaining |
US4229818A (en) * | 1978-12-29 | 1980-10-21 | International Business Machines Corporation | Method and apparatus for enciphering blocks which succeed short blocks in a key-controlled block-cipher cryptographic system |
US5696823A (en) * | 1995-03-31 | 1997-12-09 | Lucent Technologies Inc. | High-bandwidth encryption system with low-bandwidth cryptographic modules |
US6885748B1 (en) * | 1999-10-23 | 2005-04-26 | Contentguard Holdings, Inc. | System and method for protection of digital works |
DE60139280D1 (de) * | 2000-03-09 | 2009-08-27 | Nippon Telegraph & Telephone | Blockverschlüsselungseinrichtung unter Verwendung von Hilfsumwandlungen |
CA2341931C (fr) * | 2000-03-24 | 2006-05-30 | Contentguard Holdings, Inc. | Systeme et methode de protection d'oeuvres numeriques |
CA2327911A1 (fr) * | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Fonctions logicielles d'obscurcissement |
RU2003131278A (ru) * | 2002-10-29 | 2005-04-20 | Хай-О Информтех Эсдиэн Биэйчди (MY) | Способ шифрования данных |
US6747580B1 (en) * | 2003-06-12 | 2004-06-08 | Silicon Image, Inc. | Method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and method for determining such a block code |
US7961876B2 (en) * | 2005-01-11 | 2011-06-14 | Jintai Ding | Method to produce new multivariate public key cryptosystems |
FR2897216B1 (fr) * | 2006-02-08 | 2008-05-02 | Sagem Defense Securite | Protection d'un algorithme cryptographique |
JP4882598B2 (ja) * | 2006-07-28 | 2012-02-22 | ソニー株式会社 | 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム |
JP2008058830A (ja) * | 2006-09-01 | 2008-03-13 | Sony Corp | データ変換装置、およびデータ変換方法、並びにコンピュータ・プログラム |
JP4961909B2 (ja) * | 2006-09-01 | 2012-06-27 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム |
US20080097954A1 (en) * | 2006-10-20 | 2008-04-24 | Microsoft Corporation | Ranged lookups |
WO2009075337A1 (fr) * | 2007-12-13 | 2009-06-18 | Nec Corporation | Procédé de chiffrement, procédé de déchiffrement, dispositif, et programme |
US20090245510A1 (en) * | 2008-03-25 | 2009-10-01 | Mathieu Ciet | Block cipher with security intrinsic aspects |
US9336160B2 (en) * | 2008-10-30 | 2016-05-10 | Qualcomm Incorporated | Low latency block cipher |
US8731189B2 (en) * | 2009-10-27 | 2014-05-20 | Nec Corporation | Information processing device, information processing method |
-
2010
- 2010-11-02 FR FR1004294A patent/FR2966953B1/fr active Active
-
2011
- 2011-11-01 US US13/286,962 patent/US8666067B2/en active Active
-
2013
- 2013-11-26 US US14/091,153 patent/US9363073B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060029224A1 (en) * | 2004-08-06 | 2006-02-09 | Yoo-Jin Baek | System and recording medium for securing data and methods thereof |
EP2326041A1 (fr) * | 2009-11-19 | 2011-05-25 | Gemalto SA | Contre-mesures contre les attaques en force pour la randomisation de l'exposant |
Non-Patent Citations (2)
Title |
---|
CORON J-S: "RESISTANCE AGAINST DIFFERENTIAL POWER ANALYSIS FOR ELLIPTIC CURVE CRYPTOSYSTEMS", CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS. INTERNATIONALWORKSHOP, XX, XX, 1 August 1999 (1999-08-01), pages 292 - 302, XP000952243 * |
KOCHER P C ED - KOBLITZ N (ED): "TIMING ATTACKS ON IMPLEMENTATIONS OF DIFFIE-HELLMAN, RSA, DSS, AND OTHER SYSTEMS", ADVANCES IN CRYPTOLOGY - CRYPTO '96. 16TH. ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE. SANTA BARBARA, AUG. 18 - 22, 1996. PROCEEDINGS; [PROCEEDINGS OF THE ANNUAL INTERNATIONAL CRYPTOLOGY CONFERENCE (CRYPTO)], BERLIN, SPRINGER, DE, vol. CONF. 16, 18 August 1996 (1996-08-18), pages 104 - 113, XP000626590, ISBN: 978-3-540-61512-5 * |
Also Published As
Publication number | Publication date |
---|---|
US9363073B2 (en) | 2016-06-07 |
US20140079214A1 (en) | 2014-03-20 |
US20120106732A1 (en) | 2012-05-03 |
US8666067B2 (en) | 2014-03-04 |
FR2966953B1 (fr) | 2015-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2946284B1 (fr) | Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation | |
EP1358732B1 (fr) | Procede de cryptage securise et composant utilisant un tel procede de cryptage | |
EP1166494B1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique | |
FR2966953A1 (fr) | Procede de contremesure cryptographique par derivation d'une donnee secrete | |
Wang et al. | Cryptanalysis of an image cryptosystem based on logistic map | |
FR2820577A1 (fr) | Procede securise de calcul cryptographique a cle secrete et composant mettant en oeuvre un tel procede | |
FR2809893A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique | |
FR3095709A1 (fr) | Procédé et système de masquage pour la cryptographie | |
EP3300292B1 (fr) | Procédé de chiffrement ou de déchiffrement protégé contre des attaques par canaux cachés | |
FR2880750A1 (fr) | Carte a microprocesseur et procede cryptographique pour proteger une cle secrete | |
EP2983083B1 (fr) | Procede de cryptographie sur courbe elliptique comprenant une detection d'erreur | |
WO2007006810A1 (fr) | Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe | |
EP2284748B1 (fr) | Procédé de contremesure pour protéger des données mémorisées | |
WO2007104706A1 (fr) | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique | |
EP1254408B1 (fr) | Procede de calcul d'exponentation modulaire dans un composant electronique mettant en oeuvre un algorithme de chiffrement a cle publique | |
EP2936302A1 (fr) | Generateur de sequences chaotiques | |
EP2599256B1 (fr) | Procede et dispositif de randomisation d'une cle secrete contre les attaques par canaux auxiliaires | |
FR2818846A1 (fr) | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie | |
FR2810821A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique de koblitz | |
WO2007116140A1 (fr) | PROCÉDÉ DE TRAITEMENT CRYPTOQRAPHIQυE DE DONNÉES, DISPOSITIF ET PROGRAMME ASSOCIÉS | |
EP4270855A1 (fr) | Protection contre les attaques par canal auxiliaire a l aide d'un masquage carre | |
FR3010562A1 (fr) | Procede de traitement de donnees et dispositif associe | |
EP3579491A1 (fr) | Procédé de détermination d'inverse modulaire et dispositif de traitement cryptographique associé | |
FR3045253A1 (fr) | Procede et dispositif de traitement cryptographique | |
FR2984547A1 (fr) | Procede de generation de nombres premiers prouves adapte aux cartes a puce |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |
|
PLFP | Fee payment |
Year of fee payment: 12 |
|
PLFP | Fee payment |
Year of fee payment: 13 |
|
PLFP | Fee payment |
Year of fee payment: 14 |