FR 3102271 A1 20210423 FR 1911511 A 20191016 Pour générer une clé publique (PK C ) égale au produit d’un générateur éphémère par un scalaire formant une clé privée (k C ) (le générateur éphémère étant un point d’une courbe elliptique et la clé privée étant un élément d’un corps fini), un procédé comprend les étapes suivantes : - obtention (E76) d’un nombre (a) par multiplication, dans le corps fini, de la clé privée (k C ) par un autre élément (h) du corps fini ; - obtention (E80) de la clé publique (PK C ) en effectuant un traitement impliquant au moins le produit d’un autre point (ECH(s,t)) de la courbe elliptique par le nombre obtenu (a). Figure pour l’abrégé : Fig. 3 Procédé de génération d’une clé publique, procédé de construction d’un secret partagé et entité électronique associée La présente invention concerne le domaine technique de la cryptographie. Elle concerne plus particulièrement un procédé de génération d’une clé publique, un procédé de construction d’un secret partagé et une entité électronique associée. Certains protocoles de cryptographie sur courbe elliptique, tel que le protocole PACE, proposent de générer une clé publique au moyen d’un processus comprenant deux étapes : - on construit tout d’abord, de manière aléatoire, un point de la courbe elliptique utilisable ensuite en tant que générateur éphémère ; - on génère la clé publique en multipliant ce générateur éphémère par un scalaire appartenant à un corps fini et formant alors une clé privée. L’étape de construction du générateur éphémère comprend en général elle aussi au moins une multiplication d’un point de la courbe elliptique par un scalaire (élément du corps fini) et la génération de la clé publique est donc relativement coûteuse en termes de calcul sur la courbe elliptique. Dans ce contexte, l’invention propose un procédé de génération d’une clé publique égale au produit d’un générateur éphémère par un scalaire formant une clé privée, le générateur éphémère étant un point d’une courbe elliptique et la clé privée étant un élément d’un corps fini, caractérisé en ce qu’il comprend les étapes suivantes : - obtention d’un nombre par multiplication, dans le corps fini, de la clé privée par un autre élément du corps fini ; - obtention de la clé publique en effectuant un traitement impliquant au moins le produit d’un autre point de la courbe elliptique par le nombre obtenu. On privilégie ainsi les multiplications dans le corps fini (dont le coût calculatoire est inférieur à celui des multiplications de points de la courbe elliptique par un scalaire) et on limite de ce fait le nombre de multiplications de points de la courbe elliptique par un scalaire à effectuer. On peut ainsi obtenir la clé publique sans avoir à déterminer l’élément générateur en tant que tel. Selon d’autres caractéristiques envisageables à titre optionnel : - le procédé comprend une étape de détermination de l’autre élément par tirage aléatoire ; - la courbe elliptique est définie par un ensemble de paramètres comprenant un cofacteur et/ou un générateur (ce générateur étant donc prédéterminé et pouvant être en pratique mémorisé dans l’entité électronique mettant en œuvre le procédé de génération) ; - l’autre point de la courbe elliptique est ledit générateur ; - le procédé comprend une étape de réception de données représentant l’autre point en provenance d’un partenaire de communication (ce partenaire de communication étant par exemple une autre entité électronique, en communication avec l’entité électronique mettant en œuvre le procédé de génération via un canal de communication) ; - le procédé comprend une étape d’obtention d’un autre nombre par multiplication, dans le corps fini, de la clé privée par un élément supplémentaire du corps fini ; - ledit traitement est conçu pour déterminer la somme, sur la courbe elliptique, du produit du générateur par l’autre nombre, et du produit de l’autre point par ledit nombre obtenu ; - l’autre élément est le cofacteur susmentionné ; - le procédé comprenant une étape d’obtention de l’autre point par application d’une fonction de hachage ayant un ensemble image inclus dans la courbe elliptique. L’invention propose également un procédé de construction d’un secret partagé entre un premier partenaire de communication et un second partenaire de communication, comprenant les étapes suivantes : - génération, par le premier partenaire de communication, d’une première clé publique au moyen d’un procédé de génération de clé publique tel que proposé ci-dessus ; - émission, par le premier partenaire de communication, de la première clé publique à destination du second partenaire de communication ; - réception, par le premier partenaire de communication, d’une seconde clé publique en provenance du second partenaire de communication ; - construction du secret partagé en effectuant le produit de la seconde clé publique par ladite clé privée. Un tel secret partagé peut ensuite être utilisé au sein d’un algorithme cryptographique mis en œuvre par le premier partenaire de communication ou par le second partenaire de communication. Le premier partenaire de communication est par exemple une première entité électronique, telle qu’une carte à microcircuit et/ou un document électronique d’identité. Le second partenaire de communication est par exemple une seconde entité électronique, tel qu’un terminal (éventuellement réalisé sous forme d’un lecteur de carte). Enfin, l’invention propose une entité électronique apte à générer une clé publique égale au produit d’un générateur éphémère par un scalaire formant une clé privée, le générateur éphémère étant un point d’une courbe elliptique et la clé privée étant un élément d’un corps fini, caractérisée en ce qu’elle comprend un processeur programmé pour : - obtenir un nombre par multiplication, dans le corps fini, de la clé privée par un autre élément du corps fini ; et pour - obtenir la clé publique en effectuant un traitement impliquant au moins le produit d’un autre point de la courbe elliptique par le nombre obtenu. Le processeur est par exemple programmé (comme il vient d’être indiqué) au moyen d’instructions de programme d’ordinateur mémorisées dans une mémoire (par exemple non volatile, éventuellement réinscriptible) de l’entité électronique et conçues pour mettre en œuvre tout ou partie du procédé de génération de clé publique et/ou du procédé de construction d’un secret partagé proposés ci-dessus lorsque ces instructions sont exécutées par le processeur susmentionné. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où : représente un système comprenant des entités électroniques conçues pour communiquer entre elles ; est un logigramme illustrant un premier exemple de procédé de génération de clé publique et de construction de secret partagé conforme à l’invention ; et est un logigramme présentant un second exemple de procédé de génération de clé publique et de construction de secret partagé conforme à l’invention. La figure 1 représente schématiquement une première entité électronique 1 et une seconde entité électronique 10 conçues pour échanger des données via un canal de communication 12. La première entité électronique 1 et la seconde entité électronique 10 forment donc respectivement un premier partenaire de communication et un second partenaire de communication. La première entité électronique 1 est par exemple une carte à microcircuit (d’où la référence C utilisée sur les figures 2 et 3), telle qu’une carte à circuit intégré universelle (ou UICC pour " Universal Integrated Circuit Card ") ou une carte bancaire. Sous cette forme ou sous une des autres formes envisageables comme indiqué ci-dessous, la première entité électronique 1 peut former un document électronique d’identité. Selon une autre possibilité de réalisation, la première entité électronique 1 pourrait être un élément sécurisé (ou SE pour " Secure Element ") – par exemple un microcontrôleur sécurisé ; un tel élément sécurisé est par exemple intégré à un dispositif électronique portatif (ou " hand- held electronic device " selon l’appellation anglo-saxonne), tel qu’un terminal de communication ou un passeport électronique. Selon une autre variante encore, l’entité électronique 1 pourrait être un ordinateur ou un module matériel de sécurité (ou HSM pour "Hardware Security Module"). La première entité électronique 1 comprend un processeur 2 (ici un microprocesseur), une mémoire vive 4 et une mémoire non-volatile réinscriptible 6 (par exemple de type EEPROM pour " Electrically Erasable and Programmable Read- Only Memory "). La première entité électronique 1 pourrait éventuellement comprendre en outre une mémoire morte. La mémoire vive 4 et la mémoire non-volatile réinscriptible 6 (ainsi que le cas échéant la mémoire morte) sont chacune liées au processeur 2 de sorte que le processeur 2 peut lire ou écrire des données dans chacune de ces mémoires 4, 6. Une de ces mémoires, par exemple la mémoire non-volatile réinscriptible 6, mémorise des instructions de programme d’ordinateur, dont certaines permettent la mise en œuvre par la première entité électronique 1 d’étapes du procédé décrit ci-dessous en référence à la figure 2 ou à la figure 3, lorsque ces instructions sont exécutées par le processeur 2. Les mémoires 4, 6 stockent également des données représentatives de valeurs utilisées lors de la mise en œuvre de ces étapes. La mémoire non-volatile réinscriptible 6 mémorise en particulier une clé privée k C (utilisée comme décrit plus bas). Comme expliqué plus bas, la première entité électronique 1 est conçue (ici grâce à certaines des instructions mémorisées dans une mémoire 4, 6 de l’entité électronique 1 et exécutables par le processeur 2 de l’entité électronique) pour mettre en œuvre un procédé de génération d’une clé publique PK C et/ou de construction d’un secret partagé K ; cette clé publique PK C et/ou ce secret partagé K peuvent ensuite être utilisés au sein d’un algorithme de traitement cryptographique. La première entité électronique 1 peut donc former un dispositif de traitement cryptographique. La première entité électronique 1 comprend en outre une interface de communication 8 pour échanger des données avec des dispositifs électroniques externes, en particulier via le canal de communication 12 avec la seconde entité électronique 10. Dans le cas décrit ici où l’entité électronique 1 est une carte à microcircuit, l’interface de communication 8 comprend par exemple des contacts affleurant sur une face de la carte à microcircuit. En variante, l’interface de communication 8 pourrait être réalisée par un module de communication sans contact. De manière générale, l’interface de communication 8 peut être un module de communication (filaire ou sans fil) avec une autre entité électronique. La seconde entité électronique 10 est par exemple un terminal (d’où la référence T utilisée sur les figures 2 et 3) conçu pour échanger des données avec la première entité électronique 1 via le canal de communication 12. Bien que cela ne soit pas décrit ici en détail, la seconde entité électronique 10 peut être conçue elle aussi sur la base d’une architecture à microprocesseur. La première entité électronique 1 et la seconde entité électronique 10 sont chacune conçues (en pratique programmées) pour effectuer des calculs sur une courbe elliptique E prédéfinie. La courbe elliptique E est définie par des paramètres (en particulier un cofacteur h et/ou un générateur G) dont certains sont mémorisés dans l’une au moins des première et seconde entités électroniques 1, 10. Le générateur G est un point de la courbe elliptique E qui permet de définir un groupe (dit groupe elliptique) d’ordre n sur la courbe elliptique E. Le cofacteur h déjà mentionné est défini de sorte que le cardinal (ou ordre) de la courbe elliptique E (c’est-à-dire le nombre de points formant la courbe elliptique E) est égal au produit de l’ordre n par le cofacteur h. On note "+" l’opération d’addition définie au sein du groupe elliptique susmentionné. Par ailleurs, les points de la courbe elliptique E sont par exemple représentés au sein des première et seconde entités électroniques au moyen de coordonnées affines et/ou au moyen de coordonnées projectives (X, Y, Z), par exemple des coordonnées projectives jacobiennes (chacune des première et seconde entités électroniques pouvant effectuer une conversion de coordonnées affines en coordonnées projectives, et réciproquement). Chacune des première et seconde entités électroniques 1, 10 (c’est-à-dire en pratique un processeur équipant ces entités électroniques 1, 10, tel que le processeur 2) est conçue (en pratique : le processeur est programmé au moyen d’instructions mémorisés dans une mémoire de l’entité électronique telle que la mémoire non volatile 6) pour effectuer des additions entre points de la courbe elliptique E (c’est-à-dire au sein du groupe elliptiques précité), en pratique au moyen de calculs sur les coordonnées projectives des points à additionner. On note A + B l’addition de deux points A et B de la courbe elliptique E. Chacune des première et seconde entités électroniques 1, 10 (c’est-à-dire en pratique un processeur équipant ces entités électroniques 1, 10, tel que le processeur 2) est par ailleurs conçue (en pratique : le processeur est programmé au moyen d’instructions mémorisés dans une mémoire de l’entité électronique telle que la mémoire non volatile 6) pour effectuer des produits d’un point de la courbe elliptique E par un scalaire élément d’un corps fini F, en pratique au moyen de calculs sur les coordonnées projectives du points à multiplier par ce scalaire. On note [m] A le produit d’un point A de la courbe elliptique E par un scalaire m élément du corps fini F. La figure 2 est un logigramme illustrant un premier exemple de procédé de génération d’une clé publique PK C et de construction d’un secret partagé K conforme à l’invention. Comme cela ressortira de l’explication qui suit, ce procédé permet de produire le secret partagé K en conformité avec le protocole PACE dans le cas de l’utilisation du processus dénommé " Generic Mapping ". Le procédé débute par une étape E2 de génération par tirage aléatoire d’un premier nombre aléatoire s au sein de la première entité électronique 1 (cette étape étant donc ici mise en œuvre par le processeur 2). La première entité électronique 1 (en pratique le processeur 2) applique alors au premier nombre aléatoire s un algorithme cryptographique de chiffrement E π (étape E4) de manière à obtenir une version chiffrée z du première nombre aléatoire s : z = E π (s). L’algorithme de chiffrement E π utilisé par la première entité électronique 1 peut être lié en pratique à un mot de passe π, qui correspond par exemple à des caractères imprimés sur la première entité électronique 1 (lorsque cette première entité électronique 1 est un document électronique d’identité) ou sur un document électronique d’identité équipé de la première entité électronique 1. La première entité électronique 1 émet la version chiffrée z sur le canal de communication 12 (c’est-à-dire via l’interface de communication 8) à destination de la seconde entité électronique 10 (étape E6). La version chiffrée z est reçue par la seconde entité électronique 10 à l’étape E8. La seconde entité électronique 10 applique alors un algorithme cryptographique de déchiffrement E π -1 à la version chiffrée z (étape E10) afin d’obtenir le premier nombre aléatoire s. L’algorithme cryptographique de déchiffrement E π -1 est donc l’algorithme inverse de l’algorithme de chiffrement E π . Dans l’exemple décrit ici, la seconde entité électronique 10 reçoit le mot de passe π (par exemple par saisie sur une interface utilisateur de la seconde entité électronique 10, ici un terminal T comme déjà indiqué, ou par lecture du mot de passe π sur la première entité électronique 1 au moyen d’un dispositif de lecture optique, en particulier lorsque le mot de passe π correspond par exemple à des caractères imprimés sur la première entité électronique 1 comme indiqué plus haut). La seconde entité électronique 10 peut ainsi déterminer l’algorithme cryptographique de déchiffrement E π -1 en fonction du mot de passe π reçu. (En pratique, le mot de passe π est appliqué, en sus de la version chiffrée z, comme paramètre d’une fonction cryptographique prédéfinie.) La première entité électronique 1 (en pratique le processeur 2) génère par ailleurs à l’étape E12 un second nombre aléatoire c par tirage aléatoire. La première entité électronique 1 (en pratique le processeur 2) peut alors déterminer à l’étape E14 un premier point Q en effectuant le produit du générateur G par le second nombre aléatoire c : Q = [c] G. La première entité électronique 1 émet le premier point Q (c’est-à-dire par exemple en pratique des données représentant les coordonnées affines du premier point Q) sur le canal de communication 12 (c’est-à-dire via l’interface de communication 8) à destination de la seconde entité électronique 10 (étape E16). Le premier point Q est reçu par la seconde entité électronique 10 à l’étape E18. La seconde entité électronique 10 génère un troisième nombre aléatoire t par tirage aléatoire (étape E20). La seconde entité électronique 10 peut alors déterminer à l’étape E22 un second point P en effectuant le produit du générateur G par le troisième nombre aléatoire t : P = [t] G. La seconde entité électronique 10 émet le second point P (c’est-à-dire par exemple en pratique des données représentant les coordonnées affines du second point P) sur le canal de communication 12 à destination de la première entité électronique 10 (étape E24). Le second point P est reçu par la première entité électronique 1 (précisément par le processeur 2) via l’interface de communication 8 à l’étape E26. La première entité électronique 1 (en pratique le processeur 2) détermine à l’étape E28 un premier nombre intermédiaire a en multipliant la clé privée k C par le premier nombre aléatoire s : a = k C .s . Cette multiplication s’entend dans le corps fini F. Comme déjà indiqué, la clé privée k C est ici mémorisée dans la première entité électronique 1, par exemple dans la mémoire non-volatile réinscriptible 6. En variante, la clé privée k C pourrait être une clé privée éphémère, obtenue par tirage aléatoire (au sein de la première entité électronique 1, en pratique par le processeur 2) préalablement à l’étape E28. La première entité électronique 1 (en pratique le processeur 2) détermine à l’étape E30 un second nombre intermédiaire b en multipliant la clé privée k C par le second nombre aléatoire c : b = k C .c . Cette multiplication s’entend dans le corps fini F. La première entité électronique 1 (en pratique le processeur 2) peut ainsi déterminer à l’étape E32 une première clé publique PK C égale à la somme du produit du générateur G par le premier nombre intermédiaire a, et du produit du second point P par le second nombre intermédiaire b : PK C = [a] G + [b] P. La détermination de la première clé publique PK C à l’étape E32 est par exemple réalisée au moyen d’un algorithme de double multiplication, à savoir un algorithme prenant en entrée le premier nombre intermédiaire a, le second nombre intermédiaire b, le générateur G et le second point P, et produisant en sortie la somme précité [a] G + [b] P. Un tel algorithme est par exemple décrit dans la présentation " Scalar -multiplication algorithms ", de P. Schwabe, Radboud University Nijmegen, Pays-Bas, ECC 2013 Summer School, 11 septembre 2013. La première clé publique PK C vérifie : PK C = [k C .s] G + [k C .c] P = [k C ] Γ, où Γ est un générateur éphémère égal à [s] G + [c] P selon la version du protocole PACE utilisant le processus dit " Generic Mapping ". La première clé publique PK C est donc bien une clé publique éphémère telle que prévue par le protocole PACE. On remarque que le procédé qui vient d’être décrit ne prévoit pas le calcul du générateur éphémère Γ, mais l’obtention directe de la première clé publique PK C , ce qui réduit le nombre de multiplications d’un point de la courbe elliptique E par un scalaire à effectuer. La seconde entité électronique 10 détermine à l’étape E34 un troisième nombre intermédiaire a’ en multipliant une clé privée k T mémorisée dans la seconde entité électronique 10 par le premier nombre aléatoire s : a’ = k T .s . Cette multiplication s’entend dans le corps fini F. En pratique, la clé privée k T peut être une clé privée éphémère, obtenue par exemple par tirage aléatoire au sein de la seconde entité électronique 10. La seconde entité électronique 10 détermine à l’étape E36 un quatrième nombre intermédiaire b’ en multipliant la clé privée k T par le troisième nombre aléatoire t : b’ = k T .t . Cette multiplication s’entend dans le corps fini F. La seconde entité électronique 10 peut alors déterminer à l’étape E38 une seconde clé publique PK T égale à la somme du produit du générateur G par le troisième nombre intermédiaire a’, et du produit du premier point Q par le quatrième nombre intermédiaire b’ : PK T = [a’] G + [b’] Q. Comme pour l’étape E32, la détermination de la seconde clé publique PK T à l’étape E38 est par exemple réalisée au moyen d’un algorithme de double multiplication, à savoir un algorithme prenant en entrée le troisième nombre intermédiaire a’, le quatrième nombre intermédiaire b’, le générateur G et le premier point Q, et produisant en sortie la somme précitée [a’] G + [b’] Q, tel que décrit dans la présentation précitée. La seconde clé publique PK T vérifie : PK T = [k T .s] G + [k T .t] Q = [k T ] Γ, où Γ est le générateur éphémère précité (du fait que [t] Q = [t.c] G = [c] P). La seconde clé publique PK T est donc bien une clé publique éphémère telle que prévue par le protocole PACE. On remarque que le procédé qui vient d’être décrit ne prévoit pas le calcul du générateur éphémère Γ, mais l’obtention directe de la seconde clé publique PK T , ce qui limite le nombre de multiplications d’un point de la courbe elliptique E par un scalaire nécessaires. Une fois les clés publiques déterminées, les première et seconde entités électroniques 1, 10 peuvent construire un secret partagé K par un algorithme de négociation de clé (en anglais : " key agreement ") de type ECDH (pour " Elliptic Curve Diffie -Hellman ") comme décrit à présent. La première entité électronique 1 émet la première clé publique PK C à destination de la seconde entité électronique 10 via le canal de communication 12 (étape E40). La seconde entité électronique 10 reçoit ainsi la première clé publique PK C à l’étape E42. La seconde entité électronique 10 peut alors déterminer à l’étape E44 le secret partagé K en effectuant le produit de la première clé publique PK C par la clé privée k T (mémorisée dans la seconde entité électronique 10) : K = [k T ] PK C . La seconde entité électronique 10 transmet par ailleurs à l’étape E46 la seconde clé publique PK T à destination de la première entité électronique 1 via le canal de communication 12. La première entité électronique 1 reçoit ainsi la seconde clé publique PK T (via l’interface de communication 8) à l’étape E48. La première entité électronique 1 peut alors déterminer à l’étape E50 le secret partagé K en effectuant le produit de la seconde clé publique PK T par la clé privée k C (mémorisée dans la première entité électronique 1). On a en effet : K = [k C ] PK T = [k C .k T ] Γ = [k T ] PK C . On remarque que l’exemple qui vient d’être décrit présente un ordre particulier de mise en œuvre des différentes étapes, mais que d’autres modes de réalisation sont possibles en variante. Par exemple, les étapes E12 à E18 peuvent être effectuées après ou concomitamment aux étapes E20 à E26. De même, les étapes E40 à E44 peuvent en variante être exécutées après ou concomitamment aux étapes E46 à E50. Selon d’autres variantes encore, les étapes E2 et E4 à E10 peuvent être respectivement exécutées à d’autres moments dans le logigramme avant les étapes E28 et E34. La figure 3 est un logigramme illustrant un second exemple de procédé de génération d’une clé publique PK C et de construction d’un secret partagé K conforme à l’invention. Comme cela ressortira de l’explication qui suit, ce procédé permet de produire le secret partagé K en conformité avec le protocole PACE dans le cas de l’utilisation du processus dénommé " Integrated Mapping ". Le procédé débute par une étape E60 de génération par tirage aléatoire d’un premier nombre aléatoire s au sein de la première entité électronique 1 (cette étape étant donc ici mise en œuvre par le processeur 2). La première entité électronique 1 (en pratique le processeur 2) applique alors au premier nombre aléatoire s un algorithme cryptographique de chiffrement E π (étape E62) de manière à obtenir une version chiffrée z du première nombre aléatoire s : z = E π (s). L’algorithme de chiffrement E π utilisé par la première entité électronique 1 peut être lié en pratique à un mot de passe π, qui correspond par exemple à des caractères imprimés sur la première entité électronique 1 (lorsque cette première entité électronique 1 est un document électronique d’identité) ou sur un document électronique d’identité équipé de la première entité électronique 1. La première entité électronique 1 émet la version chiffrée z sur le canal de communication 12 (c’est-à-dire via l’interface de communication 8) à destination de la seconde entité électronique 10 (étape E64). La version chiffrée z est reçue par la seconde entité électronique 10 à l’étape E66. La seconde entité électronique 10 applique alors un algorithme cryptographique de déchiffrement E π -1 à la version chiffrée z (étape E68) afin d’obtenir le premier nombre aléatoire s. L’algorithme cryptographique de déchiffrement E π -1 est donc l’algorithme inverse de l’algorithme de chiffrement E π . Dans l’exemple décrit ici, la seconde entité électronique 10 reçoit le mot de passe π (par exemple par saisie sur une interface utilisateur de la seconde entité électronique 10, ici un terminal T comme déjà indiqué, ou par lecture du mot de passe π sur la première entité électronique 1 au moyen d’un dispositif de lecture optique, en particulier lorsque le mot de passe π correspond par exemple à des caractères imprimés sur la première entité électronique 1 comme indiqué plus haut). La seconde entité électronique 10 peut ainsi déterminer l’algorithme cryptographique de déchiffrement E π -1 en fonction du mot de passe π reçu. (En pratique, le mot de passe π est appliqué, en sus de la version chiffrée z, comme paramètre d’une fonction cryptographique prédéfinie.) La seconde entité électronique 10 génère à l’étape E70 un second nombre aléatoire t par tirage aléatoire. La seconde entité électronique 10 émet le second nombre aléatoire t à destination de la première entité électronique 1 via le canal de communication 12 (étape E72). La première entité électronique 1 reçoit ainsi le second nombre aléatoire t (via l’interface de communication 8) à l’étape E74. La première entité électronique 1 (en pratique le processeur 2) détermine à l’étape E76 un premier nombre intermédiaire a en multipliant une clé privée k C par le cofacteur h : a = k C .h . Cette multiplication s’entend dans le corps fini F. La clé privée k C est par exemple une clé privée éphémère obtenue par tirage aléatoire au sein de la première entité électronique 1 (ici par le processeur 2). De son côté, la seconde entité électronique 10 détermine à l’étape E78 un second nombre intermédiaire a’ en multipliant une clé privée k T par le cofacteur h : a’ = k T .h . Cette multiplication s’entend dans le corps fini F. La clé privée k T est par exemple une clé privée éphémère obtenue par tirage aléatoire au sein de la seconde entité électronique 10. La première entité électronique 1 (en pratique le processeur 2) détermine à l’étape E80 la (première) clé publique PK C en effectuant une multiplication d’un point ECH(s,t) de la courbe elliptique E par le premier nombre intermédiaire a (obtenu à l’étape E76) : PK C = [a] ECH(s,t). Ce point de la courbe elliptique ECH(s,t) est déterminé en appliquant, au premier nombre aléatoire s et au second nombre aléatoire t, une fonction de hachage ECH à valeurs sur la courbe elliptique E (c’est-à-dire une fonction de hachage ECH dont l’ensemble image est inclus dans la courbe elliptique E). Cette fonction de hachage ECH est par exemple une fonction d’encodage prévue par le protocole PACE. La seconde entité électronique 10 détermine quant à elle à l’étape E82 une seconde clé publique PK T en effectuant une multiplication du point ECH(s,t) par le second nombre intermédiaire a’ : PK T = [a’] ECH(s,t). On remarque que le générateur éphémère γ prévu dans le cadre du processus dénommé " Integrated Mapping " (γ = [h] ECH(s,t)) n’est pas calculé en tant que tel au cours du présent procédé. On évite ainsi la mise en œuvre de multiplications de points de la courbe elliptique par un scalaire à la fois pour déterminer le générateur éphémère γ et ensuite pour déterminer la clé publique à partir du générateur éphémère γ. Pour autant, on obtient une clé publique PK C (pour la première entité électronique 1, ou PK T pour la seconde entité électronique 10) conforme à ce qui est prévu par le protocole PACE dans le cas de l’utilisation du processus dénommé " Integrated Mapping ". Une fois les clés publiques déterminées, les première et seconde entités électroniques 1, 10 peuvent construire un secret partagé K par un algorithme de négociation de clé (en anglais : " key agreement ") de type ECDH (pour " Elliptic Curve Diffie -Hellman ") comme décrit à présent. La première entité électronique 1 émet la première clé publique PK C à destination de la seconde entité électronique 10 via le canal de communication 12 (étape E84). La seconde entité électronique 10 reçoit ainsi la première clé publique PK C à l’étape E86. La seconde entité électronique 10 peut alors déterminer à l’étape E88 le secret partagé K en effectuant le produit de la première clé publique PK C par la clé privée éphémère k T : K = [k T ] PK C . La seconde entité électronique 10 transmet par ailleurs à l’étape E90 la seconde clé publique PK T à destination de la première entité électronique 1 via le canal de communication 12. La première entité électronique 1 reçoit ainsi la seconde clé publique PK T (via l’interface de communication 8) à l’étape E92. La première entité électronique 1 peut alors déterminer à l’étape E94 le secret partagé K en effectuant le produit de la seconde clé publique PK T par la clé privée éphémère k C . On a en effet : K = [k C ] PK T = [k C .k T ] γ = [k T ] PK C . On remarque que l’exemple qui vient d’être décrit présente un ordre particulier de mise en œuvre des différentes étapes, mais que d’autres modes de réalisation sont possibles en variante. Par exemple, les étapes E60 à E68 peuvent être effectuées après ou concomitamment aux étapes E70 à E74. De même, de manière alternative les étapes E84 à E88 peuvent être exécutées après ou concomitamment aux étapes E90 à E94. Selon d’autres variantes, les étapes E60, E62 à E68 et E70 à E74 peuvent être respectivement exécutées à d’autres moments dans le logigramme avant les étapes E80 et E82. Le secret partagé K obtenu par le procédé de la figure 2 ou le procédé de la figure 3 peut être utilisé au sein d’un algorithme cryptographique, par exemple un algorithme cryptographique de chiffrement ou de déchiffrement. En pratique, l’une des deux entités électronique 1, 10 peut par exemple appliquer un algorithme cryptographique de chiffrement utilisant le secret partagé K à des données (dites " données initiales ") et transmettre les données chiffrées à l’autre des deux entités électroniques 1, 10 ; les données chiffrées sont ainsi reçues par l’autre entité électronique et l’autre entité électronique peut alors appliquer un algorithme cryptographique de déchiffrement utilisant le secret partagé aux données (chiffrées) reçues afin de retrouver les données initiales. Selon une autre application envisageable, le secret partagé K obtenu par le procédé de la figure 2 ou le procédé de la figure 3 peut être utilisé au sein d’un algorithme cryptographique de dérivation de clé, par exemple afin de dériver une clé de chiffrement et/ou une clé de calcul d’intégrité. Procédé de génération d’une clé publique (PK C ) égale au produit d’un générateur éphémère par un scalaire formant une clé privée (k C ), le générateur éphémère étant un point d’une courbe elliptique et la clé privée (k C ) étant un élément d’un corps fini, caractérisé en ce qu’il comprend les étapes suivantes : - obtention (E28 ; E30 ; E76) d’un nombre (a ; b) par multiplication, dans le corps fini, de la clé privée (k C ) par un autre élément (h ; s ; c) du corps fini ; - obtention (E32 ; E80) de la clé publique (PK C ) en effectuant un traitement impliquant au moins le produit d’un autre point (ECH(s,t) ; G ; P) de la courbe elliptique par le nombre obtenu (a ; b). Procédé selon la revendication 1, comprenant une étape (E2 ; E12) de détermination de l’autre élément (s ; c) par tirage aléatoire. Procédé selon la revendication 1 ou 2, dans lequel la courbe elliptique est définie par un ensemble de paramètres comprenant un générateur (G) et dans lequel l’autre point de la courbe elliptique est ledit générateur (G). Procédé selon la revendication 1 ou 2, comprenant une étape (E28) d’obtention d’un autre nombre (a) par multiplication, dans le corps fini, de la clé privée (k C ) par un élément supplémentaire (s) du corps fini. Procédé selon la revendication 4, dans lequel la courbe elliptique est définie par un ensemble de paramètres comprenant un générateur (G) et dans lequel ledit traitement est conçu pour déterminer la somme, sur la courbe elliptique, du produit du générateur (G) par l’autre nombre (a), et du produit de l’autre point (P) par ledit nombre obtenu (b). Procédé selon l’une des revendications 1, 2, 4 et 5, comprenant une étape (E26) de réception de données représentant l’autre point (P) en provenance d’un partenaire de communication (10). Procédé selon la revendication 1, dans lequel la courbe elliptique est définie par un ensemble de paramètres comprenant un cofacteur (h) et dans lequel l’autre élément est ledit cofacteur (h). Procédé selon la revendication 1 ou 7, comprenant une étape d’obtention de l’autre point (ECH(s,t)) par application d’une fonction de hachage (ECH) ayant un ensemble image inclus dans la courbe elliptique. Procédé de construction d’un secret partagé (K) entre un premier partenaire de communication (1) et un second partenaire de communication (10), comprenant les étapes suivantes : - génération, par le premier partenaire de communication (1), d’une première clé publique (PK C ) au moyen d’un procédé conforme à l’une des revendications 1 à 8 ; - émission (E40 ; E84), par le premier partenaire de communication (1), de la première clé publique (PK C ) à destination du second partenaire de communication (10) ; - réception (E48 ; E92), par le premier partenaire de communication (1), d’une seconde clé publique (PK T ) en provenance du second partenaire de communication (10) ; - construction du secret partagé (K) en effectuant le produit de la seconde clé publique (PK T ) par ladite clé privée (k C ). Entité électronique (1) apte à générer une clé publique (PK C ) égale au produit d’un générateur éphémère par un scalaire formant une clé privée (k C ), le générateur éphémère étant un point d’une courbe elliptique et la clé privée (k C ) étant un élément d’un corps fini, caractérisée en ce qu’elle comprend un processeur (2) programmé pour : - obtenir un nombre (a ; b) par multiplication, dans le corps fini, de la clé privée (k C ) par un autre élément (h ; s ; c) du corps fini ; et pour - obtenir la clé publique (PK C ) en effectuant un traitement impliquant au moins le produit d’un autre point (ECH(s,t) ; G ; P) de la courbe elliptique par le nombre obtenu (a ; b).