WO2006030107A1 - Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee - Google Patents

Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee Download PDF

Info

Publication number
WO2006030107A1
WO2006030107A1 PCT/FR2005/002225 FR2005002225W WO2006030107A1 WO 2006030107 A1 WO2006030107 A1 WO 2006030107A1 FR 2005002225 W FR2005002225 W FR 2005002225W WO 2006030107 A1 WO2006030107 A1 WO 2006030107A1
Authority
WO
WIPO (PCT)
Prior art keywords
modular
message
prime number
result
exponent
Prior art date
Application number
PCT/FR2005/002225
Other languages
English (en)
Inventor
Arnaud Boscher
Robert Naciri
Original Assignee
Oberthur Card Systems Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Card Systems Sa filed Critical Oberthur Card Systems Sa
Publication of WO2006030107A1 publication Critical patent/WO2006030107A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7242Exponent masking, i.e. key masking, e.g. A**(e+r) mod n; (k+r).P
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7247Modulo masking, e.g. A**e mod (n*r)
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction

Definitions

  • the invention relates to a data processing method, an electronic entity and a microcircuit card, in particular for decrypting or signing a message by means of a private key in an RSA (Rivest-Shamir-Adleman) type encryption system, and this in a secure way.
  • RSA Raster-Shamir-Adleman
  • the application of the private key can be used in the two following cases:
  • the application of the private key thus amounts to modular exponentiation with the exponent of the private key d.
  • the document WO 03/023605 proposes introducing a random component into the exponents used during the calculation of modular exponentiation.
  • this solution makes it possible to modify only a very small part of the values involved during the calculation, which is unsatisfactory in terms of security.
  • the modular results obtained by modular exponentiation are not masked since they are reduced modulo p and q.
  • obtaining a modular result including a step of modular exponentiation at an exponent dependent on said exponent, the modular result being masked for at least one of the two prime numbers;
  • the reduction step modulo n provided in the prior art being eliminated, it reduces the processing time and / or sizing of the electronics required to obtain the second message while enjoying the security provided by the use a hidden modular result.
  • the recombination is for example carried out by a combination of modular additions and modular multiplications. Thus, no division is used which reduces the processing time and / or sizing of the electronics.
  • the recombination of the modular results can use for modules the two prime numbers; thus a conventional recombination formula is used.
  • the method may comprise in practice, for each prime number, a step of reducing a number depending on the first message modulo the product of the prime number and an associated integer, in order to obtain a modular residue, and / or, for each prime number, a step of modular exponentiation of the modular residue, with an exponent depending on said exponent, modulo the product of the prime number and the associated integer, in order to obtain the modular result.
  • the recombination of the modular results can comprise the following steps:
  • the associated integer is determined by drawing random numbers.
  • the masking of the values used during the calculation is then particularly safe.
  • the first message is for example a message encrypted by the public key associated with the private key composed of the exponent and the two prime numbers.
  • the second message can also be a signature obtained by means of the private key.
  • the first message can then be obtained by concatenation of data.
  • the invention also proposes an electronic entity for transforming a first message into a second message by means of a private key composed of an exponent and two prime numbers, the second message being the result of a modular exponentiation of the first message.
  • first message to said exponent modulo the product of the two prime numbers, characterized in that it comprises: means for obtaining, for each prime number, a modular result including means of modular exponentiation at an exponent depending on said exponent and capable of generating a masked modular result for at least one of the two prime numbers;
  • the invention finally proposes a microcircuit card comprising such an electronic entity.
  • This electronic entity is for example portable, in which case it may be a digital personal assistant (or PDA of the English acronym meaning "Personal Digital Assistant"). It may also be an electronic passport that contains such an electronic entity associated with a radio frequency communication system. Alternatively, the electronic entity may be a security module (SHM or "Security Hardware Module”) or a personal computer (or PC of the English "Personal Computer”).
  • SHM Security Module
  • PC Personal Computer
  • FIG. 1 schematically represents the main elements of a possible embodiment for a card microcircuit
  • FIG. 2 represents the general physical appearance of the microcircuit card of FIG. 1;
  • FIG. 3 represents a process carried out in accordance with the teachings of the invention.
  • the microcircuit card 10 the main electronic elements of which are represented in FIG. 1, comprises a microprocessor 2 connected on the one hand to a Random Access Memory (Random Access Memory) 4 and on the other hand to a memory device.
  • EEPROM Electrically Erasable Programmable Read OnYy Memory
  • the rewritable semiconductor memory 6 could be a flash memory.
  • the memories 4, 6 are connected to the microprocessor 2 by a bus each in Figure 1; alternatively, it could be a common bus.
  • the microcircuit card 10 also comprises an interface 8 for communication with a user terminal made here in the form of contacts, one of which, for example, provides a bidirectional link with the microprocessor 2.
  • the interface 8 thus enables the establishment of bidirectional communication between the microprocessor 2 and the user terminal in which the microcircuit card 10 will be inserted.
  • the microprocessor 2 will implement a method of operation of the microcircuit card 10, according to a set of instructions, stored for example in a read-only memory. (or Read-OnIy Memory ROM) - not shown - or in the rewritable memory 6, which defines a computer program.
  • This method generally includes the exchange of data with the user terminal via the interface 8 and the data processing within the microcircuit card 10, and precisely within the microprocessor 2 with possible use of data stored in the rewritable memory 6 and data stored temporarily in the RAM 4.
  • FIG. 2 represents the general physical appearance of the microcircuit card 10 made with the general shape of a rectangular parallelepiped of very small thickness.
  • the communication interface 8 provided with the contacts already mentioned appears clearly on the face of the microcircuit card 10 visible in FIG. 2, in the form of a rectangle inscribed in the upper face of the microcircuit card 10.
  • FIG. 3 represents a possible mode of implementation of the data processing method according to the invention.
  • the microprocessor 2 receives the message m to be processed.
  • a message is here understood to mean a number representing information to be transmitted or the result obtained by applying to this information a hash function (for example of the SHA-1 or MD-5 type) with a view to its signature.
  • the processing unit is a microcircuit card as described above
  • the message m is for example received from the terminal which receives the card via the interface 8.
  • the message m will then be processed as described below according to the steps E4 to E 16.
  • steps E4 to E14 are represented in two branches in FIG. 3 (each of the branches respectively grouping the steps E4, E8, E12 and E6, E10, E14) to clarify the disclosure, they can be carried out successively, for example in the order of counting steps.
  • the numbers p and q are integers which constitute the prime factors of the public module (or module of the public key) n. These numbers are used as modules in the intermediate calculations using the Chinese Remainder Theorem without masking.
  • the number of is the exponent of the private key that is linked to the exponent e of the public key by the relation: de - 1 mod [(p-1) (q-1)].
  • step E6 three integers ⁇ ⁇ , ⁇ ⁇ , ⁇ used for the processing relating to the module q are determined. As indicated with regard to the integers ⁇ i, ⁇ i, ⁇ i, the integers ⁇ 2, ⁇ 2 , ⁇ 2 can be obtained by drawing random numbers.
  • step E8 groups together the masking operations of the values used for the modular exponentiation relating to the module p.
  • this operation consists on the one hand in masking the message itself by adding an integer multiple of the module p ( ⁇ ) and on the other hand in hiding the module p itself by multiplying it by an integer ⁇ i.
  • Step E12 is performed at the modular exponentiation of the masked modular residue mi by means of the masked exponent di previously determined using, as previously, the masked module ( ⁇ i.p).
  • the modular result masked S ? relative to the module p (and calculated here using the masked module ⁇ .p) is written according to the formula: ⁇ (m,) * 1 mod OVp)
  • This operation therefore uses the masked modular residue m 2 and the masked exponent d 2 determined in step E10, as well as the masked module
  • the masked modular results S ? and S 2 could be obtained by other operations.
  • the modular results S 1 and S 2 could be masked by adding an integer (possibly determined by random number drawing) of times the associated p or q module.
  • the modular results S ? and S 2 having been obtained as specified above for each of the modules p and q using the masked modules ( ⁇ i.p) and ( ⁇ 2 .q), the signature S is obtained by linear recombination of the modular results according to a standard formula:
  • the masked modular result S 2 is equal to the unmasked modular result S 2 modulo q (where

Abstract

Un procédé de traitement de données, ou une entité électronique associée transforme un premier message (m) en un second message (S) au moyen d'une clé privée composée d'un exposant et de deux nombres premiers (p,q), par exponentiation modulaire du premier message (m) audit exposant (d) modulo le produit des deux nombres premiers (p,q). Le procédé comprend les étapes suivantes : pour chaque nombre premier (p;q), obtention d'un résultat modulaire (S1;S2) incluant une étape d'exponentiation modulaire à un exposant (d1;d2) dépendant dudit exposant (d), le résultat modulaire étant masqué pour l'un au moins des deux nombres premiers (p,q) ; obtention du second message (S) par recombinaison des résultats modulaires (S1,S2).

Description

"Procédé de traitement de données, entité électronique et carte à microcircuit, notamment pour déchiffrer ou signer un message de façon sécurisée"
L'invention concerne un procédé de traitement de données, une entité électronique et une carte à microcircuit, notamment pour déchiffrer ou signer un message au moyen d'une clé privée dans un système de chiffrement type RSA (pour Rivest-Shamir-Adleman), et ce de façon sécurisée.
Le système de chiffrement RSA est basé sur l'utilisation d'une clé publique formée de deux entiers (n, e) et d'une clé privée composée de trois entiers (d, p, q), tels que : n = p.q et d.e = 1 mod [(p-1) (q-1)], où p et q sont des nombres premiers.
La sécurité de ce système est basée sur le fait qu'il est pratiquement impossible dans un temps limité d'obtenir la factorisation de n sous la forme p.q, c'est-à-dire d'obtenir la clé privée à partir de la clé publique.
L'application de la clé privée peut être utilisée dans les deux cas suivants :
- pour le déchiffrement d'un message issu d'un message original m et chiffré par exponentiation modulaire au moyen de la clé publique (c = nf mod n): le déchiffrement est obtenu par la formule m = cd mod n ;
- pour la signature d'un message m selon la formule s = md mod n, la vérification de la signature pouvant alors être effectuée par un détenteur de la clé publique au moyen de la formule m = se mod n. Dans les deux cas, l'application de la clé privée revient donc à l'exponentiation modulaire avec l'exposant de la clé privée d.
Le détenteur de la clé privée ayant connaissance de la factorisation p.q du module public n, il a été proposé d'alléger le calcul d'exponentiation modulaire en utilisant le Théorème des Restes Chinois (souvent dénommé CRT de l'anglais Chinese Reminder Theorem). Cette technique permet d'effectuer les calculs sur des nombres de l'ordre de grandeur de p et de q (qui sont en général tous deux du même ordre de grandeur), c'est-à-dire sur des nombres d'une longueur moitié par rapport à des nombres d'ordres de grandeur n, ce qui permet en théorie de réduire les calculs par un facteur quatre.
La technique utilisant le Théorème des Restes Chinois ou CRT se décompose en trois parties principales : - la réduction initiale du message m en deux résidus modulaires relativement à p et à q ;
- un calcul d1 exponentiation pour chaque résidu modulaire ;
- la recombinaison des résultats obtenus pour chaque résidu modulaire à l'étape précédente. Des études ont été menées pour vérifier la fiabilité de cette technique sur le plan de la sécurité, comme expliqué par exemple dans l'article "Attacking unbalanced RSA-CRT using SPA" de Pierre-Alain FOUQUE, Gwenaëlle MARTINET et Guillaume POUPARD dans CHES 2003, LNCS 2779, pp. 254- 268 (CD. Walter et al., Springer-Verlag Berlin Heildelberg 2003). Des contre-mesures ont été élaborées pour répondre aux différents types d'attaque envisageables, et notamment à celles décrites dans l'article susmentionné. Parmi ces contre-mesures sont prévus des techniques dites de masquage, qui consiste à modifier les valeurs mises en jeu lors des calculs cryptographiques d'une manière telle que le résultat du calcul n'en soit pas affecté.
Dans cet ordre d'idées, le document WO 03/023605 propose d'introduire une composante aléatoire dans les exposants utilisés lors du calcul d'exponentiation modulaire. Cette solution ne permet toutefois de modifier qu'une partie très réduite des valeurs mises en jeu lors du calcul, ce qui n'est pas satisfaisant sur le plan de la sécurité. Notamment, les résultats modulaires obtenus par exponentiation modulaire ne sont pas masqués puisqu'ils sont réduits modulo p et q.
Un autre type de masquage utilisé consiste, éventuellement en combinaison avec la solution qui vient d'être exposée, à effectuer non des calculs modulo p et modulo q respectivement, mais modulo des multiples entiers de p et de q. Ces multiples peuvent d'ailleurs être déterminés par tirage de nombres aléatoires. Cette dernière solution est par exemple proposée dans l'article précité et dans les demandes de brevet WO 99/35782 (pages 20 à 23) et WO 01/28153.
Ces méthodes de masquage sont efficaces mais travaillent modulo des multiples de p et de g, et donc avec des nombres de dimensions supérieures. Après recombinaison des résultats obtenus respectivement modulo un multiple de p et modulo un multiple de q, le résultat de la recombinaison semblait a priori obtenu modulo un multiple de n, et on procédait de ce fait dans l'art antérieur à une réduction de ce résultat modulo n pour obtenir le résultat définitif de l'algorithme. Cette dernière étape qui utilise le nombre n rendait nécessaire un dimensionnement plus important de l'électronique que celui permis par l'utilisation du CRT et/ou allongeait le temps de traitement pour aboutir au résultat définitif.
Allant contre ce préjugé, les inventeurs se sont rendus compte que cette réduction modulo n était inutile et qu'ils pouvaient ainsi proposer un procédé de traitement de données transformant un premier message en un second message au moyen d'une clé privée composée d'un exposant et de deux nombres premiers, le second message étant le résultat d'une exponentiation modulaire du premier message audit exposant modulo le produit des deux nombres premiers, caractérisé en ce qu'il comprend les étapes suivantes :
- pour chaque nombre premier, obtention d'un résultat modulaire incluant une étape d'exponentiation modulaire à un exposant dépendant dudit exposant, le résultat modulaire étant masqué pour l'un au moins des deux nombres premiers ;
- obtention du second message par recombinaison des résultats modulaires.
L'étape de réduction modulo n prévue dans l'art antérieur étant supprimée, on réduit le temps de traitement et/ou le dimensionnement de l'électronique nécessaire à l'obtention du second message tout en bénéficiant de la sécurité fournie par l'utilisation d'un résultat modulaire masqué. La recombinaison est par exemple réalisée par une combinaison d'additions modulaires et de multiplications modulaires. Ainsi, aucune division n'est utilisée ce qui permet de réduire le temps de traitement et/ou le dimensionnement de l'électronique. La recombinaison des résultats modulaires peut utiliser pour modules les deux nombres premiers ; on utilise ainsi une formule classique de recombinaison.
Le procédé peut comprendre en pratique, pour chaque nombre premier, une étape de réduction d'un nombre dépendant du premier message modulo le produit du nombre premier et d'un entier associé, afin d'obtenir un résidu modulaire, et/ou, pour chaque nombre premier, une étape d'exponentiation modulaire du résidu modulaire, à un exposant dépendant dudit exposant, modulo le produit du nombre premier et de l'entier associé, afin d'obtenir le résultat modulaire. En pratique, la recombinaison des résultats modulaires peut comprendre les étapes suivantes :
- soustraction du résultat modulaire obtenu pour un premier nombre premier au résultat modulaire obtenu pour le second nombre premier afin d'obtenir une différence ; - multiplication de la différence par l'inverse modulaire du premier nombre premier modulo le second nombre premier afin d'obtenir un produit ;
- réduction du produit modulo le second nombre premier et multiplication du résultat de cette réduction par le premier nombre premier afin d'obtenir une valeur ; - addition de cette valeur au résultat modulaire obtenu pour le premier nombre premier afin d'obtenir le second message.
Selon une possibilité de mise en œuvre, pour au moins un nombre premier, l'entier associé est déterminé par tirage de nombres aléatoires. Le masquage des valeurs utilisées lors du calcul est alors particulièrement sûr. Le premier message est par exemple un message chiffré par la clé publique associée à la clé privée composée de l'exposant et des deux nombres premiers. Le second message peut également être une signature obtenue au moyen de la clé privée. Le premier message peut alors être obtenu par concaténation de données.
L'invention propose également une entité électronique permettant la transformation d'un premier message en un second message au moyen d'une clé privée composée d'un exposant et de deux nombres premiers, le second message étant le résultat d'une exponentiation modulaire du premier message audit exposant modulo le produit des deux nombres premiers, caractérisée en ce qu'elle comprend : - des moyens d'obtention, pour chaque nombre premier, d'un résultat modulaire incluant des moyens d'exponentiation modulaire à un exposant dépendant dudit exposant et aptes à générer un résultat modulaire masqué pour l'un au moins des deux nombres premiers ;
- des moyens d'obtention du second message par recombinaison des résultats modulaires.
Les modes possibles de réalisation et les avantages associés pour l'entité électronique correspondent à ceux du procédé évoqué ci-dessus.
L'invention propose enfin une carte à microcircuit comprenant une telle entité électronique. Cette entité électronique est par exemple portable, auquel cas il peut s'agir d'un assistant personnel numérique (ou PDA de l'acronyme anglo-saxon signifiant "Personal Digital Assistant"). Il peut également s'agir d'un passeport électronique qui contient une telle entité électronique associée à un système de communication radiofréquence. En variante, l'entité électronique peut être un module de sécurité (ou SHM de l'anglais "Security Hardware Module") ou un ordinateur personnel (ou PC de l'anglais "Personal Computer").
D'autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit, faite en référence aux dessins annexés, dans lesquels : - la figure 1 représente schématiquement les éléments principaux d'une forme de réalisation possible pour une carte à microcircuit ; - la figure 2 représente l'allure physique générale de la carte à microcircuit de la figure 1 ;
- la figure 3 représente un procédé réalisé conformément aux enseignements de l'invention. La carte à microcircuit 10 dont les principaux éléments électroniques sont représentés à la figure 1 comporte un microprocesseur 2 relié d'une part à une mémoire vive (ou RAM de l'anglais Random Access Memory) 4 et d'autre part à une mémoire à semi-conducteur réinscriptible 6, par exemple une mémoire morte effaçable et programmable électriquement (ou EEPROM de l'anglais Electrically Erasable Programable Read OnIy Memory). En variante, la mémoire réinscriptible à semi-conducteur 6 pourrait être une mémoire flash.
Les mémoires 4, 6 sont reliées au microprocesseur 2 par un bus chacune sur la figure 1 ; en variante, il pourrait s'agir d'un bus commun.
La carte à microcircuit 10 comporte également une interface 8 de communication avec un terminal utilisateur réalisée ici sous forme de contacts dont un assure par exemple une liaison bidirectionnelle avec le microprocesseur 2. L'interface 8 permet ainsi l'établissement d'une communication bidirectionnelle entre le microprocesseur 2 et le terminal utilisateur dans lequel la carte à microcircuit 10 sera insérée. Ainsi, lors de l'insertion de la carte à microcircuit 10 dans un terminal utilisateur, le microprocesseur 2 va mettre en œuvre un procédé de fonctionnement de la carte à microcircuit 10, selon un jeu d'instructions, stockées par exemple dans une mémoire morte (ou ROM de l'anglais Read- OnIy Memory) - non représentée - ou dans la mémoire réinscriptible 6, qui définit un programme d'ordinateur. Ce procédé inclut en général l'échange de données avec le terminal utilisateur via l'interface 8 et le traitement de données au sein de la carte à microcircuit 10, et précisément au sein du microprocesseur 2 avec utilisation éventuelle de données stockées dans la mémoire réinscriptible 6 et de données stockées temporairement dans la mémoire vive 4. Un exemple d'un tel procédé qui met en œuvre l'invention est donné dans la suite en référence à la figure 3. La figure 2 représente l'allure physique générale de la carte à microcircuit 10 réalisée avec la forme générale d'un parallélépipède rectangle de très faible épaisseur.
L'interface de communication 8 pourvue des contacts déjà mentionnés apparaît clairement sur la face de la carte à microcircuit 10 visible sur la figure 2, sous forme d'un rectangle inscrit dans la face supérieure de la carte à microcircuit 10.
La figure 3 représente un mode possible de mise en œuvre du procédé de traitement de données selon l'invention. A l'étape E2, le microprocesseur 2 reçoit le message m à traiter. On entend ici par message un nombre qui représente une information à transmettre ou le résultat obtenu par application à cette information d'une fonction de hachage (par exemple du type SHA-1 ou MD-5) en vue de sa signature. Dans le cas où l'unité de traitement est une carte à microcircuit comme décrit ci- dessus, le message m est par exemple reçu du terminal qui reçoit la carte via l'interface 8.
Le message m va ensuite être traité comme décrit ci-dessous selon les étapes E4 à E 16. Bien que les étapes E4 à E14 soient représentées en deux branches sur la figure 3 (chacune des branches regroupant respectivement les étapes E4, E8, E12 et E6, E10, E14) afin de clarifier l'exposé, elles peuvent être réalisées successivement, par exemple dans l'ordre de numération des étapes.
Le procédé qui va être décrit ci-dessous permet d'obtenir la signature du message m par application d'une clé privée (d, p, q) conformément à l'algorithme RSA.
Si le message m était un message chiffré, un procédé analogue à celui qui va être décrit permettrait donc de déchiffrer le message m au moyen de cette clé privée.
On rappelle ici que les nombres p et q sont des nombres entiers qui constituent les facteurs premiers du module public (ou module de la clé publique) n. Ces nombres sont utilisés comme modules dans les calculs intermédiaires utilisant le Théorème des Restes Chinois sans masquage. Le nombre of est quant à lui l'exposant de la clé privée qui est lié à l'exposant e de la clé publique par la relation : d.e - 1 mod [(p-1) (q-1)].
Dans l'exemple décrit à la figure 3, on utilise trois entiers λ ή, μ i, τ i pour les calculs relatifs au module p. Les entiers précités sont par exemple obtenus par tirage de nombres aléatoires, ce qui améliore encore comme précisé ci-dessous la sécurité du système. Naturellement, on entend ici par "tirage de nombres aléatoires" l'obtention de nombres pseudo-aléatoires par des techniques classiques dans ce domaine.
De manière analogue, on détermine à l'étape E6 trois entiers λ ∑, μ ∑, τ∑ utilisés pour les traitements relatifs au module q. Comme indiqué en ce qui concerne les entiers λ i,μ i,τ i, les entiers λ 2, μ 2, ^2 peuvent être obtenus par tirage de nombres aléatoires.
On passe alors à l'étape E8 qui regroupe les opérations de masquage des valeurs utilisées pour l'exponentiation modulaire relative au module p.
Pour ce faire, on calcule tout d'abord un premier message masqué /τiï selon la formule mi=(m+μ pp) mod (λ i.p).
On remarque que cette opération consiste d'une part à masquer le message lui-même en lui ajoutant un multiple entier du module p (μφ) et d'autre part à masquer le module p lui-même en le multipliant par un entier λi.
On comprend ainsi que, comme indiqué précédemment, l'utilisation d'entiers X1 et μ-i obtenus par tirage de nombres aléatoires rend le masquage plus efficace et améliore ainsi la sécurité du système.
L'étape E8 comporte également une opération de calcul d'un exposant masqué di=dp+τi.(p-1), où dp = d mod (p-1).
Cette dernière opération permet de masquer l'exposant utilisé lors de l'exponentiation modulaire comme indiqué plus bas.
On procède ensuite à l'étape E10 qui effectue des calculs analogues à ceux de l'étape E8, cette fois en ce qui concerne le module q : - le résidu modulaire rr)2 du message masqué est déterminé par m2=(m+μ 2-q) mod (λ 2-q) ; - l'exposant masqué Qf2 est calculé par d2 = dg2.(q -ï) , où dq=d mod (q-1).
Selon une possibilité de réalisation, on peut choisir les entiers λi et A2 de telle sorte que les modules masqués (λή.p) et {λ.q) soient des nombres de même longueur, ce qui constitue une solution au problème exposé dans l'article cité en introduction et améliore ainsi la sécurité du procédé.
Une fois les valeurs utilisées dans les calculs d'exponentiation modulaire déterminées aux étapes E8 et E10, on peut procéder à ces calculs, comme détaillé maintenant. On procède à l'étape E12 à l'exponentiation modulaire du résidu modulaire masqué m-i au moyen de l'exposant masqué di précédemment déterminé en utilisant comme précédemment le module masqué (λi.p). Le résultat modulaire masqué S? relatif au module p (et calculé ici en utilisant le module masqué λή.p) s'écrit donc selon la formule : ^ (m,)*1 mod OVp)
On peut noter que, l'entier λt étant un nombre aléatoire, le résultat modulaire masqué S? est également aléatoire, ce qui améliore la sécurité.
On procède de manière analogue au calcul du résultat modulaire masqué S2 à l'étape E14 selon la formule :
Figure imgf000011_0001
Cette opération utilise donc le résidu modulaire masqué m2 et l'exposant masqué d2 déterminé à l'étape E10, ainsi que le module masqué
(Uq).
On peut remarquer que les résultats modulaires masqués S? et S2 pourraient être obtenus par d'autres opérations. Par exemple, en combinaison ou non avec la technique de masquage des modules qui vient d'être décrite, les résultats modulaires S^ et S2 pourraient être masqués par addition d'un nombre entier (éventuellement déterminé par tirage de nombre aléatoire) de fois le module p ou q associé. Les résultats modulaires S? et S2 ayant été obtenus comme précisé ci-dessus pour chacun des modules p et q en utilisant les modules masqués (λi.p) et (λ2.q), la signature S est obtenue par recombinaison linéaire des résultats modulaires selon une formule type :
S=[(S2-Si).Apq mod (q)].p+Si, où Apq est l'inverse modulaire de p modulo q défini par p.Apq = 1 mod q. La formule de recombinaison est du type qui vient d'être indiqué, mais elle pourrait être différente de la formule donnée ci-dessus ; en effet, en variante, on pourrait par exemple utiliser la formule suivante :
Figure imgf000012_0001
mod (p)].q+S2, où Bqp est l'inverse modulaire de q modulo p, tel que q.Bqp=1 mod p. On peut remarquer les formules de recombinaison proposées utilisent les modules p et q de la clé privée, et non les modules masqués.
La signature S ainsi obtenue est strictement égale à la signature qui aurait été obtenue sans masquage (c'est-à-dire que sa valeur est positive ou nulle et strictement inférieure au module public n=p.q), et ce bien que les calculs des résidus modulaires et d'exponentiation modulaire aient été effectués en utilisant les modules masqués (λ-i.p) et (λ2.p).
En effet, si deux nombres sont égaux modulo un multiple entier d'un module (par exemple modulo Z1-P), ils sont également égaux modulo ce module
(ici modulo p), de telle sorte que le résultat modulaire masqué S? est égal modulo p au résultat modulaire non masqué S1 avec S1 = (mm.odp)dp modp , de telle sorte que S? s'écrit Si=s-ι+k.p.
Pour la raison qui vient d'être indiquée, le résultat modulaire masqué S2 est égal au résultat modulaire non masqué S2 modulo q (où
S2 = (jnm.odq) " modg ). Ainsi, si l'on explicite la signature S calculée au moyen des résultats modulaires masqués par la première formule de recombinaison donnée ci- dessus, on obtient :
Figure imgf000012_0002
ce qui donne, d'après la définition de Apq donnée ci-dessus :
Figure imgf000012_0003
mod (q)].p+s-ι, ce qui correspond précisément à la recombinaison des résultats modulaires non masqués qui donnent la signature du message. L'exemple qui vient d'être donné n'est qu'un mode de réalisation possible de l'invention. Comme déjà mentionné, celle-ci s'applique notamment au cas du déchiffrement d'un message m au moyen de la clé privée (d, p, q).

Claims

REVENDICATIONS
1. Procédé de traitement de données transformant un premier message (m) en un second message (S) au moyen d'une clé privée composée d'un exposant (d) et de deux nombres premiers (p,q), le second message (S) étant le résultat d'une exponentiation modulaire du premier message (m) audit exposant (d) modulo le produit des deux nombres premiers (p,q), caractérisé en ce qu'il comprend les étapes suivantes :
- pour chaque nombre premier (p;q), obtention d'un résultat modulaire (Si;S2) incluant une étape d'exponentiation modulaire à un exposant
(di;d2) dépendant dudit exposant (d), le résultat modulaire étant masqué pour l'un au moins des deux nombres premiers (p,q) ;
- obtention du second message (S) par recombinaison des résultats modulaires (Si1S2).
2. Procédé selon la revendication 1 , caractérisé en ce que ladite recombinaison est réalisée par une combinaison d'additions modulaires et de multiplications modulaires.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ladite recombinaison utilise pour modules les deux nombres premiers (p,q).
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte, pour chaque nombre premier (p;q), une étape de réduction d'un nombre (m+μip;m+μ2q) dépendant du premier message (m) modulo le produit du nombre premier (p;q) et d'un entier associé (λ-i;λ2), afin d'obtenir un résidu modulaire (mi;m2).
5. Procédé selon la revendication 4, caractérisé en ce qu'il comporte, pour chaque nombre premier (p;q), une étape d'exponentiation modulaire du résidu modulaire (mi;m2), à l'exposant (di;d2) dépendant dudit exposant (d), modulo le produit du nombre premier (p;q) et de l'entier associé (λ^M) afin d'obtenir le résultat modulaire (Si;S2).
6. Procédé selon la revendication 4 ou 5, caractérisé en ce que, pour au moins un nombre premier (p;q), l'entier associé (λi;λ2) est déterminé par tirage de nombres aléatoires.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que la recombinaison des résultats modulaires comprend les étapes suivantes : - soustraction du résultat modulaire (S-,) obtenu pour un premier nombre premier (p) au résultat modulaire (S2) obtenu pour le second nombre premier (q) afin d'obtenir une différence (S2-S-1) ;
- multiplication de la différence (S2-S1) par l'inverse modulaire (Apq) du premier nombre premier (p) modulo le second nombre premier (q) afin d'obtenir un produit ;
- réduction du produit modulo le second nombre premier (q) et multiplication du résultat de cette réduction par le premier nombre premier (p) afin d'obtenir une valeur ;
- addition de cette valeur au résultat modulaire (S-i) obtenu pour le premier nombre premier (p) afin d'obtenir le second message (S).
8. Entité électronique permettant la transformation d'un premier message (m) en un second message (S) au moyen d'une clé privée composée d'un exposant (d) et de deux nombres premiers (p,q), le second message (S) étant le résultat d'une exponentiation modulaire du premier message (m) audit exposant (d) modulo le produit des deux nombres premiers (p,q), caractérisé en ce qu'elle comprend :
- des moyens d'obtention, pour chaque nombre premier (p;q), d'un résultat modulaire (S-ι;S2) incluant des moyens d'exponentiation modulaire à un exposant (di;d2) dépendant dudit exposant (d) et aptes à générer un résultat modulaire masqué pour l'un au moins des deux nombres premiers (p,q) ; - des moyens d'obtention du second message (S) par recombinaison des résultats modulaires (Si,S2).
9. Entité électronique selon la revendication 8, caractérisé en ce que les moyens d'obtention du second message (S) sont aptes à générer ladite recombinaison par une combinaison d'additions modulaires et de multiplications modulaires.
10. Entité électronique selon la revendication 8 ou 9, caractérisé en ce que les moyens d'obtention du second message (S) sont aptes à utiliser pour modules de ladite recombinaison les deux nombres premiers (p,q).
11. Entité électronique selon l'une des revendications 8 à 10, caractérisé en ce qu'elle comporte des moyens pour réduire, pour chaque nombre premier (p;q), un nombre dépendant du premier message (m) modulo le produit du nombre premier (p;q) et d'un entier associé (λi;λ2), afin d'obtenir un résidu modulaire (mi;nri2).
12. Entité électronique selon la revendication 11 , caractérisé en ce qu'elle comporte des moyens aptes à réaliser, pour chaque nombre premier
(p;q), une exponentiation modulaire du résidu modulaire (mi;m2), à l'exposant dépendant dudit exposant (d), modulo le produit du nombre premier (p;q) et de l'entier associé (λi;λ2), afin d'obtenir le résultat modulaire (S1; S2) ;
13. Entité électronique selon la revendication 11 ou 12, caractérisé par des moyens pour déterminer, pour au moins un nombre premier (p;q), l'entier associé (λ-ι;λ2) par tirage de nombres aléatoires.
14. Entité électronique selon l'une des revendications 8 à 13, caractérisé en ce que les moyens d'obtention du second message (S) par recombinaison des résultats modulaires (S-ι,S2) comprend : - des moyens de soustraction du résultat modulaire (Si) obtenu pour un premier nombre premier (p) au résultat modulaire (S2) obtenu pour le second nombre premier (q) afin d'obtenir une différence (S2-S1) ;
- des moyens de multiplication de la différence (S2-S1) par l'inverse modulaire (Apq) du premier nombre premier (p) modulo le second nombre premier (q) afin d'obtenir un produit ;
- des moyens de réduction du produit modulo le second nombre premier (q) et de multiplication du résultat de cette réduction par le premier nombre premier (p) afin d'obtenir une valeur ; - des moyens d'addition de cette valeur au résultat modulaire (Si) obtenu pour le premier nombre premier (p) afin d'obtenir le second message (S).
15. Carte à microcircuit comprenant une entité électronique selon l'une des revendications 8 à 14.
PCT/FR2005/002225 2004-09-15 2005-09-07 Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee WO2006030107A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0409766 2004-09-15
FR0409766A FR2875355B1 (fr) 2004-09-15 2004-09-15 Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de facon securisee

Publications (1)

Publication Number Publication Date
WO2006030107A1 true WO2006030107A1 (fr) 2006-03-23

Family

ID=34950091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/002225 WO2006030107A1 (fr) 2004-09-15 2005-09-07 Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee

Country Status (2)

Country Link
FR (1) FR2875355B1 (fr)
WO (1) WO2006030107A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524144B2 (en) 2004-12-23 2016-12-20 Oberthur Technologies Data processing method and related device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1895404B1 (fr) * 2006-08-31 2011-03-02 St Microelectronics S.A. Brouillage d'un calcul effectué selon un algorithme RSA-CRT
FR3055437A1 (fr) * 2016-08-23 2018-03-02 Stmicroelectronics (Rousset) Sas Protection d'un calcul d'exponentiation modulaire
FR3055436A1 (fr) 2016-08-23 2018-03-02 Stmicroelectronics (Rousset) Sas Protection d'un calcul modulaire
EP3579492A1 (fr) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection d'un calcul itératif
EP3579493A1 (fr) 2018-06-08 2019-12-11 STMicroelectronics (Rousset) SAS Protection d'un calcul itératif
FR3094522B1 (fr) 2019-03-29 2021-11-19 St Microelectronics Rousset Protection d’un calcul itératif

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BLÖMER J ET AL: "A New CRT-RSA Algorithm Secure Against Bellcore Attacks", PROCEEDINGS OF THE 10TH ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2003, WASHINGTION, DC, USA, 27 October 2003 (2003-10-27) - 30 October 2003 (2003-10-30), pages 311 - 320, XP002321676, ISBN: 1-58113-738-9 *
CHEVALLIER-MAMES B: "Self-randomized exponentiation algorithms", LECTURE NOTES IN COMPUTER SCIENCE, SPRINGER VERLAG, NEW YORK, NY, US, vol. 2964, 27 February 2004 (2004-02-27), pages 236 - 249, XP002297836, ISSN: 0302-9743 *
FOUQUE P A ET AL: "Attacking Unbalanced RSA-CRT Using SPA", PROCEEDINGS OF CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS - CHES 2003, 5TH INTERNATIONAL WORKSHOP, COLOGNE, GERMANY, 8 September 2003 (2003-09-08) - 10 September 2003 (2003-09-10), BERLIN, pages 254 - 268, XP002321677, ISBN: 3-540-40833-9 *
GROSSSCHADL J: "The Chinese Remainder Theorem and its application in a high-speed RSA crypto chip", COMPUTER SECURITY APPLICATIONS, 2000. ACSAC '00. 16TH ANNUAL CONFERENCE NEW ORLEANS, LA, USA 11-15 DEC. 2000, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 11 December 2000 (2000-12-11), pages 384 - 393, XP010529836, ISBN: 0-7695-0859-6 *
MENEZES A J ET AL: "Handbook of applied cryptography, PASSAGE", HANDBOOK OF APPLIED CRYPTOGRAPHY, CRC PRESS SERIES ON DISCRETE MATHEMATICES AND ITS APPLICATIONS, BOCA RATON, FL, CRC PRESS, US, 1997, pages 593,598 - 629, XP002277222, ISBN: 0-8493-8523-7 *
QUISQUATER J-J ET AL: "FAST DECIPHERMENT ALGORITHM FOR RSA PUBLIC-KEY CRYPTOSYSTEM", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 18, no. 21, 14 October 1982 (1982-10-14), pages 905 - 907, XP000577331, ISSN: 0013-5194 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524144B2 (en) 2004-12-23 2016-12-20 Oberthur Technologies Data processing method and related device

Also Published As

Publication number Publication date
FR2875355A1 (fr) 2006-03-17
FR2875355B1 (fr) 2008-04-25

Similar Documents

Publication Publication Date Title
EP2946284B1 (fr) Procédé de cryptographie comprenant une opération de multiplication par un scalaire ou une exponentiation
WO2006030107A1 (fr) Procede de traitement de donnees, entite electronique et carte a microcircuit, notamment pour dechiffrer ou signer un message de façon securisee
EP1068695A1 (fr) Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
EP1807967B1 (fr) Procede de delegation securisee de calcul d'une application bilineaire
WO2001093014A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un alrogithme de cryptographie a cle publique sur courbe elliptique
EP1895404B1 (fr) Brouillage d'un calcul effectué selon un algorithme RSA-CRT
FR2829335A1 (fr) Procede de brouillage d'un calcul a quantite secrete
EP0795241B1 (fr) Procede de cryptographie a cle publique base sur le logarithme discret
EP2391051B1 (fr) Procédé de détermination d'une représentation d'un produit d'éléments d'un corps fini
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d'une exponentiation et composant associe
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
EP0909495A1 (fr) Procede de cryptographie a cle publique
EP1820297A1 (fr) Procédé de génération de signature avec preuve de sécurité "tight", procédé de vérification et schéma de signature associés basés sur le modèle de diffie-hellman
EP0980607A1 (fr) Generateur pseudo-aleatoire base sur une fonction de hachage pour systemes cryptographiques necessitant le tirage d'aleas
FR2818846A1 (fr) Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie
CA2280952A1 (fr) Systeme cryptographique comprenant un systeme de chiffrement et de dechiffrement et un systeme de sequestre de cles, et les appareils et dispositifs associes
EP0743775A1 (fr) Procédé de signature numérique à connaissance nulle, permettant d'élaborer une signature résistant aux collisions
EP1891769B1 (fr) Protection d'un calcul d'exponentiation modulaire effectue par un circuit integre
EP3716044A1 (fr) Protection d'un calcul itératif
EP3579493A1 (fr) Protection d'un calcul itératif
EP4270855A1 (fr) Protection contre les attaques par canal auxiliaire a l aide d'un masquage carre
EP3579492A1 (fr) Protection d'un calcul itératif
EP4239944A1 (fr) Procédé de signature cryptographique d'une donnée, dispositif électronique et programme d'ordinateur associés
EP3579491A1 (fr) Procédé de détermination d'inverse modulaire et dispositif de traitement cryptographique associé
FR3016987A1 (fr) Echelle de montgomery desequilibree

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

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

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase