Verifiable Identity-based Encryption

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Langue du titre Modèle:Méta bandeau d'avertissement

Modèle:Lang (VIBE) est un chiffrement basé sur l'identité développé et breveté (aux États Unis, en Europe et en Chine) par la société VIBE Cybersecurity International LLC. Ce chiffrement est une version amélioréeModèle:En quoi de celui de Boneh et Franklin[1], qui utilise une application bilinéaire nommée optimal ATE pairing[2] agissant sur des courbes elliptiques. Ce type d'application a été analysé par l'organisme de standardisation américain NIST[3].

L'algorithme de VIBE (décrit dans le brevet[4]) permet de vérifier rapidement la cohérence entre les paramètres publics et une clé secrète, augmentant la confiance entre les utilisateurs et les administrateurs du systèmeModèle:Pas clair. De plus, VIBE permet une authentification de l'envoyeur du message pour un coût de communication négligeableModèle:Référence nécessaire.

VIBE en particulier a été analysé[5] par le maitre de conférences de l'Université de Limoges Olivier Blazy. Ce dernier y rédige sa propre preuve de sécurité, il explique aussi que le schéma VIBE possède des avantages indéniables : il est prouvé sûr, les chiffrés sont courts, le nombre de calculs lourds est réduit et la propriété intrinsèque de vérifiabilité augmente la confiance envers tous les acteurs du systèmeModèle:Source secondaire nécessaire.

Description du protocole

Setup

L'administrateur des clés du système (appelé Trusted Centre TC d'identité IdTC), choisi une application bilinéaire et trois groupes sur une courbe elliptique compatible avec cette application (respectivement e,𝒢1,𝒢2,𝒢T). Il choisit ensuite aléatoirement un entier s𝒵p* et fixe sa clé maître secrète: msk=s (p étant le cardinal du plus petit groupe choisi sur la courbe: 𝒢1).

4 fonctions de hachage sont choisies en vérifiant les conditions suivantes :

  • 1 (respectivement 2) prend en entrée une chaîne binaire de taille arbitraire et retourne un élément du groupe 𝒢1 (respectivement 𝒢2).
  • 3 prend en entrée une chaîne binaire de taille arbitraire et retourne un élément de 𝒵p*.
  • prend en entrée un élément de 𝒢T et retourne une chaîne binaire (cette dernière fonction de hachage peut être implémentée par SHA3 par exemple).

L'élément publique Pub est calculée comme suit :

  • Pub=s1(idTC)

Les paramètres publics sont ensuite publiés : mpk=(𝒢1,𝒢2,𝒢T,1,2,3,,e,Pub)

Extraction

La clé publique d'un utilisateur est son identité id, sa clé privée est calculée comme suit :

usk[id]=(usk[id]1,usk[id]2)=(s11(id),s12(id))

Vérification des Paramètres Publics

La vérification rapide de la cohérence entre les paramètres publics et une clé secrète se fait en vérifiant l'égalité suivante :

e(Pub,𝗎𝗌𝗄[𝗂𝖽]2)==e(1(𝗂𝖽TC),2(𝗂𝖽))

Chiffrement

Le message M pour le receveur d'identité 𝗂𝖽R est chiffré en 𝖢=(U,V,Y) par l'envoyeur d'identité 𝗂𝖽S en calculant les valeurs suivantes :

r3(M)

U=M(e(1(𝗂𝖽TC),2(𝗂𝖽R))r)

V=rPub

Y=(e(1(𝗂𝖽R),𝗎𝗌𝗄[𝗂𝖽S]2)r)

Y est la valeur qui sert au receveur à authentifier l'envoyeur du message.

Déchiffrement

Le message chiffré 𝖢=(U,V,Y) est déchiffré en un message clair M par le receveur en calculant :

M=U(e(V,𝗎𝗌𝗄[𝗂𝖽R]2))

r3(M)

L'authentification se fait en vérifiant l'égalité suivante : Y==(e(𝗎𝗌𝗄[𝗂𝖽R]1,2(𝗂𝖽S))r)

Sécurité

La sécurité du chiffrement basé sur l'identité VIBE repose sur une hypothèse classiqueModèle:En quoi de sécurité cryptographique proche du Problème Calculatoire de Diffie-HellmanModèle:Référence nécessaire. Ce problèmeModèle:En quoi se situe dans un contexte asymétrique, ce qui améliore la rapidité des algorithmes et la taille des objets mathématiques à manipulerModèle:Pas clair.

Notes et références

Modèle:Références

Liens externes

Modèle:Liens

Modèle:Portail