Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ELECTRONIC MODULE AND METHOD FOR CALCULATING A CRYPTOGRAPHIC QUANTITY, AND ASSOCIATED ELECTRONIC DEVICE AND METHOD FOR PROCESSING A MESSAGE AND COMPUTER PROGRAM
Document Type and Number:
WIPO Patent Application WO/2019/122416
Kind Code:
A1
Abstract:
The invention relates to a method for calculating a cryptographic quantity (S) relating to a message (M), said method being implemented by an electronic calculating module. The invention comprises the calculation (110) of the cryptographic quantity (S) relating to the message (M) via a cryptographic algorithm, the cryptographic algorithm being a discrete logarithm algorithm on an elliptic curve defined on a cyclic group, the elliptic curve satisfying the following equation: y2 = x3 + A. x + B mod p. The cyclic group is a field extension of degree 2 of the field (Fp) where p = 2255-19, and the coefficients A and B respectively satisfy A formula (I) and B formula (II), the elliptic curve then satisfying the following equation: formula (III) mod p.

Inventors:
MASSON SIMON (FR)
BERNARD OLIVIER (FR)
DUBOIS RENAUD (FR)
ORCIERE OLIVIER (FR)
Application Number:
PCT/EP2018/086769
Publication Date:
June 27, 2019
Filing Date:
December 21, 2018
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THALES SA (FR)
International Classes:
H04L9/30; H04L9/32
Other References:
PATRICK LONGA ET AL: "Efficient Techniques for High-Speed Elliptic Curve Cryptography", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20100527:030241, 27 May 2010 (2010-05-27), pages 1 - 16, XP061004098
YONG WANG ET AL: "The Performance of Elliptic Curve Based Group Diffie-Hellman Protocols for Secure Group Communication over Ad Hoc Networks", COMMUNICATIONS, 2006. ICC '06. IEEE INTERNATIONAL CONFERENCE ON, IEEE, PI, 1 June 2006 (2006-06-01), pages 2243 - 2248, XP031025398, ISBN: 978-1-4244-0354-7
LANGLEY GOOGLE M HAMBURG RAMBUS CRYPTOGRAPHY RESEARCH S TURNER IECA A ET AL: "Elliptic Curves for Security; draft-irtf-cfrg-curves-06.txt", ELLIPTIC CURVES FOR SECURITY; DRAFT-IRTF-CFRG-CURVES-06.TXT; INTERNET-DRAFT: CFRG, INTERNET ENGINEERING TASK FORCE, IETF; STANDARDWORKINGDRAFT, INTERNET SOCIETY (ISOC) 4, RUE DES FALAISES CH- 1205 GENEVA, SWITZERLAND, no. 6, 26 August 2015 (2015-08-26), pages 1 - 17, XP015124156
GALLANT ET AL.: "Faster point multiplication on elliptic curves with efficient endormorphisms", 2001, SANTA BARBARA
Attorney, Agent or Firm:
HABASQUE, Etienne et al. (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de calcul d’une quantité cryptographique (S) relative à un message (M), le procédé étant mis en œuvre par un module électronique de calcul (14) et comprenant :

- le calcul (1 10) de la quantité cryptographique (S) relative au message (M) via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique (G), la courbe elliptique vérifiant l’équation suivante :

y2 = x3 + A. x + B mod p

caractérisé en ce que le groupe cyclique (G) est une extension de corps (£(Fp )) de degré 2 du corps (Fp) avec p = 2255-19,

et en ce que les coefficient A et B vérifient respectivement A = f— 30 +— V2 ) et

la courbe elliptique vérifiant alors l’équation suivante :

2. Procédé de calcul selon la revendication 1 , dans lequel l’extension (£(Fp )) de degré 2 du corps (Fp) est définie par le polynôme irréductible x2 - 2, chaque élément l’extension (£(Fp )) s’écrivant sous la forme x + a. y, où a est une racine dudit polynôme.

3. Procédé de calcul selon la revendication 1 ou 2, dans lequel l’extension (£(Fp )) de degré 2 du corps (Fp) a un cardinal égal à 4. N, où N est un facteur premier.

4. Procédé de calcul selon l’une quelconque des revendications précédentes, dans lequel la courbe elliptique possède des premier (y) et deuxième (Y) endomorphismes distincts, pour l’obtention d’une décomposition GLV en dimension 4.

5. Procédé de calcul selon la revendication 4, dans lequel le premier endomorphisme ( y ) vérifie l’équation suivante :

6. Procédé de traitement d’un message (M), le procédé étant mis en oeuvre par un dispositif électronique de traitement (10) et comprenant :

- l’acquisition (100) du message (M) ;

- le calcul (1 10) d’une quantité cryptographique (S) relative au message acquis (M) via un procédé de calcul selon l’une quelconque des revendications précédentes ; et

- la transmission (120), à destination d’un dispositif électronique récepteur, de la quantité cryptographique calculée (S).

7. Procédé de traitement selon la revendication 6, dans lequel la quantité cryptographique (S) calculée est une signature électronique du message (M) ou le chiffré du message (M).

8. Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en oeuvre un procédé selon l’une quelconque des revendications précédentes.

9. Module électronique (14) de calcul d’une quantité cryptographique (S) relative à un message (M), le module électronique de calcul étant configuré pour calculer la quantité cryptographique (S) relative au message (M) via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique (G), la courbe elliptique vérifiant l’équation suivante :

y2 = x3 + A. x + B mod p

caractérisé en ce que le groupe cyclique (G) est une extension de corps (£( ) de degré 2 du corps (Fp) avec p = 2255-19,

et en ce que les coefficient A et B sont respectivement égaux à A = -30 +

la courbe elliptique vérifiant alors l’équation suivante :

10. Dispositif électronique (10) de traitement d’un message (M), le dispositif (10) comprenant :

- un module d’acquisition (12) configuré pour acquérir un message (M) ;

- un module de calcul (14) configuré pour calculer une quantité cryptographique (S) relative au message acquis (M) ; - un module de transmission (16) configuré pour transmettre, à destination d’un dispositif électronique récepteur, la quantité cryptographique calculée (S),

caractérisé en ce que le module de calcul (14) est selon la revendication précédente.

Description:
Procédé et module électronique de calcul d’une quantité cryptographique, procédé et dispositif électronique de traitement d’un message et programme d’ordinateur associés

La présente invention concerne un procédé de calcul d’une quantité cryptographique relative à un message, le procédé étant mis en œuvre par un module électronique de calcul.

Le procédé de calcul comprend le calcul d’une quantité cryptographique relative au message via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique.

La présente invention concerne également un procédé de traitement d’un message, le procédé étant mis en œuvre par un dispositif électronique de traitement. Le procédé de traitement comprend l’acquisition du message ; le calcul d’une quantité cryptographique relative au message acquis via un tel procédé de calcul ; et la transmission, à destination d’un dispositif électronique récepteur, de la quantité cryptographique calculée.

La présente invention concerne aussi un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un tel procédé de calcul et/ou un tel procédé de traitement.

La présente invention concerne également un module électronique de calcul d’une quantité cryptographique relative à un message et un dispositif électronique de traitement d’un message comprenant un tel module de calcul.

La présente invention concerne le domaine de la cryptographie, notamment celui de la cryptographie asymétrique.

La cryptographie asymétrique permet de réaliser des protocoles d’échange de clés ou de signature électronique. Le chiffrement RSA (nommé par les initiales de ses trois inventeurs Ronald RIVEST, Adi SHAMIR et Leonard ADLEMAN) est un algorithme de cryptographie asymétrique qui est lent et gourmand en temps de calcul.

Notamment pour remédier à un tel inconvénient, les courbes elliptiques ont été développées pour les protocoles d’échange de données. De fait, les courbes elliptiques sont intéressantes pour la cryptographie par l’existence sur le groupe (E(F p ), +) d’une loi d’addition et de multiplication par un scalaire k. La loi de multiplication par un scalaire k définit le problème dit du logarithme discret sur courbes elliptiques, consistant à retrouver le scalaire k à partir de deux points P et [k]P de la courbe elliptique. Ce problème est difficile d’un point de vue calculatoire, c’est-à-dire que sa résolution n’est pas polynomiale en la taille en bits des éléments.

Pour assurer que le problème soit effectivement difficile, il convient que la courbe elliptique considérée vérifie un certain nombre de critères de sûreté.

Une courbe elliptique est considérée comme sûre si la courbe est insensible à une attaque générique du type rho de Pollard, à une attaque de type transfert, aux attaques utilisant des endomorphismes issus de la multiplication complexe, à une attaque sur la courbe associée par le phénomène de retournement (aussi désigné par le terme anglais de « twist »). Une courbe elliptique est considérée comme rigide, si sa génération est complètement explicite et ne comporte aucune étape arbitraire.

Toutefois, les courbes elliptiques sûres de l’état de la technique présentent un niveau de sécurité inférieur ou égal à 128 bits de sécurité.

Le but de l’invention est alors de proposer un procédé et un module de calcul d’une quantité cryptographique relative à un message, qui permettent d’améliorer le niveau de sécurité, tout en ayant un temps de calcul réduit.

A cet effet, l’invention a pour objet un procédé de calcul d’une quantité cryptographique relative à un message, le procédé étant mis en oeuvre par un module électronique de calcul et comprenant :

- le calcul de la quantité cryptographique relative au message via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique, la courbe elliptique vérifiant l’équation suivante :

y 2 = x 3 + A. x + B mod p

le groupe cyclique étant une extension de corps £( F p2 ) de degré 2 du corps F p avec p = 2 255 -19,

et les coefficient A et B vérifiant respectivement A = ( -30 +— . V2 ) et B

la courbe elliptique vérifiant alors l’équation suivante :

Avec le procédé de calcul selon l’invention, l’algorithme cryptographique permet alors d’obtenir, de par la courbe elliptique telle que définie ci-dessus, un niveau de sécurité égal à 254 bits de sécurité, généralement assimilé à un niveau de sécurité de 256 bits, puissance de 2 (2 8 ) très proche de 254, tout en conservant le temps de calcul réduit associé à une courbe elliptique. Suivant d’autres aspects avantageux de l’invention, le procédé de calcul comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :

- l’extension £( F p2 ) de degré 2 du corps F p est définie par le polynôme irréductible x 2 - 2, chaque élément l’extension £( F p2 ) s’écrivant sous la forme x + a. y, où a est une racine dudit polynôme ;

- l’extension £(F p2 ) de degré 2 du corps F p a un cardinal égal à 4.N, où N est un facteur premier ;

- la courbe elliptique possède des premier et deuxième endomorphismes distincts, pour l’obtention d’une décomposition GLV en dimension 4 ; et

- le premier endomorphisme vérifie l’équation suivante :

L’invention a également pour objet un procédé de traitement d’un message, le procédé étant mis en oeuvre par un dispositif électronique de traitement et comprenant :

- l’acquisition du message ;

- le calcul d’une quantité cryptographique relative au message acquis via un procédé de calcul tel que défini ci-dessus ; et

- la transmission, à destination d’un dispositif électronique récepteur, de la quantité cryptographique calculée.

Suivant un aspect avantageux de l’invention, le procédé de traitement comprend la caractéristique suivante :

- la quantité cryptographique calculée est une signature électronique du message ou le chiffré du message.

L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en oeuvre un procédé de calcul tel que défini ci-dessus et/ou un procédé de traitement tel que défini ci-dessus.

L’invention a également pour objet un module électronique de calcul d’une quantité cryptographique relative à un message, le module électronique de calcul étant configuré pour calculer la quantité cryptographique relative au message via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique, la courbe elliptique vérifiant l’équation suivante :

y 2 = x 3 + A. x + B mod p le groupe cyclique étant une extension de corps £( F p2 ) de degré 2 du corps F p avec p = 2 255 -19,

140

et les coefficient A et B étant respectivement égaux a A = 1 -30 +— V2 ) et B

la courbe elliptique vérifiant alors l’équation suivante :

L’invention a également pour objet un dispositif électronique de traitement d’un message, le dispositif comprenant :

- un module d’acquisition configuré pour acquérir un message ;

- un module de calcul configuré pour calculer une quantité cryptographique relative au message acquis, le module de calcul étant tel que défini ci-dessus ; et

- un module de transmission configuré pour transmettre, à destination d’un dispositif électronique récepteur, la quantité cryptographique calculée.

Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :

- la figure 1 est une représentation schématique d’un dispositif électronique, selon l’invention, de traitement d’un message, le dispositif comprenant un module d’acquisition d’un message, un module de calcul d’une quantité cryptographique relative au message acquis, et un module de transmission de la quantité cryptographique calculée à destination d’un dispositif électronique récepteur ; et

- la figure 2 est un organigramme d’un procédé, selon l’invention, de traitement du message, le procédé étant mis en oeuvre par le dispositif électronique de traitement de la figure 1.

Sur la figure 1 , un dispositif électronique de traitement 10 est configuré pour traiter un message M, et comprend un module d’acquisition 12 configuré pour acquérir le message M, un module de calcul 14 configuré pour calculer une quantité cryptographique S relative au message acquis M, et un module de transmission 16 configuré pour transmettre, à destination d’un dispositif électronique récepteur, non représenté, la quantité cryptographique calculée S.

Dans l’exemple de la figure 1 , le dispositif électronique de traitement 10 comprend une unité de traitement d’informations 20 formée par exemple d’une mémoire 22 et d’un processeur 24 associé à la mémoire 22. Il comprend en outre dans cet exemple des moyens d’entrée/sortie 26 et éventuellement un écran d’affichage 28.

Dans l’exemple de la figure 1 , le module d’acquisition 12, le module de calcul 14 et le module de transmission 16 sont réalisés chacun sous forme d’un logiciel exécutable par le processeur 24. La mémoire 22 de l’unité de traitement d’informations 20 est alors apte à stocker un logiciel d’acquisition configuré pour acquérir le message M, un logiciel de calcul configuré pour calculer la quantité cryptographique S relative au message acquis M et un logiciel de transmission configuré pour transmettre, à destination du dispositif électronique récepteur, la quantité cryptographique calculée S. Le processeur 24 de l’unité de traitement d’informations 20 est alors apte à exécuter le logiciel d’acquisition, le logiciel de calcul et le logiciel de transmission.

En variante non représentée, le module d’acquisition, le module de calcul et le module de transmission sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gâte Arraÿ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Spécifie Integrated Circuit).

Le module d’acquisition 12 est configuré pour acquérir le message M, et est par exemple configuré pour recevoir le message M de la part des moyens d’entrée/sortie 26. Les moyens d’entrée/sortie 26 comportent par exemple un clavier ou encore un lecteur de support informatique. En variante, le module d’acquisition 12 est configuré pour acquérir le message M via un récepteur de données, apte à recevoir le message M de la part d’un autre équipement électronique, non représenté.

Le module électronique de calcul 14 est configuré pour calculer la quantité cryptographique S relative au message M via un algorithme cryptographique, l’algorithme cryptographique étant un algorithme à logarithme discret sur une courbe elliptique définie sur un groupe cyclique G.

La quantité cryptographique S calculée est une signature électronique du message M ou bien le chiffré du message M.

Le groupe cyclique G est une extension de corps E( F p2 ) de degré 2 du corps F p avec p = 2 255 -19, et la courbe elliptique vérifie l’équation suivante :

y 2 = x 3 + A. x + B mod p

avec les coefficients A et B respectivement égaux à A =

La courbe elliptique vérifie alors l’équation suivante : En complément facultatif, l’extension de degré 2 du corps est définie par le polynôme irréductible x 2 - 2, chaque élément l’extension £( F p2 ) s’écrivant sous la forme x + a. y, où a est une racine dudit polynôme.

L’extension de degré 2 du corps a de préférence un cardinal égal à 4.N, où N est un facteur premier. N est par exemple un facteur premier de 508 bits. En utilisant le groupe G d’ordre N, la sécurité obtenue est alors de 254 bits.

Le cardinal de la forme 4.N permet aussi d’utiliser la courbe sous forme d’Edwards, ce qui permet d’obtenir une arithmétique plus efficace pour la loi de groupe de la courbe elliptique.

En complément facultatif, la courbe elliptique possède des premier y et deuxième Y endomorphismes distincts, pour l’obtention d’une décomposition GLV (pour Gallant, Lambert et Vanstone) en dimension 4. Le principe de la décomposition GLV est connu en soi, et est par exemple décrit dans l’article « Faster point multiplication on elliptic curves with efficient endormorphisms » de Gallant et al, présenté lors de la 21 ème conférence annuelle de cryptologie internationale à Santa Barbara en Californie en 2001 .

Le premier endomorphisme y est par exemple l’endomorphisme [V2], et vérifie l’équation suivante :

Lorsque le premier endomorphisme y est l’endomorphisme [V2], le deuxième endomorphisme Y associé audit premier endomorphisme y pour l’obtention d’une décomposition GLV en dimension 4 est par exemple l’endomorphisme [V-ll].

L’obtention du deuxième endomorphisme Y comprend, par exemple, les sous- étapes suivantes :

- le calcul d’un premier facteur irréductible du polynôme de division P1 1 qui permet de générer un sous-groupe d’ordre 1 1 du groupe de 1 1 torsion E[1 1 ] d’ordre 121 ;

- la construction d’un isomorphisme g à partir des formules de Vélu permettant d’expliciter une isogénie de degré 1 1 ; et

- la détermination de l’endomorphisme [V-ll] en appliquant le Frobenius à l’isomorphisme g.

Le polynôme de division P1 1 , les formules de Vélu et le Frobenius sont bien connus de l’homme du métier.

En variante, le deuxième endomorphisme Y est l’endomorphisme [V— 22] qui est par exemple obtenu à partir des formules de Stark. En complément, pour effectuer la multiplication d’un point P par un scalaire k, le module de calcul 14 est configuré en outre pour décomposer le scalaire k en quatre éléments k1 , k2, k3, k4, via la multiplication du vecteur (k, 0, 0, 0) par une matrice Q de décomposition de scalaire. La matrice Q est par exemple une matrice obtenue via l’algorithme LLL, connu en soi, pour décomposer les scalaires.

Le module 14 est ensuite configuré pour décomposer le point P en quatre points : P1 , P2, P3 et P4, P1 étant le point P, P2 étant le résultat de l’application du premier endomorphisme y au point P, P3 étant le résultat de l’application du deuxième endomorphisme Y au point P et P4 étant le résultat de l’application du premier endomorphisme au point P3.

Le module de calcul 14 est enfin configuré pour appliquer une fonction de quadruple exponentiation simultanée aux points P1 , P2, P, P4 avec les coefficients k1 , k2, k3, k4.

La multiplication du point P par le scalaire k vérifie alors par exemple l’équation suivante :

kP = kl. PI + k2. P2 + k3. P3 + k\. P\ (4) s’écrivant aussi sous la forme suivante :

kP = kl. P + k2. \p P) + k3. Y(R) + k\. y ° Y(R) (5)

Le module de transmission 16 est ensuite configuré pour transmettre la quantité cryptographique calculée S à destination du dispositif électronique récepteur, non représenté. Le module de transmission 16 est par exemple relié à un émetteur, tel qu’un émetteur radioélectrique, aux fins de cette transmission.

Le fonctionnement du dispositif électronique de traitement 10 selon l’invention va désormais être expliqué à l’aide de la figure 2 représentant un organigramme d’un procédé, selon l’invention, de traitement du message M.

Lors d’une étape initiale 100, le dispositif de traitement 10 acquiert, via son module d’acquisition 12, le message M, qui a été par exemple préalablement reçu via les moyens d’entrée/sortie 26.

Le dispositif de traitement 10 calcule ensuite, lors de l’étape 1 10 et via son module de calcul 14, la quantité cryptographique S relative au message acquis M.

La quantité cryptographique calculée S est une signature électronique du message M ou bien le chiffré dudit message M.

Le calcul de la quantité cryptographique S relative au message M est effectué via l’application de l’algorithme cryptographique qui est l’algorithme à logarithme discret sur la courbe elliptique définie sur le groupe cyclique G, la courbe elliptique vérifiant l’équation (2) précédente. Pour effectuer la multiplication du point P par le scalaire k, le module de calcul 14 commence, par exemple, par décomposer le scalaire k en quatre éléments (k1 , k2, k3, k4) via la multiplication du vecteur (k, 0, 0, 0) par la matrice de décomposition scalaire Q, puis décompose ensuite le point P en quatre points P1 , P2, P3, P4 obtenus en utilisant les premier y et deuxième Y endomorphismes distincts, tels que décrits précédemment et associés à la courbe elliptique.

Le module de calcul 14 calcule ensuite le produit du point P par le scalaire k en faisant appel à la fonction de quadruple exponentiation simultanée, vérifiant par exemple l’équation (5) précédente.

Le dispositif de traitement 10 transmet enfin, lors de l’étape 120 et via son module de transmission 16, la quantité cryptographique S calculée lors de l’étape 1 10, au dispositif électronique récepteur, non représenté.

L’homme du métier comprendra alors que la courbe elliptique utilisée par le module de calcul 14 pour le calcul de la quantité cryptographique S, vérifiant l’équation (2), est particulièrement avantageuse.

En effet, cette courbe elliptique utilise une quadruple exponentiation pour un niveau de sécurité de 254 bits, généralement assimilé à un niveau de sécurité de 256 bits, puissance de 2 (2 8 ) très proche de 254, tout en utilisant comme corps de base le corps F255 - 19, qui est apte à être implémenté de manière très efficace et bien connu pour la cryptographie.

L’application de la décomposition GLV en dimension 4 sur cette courbe elliptique permet en outre de réduire de manière significative le temps de calcul de la quantité cryptographique S. L’application de la décomposition GLV en dimension 4 permet en effet un gain de temps d’environ 55% par rapport à l’algorithme DAA (de l’anglais Double-And- Add) et d’environ 24% par rapport à une décomposition GLV en dimension 2.

En outre, cette courbe elliptique est utilisable en conjonction avec une implémentation de la courbe Ed255-19 en réutilisant l’arithmétique du corps de base, ladite courbe Ed255-19 vérifiant par exemple l’équation suivante :

y 2 = x 3 + 486662. x 2 + x (6)

Un avantage supplémentaire de cette courbe elliptique est qu’elle admet une représentation d’Edwards twisté, ce qui permet d’accélérer encore les calculs.

On conçoit ainsi que le dispositif de traitement 10 selon l’invention et le procédé de traitement associé, permettent alors, de par le module de calcul 14 et le procédé associé de calcul de la quantité cryptographique S, d’améliorer le niveau de sécurité de la quantité cryptographique S calculée, tout en ayant un temps de calcul réduit. L’homme du métier comprendra également que l’invention est particulièrement utile dans le domaine des systèmes de communication sécurisés, tels que les systèmes de radio-transmission sécurisés, les systèmes de téléphonie sécurisés, ou encore les systèmes de communication par satellite.