FR2901940A1 - Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message - Google Patents

Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message Download PDF

Info

Publication number
FR2901940A1
FR2901940A1 FR0651990A FR0651990A FR2901940A1 FR 2901940 A1 FR2901940 A1 FR 2901940A1 FR 0651990 A FR0651990 A FR 0651990A FR 0651990 A FR0651990 A FR 0651990A FR 2901940 A1 FR2901940 A1 FR 2901940A1
Authority
FR
France
Prior art keywords
message
private key
encrypted message
function
public parameter
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
FR0651990A
Other languages
English (en)
Other versions
FR2901940B1 (fr
Inventor
Jean Sebastien Coron
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Idemia France SAS
Original Assignee
Oberthur Card Systems SA France
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oberthur Card Systems SA France filed Critical Oberthur Card Systems SA France
Priority to FR0651990A priority Critical patent/FR2901940B1/fr
Priority to PCT/FR2007/000881 priority patent/WO2007138182A1/fr
Publication of FR2901940A1 publication Critical patent/FR2901940A1/fr
Application granted granted Critical
Publication of FR2901940B1 publication Critical patent/FR2901940B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Landscapes

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

Abstract

Un procédé de génération d'une clé privée au sein d'une entité électronique, à partir d'une clef-maître et de données représentant une identité, comprend les étapes suivantes :- génération d'un nombre au sein de l'entité électronique ;- détermination d'un premier élément de la clé privée égal au résultat de l'application d'une fonction à sens unique impliquant la clef-maître à la combinaison dudit nombre et du résultat de l'application d'une première fonction de hachage aux données ;- utilisation dudit nombre comme second élément de la clé privée.Des procédés de chiffrement et de déchiffrement associés sont également proposés.

Description

L'invention concerne un procédé de génération d'une clé privée, ainsi que
des procédés de chiffrement et de déchiffrement d'un message. Elle propose en particulier un système de chiffrement basé sur l'identité à niveau de sécurité amélioré, utilisant par exemple une opération de couplage de point sur courbe elliptique. Suivant le principe du chiffrement basé sur l'identité, un utilisateur peut envoyer un message (représenté sous forme électronique) chiffré à un destinataire en utilisant l'identité dudit destinataire (également représentée sous forme électronique) comme clef publique de chiffrement, la clef privée dudit destinataire lui étant fournie par un serveur de clef centralisé. Suivant ce principe, si un utilisateur nommé Alice désire envoyer un message chiffré à un utilisateur nommé Bob, l'utilisateur Alice utilise le procédé suivant en trois étapes : - Alice chiffre son message en utilisant l'adresse de messagerie 15 électronique de Bob comme clef publique de chiffrement, par exemple "bob@b.com" ; - Bob s'authentifie auprès du serveur de clef centralisé et reçoit la clef privée correspondant à son adresse de messagerie électronique ; - Bob utilise sa clef privée pour déchiffrer le message. 20 Il peut ensuite déchiffrer n'importe quel message envoyé par Alice ou par tout autre utilisateur en utilisant cette clef privée (tout au moins durant sa durée de validité). Un avantage du principe du chiffrement basé sur l'identité par rapport aux procédés de chiffrement à clef publique conventionnels est qu'il ne 25 nécessite pas l'utilisation de certificats. Un autre avantage est qu'un utilisateur peut envoyer un message chiffré à un autre utilisateur même si ce dernier ne s'est pas encore enregistré dans le système. Le premier procédé efficace de chiffrement basé sur l'identité a été proposé par Boneh et Franklin dans l'article "Identity-based encryption from the 30 Weil pairing", publié à l'occasion de la conférence Crypto 2001. Ce procédé est également décrit dans la demande de brevet WO 031017559. Ce dernier procédé est basé sur l'utilisation d'une opération dite de couplage de point réalisée sur une courbe elliptique particulière, ladite courbe elliptique étant un ensemble de points vérifiant une certaine équation mathématique. Le système de chiffrement basé sur l'identité de Boneh-Franklin fonctionne de la manière suivante, étant divisé en quatre sous-procédés.
Le premier sous-procédé concerne la sélection des paramètres du système. On définit un ensemble mathématique G muni d'une structure de groupe (multiplicatif dans la suite) et possédant un nombre fini d'éléments noté q. Dans un exemple de réalisation, cet ensemble G peut être un ensemble de points appartenant à une courbe elliptique. On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1, constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen d'une l'opération de couplage dite de Weil ou de Tate définie sur une courbe elliptique. On définit un élément générateur g pour le groupe G. On définit également quatre fonctions de hachage H1, H2, H3 et H4. On génère un entier a compris entre 0 et q-1, et on calcule l'élément h=g^a, (cette dernière opération est le calcul de g exposant a, réalisée dans le groupe multiplicatif précédemment défini G). Les paramètres publics du système sont alors le couple (g,h), tandis que la clef maître du système est l'entier a ; cette clef-maître est stockée au niveau du serveur de clef et doit être maintenue confidentielle. Le second sous-procédé du schéma de chiffrement de Boneh- Franklin concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractères arbitraire. La génération de ladite clef privée s'effectue en calculant l'élément dv=H1(v)^a, l'opération étant réalisée dans le groupe G. Le troisième sous-procédé du système de chiffrement de Boneh- Franklin concerne l'opération de chiffrement d'un message m pour une certaine identité v (c'est-à-dire destiné au porteur de l'identité v). Dans une première étape, on génère une chaîne aléatoire s. Dans une deuxième étape, on génère un entier r=H3(s,m). Le message chiffré, noté C, est alors défini de la manière suivante: C= (g^r, s xor H2( e(H1(v),h)^r) , m xor H4(s) ) Le quatrième sous-procédé du système de chiffrement de Boneh- Franklin concerne l'opération de déchiffrement d'un message chiffré C, noté C=(cl,c2,c3). La première étape consiste à calculer s=c2 xor H2(e(dv, et )). La deuxième étape consiste à calculer m=c3 xor H4(s). La troisième étape consiste à calculer r=H3(s, m), et à effectuer le test: et =g^r. Si le test n'est pas vérifié, le message chiffré est rejeté. Si le test est vérifié, on renvoie le message m. Un inconvénient du schéma de chiffrement de Boneh-Franklin est qu'il existe une perte importante de sécurité entre le niveau de sécurité de ce schéma et le niveau de sécurité offert par la courbe elliptique sous-jacente. En effet, pour des paramètres standards, cette perte de sécurité atteint environ 151 bits. Pour compenser cette perte, on doit donc utiliser des tailles de paramètres beaucoup plus grandes, ce qui ralentit le temps d'exécution des quatre sous-procédés décrits précédemment, et diminue donc l'efficacité pratique de ce schéma de chiffrement. L'objet de l'invention est de proposer un nouveau schéma de chiffrement basé sur l'identité qui supprime cette perte de sécurité, ce qui permet de réduire la taille des paramètres du système et améliorer ainsi l'efficacité pratique du schéma de chiffrement. Lorsque l'on utilise une courbe elliptique pour l'opération de couplage, le nouveau schéma possède par exemple un niveau de sécurité identique à celui offert par la courbe elliptique sous-jacente. L'invention propose ainsi un procédé de génération d'une clé privée au sein d'une entité électronique, à partir d'une clef-maître et de données représentant une identité, caractérisé par les étapes suivantes : -génération d'un nombre au sein de l'entité électronique ; - détermination d'un premier élément de la clé privée égal au résultat de l'application d'une fonction à sens unique impliquant la clef-maître à la combinaison dudit nombre et du résultat de l'application d'une première fonction de hachage aux données ; - utilisation dudit nombre comme second élément de la clé privée. La combinaison réalisée permet d'améliorer la sécurité du système, ce qui contribue à réduire, voire à éliminer, la perte de sécurité mentionnée ci- dessus. On peut remarquer ici que, selon la terminologie fréquemment employée en cryptographie, une fonction f est dite à sens unique lorsque le calcul d'une image f(x) par cette fonction est relativement simple par rapport aux calculs nécessaires pour retrouver x en ne connaissant que f(x), qui rendent cette dernière opération impossible en pratique. On remarquera par ailleurs que l'on utilise les notions de premier élément et second élément (voire troisième et quatrième éléments dans certains cas) pour les distinguer dans un ensemble (par exemple une clef privée ou un message chiffré ou déchiffré), mais qu'il ne s'agit en aucun cas de se limiter à la formation de l'ensemble dans cet ordre précis. Selon un mode de réalisation particulièrement pratique, ladite fonction à sens unique est l'exponentiation à la valeur de la clef-maître dans un groupe multiplicatif de cardinal fini, un second paramètre public est l'image d'un premier paramètre public par ladite fonction, le premier paramètre public étant un élément générateur du groupe, et ladite combinaison comprend la multiplication du résultat de l'application de la première fonction de hachage et du second paramètre public élevé à une puissance égale à l'opposé dudit nombre.
Cette solution permet de mettre en oeuvre les procédés de chiffrement et de déchiffrement associés de manière particulièrement simple, comme décrit ci-après. Le premier élément de la clé privée vaut par exemple (H1(v)*h^(-y))^a, où v correspond aux données, H1 est la première fonction de hachage, h un paramètre public et y ledit nombre. Selon une première solution, le nombre est généré au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire.
En variante, le nombre peut être généré par application aux données d'une fonction de hachage impliquant une clé cryptographique. L'invention propose également un procédé de chiffrement d'un message en message chiffré au moyen d'un premier et d'un second paramètres publics au sein d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes : - exponentiation du premier paramètre public au moyen d'un nombre déterminé par l'entité électronique afin d'obtenir un premier élément du message chiffré ; - exponentiation au moyen dudit nombre du résultat de l'application d'une fonction de couplage au second paramètre public afin d'obtenir un second élément du message chiffré. Ces éléments du message chiffré permettent la mise en oeuvre relativement aisée du déchiffrement dans le cadre du système à clé privée évoqué ci-dessus. On peut prévoir en outre que le résultat de l'application de la fonction de couplage au second élément est mémorisé au sein de l'entité électronique. Selon un mode de réalisation dans lequel la sécurité est encore améliorée, ledit nombre est le résultat de l'application d'une fonction de hachage au message et à une chaine de caractères déterminée au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire. Dans ce cas, s étant ladite chaine de caractères, r ledit nombre, g le premier paramètre public, h le second paramètre public et e la fonction de couplage, le premier élément du message chiffré étant égal à g^r, le second élément du message chiffré étant égal à e(h,h)^r, le procédé peut comprendre en pratique une étape de détermination d'un troisième élément du message chiffré égal à s xor H2(e(H1(v),h)^r), où H1 et H2 sont des fonctions de hachage et v la clé publique, en général représentative de l'identité du titulaire de la clé privée.
Une étape de détermination d'un quatrième élément du message chiffré peut alors consister à chiffrer le message à proprement parler par l'opération m xor H4(s).
L'invention propose en outre un procédé de déchiffrement d'un message chiffré en un message déchiffré au moyen d'une clé privée, caractérisé en ce qu'il comprend les étapes suivantes : - application d'une fonction de couplage à un premier élément de la 5 clé privée et à un premier élément du message chiffré pour obtenir un premier terme ; - exponentiation d'un second élément du message chiffré au moyen d'un second élément de la clé privée pour obtenir un second terme ; - multiplication du premier terme par le second terme ; 10 - détermination du message déchiffré sur la base du résultat de ladite multiplication. Cette solution de déchiffrement permet d'intégrer de manière simple et pratique la clé privée obtenue comme évoqué plus haut. On peut prévoir en pratique que, e étant la fonction de couplage, cl 15 et c2 respectivement le premier élément et le second élément du message chiffré, d et y respectivement le premier élément et le second élément de la clé privée, le résultat de la multiplication valant e(d, c1)*(c2^y), l'étape de détermination du message déchiffré comprenne les étapes suivantes : - application d'une fonction de hachage H2 au résultat de la 20 multiplication, puis d'une opération de ou exclusif avec un troisième élément c3 du message chiffré afin d'obtenir une chaîne de caractères s ; - application d'une fonction de hachage H4 à la chaine de caractères s, puis d'une opération de ou exclusif avec un quatrième élément c4 du message chiffré afin d'obtenir le message déchiffré. 25 Le procédé peut en outre inclure une étape de vérification du déchiffrement au moyen du test de l'égalité et =g^r où g est un premier paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré et/ou une étape de vérification du déchiffrement au moyen du test de l'égalité c2=e(h,h)^r où h est 30 un second paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.
La fonction de couplage est par exemple un couplage de Tate et/ou un couplage de Weil. Il peut s'agir également d'un couplage de Eta ou de Ate. Pour la mise en oeuvre pratique de ces différents procédés, une entité électronique (par exemple une carte à microcircuit, ou en variante un ordinateur personnel ou un serveur, tel que le serveur de clés) est apte à mettre en oeuvre les procédés évoqués ci-dessus et pour ce faire à manipuler les données numériques traitées (qui représentent les différents éléments, tel que les messages, clés, nombres et chaînes de caractères), par exemple au moyen d'un microprocesseur.
On décrit à présent un premier mode de réalisation d'un système de chiffrement basé sur l'identité selon l'invention, basé sur les quatre sous-procédés suivants. Le premier sous-procédé est similaire au premier sous-procédé du schéma de chiffrement de Boneh-Franklin et concerne la sélection des paramètres du système. Dans ce premier sous-procédé, on définit un ensemble mathématique G muni d'une structure de groupe et possédant un nombre d'éléments noté q. Cet ensemble G est par exemple un ensemble de points d'une courbe elliptique. Ces points peuvent être représentés sous forme numérique par des moyens appropriés, par exemple grâce à leurs coordonnées. On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1, constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen de l'opération de couplage dit de Weil ou de Tate définie sur une courbe elliptique. En variante, on pourrait choisir une fonction e dont les deux entrées sont dans des groupes différents. De même, lorsque la fonction e est construire au moyen d'un couplage, d'autres couplages que ceux de Weil et de Tate peuvent être utilisés.
On définit un élément générateur g pour le groupe G. On définit ici deux fonctions de hachage H1, H2. On génère un entier a compris entre 0 et q-1, et on calcule l'élément h=g"a, cette opération étant réalisée dans le groupe précédemment défini G. Les paramètres publics du systèmes sont alors le couple (g,h), tandis que la clef maître du système est l'entier a, ladite clef maître devant être maintenue confidentielle (en général au niveau du serveur de clés). Le second sous-procédé du système de chiffrement concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractères arbitraire.
Ce sous-procédé est en général mis en oeuvre au sein du serveur de clés sur la base de l'identité d'un utilisateur authentifié, la chaîne de caractères étant représenté sous forme de données numériques. La première étape de ce second sous-procédé consiste à générer un entier y entre 0 et q-1. La clef privée dv est alors calculée de la manière suivante dv= ( (H1(v)*h"(-y))"a , y), le premier élément de dv étant un élément du groupe G. Selon une première possibilité de mise en oeuvre, l'entier y est généré aléatoirement, par exemple au moyen d'un algorithme de génération de nombres aléatoires (parfois dénommés en pratique pseudo-aléatoires). Dans ce cas, le calcul de la clef privée dv n'est effectué qu'une seule fois (par exemple, à la première sollicitation de l'utilisateur concerné) et la clef privée est mémorisée au cas où l'utilisateur ne demande à nouveau la clef privée associée à son identité. Selon une seconde possibilité de mise en oeuvre, l'entier y est obtenu par application à l'identité v d'une fonction de hachage impliquant une clé cryptographique que seul peut mettre en oeuvre le détenteur de cette clé cryptographique (à savoir ici le serveur de clés). Le stockage de la clef privée obtenue n'est pas nécessaire. Le troisième sous-procédé prévu dans ce premier mode de réalisation concerne l'opération de chiffrement d'un message m pour une certaine identité v (c'est-à-dire destiné à l'utilisateur ayant cette identité, qui seul pourra le déchiffrer grâce à la clef privée associée à l'identité). Pour ce faire, on génère tout d'abord selon ce premier mode de réalisation un entier aléatoire r. Le message chiffré, noté C, est alors définit de la manière suivante: C= (g^r, e(h,h)^r, m xor H2(e(H1(v),h)^r) ). On peut noter que l'élément e(h,h) peut être pré-calculé et mémorisé par le système réalisant ce troisième sous-procédé. Le quatrième sous-procédé du procédé de chiffrement de l'invention concerne l'opération de déchiffrement d'un message chiffré C, noté C=(cl,c2,c3). On note comme ci-dessus la clef privée dv=(d,y). Pour ce faire, on calcule c3 xor H2(e(d, cl )*(c2^y)).
En remplaçant c2 par sa valeur (provenant du chiffrement), on a : e(d, cl )*(c2^y)=e(d,cl )*e(h,h)Ary=e(d,cl )*e(H,g^a)Ary. Par bilinéarité, et en remplaçant cl par sa valeur, on a donc : e(d, cl )*(c2^y)=e(d,g^r)*e(h^ya,g^r)=e(d*h^ya,g^r). En remplaçant l'élément d de la clef privée par sa valeur (provenant du mode de calcul de la clef privée décrit ci-dessus) et en utilisant à nouveau la propriété de bilinéarité, on obtient : e(d, cl )*(c2^y)=e((H1(v))^a,g^r)=e(H1(v),g^a)Ar=e(H1(v),h)^r. Ainsi le calcul de c3 xor H2(e(d, cl )*(c2Ay)) permet d'obtenir : c3 xor H2(e(H1(v),h)^r)=m.
On a ainsi déchiffré le message chiffré C et obtenu le message déchiffré m. On va décrire à présent un second mode de réalisation d'un procédé de chiffrement basé sur l'identité selon l'invention, qui constitue une variante du premier mode de réalisation décrit ci-dessus. Cet autre exemple est donc lui aussi basé sur quatre sous-procédés comme suit. Le premier sous-procédé est similaire au premier sous-procédé du schéma de chiffrement de Boneh-Franklin décrit en introduction et concerne la détermination des paramètres du système. On rappelle que, dans ce premier sous-procédé, on définit un ensemble mathématique G muni d'une structure de groupe et possédant un nombre d'éléments noté q. Dans un exemple de réalisation, cet ensemble G peut être un ensemble de points d'une courbe elliptique. On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1, constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen de l'opération de couplage dit de Weil ou de Tate définie sur une courbe elliptique. On définit un élément générateur g pour le groupe G. On définit également quatre fonctions de hachage H1, H2, H3 et H4. On génère un entier a compris entre 0 et q-1, et on calcule l'élément h=g^a, cette opération étant réalisée dans le groupe précédemment défini G. Les paramètres publics du systèmes sont alors le couple (g,h), tandis que la clef maître du système est l'entier a, ladite clef maître devant être maintenue confidentielle. Le second sous-procédé est identique à celui du premier mode de réalisation et concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractère arbitraire. La première étape consiste à générer un entier y aléatoirement entre 0 et q-1. La clef privée dv est alors calculée de la manière suivante dv= ( (H1 (v)*h"(-y))^a , y), le premier élément de dv étant un élément du groupe G.
Ce second sous-procédé étant identique à celui du premier mode de réalisation, les remarques faites à l'égard de ce dernier s'appliquent également ici. Le troisième sous-procédé du procédé de l'invention concerne l'opération de chiffrement d'un message m pour une certaine identité v. Dans une première étape, on génère une chaîne aléatoire s. Dans une deuxième étape, on génère un entier r=H3(s,m). Le message chiffré, noté C, est alors définit de la manière suivante: C= ( gAr, e(h,h)^r, s xor H2(e(H1(v),h)^r) , m xor H4(s) ). On peut noter que l'élément e(h,h) peut être pré-calculé par le système réalisant ce troisième sous-procédé. Le quatrième sous-procédé du procédé de chiffrement de l'invention concerne l'opération de déchiffrement d'un message chiffré C, noté C=(cl,c2,c3,c4). On note la clef privée dv=(d,y). La première étape consiste à calculer s=c3 xor H2(e(d, cl )*(c2^y)). La deuxième étape consiste à calculer m=c4 xor H4(s). La troisième étape consiste à calculer r=H3(s, m), et à effectuer le test: et=g^r et c2=e(h,h)"r. Si le test n'est pas vérifié, le message chiffré est rejeté. Si le test est vérifié, on renvoie le message m. L'avantage du nouveau procédé de chiffrement basé sur l'identité décrit précédemment est qu'il permet d'atteindre un niveau de sécurité au moins aussi élevé que celui fourni par la courbe elliptique sous-jacente. La taille des paramètres utilisés peut donc être beaucoup plus petite que celle utilisée pour le schéma de Boneh-Franklin, ce qui améliore l'efficacité pratique du procédé de chiffrement basé sur l'identité.

Claims (19)

REVENDICATIONS
1. Procédé de génération d'une clé privée au sein d'une entité électronique, à partir d'une clef-maître et de données représentant une identité, caractérisé par les étapes suivantes : - génération d'un nombre au sein de l'entité électronique ; - détermination d'un premier élément de la clé privée égal au résultat de l'application d'une fonction à sens unique impliquant la clef-maître à la combinaison dudit nombre et du résultat de l'application d'une première fonction de hachage aux données ; - utilisation dudit nombre comme second élément de la clé privée.
2. Procédé selon la revendication 1, caractérisé en ce que ladite fonction à sens unique est l'exponentiation à la valeur de la clef-maître dans un groupe multiplicatif de cardinal fini, en ce qu'un second paramètre public est l'image d'un premier paramètre public par ladite fonction, le premier paramètre public étant un élément générateur du groupe, et en ce que ladite combinaison comprend la multiplication du résultat de l'application de la première fonction de hachage et du second paramètre public élevé à une puissance égale à l'opposé dudit nombre.
3. Procédé selon la revendication 1, caractérisé en ce que le premier élément de la clé privée vaut (H1(v)*h^(-y))^a, où v correspond aux données, H1 est la première fonction de hachage, h un paramètre public et y ledit nombre.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le nombre est généré au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire.30
5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le nombre est généré par application aux données d'une fonction de hachage impliquant une clé cryptographique.
6. Procédé de chiffrement d'un message en message chiffré au moyen d'un premier et d'un second paramètres publics au sein d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes : -exponentiation du premier paramètre public au moyen d'un nombre déterminé par l'entité électronique afin d'obtenir un premier élément du message chiffré ; - exponentiation au moyen dudit nombre du résultat de l'application d'une fonction de couplage à un second paramètre public afin d'obtenir un second élément du message chiffré.
7. Procédé selon la revendication 6, caractérisé en ce que le résultat de l'application de la fonction de couplage au second élément est mémorisé au sein de l'entité électronique.
8. Procédé selon la revendication 6 ou 7, caractérisé en ce que ledit nombre est le résultat de l'application d'une fonction de hachage à une chaine de caractères déterminée au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire.
9. Procédé selon la revendication 8, caractérisé en ce que, s étant ladite chaîne de caractères, r ledit nombre, g le premier paramètre public, h le second paramètre public et e la fonction de couplage, le premier élément du message chiffré est égal à g^r, le second élément du message chiffré est égal à e(h,h)^r, et en ce que procédé comprend une étape de détermination d'un 30 troisième élément du message chiffré égal à s xor H2(e(H1(v),h)^r), où H1 et H2 sont des fonctions de hachage et v la clé publique.
10. Procédé selon la revendication 9, caractérisé en ce que la clé publique est représentative de l'identité du titulaire de la clé privée.
11. Procédé selon la revendication 9 ou 10, caractérisé en ce qu'il 5 comprend une étape de détermination d'un quatrième élément du message chiffré égal à m xor H4(s), où m est le message.
12. Procédé de déchiffrement d'un message chiffré en un message déchiffré au moyen d'une clé privée, caractérisé en ce qu'il comprend les 10 étapes suivantes : - application d'une fonction de couplage à un premier élément de la clé privée et à un premier élément du message chiffré pour obtenir un premier terme ; - exponentiation d'un second élément du message chiffré au moyen 15 d'un second élément de la clé privée pour obtenir un second terme ; - multiplication du premier terme par le second terme ; -détermination du message déchiffré sur la base du résultat de ladite multiplication. 20
13. Procédé selon la revendication 12, caractérisé en ce que, e étant la fonction de couplage, cl et c2 respectivement le premier élément et le second élément du message chiffré, d et y respectivement le premier élément et le second élément de la clé privée, le résultat de la multiplication valant e(d, cl )*(c2^y), l'étape de détermination du message déchiffré comprend les étapes 25 suivantes : - application d'une fonction de hachage H2 au résultat de la multiplication, puis d'une opération de ou exclusif avec un troisième élément c3 du message chiffré afin d'obtenir une chaîne de caractères s ; - application d'une fonction de hachage H4 à la chaine de caractères 30 s, puis d'une opération de ou exclusif avec un quatrième élément c4 du message chiffré afin d'obtenir le message déchiffré.
14. Procédé selon la revendication 13, caractérisé par une étape de vérification du déchiffrement au moyen du test de l'égalité c1=g^r où g est un premier paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.
15. Procédé selon la revendication 13 ou 14, caractérisé par une étape de vérification du déchiffrement au moyen du test de l'égalité c2=e(h,h)^r où h est un second paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.
16. Procédé selon l'une des revendications 12 à 15, caractérisé en ce que la clé privée est obtenue à partir de données représentatives d'une identité. 15
17. Procédé selon l'une des revendications 7 à 16, caractérisé en ce que la fonction de couplage est un couplage de Tate.
18. Procédé selon l'une des revendications 7 à 16, caractérisé en ce que la fonction de couplage est un couplage de Weil.
19. Procédé selon l'une des revendications 1 à 18, caractérisé en ce qu'il est mis en oeuvre au sein d'une carte à microcircuit. 10 20
FR0651990A 2006-05-31 2006-05-31 Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message Expired - Fee Related FR2901940B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0651990A FR2901940B1 (fr) 2006-05-31 2006-05-31 Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message
PCT/FR2007/000881 WO2007138182A1 (fr) 2006-05-31 2007-05-25 Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0651990A FR2901940B1 (fr) 2006-05-31 2006-05-31 Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message

Publications (2)

Publication Number Publication Date
FR2901940A1 true FR2901940A1 (fr) 2007-12-07
FR2901940B1 FR2901940B1 (fr) 2012-12-14

Family

ID=37596280

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0651990A Expired - Fee Related FR2901940B1 (fr) 2006-05-31 2006-05-31 Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message

Country Status (2)

Country Link
FR (1) FR2901940B1 (fr)
WO (1) WO2007138182A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017559A2 (fr) * 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systemes et procedes de cryptage sur la base des identites, et procedures cryptographiques associees
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system
WO2006034428A2 (fr) * 2004-09-20 2006-03-30 Pgp Corporation Appareil et procede de cryptage a base d'identite au sein d'une infrastructure a cle publique conventionnelle

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017559A2 (fr) * 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systemes et procedes de cryptage sur la base des identites, et procedures cryptographiques associees
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system
WO2006034428A2 (fr) * 2004-09-20 2006-03-30 Pgp Corporation Appareil et procede de cryptage a base d'identite au sein d'une infrastructure a cle publique conventionnelle

Also Published As

Publication number Publication date
FR2901940B1 (fr) 2012-12-14
WO2007138182A1 (fr) 2007-12-06

Similar Documents

Publication Publication Date Title
EP3010177B1 (fr) Procédé d'authentification d'un dispositif client auprès d'un serveur à l'aide d'un élément secret
EP3211823B1 (fr) Méthode d'exécution confidentielle d'un programme opérant sur des données chiffrées par un chiffrement homomorphe
EP2127197A2 (fr) Chiffrement broadcast base sur identite
EP3091689A1 (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
EP1151576B1 (fr) Procede cryptographique a cles publique et privee
FR2952778A1 (fr) Procede de transmission de donnees securise et systeme de chiffrement et de dechiffrement permettant une telle transmission
FR2759226A1 (fr) Protocole de verification d'une signature numerique
EP2296086B1 (fr) Protection d'une génération de nombres premiers contre des attaques par canaux cachés
EP2005290B1 (fr) Procede et dispositif pour engendrer une suite pseudo-aleatoire
CN107070900B (zh) 基于混淆的可搜索重加密方法
FR2892583A1 (fr) Procede de transmission securisee de donnees
EP3965361A1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
EP2449721B1 (fr) Cryptographie par parametrisation sur une courbe elliptique
FR2742617A1 (fr) Procedes de reduction et de mise a disposition de cles de chiffrage, et structure et support de donnees pour leur mise en oeuvre
EP1829279A2 (fr) Procede et dispositif d'execution d'un calcul cryptographique
FR2901940A1 (fr) Procede de generation d'une cle privee et procedes de chiffrement et de dechiffrement d'un message
EP2225847B1 (fr) Procédé de partage d'un secret fort entre deux parties dont tune dispose de peu de puissance de traitement
WO2007065468A1 (fr) Procédé de génération de signature avec preuve de sécurité 'tight', procédé de vérification et schéma de signature associés basés sur le modèle de diffie-hellman
WO2008113952A2 (fr) Chiffrement base sur identite
WO2006010692A2 (fr) Procede de protection d’un algorithme a cle publique dans un composant electronique
WO2007042419A1 (fr) Procede cryptographique mettant en oeuvre un systeme de chiffrement base sur l'identite
EP1642413B1 (fr) Procede de chiffrement/dechiffrement d un message et disposi tif associe
WO2021110518A1 (fr) Procédé de cogénération d'un matériel cryptographique partagé, dispositifs, système et programme d'ordinateur correspondant
FR2815493A1 (fr) Procede pour mettre en oeuvre une technique renforcant la securite des signatures a cle publique a base de polynomes multivariables
FR3101182A3 (fr) Procédé de transmission chiffrée

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

CA Change of address

Effective date: 20201228

CD Change of name or company name

Owner name: IDEMIA FRANCE, FR

Effective date: 20201228

ST Notification of lapse

Effective date: 20220105