FR2985128A1 - Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery. - Google Patents

Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery. Download PDF

Info

Publication number
FR2985128A1
FR2985128A1 FR1162134A FR1162134A FR2985128A1 FR 2985128 A1 FR2985128 A1 FR 2985128A1 FR 1162134 A FR1162134 A FR 1162134A FR 1162134 A FR1162134 A FR 1162134A FR 2985128 A1 FR2985128 A1 FR 2985128A1
Authority
FR
France
Prior art keywords
montgomery
determining
mod
modular multiplication
constant
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
Application number
FR1162134A
Other languages
English (en)
Other versions
FR2985128B1 (fr
Inventor
Yannick Sierra
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Technologies 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 Technologies SA filed Critical Oberthur Technologies SA
Priority to FR1162134A priority Critical patent/FR2985128B1/fr
Publication of FR2985128A1 publication Critical patent/FR2985128A1/fr
Application granted granted Critical
Publication of FR2985128B1 publication Critical patent/FR2985128B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/728Methods 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 using Montgomery reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

Il est proposé un procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, comprenant une étape de détermination (100) d'une valeur d'une variable U = 2 mod N, avec 2 > R, r étant un entier, R étant une constante de Montgomery et la variable N étant un modulus, ladite étape de détermination (100) étant remarquable en ce qu'elle comprend une étape d'exécution d'une multiplication modulaire de Montgomery (102) utilisant ledit modulus N et une autre constante de Montgomery R de taille supérieure à ladite variable R.

Description

Procédé de détermination de la valeur de U mod N, avec 2' > R où R est une constante de Montgomery. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui de la cryptographie.
Plus précisément, l'invention concerne une technique permettant de faciliter la réalisation d'une multiplication modulaire à partir d'une multiplication modulaire de Montgomery. L'invention permet ainsi de faciliter la mise en oeuvre de nombreux cryptosystèmes à clé publique (RSA pour « Rivest Shamir Adelman », ECDSA pour « Elliptic Curve Digital Signature Algorithm »). 2. ARRIÈRE-PLAN TECHNOLOGIQUE On s'attache plus particulièrement dans la suite de ce document à décrire la problématique relative à la détermination de la valeur de R2 mod N, où R est une constante de Montgomery et la variable N un modulus, à laquelle ont été confrontés les inventeurs de la présente demande de brevet. L'invention ne se limite bien sûr pas à ce domaine particulier d'application, mais présente un intérêt pour toute technique de détermination d'une valeur d'une variable U mod N, avec 2r > R, r étant un entier, R étant une constante de Montgomery et la variable N étant un modulus. Les composants électroniques mettant en oeuvre une opération de multiplication modulaire de Montgomery, notée *, sont très répandus car la transposition d'un point de vue matériel d'une telle opération est relativement peu complexe au vu des autres techniques existantes. Ainsi, une multiplication modulaire (par un module N) de Montgomery réalisée à partir de deux opérandes A et B consiste à réaliser l'opération suivante : A*B mod N mod N, où la variable R correspond à une constante de Montgomery. Classiquement, cette constante R est une puissance de 2, dont la taille est plus grande que celle du modulus N (de 1 bit à 128 bits, en fonction de l'architecture utilisée). De plus, on doit avoir R = 2'1 qui doit être inversible i.e gcd(R, N) = 1. Remarquons aussi que les contraintes suivantes portent sur la réalisation d'une multiplication modulaire de Montgomery ; il faut que : A<T;B<TetR>T, avec Tune borne étant par exemple égale à N.
Dès lors, le choix des opérandes est limité, et il n'est pas possible de prendre un opérande, A ou B, égal à la constante de Montgomery R utilisée de par l'existence de ces contraintes. Cependant, lorsqu'on souhaite obtenir la valeur de A.B mod N en utilisant l'opération de multiplication modulaire de Montgomery, il est nécessaire d'obtenir la valeur de R2 mod N. En effet, en calculant dans un premier temps s := A*B mod N = mod N puis s *R2 mod N, on obtient A.B mod N. Ainsi, pour obtenir la valeur de R2 mod N, il existe une première technique, bien connue de l'Homme du métier consistant à réaliser les opérations suivantes : a) u := 2 - Rmod N ; b) u*Â mod N = u* ...*u mod N = R2 mod N Cependant, cette première technique nécessite, pour l'obtention de l'élément u, de réaliser une réduction modulaire qui peut être coûteuse, notamment lorsque 2 - R et N ont une différence de taille importante (par exemple 128 bits).
Pour pallier ce problème, une deuxième technique a été proposée dans le document EP 2385461 , qui comprend notamment des étapes consistant à obtenir dans un premier temps un nouveau modulus N' puis à calculer (R- N) + (R- N) mod N'. Cependant, un inconvénient de cette deuxième technique est que celle-ci nécessite la mise à disposition d'une opération d'addition et/ou de soustraction modulaire, élément qui n'est pas nécessairement présent sur un composant électronique comprenant une multiplication modulaire de Montgomery. 3. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, comprenant une étape de détermination d'une valeur d'une variable U = mod N, avec 2r > R, r étant un entier, R étant une constante de Montgomery et la variable N étant un modulus. Ladite étape de détermination est remarquable en ce qu'elle comprend une étape d'exécution d'une multiplication modulaire de Montgomery utilisant ledit modulus N et une autre constante de Montgomery R', de taille supérieure à ladite variable R.
Dans un mode de réalisation particulier de l'invention, il est proposé un procédé de calculs cryptographiques pour lequel la valeur de U = R2 mod N.
Ainsi, l'objet de ce mode de réalisation consiste à utiliser au moins une multiplication modulaire de Montgomery afin de déterminer la valeur de R2 mod N. Ainsi, cette technique ne nécessite pas l'utilisation d'une réduction modulaire supplémentaire à mettre en oeuvre, ou une opération d'addition modulaire.
Dans, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique de détermination de la valeur de R2 mod N, qui soit facile à mettre en oeuvre. Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques qui comprend une étape de détermination d'opérandes A', B' et de ladite autre constante de Montgomery R', et pour lequel ladite étape d'exécution d'une multiplication modulaire de Montgomery délivre A' * B' mod N = R2 mod N. Ainsi, la présente technique permet via l'usage d'une unique multiplication modulaire de Montgomery d'obtenir la valeur de R2 mod N. Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques dans lequel l'étape de détermination comprend une étape de détermination d'une première borne T' dépendante de R', telle que l'on puisse sélectionner les opérandes A' = x.R <T' et B' = x.R < T', avec x2 = R'. Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques dans lequel l'étape de détermination comprend : - une étape de détermination d'entiers p, c et k tels que R = 211(°+k) ; - une étape de détermination d'entiers p' et c' permettant de définir l'autre constante de Montgomery R' 2p ye '+k). Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques qui comprend une étape de détermination d'opérandes A', B' et de ladite autre constante de Montgomery R', et pour lequel ladite étape d'exécution d'une multiplication modulaire de Montgomery délivre A' * B' mod N = 2.R mod N. Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques tel que l'étape de détermination comprend une étape de détermination d'une deuxième borne T' dépendante de R, telle que l'on puisse sélectionner les opérandes A' = x.R'/2 <T' et B' = 2A'< T, avec x2 = R'.
Selon un aspect particulier de l'invention, il est proposé un procédé de calculs cryptographiques dans lequel l'étape de détermination comprend : - une étape de détermination d'entiers p, c et k tels que R 2P(c+k) ; - une étape de détermination d'entiers p' et c' permettant de définir l'autre constante de Montgomery R' 2p ye '+k) Selon une implémentation préférée, les différentes étapes du procédé selon l'invention sont mises en oeuvre par un logiciel ou programme d'ordinateur, ce logiciel comprenant des instructions logicielles destinées à être exécutées par un processeur de données d'un module relais selon l'invention et étant conçu pour commander l'exécution des différentes étapes de ce procédé. En conséquence, l'invention vise aussi un programme, susceptible d'être exécuté par un ordinateur ou par un processeur de données, ce programme comportant des instructions pour commander l'exécution des étapes d'un procédé tel que mentionné ci-dessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un processeur de données, et comportant des instructions d'un programme tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Selon un mode de réalisation, l'invention est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels. Un composant logiciel correspond à un ou plusieurs programmes d'ordinateur, un ou plusieurs sous-programmes d'un programme, ou de manière plus générale à tout élément d'un programme ou d'un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d'une entité physique (terminal, serveur, etc) et est susceptible d'accéder aux ressources matérielles de cette entité physique (mémoires, supports d'enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc). De la même manière, un composant matériel correspond à tout élément d'un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (firmware), etc. Selon un aspect particulier de l'invention, il est proposé un composant électronique permettant de réaliser des calculs cryptographiques, ledit composant comprenant une unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, paramétrée par un choix des deux opérandes A et B, ainsi qu'un modulus N et une constante de Montgomery R, ladite opération de multiplication modulaire de Montgomery comprenant une borne T, dépendant de ladite constante de Montgomery R choisie, ladite borne permettant de définir les contraintes suivantes A < T, B < T et R > T, ledit composant électronique comprenant en outre une autre unité matérielle capable de déterminer la valeur de U mod N, où r est un entier. Ladite autre unité matérielle étant remarquable en ce qu'elle utilise ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, en fonction du choix d'une autre constante de Montgomery R' plus grande que ladite constante de Montgomery R, et de deux opérandes A' et B'.
Selon un aspect particulier de l'invention, un tel composant électronique détermine la valeur de U = R2 modN. Selon un aspect particulier de l'invention, il est proposé un composant électronique qui est remarquable en ce que le choix de ladite autre constante de Montgomery R' et des deux opérandes A' et B' permettent d'obtenir via ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, directement la valeur de R2 mod N. Selon un aspect particulier de l'invention, il est proposé un composant électronique qui est remarquable en ce que le choix de ladite autre constante de Montgomery R' et des deux opérandes A' et B' permettent d'obtenir via ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, directement la valeur de 2.R mod N. Selon un aspect particulier de l'invention, il est proposé un module sécurisé comprenant un tel composant électronique. 4. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non-limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente un organigramme d'un mode de réalisation particulier du procédé selon l'invention ; - la figure 2 présente un organigramme d'un autre mode de réalisation du procédé selon l'invention ; - la figure 3 présente la structure d'un composant électronique selon un mode de réalisation particulier de l'invention. 5. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique.
La figure 1 présente un organigramme d'un mode de réalisation particulier du procédé selon l'invention. Dans ce mode de réalisation de l'invention, l'objectif est de déterminer R2 mod N, dont l'emploi a été rappelé précédemment, en utilisant une multiplication modulaire de Montgomery. En notant que sur certaines architectures matérielles, la variable T précédemment mentionnée est indépendante de la valeur du modulus N utilisé (plus précisément que la valeur de cette variable T dépend uniquement du choix de la constante de Montgomery sélectionnée), il est possible d'établir une technique de determination de la valeur de R2 mod N, en utilisant une unique multiplication modulaire de Montgomery. Pour ce faire, le présent procédé comprend une étape de determination 101 d'opérandes A' et B', ainsi que d'une constante de Montgomery R', plus grande que la constante de Montgomery R d'intérêt, tel que l'on ait, suite à l'exécution de l'étape 102, A' * B' mod N = A'. mod N = R2 mod N. De par les contraintes inhérentes à l'utilisation d'une multiplication modulaire de Montgomery, il est nécessaire d'avoir A' <T' , B' < T' et R'> T'. C'est le choix de la taille de la constante de Montgomery utilisée dans la multiplication modulaire de Montgomery qui induit la valeur de la borne maximale à utiliser. Par exemple, il convient de sélectionner A' = B ' = x. R tel que x vérifie l'équation suivante x2 R'. Cette étape de sélection n'est possible que si le multiplicateur modulaire de Montgomery le permet (de par l'existence des contraintes qui portent sur la taille des opérandes). En effet, pour que l'on puisse sélectionner A' - B' = x.R, il faut que l'inégalité suivante soit vérifiée (R)1/ 2.R < T'. En effet, dans ce cas de figure, on a bien la taille de A' < (R)1/ 2.R < T' et la taille de B' < (R)1/ 2 .R< T'.
Dans un mode de réalisation, en établissant que R 2P(c±ic ) où p, c et k sont des entiers, sont des paramètres internes d'un multiplicateur modulaire de Montgomery possédant p instances d'un multiplieur de c bits. Les k bit supplémentaires permettent la gestion des retenues internes. De plus, dans ce mode de réalisation, on a T On souhaite alors procéder à la détermination 101 de cette autre constante de Montgomery R' = 211' = 2P'(''±k), oùp 'et c' sont des entiers qui sont à déterminer, et donc de T' = 2P'''.
Ainsi, à partir des entiers p, c et k, il faut déterminer les entiers c' et p' tels que .' l'on ait 2(P'(c'+k))/2 2p(c+k) < T. soit T'1/2 2pk /2 T. 2pk < T', soit T'1/2 .T. 2pk+ p '1c/2 < T' ce qui est équivalent à T.2Pk+ 'p k/2 < T,1/2 En procédant à une élévation au carrée, il vient T2 22pk+ p 'k < T' soit /2.2k(2") < T'. En sélectionnant les éléments p, c et k, il suffit d'utiliser une table de correspondance préétablie qui permet d'obtenir rapidement des valeurs de p' et c' permettant d'obtenir R' et T' répondant aux critères recherchés. La figure 2 présente un organigramme d'un autre mode de réalisation du procédé selon l'invention. Dans ce mode de réalisation de l'invention, l'objectif est de déterminer R2 modN via une modification de la technique mentionnée dans la section arrière-plan technologique du présent document, qui consiste à déterminer dans une étape 202 la valeur de (2.R) mod N puis dans une étape 203, à determiner (2.R)*Â mod N (2.R)* ... *(2.R)mod N = R2 mod N. Dans ce mode de réalisation, la valeur de (2.R) mod N est obtenue en utilisant une multiplication modulaire de Montgomery. Pour ce faire, le présent procédé comprend une étape de determination 201 d'opérandes A' et B', ainsi que d'une constante de Montgomery R', plus grande que la constante de Montgomery R d'intérêt, tel que l'on ait A' * B' modN = A'. B'.R modN = 2.R mod N. De par les contraintes inhérentes à l'utilisation d'une multiplication modulaire de Montgomery, il est nécessaire d'avoir A' <T' , B' < T' et R' > T'. C'est le choix de la taille de la constante de Montgomery utilisée dans la multiplication modulaire de Montgomery qui induit la valeur de la borne maximale à utiliser. Par exemple, il convient de sélectionner A'= x.R1/2 tel que x vérifie l'équation suivante x2 = R', et B'=2A'. Cette étape de sélection n'est possible que si le multiplicateur modulaire de Montgomery le permet (de par l'existence des contraintes qui portent sur la taille des opérandes). En effet, pour que l'on puisse sélectionner A'- x.R1/2 et B'=2A', il faut que l'inégalité suivante soit vérifiée 2.R1/2 .Ril/2 < T'. Dès lors, en établissant que R = 211 = 2P(c+k) , où p, c et k sont des entiers, et en établissant que R' = 211' = 2p'( +k) où p', c' et k sont des entiers, il faut que T.2k(P±P)+2< T'< R'. En effet, comme T'> Max(A',B), on a T' > B'=2A' 2R,1/2 R1/2 Par conséquent, on a 2.2(11'(c'+k))/2 2p(c+k)/2 < T soit TI/21+pk/2+ p'k/2 < il/2 En élevant au carré, il vient T.2k(P±P)+2 < T'. Ainsi, en sélectionnant les éléments p, c et k, il suffit d'utiliser une table de correspondance préétablie qui permet d'obtenir rapidement des valeurs de p' et c' permettant d'obtenir R' et T' répondant aux critères recherchés. Un avantage de ce mode de réalisation réside dans le fait que la borne T' utilisée est plus petite que celle utilisée dans le mode de réalisation précédent. Dans un autre mode de réalisation, la présente technique permet de déterminer la valeur de U mod N , à partir d'une multiplication modulaire de Montgomery, en sélectionnant R, A, B' tel que A' * B' mod N mod N. Ainsi, la combinaison de cette technique, avec l'algorithme de Miller-Rabin, avec pour base fixe la valeur 2, permet de réduire le temps d'exécution d'un tel algorithme. La figure 3 présente la structure d'un composant électronique selon un mode de réalisation particulier de l'invention. Le composant électronique 300 comprend une mémoire vive 302 (ou RAM, pour « Random Access Memory » en anglais), qui fonctionne comme une mémoire principale d'une unité de calcul 301 (ou CPU, pour « Central Processing Unit » en anglais). La capacité de cette mémoire vive 302 peut être étendue par une mémoire vive optionnelle, connectée à un port d'expansion (non illustré sur la figure 2). Le dispositif 300 comprend également une mémoire morte 303 (ou ROM, pour « Read Only Memory » en anglais). Après la mise sous tension, l'unité de calcul 301 est capable d'exécuter des instructions contenues dans la mémoire vive 302 et relatives à un programme d'ordinateur, une fois ces instructions chargées à partir de la mémoire morte 303 ou d'une mémoire externe (non illustrée sur la présente figure). Un tel programme d'ordinateur, s'il est exécuté par l'unité de calcul 301, permet l'exécution d'une partie ou la totalité des étapes des décrites en relation avec les figures 1 et 2. Dans une variante de réalisation, les étapes réalisées en lien avec les figures 1 et 2 peuvent également être implémentés sous forme de matériel dans un composant électronique comme par exemple un composant programmable de type FPGA (« Field Programmable Gate Array» en anglais) ou de type ASIC («Application-Specific Integrated Circuit» en anglais).

Claims (15)

  1. REVENDICATIONS1. Procédé de calculs cryptographiques mis en oeuvre dans un composant électronique, comprenant une étape de détermination (100 ; 200) d'une valeur d'une variable U = 2' mod N, avec 2' > R, r étant un entier, R étant une constante de Montgomery et la variable N étant un modulus, ladite étape de détermination (100 ; 200) étant caractérisé en ce qu'elle comprend une étape d'exécution d'une multiplication modulaire de Montgomery (102 ; 202) utilisant ledit modulus N et une autre constante de Montgomery R', de taille supérieure à ladite variable R.
  2. 2. Procédé de calculs cryptographiques selon la revendication 1 caractérisé en ce que la valeur de U = R2 mod N.
  3. 3. Procédé de calculs cryptographiques selon la revendication 2 caractérisé en ce que qu'il comprend une étape de détermination (101) d'opérandes A', B' et de ladite autre constante de Montgomery R', et en ce que ladite étape d'exécution d'une multiplication modulaire de Montgomery (102) délivre A' * B' mod N = R2 mod N.
  4. 4. Procédé de calculs cryptographiques selon la revendication 3 caractérisé en ce que l'étape de détermination (101) comprend une étape de détermination d'une première borne T' dépendante de R', telle que l'on puisse sélectionner les opérandes A' = x.R <T' et B' = x.R < T', avec x2 = R'.
  5. 5. Procédé de calculs cryptographiques selon la revendication 4 caractérisé en ce que l'étape de détermination (101) comprend : - une étape de détermination d'entiers p, c et k tels que R = 2p(C-Fk) ; - une étape de détermination d'entiers p' et c' permettant de définir l'autre constante de Montgomery R' = 2pyc'+k).
  6. 6. Procédé de calculs cryptographiques selon la revendication 2 caractérisé en ce qu'il comprend une étape de détermination (201) d'opérandes A', B' et de ladite autre constante de Montgomery R', et en ce que ladite étape d'exécution d'une multiplication modulaire de Montgomery (202) délivre A' * B' mod N = 2.R mod N.
  7. 7. Procédé de calculs cryptographiques selon la revendication 6 caractérisé en ce que l'étape de détermination (201) comprend une étape de détermination d'unedeuxième borne T' dépendante de R', telle que l'on puisse sélectionner les opérandes A' = x.Rn2 <T' et B' = 2A'< T', avec x2 = R'.
  8. 8. Procédé de calculs cryptographiques selon la revendication 7 caractérisé en ce que l'étape de détermination (201) comprend : - une étape de détermination d'entiers p, c et k tels que R = 2p(c+k) ; - une étape de détermination d'entiers p' et c' permettant de définir l'autre constante de Montgomery R'2= p'(c' +k)
  9. 9. Produit programme d'ordinateur, comprenant des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 8 lorsque ledit programme est exécuté sur un ordinateur.
  10. 10. Médium de stockage lisible par ordinateur et non transitoire, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur ou un processeur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 8.
  11. 11. Composant électronique permettant de réaliser des calculs cryptographiques, ledit composant comprenant une unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, paramétrée par un choix des deux opérandes A et B, ainsi qu'un modulus N et une constante de Montgomery R, ladite opération de multiplication modulaire de Montgomery comprenant une borne T, dépendant de ladite constante de Montgomery R choisie, ladite borne permettant de définir les contraintes suivantes A < T, B < T et R > T, ledit composant électronique comprenant en outre une autre unité matérielle capable de déterminer la valeur de U = mod N, où r est un entier, ladite autre unité matérielle étant caractérisé en ce qu'elle utilise ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, en fonction du choix d'une autre constante de Montgomery R' plus grande que ladite constante de Montgomery R, et de deux opérandes A' et B'.
  12. 12. Composant électronique selon la revendication 11 caractérisé en ce que la valeur de U = R2 mod N.
  13. 13. Composant électronique selon la revendication 12 caractérisé en ce que le choix de ladite autre constante de Montgomery R' et des deux opérandes A' et B' permettentd'obtenir via ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, directement la valeur de R2 mod N.
  14. 14. Composant électronique selon la revendication 12 caractérisé en ce que le choix de ladite autre constante de Montgomery R' et des deux opérandes A' et B' permettent d'obtenir via ladite unité matérielle capable de réaliser une opération de multiplication modulaire de Montgomery, directement la valeur de 2.R mod N.
  15. 15. Module sécurisé comprenant un composant électronique selon l'une quelconque des revendications 11 à 14.
FR1162134A 2011-12-21 2011-12-21 Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery. Expired - Fee Related FR2985128B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1162134A FR2985128B1 (fr) 2011-12-21 2011-12-21 Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1162134A FR2985128B1 (fr) 2011-12-21 2011-12-21 Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery.

Publications (2)

Publication Number Publication Date
FR2985128A1 true FR2985128A1 (fr) 2013-06-28
FR2985128B1 FR2985128B1 (fr) 2015-11-06

Family

ID=46551592

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1162134A Expired - Fee Related FR2985128B1 (fr) 2011-12-21 2011-12-21 Procede de determination de la valeur de u = 2^r mod n, avec 2^r > r ou r est une constante de montgomery.

Country Status (1)

Country Link
FR (1) FR2985128B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018156208A1 (fr) * 2017-02-21 2018-08-30 Google Llc Vérification de signature de code avec des contraintes de flexibilité

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356636B1 (en) * 1998-07-22 2002-03-12 Motorola, Inc. Circuit and method for fast modular multiplication
US7187770B1 (en) * 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
EP2385461A1 (fr) * 2010-04-30 2011-11-09 Certicom Corp. Procédé et appareil pour la fourniture d'un module à longueur de bit flexible sur une machine Montgomery à bloc

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356636B1 (en) * 1998-07-22 2002-03-12 Motorola, Inc. Circuit and method for fast modular multiplication
US7187770B1 (en) * 2002-07-16 2007-03-06 Cisco Technology, Inc. Method and apparatus for accelerating preliminary operations for cryptographic processing
EP2385461A1 (fr) * 2010-04-30 2011-11-09 Certicom Corp. Procédé et appareil pour la fourniture d'un module à longueur de bit flexible sur une machine Montgomery à bloc

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018156208A1 (fr) * 2017-02-21 2018-08-30 Google Llc Vérification de signature de code avec des contraintes de flexibilité
US10491401B2 (en) 2017-02-21 2019-11-26 Google Llc Verification of code signature with flexible constraints

Also Published As

Publication number Publication date
FR2985128B1 (fr) 2015-11-06

Similar Documents

Publication Publication Date Title
EP2791783B1 (fr) Procédé de génération de nombres premiers prouvés adapté aux cartes a puce
WO2002073450A1 (fr) Procede et dispositif pour reduire le temps de calcul d&#39;un produit, d&#39;une multiplication et d&#39;une exponentiation modulaire selon la methode de montgomery
EP3511854A1 (fr) Procédé et circuit d&#39;authentification
EP2391052A1 (fr) Procédé d&#39;évaluation d&#39;une fonction et dispositif associé
EP1895404B1 (fr) Brouillage d&#39;un calcul effectué selon un algorithme RSA-CRT
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
EP1904921A1 (fr) Procede cryptographique pour la mise en oeuvre securisee d&#39;une exponentiation et composant associe
EP1804161A1 (fr) Détection de perturbation dans un calcul cryptographique
FR2985128A1 (fr) Procede de determination de la valeur de u = 2^r mod n, avec 2^r &gt; r ou r est une constante de montgomery.
FR3040512A1 (fr) Protection d&#39;un calcul d&#39;exponentiation modulaire
EP3857810B1 (fr) Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y
FR3004043A1 (fr) Procedes de generation et d&#39;utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
FR3047327A1 (fr) Procede d&#39;execution de calcul cryptographique et application a la classification par machines a vecteurs de support
EP4117224B1 (fr) Procédé de génération d&#39;un élément d&#39;une clé cryptographique, procédé de traitement cryptographique, dispositif de traitement cryptographique et programme d&#39;ordinateur associés
FR2994608A1 (fr) Procede de traitement cryptographique comprenant un acces securise a une pluralite de tables de substitution, dispositifs et produit programme d&#39;ordinateur correspondants.
EP2527970B1 (fr) Procédé d&#39;encodage cryptographique sur une courbe elliptique
FR2986883A1 (fr) Procede de generation securise d&#39;un nombre premier, produit programme d&#39;ordinateur et composant electronique correspondants
FR3053862A1 (fr) Procede de generation des parametres caracterisant un protocole cryptographique
FR3045253A1 (fr) Procede et dispositif de traitement cryptographique
EP2544398B1 (fr) Procédé de calcul de fonctions d&#39;encodage dans une coubre elliptique et coprocesseur cryptographique correspondant
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe
FR2984551A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
EP3929726A1 (fr) Procede de traitement cryptographique,dispositif electronique et programme d&#39;ordinateur associes
FR2984547A1 (fr) Procede de generation de nombres premiers prouves adapte aux cartes a puce
FR2984548A1 (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: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 9

CA Change of address

Effective date: 20200826

CJ Change in legal form

Effective date: 20200826

ST Notification of lapse

Effective date: 20210805