FR3000333A1 - Procede de generation d'une cle de session a partir d'une cle secrete - Google Patents

Procede de generation d'une cle de session a partir d'une cle secrete Download PDF

Info

Publication number
FR3000333A1
FR3000333A1 FR1203595A FR1203595A FR3000333A1 FR 3000333 A1 FR3000333 A1 FR 3000333A1 FR 1203595 A FR1203595 A FR 1203595A FR 1203595 A FR1203595 A FR 1203595A FR 3000333 A1 FR3000333 A1 FR 3000333A1
Authority
FR
France
Prior art keywords
value
tokens
unit
session key
data
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
FR1203595A
Other languages
English (en)
Other versions
FR3000333B1 (fr
Inventor
Aurore Guillevic
Renaud Dubois
Damien Vergnaud
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.)
Thales SA
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Thales SA
Institut National de Recherche en Informatique et en Automatique INRIA
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 Thales SA, Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Thales SA
Priority to FR1203595A priority Critical patent/FR3000333B1/fr
Publication of FR3000333A1 publication Critical patent/FR3000333A1/fr
Application granted granted Critical
Publication of FR3000333B1 publication Critical patent/FR3000333B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention se rapporte à un procédé de génération d'une clé de session à partir d'une clé secrète et d'un paramètre public par une unité de cryptographie (12) propre à déléguer des calculs à une unité de calcul (14), le procédé étant caractérisé en ce que le procédé comporte les étapes de: - génération de jetons par l'unité de cryptographie (12), - envoi de données issues des jetons vers l'unité de calcul (14), - réception d'au moins une valeur de l'unité de calcul (14), chaque valeur reçue étant la valeur d'une fonction bilinéaire appliquée à une première donnée issue des jetons et à l'un parmi une deuxième donnée issue des jetons et le paramètre public, et - déduction de la clé de session à partir de la ou des valeurs reçues.

Description

PROCEDE DE GENERATION D'UNE CLE DE SESSION A PARTIR D'UNE CLE SECRETE La présente invention concerne un procédé de génération d'une clé de session à partir d'une clé secrète. L'invention concerne également une unité de cryptographie et un système cryptographique adaptés pour la mise en oeuvre du procédé. La présente invention s'inscrit dans le domaine de la cryptographie. La cryptographie permet de générer une clé de session à partir d'une clé secrète et d'information publique. La génération de la clé de session implique des calculs dont l'observation permet de déduire la clé secrète et des calculs ne le permettant pas. Les calculs permettant de déduire la clé secrète sont des calculs critiques en terme de sécurité tandis que les autres calculs sont susceptibles d'être délégués à une unité non sécurisée.
Ainsi, pour un équipement de cryptographie comprenant une unité sécurisée et une unité non sécurisée, il est souhaitable de réduire au maximum les calculs de l'unité sécurisée tout en garantissant que l'interception des communications entre l'unité sécurisée et l'unité non sécurisée ne permette pas de déduire la clé secrète. Il est connu du document FR-A-2 877 453 un procédé de délégation sécurisée du calcul d'une application bilinéaire à un serveur de calcul. Mais, le procédé décrit dans ce document implique que l'unité sécurisée effectue des opérations d'inversion et d'exponentiation modulaire. Ces opérations sont coûteuses en temps de calcul. Le procédé n'est pas applicable au cas où l'unité sécurisée a une capacité de calcul ne permettant pas d'effectuer les opérations d'inversion et d'exponentiation. Il existe donc un besoin pour un procédé de génération d'une clé de session à partir d'une clé secrète qui soit applicable même pour des unités sécurisées ayant une faible capacité de calcul. A cet effet, il est proposé un procédé de génération d'une clé de session à partir d'une clé secrète et d'un paramètre public par une unité de cryptographie propre à déléguer des calculs à une unité de calcul. Le procédé comporte les étapes de génération de jetons par l'unité de cryptographie et d'envoi de données issues des jetons vers l'unité de calcul. Le procédé comporte également les étapes de réception d'au moins une valeur de l'unité de calcul, chaque valeur reçue étant la valeur d'une fonction bilinéaire appliquée à une première donnée issue des jetons et à l'un parmi une deuxième donnée issue des jetons et le paramètre public, et de déduction de la clé de session à partir de la ou des valeurs reçues. Suivant des modes de réalisation particuliers, le procédé comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - chaque jeton a une valeur - les données issues des jetons sont l'ensemble des jetons générés - les données issues des jetons sont l'ensemble des jetons générés et d'au moins un jeton égal à une somme, pour chaque jeton, du produit d'une puissance du nombre 2 avec la valeur d'un endomorphisme appliqué au jeton, c'est-à-dire : PL+1 = a1*(p1 (P1) + a2*p2(P2) +...+ aL* (pL(PL) où: - ai est une puissance du nombre 2; - Pi est la valeur du jeton, et - (pi est un endomorphisme. - les données issues des jetons sont l'ensemble des jetons générés et d'au moins un jeton égal à une somme, pour chaque jeton, du produit d'une puissance du nombre 2 avec la valeur d'un endomorphisme appliqué au jeton, c'est-à-dire : PL+1 = a1*(p1 (P1) + a2*(p2(P2) +...+ aL* pL(PL) où: - ai est un nombre entier inférieur à 10; - Pi est la valeur du jeton, et - (pi est un endomorphisme. - le procédé comporte également une étape de sélection de jetons parmi l'ensemble des jetons générés de sorte que la somme de la valeur des jetons sélectionnés soit égale à la clé secrète, le nombre de jetons sélectionnés étant inférieur au nombre de jetons générés. - à l'étape de déduction, la clé de session est obtenue par pour les jetons sélectionnés. - les jetons générés sont les valeurs de points d'une courbe elliptique. - les jetons générés sont deux nombres inverses l'un de l'autre. - les données issues des jetons sont le produit d'un des deux jetons avec la clé secrète et le produit de l'autre des deux jetons avec le paramètre public. A cet effet, il est proposé un procédé de génération d'une clé de session à partir d'une clé secrète et d'un paramètre public par un système cryptographique, le système cryptographique comportant une unité de calcul, et une unité de cryptographie propre à déléguer des calculs à l'unité de calcul. Le procédé comporte les étapes de génération de jetons par l'unité de cryptographie et de transmission de données issues des jetons depuis l'unité de cryptographie vers l'unité de calcul. Le procédé comprend aussi les étapes de calcul par l'unité de calcul d'au moins une valeur d'une fonction bilinéaire appliquée à une première donnée issue des jetons et à l'un parmi une deuxième donnée issue des jetons et le paramètre public, de transmission de la ou des valeurs calculées depuis l'unité de calcul à l'unité de cryptographie, et de déduction de la clé de session à partir de la ou des valeurs calculées. Il est également proposé une unité de cryptographie adaptée pour la mise en oeuvre d'un procédé tel que décrit précédemment. Il est également proposé un système comportant une unité de calcul, et une unité de cryptographie propre à déléguer des calculs à l'unité de calcul. Le système cryptographique est adapté à mettre en oeuvre le procédé tel que décrit précédemment. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes de réalisation de l'invention, donnés à titre d'exemple uniquement et en référence aux dessins qui sont : figure 1, un schéma de l'architecture d'un système cryptographique ; figure 2, un ordinogramme d'un exemple de mise en oeuvre d'un procédé selon un premier mode de réalisation de l'invention, et figure 3, un ordinogramme d'un exemple de mise en oeuvre d'un procédé selon un deuxième mode de réalisation de l'invention. Le système cryptographique 10 représenté à la figure 1 comprend une unité de cryptographie 12, une unité de calcul 14, un bus 16 de communication et une unité externe 20 de mémorisation.
L'unité de cryptographie 12 comporte une unité interne 22 de mémorisation et une unité de traitement 24. L'unité de traitement 24 est propre à effectuer des opérations sur une clé secrète. La clé secrète est notée Sk dans toute la suite de la description. L'unité de traitement 24 est donc propre à effectuer des opérations sur des données critiques en terme de sécurité. L'unité de traitement 24 présente une bonne capacité de résistance à la rétroingéniérie. La rétroingéniérie (traduction littérale de l'anglais « reverse engineering ») est également appelée ingénierie inversée ou ingénierie inverse. La rétroingéniérie est une activité permettant d'étudier un objet pour en déterminer le fonctionnement et les données internes.
L'unité de traitement 24 est propre à mémoriser des données sur l'unité interne 22 de mémorisation et l'unité externe 20 de mémorisation. L'unité interne 22 de mémorisation est protégée des attaques extérieures. De préférence, l'unité interne 22 de mémorisation est seulement utilisée pour mémoriser des données sensibles. L'unité externe 20 de mémorisation n'est pas protégée des attaques extérieures. L'unité externe 20 de mémorisation est propre à mémoriser uniquement des données non sensibles. Selon l'exemple de la figure 1, l'unité de cryptographie 12 est une carte à puce.
En variante, l'unité de cryptographie 12 est une carte SD, un mobile ou un processeur de sécurité. L'unité de calcul 14 est propre à effectuer des opérations sur des éléments non sensibles. L'unité de calcul 14 a une capacité de calcul disponible supérieure à la capacité de calcul de l'unité de cryptographie 12. L'unité de calcul 14 présente un niveau de sécurité inférieure à l'unité de cryptographie 12. Notamment, l'unité de calcul 14 présente une faible capacité de résistance à la rétroingéniérie.
L'unité de calcul 14 est un processeur de smartphone. En variante, l'unité de calcul 14 est un serveur ou un processeur générique. Le bus de communication 16 est propre à permettre des échanges de données entre l'unité de calcul 14 et l'unité de cryptographie 12. Le bus de communication 16 n'est pas sécurisé.
Selon une variante, les échanges de données entre l'unité de calcul 14 et l'unité de cryptographie 12 sont chiffrés, ce qui impose leur déchiffrement pour le cas où une personne intercepte les données échangées. Le fonctionnement du système cryptographique 10 est maintenant décrit en référence à un premier mode de réalisation d'un procédé de génération d'une clé de session à partir de la clé secrète Sk et d'un paramètre public X, le procédé de génération étant illustré par l'ordinogramme de la figure 2. Le procédé de génération comporte une étape 100 de génération de jetons. L'étape 100 de génération de jetons est mise en oeuvre par l'unité de cryptographie 12. L'étape 100 de génération de jetons comprend une étape 102 de génération de L points sur une courbe elliptique C. L est un nombre entier non nul.
Une courbe elliptique C est définie sur un corps K et est une courbe algébrique non singulière de degré 3 comprenant le point à l'infini et l'ensemble des couples (X,Y) appartenant à K2 qui satisfont l'équation de Weierstrass : r + aiXY + a3Y = X3+ a2X2 + a4X + as Où al, ..., as appartiennent à K. Les points sont notés P1, ..., PL. L'étape 100 de génération de jetons comprend également une étape 104 de mémorisation des L points générés par l'unité interne 22 de mémorisation. Le procédé comporte, en outre, une étape 104 de sélection de points parmi les L points P1, ... PL générés à l'étape 102 de génération. A l'étape 104 de sélection de points, l'unité de cryptographie 12 choisit aléatoirement i points, i étant un nombre entier. En supposant, à titre d'exemple que les points choisis sont les i premiers points, Un i+1 ième point Pi+1 est calculé de la façon suivante : Pi+1 = Sk - (P1 + + Pi) Ainsi, ceci s'écrit : Sk = P1+ + Pi + Pi+1 Le i+1 ième point Pi+1 est ajouté à la liste des points sélectionnés parmi les L points P1, ... PL.
Le nombre i de points choisis est strictement inférieur au nombre L de points générés. Les nombres i de points choisi et L de points générés sont choisis en fonction du niveau de sécurité désiré. Le procédé comporte également une étape 106 de calcul de la clé de session.
L'étape 106 de calcul de la clé de session comprend une étape 108 d'envoi vers l'unité de calcul 14 des valeurs des L points générés P1, ..., PL à l'étape 102 de génération de L points. L'étape 108 d'envoi est mise en oeuvre par l'unité de cryptographie 12 via le bus 16.
L'étape 106 de calcul de la clé de session comprend alors une étape 110 de réception par l'unité de calcul 14 des valeurs des L points générés P1, ..., PL. L'étape 106 de calcul de la clé de session comprend également une étape 112 de calcul de la valeur E(Pj,X) d'une application bilinéaire E sur courbe elliptique appliquée aux valeurs des points Pj et X pour chacun des L points générés P1, ..., PL. Le nombre j est un entier naturel compris entre 1 et L.
L'étape 106 de calcul de la clé de session comporte aussi une étape 114 d'envoi à l'unité de cryptographie 12 de la valeur E(Pj,X) de l'application bilinéaire E sur courbe elliptique appliquée aux valeurs des points Pj et X pour chacun des L points générés P1, ..., PL. L'étape 114 d'envoi des valeurs E(Pj,X) est mise en oeuvre par l'unité de calcul 14 via le bus 16. L'étape 106 de calcul de la clé de session comporte également une étape 116 de réception par l'unité de cryptographie 12 des valeurs E(Pj,X) de l'application bilinéaire sur courbe elliptique appliquée aux valeurs des points Pj et X calculées pour chacun des L points générés P1, ..., PL.
L'étape 106 de calcul de la clé de session comporte également une étape 118 de calcul de la valeur du produit des valeurs E(Pj,X) de I 'application bilinéaire sur courbe elliptique appliquée aux valeurs des points Pj et X pour les valeurs de j variant entre 1 et le nombre i+1. De part les propriétés de l'application E, E(Pj,X) =r1E(Pj,X), le produit calculé à l'étape 116 de calcul est égal à E(Sk,X). E(Sk,X) est la clé de session. Le procédé de génération permet de réduire la complexité des calculs à effectuer par l'unité de cryptographie 12. En effet, le procédé de génération permet que le calcul de l'application E sur courbes elliptiques soit effectué par l'unité de calcul 14.
Ainsi, le procédé de génération proposé n'implique pas le calcul d'une exponentiation modulaire. Seules des multiplications dans le corps K sont utilisés. Le procédé de génération est donc applicable même si l'unité de cryptographie 12 a une faible capacité de calcul. En outre, la mise en oeuvre du procédé de génération est plus rapide que dans l'état de la technique puisque les calculs effectués par l'unité de cryptographie 12 sont plus simples. La sécurité de la clé secrète est garantie du fait de la difficulté du problème du sac à dos (aussi désigné sous le terme anglais de « Knapsack »). La clé secrète Sk est cachée par tous les Pi qui sont pris en nombre suffisant pour assurer un bon niveau de sécurité. Un attaquant qui arrive à apprendre la valeur des L points P1, ..., PL doit essayer toutes les combinaisons possibles de points jusqu'à trouver la clé secrète Sk. Les combinaisons possibles sont en si grand nombre que l'attaquant ne peut pas retrouver la clé secrète Sk. Selon une variante, au lieu d'utiliser comme jetons les valeurs des points P1, ..., PL générés, le choix possible est augmenté en prenant également des jetons qui sont des multiples des valeurs des points P1, ..., PL générés ou les valeurs d'un endomorphisme appliqué aux valeurs des points P1, ..., PL générés. En choisissant de petits multiples (par exemple 2*Pi, 4*Pi, 8*Pi... pour un point Pi) le calcul de ces multiples est très peu coûteux et peut s'effectuer rapidement sur l'unité de cryptographie 12. En choisissant un endomorphisme approprié, calculer les valeurs de l'endomorphisme appliqué aux valeurs des points P1, ..., PL générés s'avère peu coûteux en temps de calcul Cela permet d'augmenter le nombre de jetons possibles sans avoir à choisir de points supplémentaires sur la courbe elliptique. Il en résulte que la difficulté de la résolution du problème du sac à dos est plus grande, ce qui augmente encore la sécurité du procédé de génération. Le fonctionnement du système cryptographique 10 est maintenant décrit en référence à un deuxième mode de réalisation du procédé de génération de la clé de session à partir de la clé secrète Sk et du paramètre public X, le procédé de génération étant illustré par l'ordinogramme de la figure 3. Le procédé de génération comporte une étape 200 de génération de jetons. L'étape 200 de génération de jetons est mise en oeuvre par l'unité de cryptographie 12. L'étape 200 de génération de jetons comprend une étape 202 de génération d'un couple de nombres a et b, les nombres a et b étant l'inverse l'un de l'autre pour une loi « * » qui est appelée produit. Ceci signifie que le produit des nombres a et b est égal au neutre du corps K considéré. Cela s'écrit mathématiquement ainsi : a*b = 1 où 1 est le neutre du corps K considéré pour la loi « * ».
L'étape 200 de génération de jetons comprend également une étape 204 de mémorisation du couple de nombres a et b par l'unité interne 22 de mémorisation. En variante, l'unité de cryptographie 12 code le couple d'entiers a et b et les mémorise dans l'unité externe 20 de mémorisation. Le procédé comporte également une étape 206 de calcul de la clé de session.
L'étape 206 de calcul de la clé de session comporte une étape 208 de lecture de la valeur du couple de nombres a et b dans l'unité interne 22 de mémorisation. L'étape 206 de calcul de la clé de session comprend également une étape 210 de calcul des valeurs de nombres H et D. H est défini comme la valeur du produit du nombre a avec la clé secrète Sk. Ceci s'écrit mathématiquement : H = a*Sk.
D est défini comme la valeur du produit du nombre b avec le paramètre public X. Ceci s'écrit mathématiquement : D = b*X. L'étape 206 de calcul de la clé de session comprend également une étape 212 d'envoi à l'unité de calcul 14 des valeurs des nombres H et D.
L'étape 212 est mise en oeuvre par l'unité de cryptographie 12 via le bus 16. L'étape 206 de calcul de la clé de session comprend, en outre, une étape 214 de réception des valeurs des nombres H et D par l'unité de calcul 14. L'étape 206 de calcul de la clé de session comprend, en outre, une étape 216 de calcul de la valeur E(H,D) de l'application bilinéaire E sur courbe elliptique appliquée aux valeurs H et D. De part les propriétés de bilinéarité de l'application E, la valeur E(H,D) est égale à la valeur de l'application bilinéaire E sur courbe elliptique appliquée aux valeurs de la clé secrète Sk et du paramètre public X. En effet : E(H,D) = E(a*Sk,b*X) = E(Sk,X)"(a*b) = E(Sk,X)^(1) = E(Sk,X) L'étape 206 de calcul de la clé de session comporte également une étape 218 d'envoi à l'unité de cryptographie 12 de la valeur E(H,D) de l'application bilinéaire E sur courbe elliptique appliquée aux valeurs H et D. L'étape 218 d'envoi est mise en oeuvre par l'unité de calcul 14 via le bus 16. L'étape 206 de calcul de la clé de session comporte également une étape 220 de réception de la valeur E(H,D) de l'application bilinéaire sur courbe elliptique appliquée aux valeurs H et D. E(H,D) = E(Sk,X) est la clé de session. Le procédé de génération permet de réduire la complexité des calculs à effectuer par l'unité de cryptographie 12.
En effet, le procédé de génération permet que le calcul de l'application bilinéaire E sur courbes elliptiques soit effectué par l'unité de calcul 14. Ainsi, le procédé de génération proposé n'implique pas le calcul d'une exponentiation modulaire. Seules deux multiplications de points et une inversion modulaire dans l'anneau des résidus modulo l'ordre du sous-groupe considéré de la courbe elliptique sont utilisées. Le procédé de génération est donc applicable même si l'unité de cryptographie 12 a une faible capacité de calcul. En outre, la mise en oeuvre du procédé de génération est plus rapide que dans l'état de la technique puisque les calculs effectués par l'unité de cryptographie 12 sont plus simples.

Claims (10)

  1. REVENDICATIONS1.- Procédé de génération d'une clé de session à partir d'une clé secrète (Sk) et d'un paramètre public (X) par une unité de cryptographie (12) propre à déléguer des calculs à une unité de calcul (14), le procédé étant caractérisé en ce que le procédé comporte les étapes de: - génération de jetons (P1, ..., PL; a, b) par l'unité de cryptographie (12), - envoi de données (P1, ..., PL; H, D) issues des jetons (P1, ..., PL; a, b) vers l'unité de calcul (14), - réception d'au moins une valeur de l'unité de calcul (14), chaque valeur reçue étant la valeur d'une fonction bilinéaire (E) appliquée à une première donnée issue des jetons (P1, ..., PL; H) et à l'un parmi une deuxième donnée issue des jetons (P1, ..., PL ; D) et le paramètre public (X), et - déduction de la clé de session à partir de la ou des valeurs reçues.
  2. 2.- Procédé selon la revendication 1, dans lequel chaque jeton a une valeur et dans lequel les données issues des jetons (P1, ...PL ; a, b) sont l'ensemble des jetons (P1, ..., PL; a, b) générés ou l'ensemble des jetons (P1, ..., PL; a, b) générés et d'au moins un jeton (PL+1) égal à une somme, pour chaque jeton, du produit d'une puissance du nombre 2 avec la valeur d'un endomorphisme appliqué à la valeur du jeton, c'est-à- dire : PL+1 = a1*(p1(P1) + a2*cp2(P2) ..+ aL* pL(PL) où: - ai est une puissance du nombre 2 ou un nombre entier inférieur à 10; - Pi est la valeur du jeton, et - (pi est un endomorphisme.
  3. 3.- Procédé selon la revendication 1 ou 2, dans lequel chaque jeton (P1, ..., PL) a une valeur et dans lequel, le procédé comporte également une étape de : - sélection de jetons (P1,..., Pi+1) parmi l'ensemble des jetons générés (P1, ..., PL) de sorte que la somme de la valeur des jetons sélectionnés (P1, Pi+1) soit égale à la clé secrète (Sk), le nombre de jetons sélectionnés (i+1) étant inférieur au nombre de jetons générés (L).
  4. 4.- Procédé selon la revendication 3, dans lequel à l'étape de déduction, la clé de session est obtenue par pour les jetons sélectionnés (P1,..., Pi).
  5. 5.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel les jetons générés (P1, ..., PL) sont les valeurs de points d'une courbe elliptique.
  6. 6.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel les jetons générés sont deux nombres (a, b) inverses l'un de l'autre.
  7. 7.- Procédé selon la revendication 6, dans lequel les données (H, D) issues des jetons sont le produit d'un des deux jetons (a, b) avec la clé secrète (Sk) et le produit de l'autre des deux jetons (a, b) avec le paramètre public (X).
  8. 8.- Procédé de génération d'une clé de session à partir d'une clé secrète (Sk) et d'un paramètre public (X) par un système cryptographique (10), le système cryptographique (10) comportant : - une unité de calcul (14), et - une unité de cryptographie (12) propre à déléguer des calculs à l'unité de calcul (14), le procédé étant caractérisé en ce que le procédé comporte les étapes de : - génération de jetons par l'unité de cryptographie (12), - transmission de données (P1, ..., PL; H, D) issues des jetons (P1, ..., PL; a, b) depuis l'unité de cryptographie (12) vers l'unité de calcul (14), - calcul par l'unité de calcul (14) d'au moins une valeur d'une fonction bilinéaire (E) appliquée à une première donnée issue des jetons (P1, ..., PL ; H) et à l'un parmi une deuxième donnée issue des jetons (P1, ..., PL; D) et le paramètre public (X), - transmission de la ou des valeurs calculées depuis l'unité de calcul (14) à l'unité de cryptographie (12), et - déduction de la clé de session à partir de la ou des valeurs calculées.
  9. 9.- Unité de cryptographie (12) adaptée pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 7.
  10. 10.- Système cryptographique (10) comportant : - une unité de calcul (14), et - une unité de cryptographie (12) propre à déléguer des calculs à l'unité de calcul (14), le système cryptographique (10) étant adapté à mettre en oeuvre le procédé selon la revendication 8.30
FR1203595A 2012-12-26 2012-12-26 Procede de generation d'une cle de session a partir d'une cle secrete Active FR3000333B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1203595A FR3000333B1 (fr) 2012-12-26 2012-12-26 Procede de generation d'une cle de session a partir d'une cle secrete

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1203595A FR3000333B1 (fr) 2012-12-26 2012-12-26 Procede de generation d'une cle de session a partir d'une cle secrete
FR1203595 2012-12-26

Publications (2)

Publication Number Publication Date
FR3000333A1 true FR3000333A1 (fr) 2014-06-27
FR3000333B1 FR3000333B1 (fr) 2018-08-17

Family

ID=48607314

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1203595A Active FR3000333B1 (fr) 2012-12-26 2012-12-26 Procede de generation d'une cle de session a partir d'une cle secrete

Country Status (1)

Country Link
FR (1) FR3000333B1 (fr)

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BENOÃ Â TM T CHEVALLIER-MAMES ET AL: "Secure Delegation of Elliptic-Curve Pairing", 14 April 2010, SMART CARD RESEARCH AND ADVANCED APPLICATION, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 24 - 35, ISBN: 978-3-642-12509-6, XP019140042 *
LIQUN CHEN ET AL: "Identity Based Authenticated Key Agreement Protocols from Pairings", INTERNATIONAL ASSOCIATION FOR CRYPTOLOGIC RESEARCH,, vol. 20040527:132248, 27 May 2004 (2004-05-27), pages 1 - 21, XP061000425 *
PATRICK P TSANG ET AL: "Batch Pairing Delegation", 29 October 2007, ADVANCES IN INFORMATION AND COMPUTER SECURITY; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 74 - 90, ISBN: 978-3-540-75650-7, XP019073173 *
SHIM KYUNGAH: "Efficient ID-based authenticated key agreement protocol based on Weil pairing", ELECTRONICS LETTERS, IEE STEVENAGE, GB, vol. 39, no. 8, 17 April 2003 (2003-04-17), pages 653 - 654, XP006020178, ISSN: 0013-5194, DOI: 10.1049/EL:20030448 *

Also Published As

Publication number Publication date
FR3000333B1 (fr) 2018-08-17

Similar Documents

Publication Publication Date Title
EP3091689B1 (fr) Procédé de génération d'une signature de message à partir d'un jeton de signature chiffré à l'aide d'une fonction de chiffrement homomorphique
Segar et al. Pell's RSA key generation and its security analysis
EP2893431B1 (fr) Protection contre canaux auxiliaires
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
FR3001315A1 (fr) Procede de cryptographie comprenant une operation de multiplication par un scalaire ou une exponentiation
EP2296086B1 (fr) Protection d'une génération de nombres premiers contre des attaques par canaux cachés
EP2638660B1 (fr) Protection contre les ecoutes passives
EP2256987A1 (fr) Protection d'une génération de nombres premiers pour algorithme RSA
EP1419610B1 (fr) Procede de realisation d'une unite cryptographique pour un systeme de cryptographie asymetrique utilisant une fonction logarithme discret
EP2983083A1 (fr) Procede de cryptographie sur courbe elliptique comprenant une detection d'erreur
EP2738974B1 (fr) Procédé de dérivation de clés cryptographiques multiples à partir d'une clé maitresse dans un microprocesseur de sécurité
EP2225847B1 (fr) Procédé de partage d'un secret fort entre deux parties dont tune dispose de peu de puissance de traitement
FR3000333A1 (fr) Procede de generation d'une cle de session a partir d'une cle secrete
EP3100403B1 (fr) Échelle de montgomery déséquilibrée résistante aux attaques par canaux auxiliaires
FR2976101A1 (fr) Procede de traitement cryptographique de donnees
EP2274869B1 (fr) Protection en boîte-blanche d'algorithmes cryptographiques comprenant le calcul d'une forme quadratique
FR2899750A1 (fr) Procede et terminal pour securiser la generation d'une cle de chiffrement
WO2006010692A2 (fr) Procede de protection d’un algorithme a cle publique dans un composant electronique
FR2867289A1 (fr) Procede et dispositif pour accomplir une operation cryptographique
FR3004042A1 (fr) Procedes de generation et d'utilisation de cles cryptographiques privees pour le rsa-crt ou les variantes du rsa-crt
EP4270855A1 (fr) Protection contre les attaques par canal auxiliaire a l aide d'un masquage carre
EP3716044A1 (fr) Protection d'un calcul itératif
FR3000334A1 (fr) Procede de generation d'une cle de session a partir d'une cle secrete
FR3027752A1 (fr) Protection de signatures numeriques basees sur le probleme du logarithme discret
FR3010562A1 (fr) Procede de traitement de donnees et dispositif associe

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

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

PLFP Fee payment

Year of fee payment: 12