FR3014582A1 - Procede de test de la condition mov et dispositif associe - Google Patents

Procede de test de la condition mov et dispositif associe Download PDF

Info

Publication number
FR3014582A1
FR3014582A1 FR1362373A FR1362373A FR3014582A1 FR 3014582 A1 FR3014582 A1 FR 3014582A1 FR 1362373 A FR1362373 A FR 1362373A FR 1362373 A FR1362373 A FR 1362373A FR 3014582 A1 FR3014582 A1 FR 3014582A1
Authority
FR
France
Prior art keywords
elliptic curve
order
mov
finite field
data processing
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
FR1362373A
Other languages
English (en)
Other versions
FR3014582B1 (fr
Inventor
Gilles Piret
Franck Rondepierre
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 FR1362373A priority Critical patent/FR3014582B1/fr
Publication of FR3014582A1 publication Critical patent/FR3014582A1/fr
Application granted granted Critical
Publication of FR3014582B1 publication Critical patent/FR3014582B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)

Abstract

L'invention concerne un procédé de traitement mis en œuvre au sein d'une entité électronique, et un dispositif associé, typiquement une carte à puce ou un élément de sécurité. Selon l'invention, il est proposé une méthode de validation d'une courbe elliptique dans un système cryptographique qui permet de gagner de l'ordre d'un facteur 2 sur le nombre d'opérations nécessaires à la vérification de la condition de MOV.

Description

L'invention concerne un procédé de traitement, de préférence cryptographique, de données, par exemple mis en oeuvre au sein d'une entité électronique, et un dispositif associé (par exemple cette entité électronique). Beaucoup de systèmes cryptographiques ont été bâtis sur la difficulté de résoudre le problème du logarithme discret dans de grands groupes ou sous- groupes associés à une courbe elliptique. Cette solution est maintenant largement adoptée par les gouvernements et les standards. Dans ces systèmes, la clé secrète est un scalaire choisi aléatoirement tandis que la clé publique correspondante est un multiple d'un point donné par ce scalaire. Ces calculs sont utilisés, entre autres, pour le chiffrement et le déchiffrement de messages, la signature d'un message, la mise en accord de 20 clé, la mise en accord de clés à base de mots de passe. Les courbes elliptiques utilisées dans les systèmes cryptographiques sont définies par des paramètres, typiquement un sextuplet : T = (p, a, b, G, a, h) (1) p est un entier, dans la pratique un nombre premier, qui spécifie le corps 25 fini IFp. a et b spécifient la courbe elliptique E(IFp) définie par l'équation : E:y2 E X3 + a - x + b (mod p) (2) G est un point de base G =(xG,yG) sur E(IFp). a est un nombre premier qui est l'ordre de G et h est le cofacteur h = #E(IFp)/q.
Toutes ces courbes ne représentent pas la même résistance à certaines attaques et ne sont donc pas également robustes dans le contexte des systèmes cryptographiques. Certaines familles de courbes doivent donc être évitées car elles conduisent à des systèmes cryptographiques faibles susceptibles d'être facilement attaqués. Il en découle que lorsqu'un système cryptographique se voit proposer une courbe particulière, ce système conduit une série de tests visant à vérifier que la courbe proposée est suffisamment robuste et vérifie certains critères. Les courbes passant avec succès ces tests sont déclarées valides pour une utilisation cryptographique, tandis que les autres sont déclarées invalides. Une des attaques connues contre les systèmes cryptographiques basés sur l'utilisation d'une courbe elliptique est l'attaque connue sous le nom d'attaque MOV, du nom des chercheurs l'ayant identifiée : Alfred J. Menezes, Tatsuaki Okamoto et Scott A. Vanstone dans l'article intitulé « Reducing Elliptic Curve Logarithms to Logarithms in a Finite Field » publié dans « IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 39, NO. 5, SEPTEMBER 1993 ».
L'un des tests effectués pour valider une courbe elliptique dans le cadre d'une utilisation par un système cryptographique consiste à vérifier que la courbe proposée n'est pas vulnérable à une attaque MOV. Ce test est appelé la condition MOV et est définie dans le standard IEEE Std 1363-2000 intitulé « IEEE Standard Specifications for Public-Key Cryptography » à la section A.12.1. Cette condition consiste à vérifier que l'ordre a du sous-groupe générateur G possède un ordre supérieur à une constante prédéterminée B dans le groupe de taille p. Nous rappelons que l'ordre d'une valeur a, notée ord(a), est le plus petit entier i tel que ai E 1 mod p. La condition revient donc à vérifier que ord(q)> B dans IFp. L'algorithme proposé consiste à calculer successivement al pour i de 2 à B et à vérifier que chacune de ces valeurs est différente de 1. Les seuils envisagés pour la condition MOV sont aujourd'hui de l'ordre de 10 000. De ce fait, le calcul de la condition MOV pour la validation d'une courbe elliptique dans un système cryptographique se révèle très coûteux. La présente invention a pour but de résoudre les inconvénients précités.
Selon l'invention, il est proposé une méthode de validation d'une courbe elliptique dans un système cryptographique qui permet de gagner de l'ordre d'un facteur 2 sur le nombre d'opérations nécessaires à la vérification de la condition de MOV.
L'invention concerne un procédé de traitement cryptographique par un dispositif de traitement de donnée comprenant les étapes suivantes pour tester la condition MOV d'une courbe elliptique : une étape d'obtention d'un entier p spécifiant un corps fini IFpet d'un entier q spécifiant l'ordre d'un sous-groupe générateur d'une courbe elliptique sur le corps fini ; une étape d'obtention d'un entier pair B définissant une borne ; et une étape de vérification que l'ordre de q dans le corps fini IFp est au moins égal à la borne B ; et qui comprends également l'étape suivante : une étape de détermination que l'ordre de q dans le corps fini IFp est au moins égal à la borne B uniquement sur la base de la vérification que l'ordre de q est différent de j pour tout j E K + 1,4 Selon un mode particulier de réalisation de l'invention, le procédé comporte les étapes suivantes pour la validation d'une courbe elliptique : une étape d'obtention d'un ensemble de paramètres définissant une courbe elliptique incluant les entiers p et q ; une étape de test d'un ensemble de conditions sur les paramètres obtenus incluant un test de la condition MOV selon la revendication 1 ; et une étape de validation de ladite courbe elliptique si l'ensemble des tests est positif.
L'invention concerne également un procédé de personnalisation d'une carte à puce qui comprend un procédé de validation d'une courbe elliptique selon l'invention.
L'invention concerne également un procédé d'établissement d'un secret commun avec un second dispositif de traitement de données, qui comprend un procédé de validation d'une courbe elliptique reçue du second dispositif de traitement de données selon l'invention.
L'invention concerne également un dispositif de traitement de données comprenant des moyens cryptographiques qui comprennent pour tester la condition MOV d'une courbe elliptique : des moyens d'obtention d'un entier p spécifiant un corps fini IFp et d'un entier q spécifiant l'ordre d'un sous-groupe générateur d'une courbe elliptique sur le corps fini ; des moyens d'obtention d'un entier pair B définissant une borne ; et des moyens de vérification que l'ordre de q dans le corps fini IFp est au moins égal à la borne B ; et qui comprend également : des moyens de détermination que l'ordre de q dans le corps fini IFp est au moins égal à la borne B uniquement sur la base de la vérification que l'ordre de q est différent de j pour tout j E r + 1, 4 Selon un mode particulier de réalisation de l'invention, le dispositif comporte pour la validation d'une courbe elliptique : des moyens d'obtention d'un ensemble de paramètres définissant une courbe elliptique incluant les entiers p et q ; des moyens de test d'un ensemble de conditions sur les paramètres obtenus incluant un dispositif pour le test de la condition MOV selon l'invention ; et des moyens de validation de ladite courbe elliptique si l'ensemble des tests est positif.
L'invention concerne également un dispositif de traitement de données comportant des moyens d'établissement d'un secret commun avec un second dispositif de traitement de données, caractérisé en ce qu'il comprend un dispositif de validation d'une courbe elliptique reçue du second dispositif de traitement de données selon l'invention. L'invention concerne également un programme d'ordinateur comprenant 5 des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'invention lorsque ledit programme est exécuté sur un ordinateur. L'invention concerne également un moyen de stockage d'informations, 10 amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé selon l'invention. 15 D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Aux dessins annexés, donnés à titre d'exemples non limitatifs : - la Figure 1 représente schématiquement les éléments principaux d'une forme de réalisation possible pour une carte à microcircuit ; 20 - la Figure 2 représente l'allure physique générale de la carte à microcircuit de la Figure 1 ; - La Figure 3 illustre l'algorithme de validation d'une courbe elliptique dans un système de cryptographie selon un exemple de réalisation de l'invention ; 25 - La Figure 4 illustre l'algorithme du test de la condition MOV selon un exemple de réalisation de l'invention. La Figure 1 représente schématiquement un dispositif de traitement de données 40 dans lequel la présente invention peut être mise en oeuvre. Ce 30 dispositif 40 comprend un microprocesseur 10, auquel est associée d'une part une mémoire vive 60, par exemple au moyen d'un bus 70, et d'autre part une mémoire non volatile 20 (par exemple du type EEPROM), par exemple à travers un bus 50. Le dispositif de traitement de données 40, et précisément le microprocesseur 10 qu'il incorpore, peuvent échanger des données avec des dispositifs extérieurs au moyen d'une interface de communication 30. On a schématiquement représenté sur la figure 1 la transmission d'une donnée d'entrée X reçue d'un dispositif extérieur (non représenté) et transmise de l'interface de communication 30 au microprocesseur 10. De manière similaire, on a représenté la transmission d'une donnée de sortie Y du microprocesseur 10 vers l'interface de communication 30 à destination d'un dispositif extérieur. Cette donnée de sortie Y est issue d'un traitement de données par le microprocesseur 10, généralement sur la donnée d'entrée X à l'aide d'une donnée secrète 80 interne au système, par exemple une clé privée. Bien que, pour l'illustration, les données d'entrée et les données de sortie figurent sur deux flèches différentes, les moyens physiques qui permettent la communication entre le microprocesseur 10 et l'interface 30 pourront être réalisés par des moyens uniques, par exemple un port de communication série ou un bus. Le microprocesseur 10 est apte à exécuter un logiciel (ou programme d'ordinateur) qui permet au dispositif de traitement de données 40 d'exécuter un procédé conforme à l'invention dont des exemples sont donnés dans la suite. Le logiciel est composé d'une série d'instructions de commande du microprocesseur 10 qui sont par exemple stockées dans la mémoire 20. En variante, l'ensemble microprocesseur 10 - mémoire non-volatile 20 - mémoire vive 60 peut être remplacé par un circuit à application spécifique qui comprend alors des moyens de mise en oeuvre des différentes étapes du procédé de traitement de données.
La Figure 2 représente une carte à microcircuit qui constitue un exemple de dispositif de traitement de données conforme à l'invention tel que représenté à la Figure 1. L'interface de communication 30 est dans ce cas réalisée au moyen des contacts de la carte à microcircuit. La carte à microcircuit incorpore un microprocesseur 10, une mémoire vive 60 et une mémoire non volatile 20 comme cela est représenté sur la Figure 1. Cette carte à microcircuit est par exemple conforme à la norme ISO 7816 et munie d'un microcontrôleur sécurisé qui regroupe le microprocesseur (ou CPU) 20 et la mémoire vive 60. En variante, le dispositif de traitement de données peut être une clef USB, un document ou un support d'informations papier comportant dans l'une de ses feuilles un microcircuit associé à des moyens de communication sans contact. Il s'agit de manière préférée d'une entité électronique portable ou de poche. Il peut également s'agir d'un circuit dédié à la sécurité (secure element en anglais) pouvant être intégré directement au sein d'un appareil, par exemple soudé dans un téléphone mobile.
La Figure 3 illustre l'algorithme de validation d'une courbe elliptique dans un système de cryptographie selon un exemple de réalisation de l'invention. Lors d'une première étape 300, un ensemble de paramètres définissant une courbe elliptique est obtenue par le dispositif de traitement de données. Ces paramètres sont obtenus par exemple dans deux circonstances particulières. Un premier exemple est la personnalisation d'une carte à puce. Les cartes à puce généralement fabriquées sont génériques. Une carte à puce est notamment caractérisée en ce qu'elle est conforme à la norme ISO 7816.
L'épaisseur du corps de carte en matière plastique est généralement inférieur à 0,8 mm. Elles peuvent être utilisées pour divers services ou lorsqu'elles sont fabriquées pour un service donné, elles sont génériques dans le sens où elles ne sont pas personnalisées pour leur utilisateur final. Typiquement ces cartes génériques ne sont pas utilisables directement. Leur utilisation nécessite au moins une étape de personnalisation qui consiste à inscrire dans la puce de la carte les paramètres spécifiques à l'utilisation envisagée. Par exemple, une carte de paiement bancaire doit être personnalisée pour contenir les données spécifiques de la banque et du client final destinataire de cette carte. Dans certains cas, cette personnalisation peut se faire en plusieurs étapes. Une première étape, par exemple, peut consister à personnaliser la carte avec les paramètres de l'établissement bancaire, tandis qu'une seconde étape de personnalisation consiste alors à personnaliser la carte avec les paramètres relatifs à l'utilisateur final. Lors d'une telle étape de personnalisation, parmi les paramètres qui sont inscrits dans la carte peut figurer les paramètres du système cryptographique devant être utilisé. Dans ce cadre, une opération de personnalisation de la carte peut vouloir définir la courbe elliptique servant de référence pour le chiffrement et/ou la signature numérique. Un second exemple où la carte peut être amenée à recevoir un ensemble de paramètres définissant une courbe elliptique devant être utilisée par le système cryptographique peut se retrouver lors de certains échanges entre une carte personnalisée et un pair. Nous entendons par pair dans le présent contexte, un second dispositif de traitement de données communiquant avec le dispositif de traitement de données implémentant l'invention. Ce dispositif peut être également une carte à puce, par exemple, mais aussi un serveur hébergeant un service auquel l'utilisateur de la carte veut accéder ou tout autre dispositif communiquant avec la carte. Par exemple, dans un contexte d'établissement d'un canal de communication chiffré avec un pair, une procédure est engagée entre le pair et le dispositif pour échanger un secret commun. Cette procédure se traduit par l'envoi d'un message comprenant une clé cryptographique. Cette clé est ensuite utilisée par les deux dispositifs pour sécuriser, typiquement crypter et décrypter, leurs communications. Lors de cet échange, le dispositif et le pair doivent s'accorder sur les paramètres du système cryptographique devant être utilisé dans les échanges. Le pair peut alors proposer une courbe elliptique pour servir de référence au système cryptographique.
Ces exemples décrits pour une carte à puce sont tout aussi applicables à un élément sécurisé (secure element en anglais). Ces éléments sécurisés sont des composants dédiés à la sécurité pouvant être intégrés à un dispositif électronique comme un téléphone mobile par exemple.
Dans ces exemples, la courbe proposée doit être validée par le dispositif de traitement de données afin d'être validée pour une utilisation par le système cryptographique. D'autres exemples encore peuvent être identifiés ou un dispositif de traitement de données peut être amené à recevoir un ensemble de paramètres définissant une courbe elliptique devant être validée pour une utilisation par le système cryptographique. Les paramètres obtenus sont typiquement le sextuplet déjà décrit. Dans certains modes de réalisation, la courbe elliptique peut être définie par un jeu de paramètres légèrement différents selon le contexte. Lors de l'étape 301, ces paramètres subissent un ensemble de tests afin de vérifier la validité de la courbe elliptique proposée. Il s'agit typiquement des tests tels que proposés par le standard IEEE 1363-200 déjà cité. Mais l'invention ne se limite pas à ces tests. Cette procédure de test inclut le test connu sous le nom de test de la condition MOV. Lors de l'étape 302, le résultat de ces tests est vérifié. Dans le cas où l'ensemble des tests se révèlent positifs, la courbe proposée est déclarée valide, lors de l'étape 303, pour une utilisation par le système cryptographique. Dans le cas contraire, elle est déclarée invalide par l'étape 304.
Le test de la condition MOV revient à tester les paramètres p et a d'une courbe elliptique où p est un entier, dans la pratique un nombre premier, qui spécifie le corps fini IFp et a est l'ordre du sous-groupe générateur G. Ce test nécessite un paramètre B que nous appelons paramètre de MOV. Le test consiste à vérifier que l'ordre de a est inférieur à B dans le corps fini IFp. Il s'agit donc de vérifier que pour tout entier i E [1, /3], l'ordre de a est différent de i, et donc que la valeur ai mod p est différente de 1. Les inventeurs ont remarqué que si ai est égal à 1 pour une valeur i E [1,B/2], alors il existe une valeur j = a. i, tel que j E + 1, Bi avec qj = qa.i = (ai)a = la E 1 mod p. Il est à noter que B est considéré comme étant pair, si B est impair il est possible de considérer B + 1. Alternativement, le calcul vérifiant que l'ordre de a est différent de i peut se faire en vérifiant, par exemple, l'égalité suivante : qi+k mod p # ak mod p . A contrario, s'il n'existe aucune valeur j E + 1,B] pour laquelle qj E 1 mod p, il est possible d'en déduire qu'il n'existe aucune valeur i E [1,B /2] pour laquelle ai E 1 mod p.
En conséquence, il est possible de ramener le test de la condition de MOV à la seule vérification que pour tout j E + 1, Bi il n'existe aucune valeur de j pour laquelle l'ordre de a soit égal à j, c'est-à-dire pour laquelle qj 1 mod p, cette condition étant suffisante. Selon le procédé, il y a une étape de vérification que pour tout j E + 1, Bi le test que l'ordre de a est différent de j est vérifié alors dans ce cas, nécessairement, le procédé détermine toujours que l'ordre de a est au moins égal à B. Cette détermination est faite sans tester l'ordre de a pour les valeurs de j E [1,)12]. Il est donc possible d'économiser la moitié des calculs utilisés dans l'art antérieur pour tester la condition de MOV.30 La Figure 4 illustre l'algorithme du test de la condition MOV selon un exemple de réalisation de l'invention. Lors d'une étape 400, le dispositif obtient les paramètres p, q et B tel que déjà définis. Lors d'une première étape 401, la valeur j est initialisée à la valeur B/2 + 1. Ensuite la valeur u E qj est calculée lors d'une étape 402. Lors de la première itération, il est possible de calculer u = q7+1 selon la méthode dite « square-and-multiply » telle que décrite dans le livre de A.J.
Menezes, P.C. van Oorschot, S.A. Vanstone intitulé « Handbook of Applied Cryptography » CRC Press. Alternativement la méthode dite des chaînes d'addition décrite dans la même référence peut être utilisée. Les itérations suivantes de l'étape 402, peuvent être calculées avantageusement en multipliant simplement la valeur précédente de u par q. Cette opération est faite dans le corps finis et donc modulo p. Lors d'une étape 403, la valeur de u est testée pour vérifier si elle est égale à 1. Si le test est vrai, il est constaté lors de l'étape 404 que la condition de MOV n'est pas remplie. Dans le cas contraire, la valeur de j est incrémentée lors de l'étape 405. La valeur de j est testée pour lors de l'étape 406. si j > B on déduit lors de l'étape 407 que l'ordre de q est au moins égal à B et que donc la condition de MOV est remplie. Dans le cas contraire le contrôle retourne à l'étape 402 pour calculer la nouvelle valeur de u. Une telle méthode de test de la condition de MOV permet d'économiser la moitié des calculs en ne testant que les valeurs de la moitié supérieure de l'intervalle [1, /3].
Une telle méthode peut être mise en oeuvre par un dispositif tel que celui illustré par la Figure 1 comme suit. Lorsqu'une nouvelle courbe elliptique est soumise au dispositif 40, les paramètres de la courbe, comprenant le paramètre q sont reçus par l'interface d'entrée sortie 30 du dispositif 40. Sur réception de ces paramètres, le dispositif 40 vérifie la condition MOV conformément à l'invention. En cas de résultat négatif, le dispositif 40 retourne un message d'erreur par l'interface d'entrée sortie 30. En cas de résultat positif, le dispositif 40 mémorise les paramètres de la courbe. Il peut alors utiliser la courbe elliptique pour encrypter, typiquement avec une clé publique mémorisée dans la mémoire volatile du dispositif, ou décrypter une donnée, typiquement avec une clé privée mémorisée dans la mémoire non volatile du dispositif 40. Cette donnée est soit obtenue à partir d'un message reçu par l'interface d'entrée sortie 30 et/ou complètement engendrée par le dispositif 40, par exemple s'il s'agit d'un nombre aléatoire. Un message obtenu à partir du résultat de cet encryptage ou décryptage est envoyé, éventuellement retourné, via l'interface d'entrée sortie ou bien est mémorisé en mémoire non volatile. Dans le cas de la personnalisation, les paramètres sont généralement mémorisés en mémoire non volatile en cas de succès de la vérification de la condition MOV. Sinon, les paramètres peuvent être mémorisés seulement en mémoire volatile. En cas de résultat négatif de la vérification de la condition MOV, les paramètres ne sont pas mémorisés et/ou sont effacés.
Les messages échangés ci-dessus sont préférentiellement au format APDU. Le dispositif électronique 40 est généralement sécurisé, car il est par exemple conforme à la norme FIPS ou aux critères communs. Naturellement, pour satisfaire des besoins spécifiques, une personne compétente dans le domaine de l'invention pourra appliquer des modifications dans la description précédente.
Bien que la présente invention ait été décrite ci-dessus en référence à des modes de réalisation spécifiques, la présente invention n'est pas limitée aux modes de réalisation spécifiques, et les modifications qui se trouvent dans le corps d'application de la présente invention seront évidentes pour une personne versée dans l'art.

Claims (9)

  1. REVENDICATIONS1. Procédé de traitement cryptographique par un dispositif de traitement de donnée comprenant les étapes suivantes pour tester la condition MOV d'une courbe elliptique : une étape d'obtention d'un entier p spécifiant un corps fini IFpet d'un entier q spécifiant l'ordre d'un sous-groupe générateur d'une courbe elliptique sur le corps fini ; une étape d'obtention d'un entier pair B définissant une borne ; et une étape de vérification que l'ordre de q dans le corps fini IFp est au moins égal à la borne B ; caractérisé en ce que l'étape de vérification comprends l'étape suivante : une étape de détermination que l'ordre de q dans le corps fini IFp est au moins égal à la borne B uniquement sur la base de la vérification que l'ordre de q est différent de j pour tout j E [iî + 1, B].
  2. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte les étapes suivantes pour la validation d'une courbe elliptique : une étape d'obtention d'un ensemble de paramètres définissant une courbe elliptique incluant les entiers p et q ; une étape de test d'un ensemble de conditions sur les paramètres obtenus incluant un test de la condition MOV selon la revendication 1 ; une étape de validation de ladite courbe elliptique si l'ensemble des tests est positif.
  3. 3. Procédé de personnalisation d'une carte à puce caractérisé en ce qu'il comprend un procédé de validation d'une courbe elliptique selon la revendication 2.
  4. 4. Procédé d'établissement d'un secret commun avec un second dispositif de traitement de données, caractérisé en ce qu'il comprend un procédé de validation d'une courbe elliptique reçue du second dispositif de traitement de données selon la revendication 2.
  5. 5. Dispositif de traitement de données comprenant des moyens cryptographiques qui comprennent pour tester la condition MOV d'une courbe elliptique : des moyens d'obtention d'un entier p spécifiant un corps fini IFpet d'un entier q spécifiant l'ordre d'un sous-groupe générateur d'une courbe elliptique sur le corps fini ; des moyens d'obtention d'un entier pair B définissant une borne ; et des moyens de vérification que l'ordre de q dans le corps fini IFp est au moins égal à la borne B ; caractérisé en ce que l'étape de vérification comprends : des moyens de détermination que l'ordre de q dans le corps fini IFp est au moins égal à la borne B uniquement sur la base de la vérification que l'ordre de q est différent de j pour tout j E r + 1, Bi.
  6. 6. Dispositif selon la revendication 5, caractérisé en ce qu'il comporte pour la validation d'une courbe elliptique : des moyens d'obtention d'un ensemble de paramètres définissant une courbe elliptique incluant les entiers p et q ; des moyens de test d'un ensemble de conditions sur les paramètres obtenus incluant un dispositif pour le test de la condition MOV selon la revendication 5 ; des moyens de validation de ladite courbe elliptique si l'ensemble des tests est positif.
  7. 7. Dispositif de traitement de données comportant des moyens d'établissement d'un secret commun avec un second dispositif de traitement de données, caractérisé en ce qu'il comprend un dispositif de validation d'une courbe elliptique reçue du second dispositif de traitement de données selon la revendication 6.
  8. 8. Programme d'ordinateur comprenant des instructions adaptées à la mise en oeuvre de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 4 lorsque ledit programme est exécuté sur un ordinateur.
  9. 9. Moyen de stockage d'informations, amovible ou non, partiellement ou totalement lisible par un ordinateur ou un microprocesseur comportant des instructions de code d'un programme d'ordinateur pour l'exécution de chacune des étapes du procédé selon l'une quelconque des revendications 1 à 4.20
FR1362373A 2013-12-10 2013-12-10 Procede de test de la condition mov et dispositif associe Active FR3014582B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1362373A FR3014582B1 (fr) 2013-12-10 2013-12-10 Procede de test de la condition mov et dispositif associe

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1362373A FR3014582B1 (fr) 2013-12-10 2013-12-10 Procede de test de la condition mov et dispositif associe

Publications (2)

Publication Number Publication Date
FR3014582A1 true FR3014582A1 (fr) 2015-06-12
FR3014582B1 FR3014582B1 (fr) 2016-01-22

Family

ID=50624678

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1362373A Active FR3014582B1 (fr) 2013-12-10 2013-12-10 Procede de test de la condition mov et dispositif associe

Country Status (1)

Country Link
FR (1) FR3014582B1 (fr)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Field Programmable Logic and Application", vol. 739, 1 January 1993, SPRINGER BERLIN HEIDELBERG, Berlin, Heidelberg, ISBN: 978-3-54-045234-8, ISSN: 0302-9743, article ATSUKO MIYAJI: "On ordinary elliptic curve cryptosystems", pages: 460 - 469, XP055131137, DOI: 10.1007/3-540-57332-1_39 *
"IEEE Standard Specifications for Public-Key Cryptography;IEEE Std 1363-2000 ED - Anonymous", IEEE STANDARD; [IEEE STANDARD], IEEE, PISCATAWAY, NJ, USA, 1 January 2000 (2000-01-01), pages i, XP017604294, ISBN: 978-0-7381-1956-4 *
MENEZES A J ET AL: "REDUCING ELLIPTIC CURVE LOGARITHMS TO LOGARITHMS IN A FINITE FIELD", IEEE TRANSACTIONS ON INFORMATION THEORY, IEEE PRESS, USA, vol. 39, no. 5, 1 September 1993 (1993-09-01), pages 1639 - 1646, XP000417589, ISSN: 0018-9448, DOI: 10.1109/18.259647 *

Also Published As

Publication number Publication date
FR3014582B1 (fr) 2016-01-22

Similar Documents

Publication Publication Date Title
EP2256987B1 (fr) Protection d'une génération de nombres premiers pour algorithme RSA
FR2759226A1 (fr) Protocole de verification d'une signature numerique
EP2296086B1 (fr) Protection d'une génération de nombres premiers contre des attaques par canaux cachés
FR2822002A1 (fr) Authentification cryptographique par modules ephemeres
CA2895189C (fr) Signature de groupe utilisant un pseudonyme
EP2638660B1 (fr) Protection contre les ecoutes passives
FR3015080A1 (fr) Verification d'integrite de paire de cles cryptographiques
EP2280511B1 (fr) Procédé de traitement de données protégé contre les attaques par faute et dispositif associé
EP3965361B1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
WO2006070092A1 (fr) Procede de traitement de donnees et dispositif associe
FR3005186A1 (fr) Projet de validation d'un parametre cryptographique, et dispositif correspondant
FR2834153A1 (fr) Procede cryptographique permettant de repartir la charge entre plusieurs entites et dispositifs pour mettre en oeuvre ce procede
FR3014582A1 (fr) Procede de test de la condition mov et dispositif associe
FR3004042A1 (fr) Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
FR2842052A1 (fr) Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
WO2019122679A1 (fr) Procédé cryptographique de signature de groupe
FR3143243A1 (fr) Signature et dechiffrement de message securises par double rsa-crt
EP3063898B1 (fr) Signature à pseudonyme pour carte à puce
FR2903544A1 (fr) Procede de securisation d'une authentification par utilisation de plusieurs canaux
WO2015132524A2 (fr) Génération de message pour test de génération de clés cryptographiques
FR3070517A1 (fr) Systeme et procede d'authentification et de signature numerique
WO2002019613A1 (fr) Procede de generation de signatures non-repudiables, notamment par un systeme embarque, et systeme embarque pour la mise en oeuvre du procede
FR3013476A1 (fr) Securisation de procede de cryptographie sur courbes elliptiques
FR2988197A1 (fr) Procede de generation et de verification d'identite portant l'unicite d'un couple porteur-objet
FR3013477A1 (fr) Procede et systeme pour la verification de la validite d'une signature numerique de message

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 7

CA Change of address

Effective date: 20200218

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20200218

CJ Change in legal form

Effective date: 20200218

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