FR 2913154 A1 20080829 FR 0701451 A 20070228 CHIFFREMENT BROADCAST BASE SUR IDENTITE La présente invention concerne les techniques de chiffrement de données ou de messages basées sur identité. Les schémas de chiffrement basés sur l'identité, ci-après appelés 5 schémas IBE ("identity-based encryption"), ont été introduits afin de faciliter la phase de chiffrement de messages. Un schéma IBE permet à un expéditeur de chiffrer un message pour un destinataire, sans avoir à mémoriser un certificat de ce destinataire ou une clé publique décorrélée de son identité. La clé publique du destinataire est en effet 10 déduite de son identité. Un schéma IBE peut notamment servir au chiffrement de messages électroniques. Une personne A voulant envoyer un message à un destinataire B utilise typiquement l'adresse électronique de B pour obtenir la clé de chiffrement à employer. Une autorité de confiance fournit à chaque utilisateur 15 qui s'authentifie une clé privée de déchiffrement correspondant à son adresse électronique c'est-à-dire à sa clé publique. De ce fait, B n'a pas besoin de faire connaître à A une clé publique, certifiée ou non, afin que A puisse lui chiffrer des messages. Ceci simplifie beaucoup la gestion du système. Il est même possible que A chiffre un message pour B avant que B ait obtenu sa clé privée 20 de déchiffrement. Certains schémas IBE exploitent les propriétés des applications bilinéaires, par exemple celui décrit dans "Practical Identity-Based Encryption Without Random Oracles", C. Gentry, Eurocrypt 2006, Vol. 196, Lecture Notes in Computer Science 4004, pages 445-464. 25 Dans les systèmes IBE, les clés à stocker sont habituellement courtes. Cependant, on ne connaît pas actuellement de moyen pour chiffrer efficacement un message à l'attention d'un groupe d'utilisateurs dans un tel système. Pour envoyer un message chiffré à N utilisateurs à l'aide de leurs identités, il faut chiffrer le message N fois avec N clés différentes et transmettre 30 N messages chiffrés ou, si un canal de diffusion est emprunté, diffuser des -2- informations ayant la taille de N messages chiffrés. Les informations à émettre ont alors une taille linéaire en fonction du nombre de destinataires, ce qui n'est pas efficace lorsque le nombre N devient grand. Un aspect de l'invention se rapporte à un procédé cryptographique basé sur identité, dans lequel une clé publique dépendant d'une clé secrète est accessible à une entité émettrice et à des entités réceptrices, et des clés privées de déchiffrement respectives sont associables aux entités réceptrices. La clé privée d'une entité réceptrice dépend de la clé secrète et d'un paramètre d'identité de cette entité réceptrice. Le procédé comprend une opération de chiffrement d'au moins un message à destination d'un ensemble de s entités réceptrices, s étant un nombre plus grand que 1. Cette opération de chiffrement comprend les étapes suivantes: générer au moins une clé de chiffrement symétrique et un cryptogramme associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité des s entités réceptrices et d'au moins un nombre entier choisi par l'entité émettrice, le cryptogramme étant généré de façon à donner accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble; chiffrer le message avec ladite clé de chiffrement symétrique dans l'entité émettrice; et diffuser le cryptogramme et le message chiffré depuis l'entité émettrice. On réussit ainsi à obtenir un schéma IBE dans le contexte d'un chiffrement broadcast. Le "chiffrement broadcast" fait référence à des techniques cryptographiques employées pour diffuser un contenu sur un canal public, non sécurisé, de telle sorte que seuls des utilisateurs légitimes soient capables de lire ce contenu. Les utilisateurs légitimes sont par exemple ceux qui ont payé un droit d'accès. L'entité émettrice qui diffuse un contenu désire que ce contenu reste confidentiel auprès des utilisateurs illégitimes, ce qui requiert un schéma de chiffrement particulier. Un exemple de chiffrement broadcast est décrit dans "Broadcast encryption", A. Fiat et M. Naor, -3- CRYPTO'93, Lecture Notes in Computer Science, Vol. 773, pages 480-491, Santa Barbara, CA, USA, August 22-26, 1994. Springer-Verlag, Berlin. En conciliant schéma IBE et chiffrement broadcast, on obtient un schéma, ci-après nommé BIBE ("broadcast identity-based encryption"), bien adapté à divers contextes d'applications comme par exemple la constitution efficace de listes de diffusion de messages électroniques chiffrés. Des schémas BIBE peuvent être construits avec ou sans oracle aléatoire. Dans un mode de réalisation, le cryptogramme donnant accès à la clé de chiffrement a une taille constante et indépendante du nombre s d'entités 10 réceptrices. Par ailleurs, les clés de déchiffrement (et de chiffrement) employées peuvent aussi être de taille constante, relativement petite, et indépendante du nombre s. Cette propriété se prête bien à une implantation logicielle. Dans un mode de réalisation, l'opération de chiffrement comporte une 15 première phase de calcul et de mémorisation d'un vecteur de valeurs intermédiaires en fonction de la clé publique et des paramètres d'identité des s entités réceptrices, et au moins une occurrence d'une seconde phase exécutée par l'entité émettrice. Cette seconde phase comprend les étapes suivantes: -tirer un nombre entier; 20 calculer une clé de chiffrement symétrique et le cryptogramme associé en fonction du nombre entier tiré et du vecteur de valeurs intermédiaires, sans prendre à nouveau en compte les paramètres d'identité des s entités réceptrices; chiffrer un message avec la clé de chiffrement calculée; et 25 - diffuser le cryptogramme calculé et le message chiffré. Ainsi, la première phase de l'opération de chiffrement ne sera réalisée qu'une seule fois pour un même ensemble de récepteurs visés par une entité émettrice durant une période déterminée. Cela convient bien au cadre de chiffrement de vidéos par exemple. Une vidéo destinée à un certain ensemble 30 d'utilisateurs est chiffrée tout au long de sa diffusion pour cet ensemble -4- d'utilisateurs. La première phase de l'opération de chiffrement consistant à calculer le vecteur de valeurs intermédiaires peut être réalisée une fois pour toutes au début de la vidéo, alors que la clé de chiffrement symétrique peut être mise à jour régulièrement (par exemple toutes les secondes) en exécutant de façon répétitive la seconde phase avec tirage de nombres aléatoires successifs. Cette diversification des clés empêche de les détourner efficacement si certains utilisateurs cherchent à publier ou communiquer la clé de chiffrement symétrique pendant la diffusion de la vidéo. Du côté de l'entité réceptrice, l'opération de déchiffrement peut aussi être scindée en deux phases, la première exécutée une fois en prenant en compte les paramètres d'identité des autres entités réceptrices de l'ensemble et la seconde pouvant être répétée plusieurs fois sans prendre en compte les paramètres d'identité des autres entités réceptrices. Un schéma BIBE utilisable fait appel à une clé secrète incluant un 15 élément g d'un groupe cyclique G1 d'ordre p et un nombre entier y choisi entre 1 et p-1, où p désigne un nombre premier. La clé publique peut alors avoir une composante représentative d'un élément w du groupe G1, égal à gY, une composante représentative d'un élément h d'un groupe cyclique G2 d'ordre p, une composante représentative d'un élément v d'un groupe cyclique GT d'ordre 20 p, de la forme v = e(g, h), et des composantes représentatives de m éléments du groupe G2 de la forme hY, hY2, ..., hlm, où e(., .) désigne une application bilinéaire de G1 XG2 dans GT, et m désigne un entier non inférieur au nombre s précité. Quant à la clé privée d'une entité réceptrice, elle peut avoir une composante représentative d'un élément Ai du groupe G1 de la forme 25 Ai = gll(Y+xi) où xi est un entier déterminé par les paramètres d'identité de ladite entité réceptrice. Dans un tel schéma, la clé de chiffrement symétrique pour un ensemble de s entités réceptrices (2 D'autres particularités et avantages de l'invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels : - la figure 1 est un schéma synoptique d'un système de chiffrement pour la mise en oeuvre d'un mode de réalisation de l'invention; - la figure 2 est un schéma synoptique d'un exemple de dispositif de chiffrement; et - la figure 3 est un schéma synoptique d'un exemple de dispositif de déchiffrement. Le procédé cryptographique considéré ici met en jeu une autorité 1 sur laquelle repose la confiance. Cette autorité est en principe la seule entité qui 5 dispose d'une clé secrète ou clé maître MSK. Elle la conserve par exemple dans une mémoire protégée 10. Lors de l'initialisation du système, un générateur de clé publique 11 de l'autorité 1 détermine une clé publique PK et la diffuse pour qu'elle soit disponible à tous les utilisateurs du système. La clé publique PK est calculée 10 en fonction de la clé secrète MSK et de paramètres système représentant la structure mathématique sous-jacente au schéma de chiffrement. L'autorité 1 possède d'autre part un générateur de clés privées 12 servant à fournir une clé privée propre à une entité réceptrice 3 qui a pu s'authentifier auprès de l'autorité 1. Les clés privées peuvent être délivrées lors 15 de l'initialisation. Cependant, conformément à une caractéristique des schémas IBE, elles sont avantageusement générées et remises à leurs titulaires au fur et à mesure des besoins. Une entité peut notamment recevoir des messages chiffrés à son attention sans disposer encore d'une clé privée de déchiffrement. En s'authentifiant auprès de l'autorité 1, cette entité pourra obtenir sa clé privée 20 et déchiffrer le message a posteriori. L'autorité 1 possède un module 13 mettant en oeuvre une technique d'authentification des entités réceptrices 3 qui demandent leur clé privée. Une fois l'entité 3 authentifiée, son identité IDj est fournie au générateur de clés privées 12 qui retourne la clé privée correspondante ski calculée en fonction de 25 IDA, de la clé secrète MSK et des paramètres système et envoyée à l'entité via un canal protégé. L'identité IDA d'une entité réceptrice 3 consiste en un ou plusieurs paramètres associés de manière publique à l'entité. Toute identité employée dans les schémas IBE connus peut être adoptée (voir A. Shamir, "Identity-30 based cryptosystems and signature schemes", Advances in Cryptology û -8- CRYPTO'84, Vol. 196, Lecture Notes in Computer Science, pages 47-53, Santa Barbara, CA, USA, August 19-23, 1985. Springer-Verlag, Berlin). Un exemple typique d'identité est l'adresse de messagerie électronique. Il peut y être adjoint d'autres paramètres au choix de l'entité concernée, comme par exemple une indication de période de validité de la clé privée associée à l'entité. Une fonction de hachage peut être appliquée à l'identité afin d'obtenir une donnée de taille souhaitée. La clé publique PK mise à disposition de chacun permet à une entité émettrice 2 de chiffrer des messages M pour un ensemble de s entités réceptrices 3 désignées chacune par leur identité. L'entité émettrice 2 utilise une technique quelconque de chiffrement symétrique à l'aide d'une clé K qu'elle génère, et diffuse le message chiffré CM accompagné d'un en-tête ou cryptogramme Hdr. Ce cryptogramme Hdr est construit de manière à donner accès à la clé 15 de chiffrement symétrique K à toute entité qui dispose: de la clé publique PK (et des paramètres système); des paramètres d'identité IDi des s entités réceptrices destinataires du message chiffré; et de la clé privée ski de l'une de ces entités réceptrices. 20 Chaque entité réceptrice de l'ensemble peut ainsi utiliser sa clé privée ski pour récupérer la clé de chiffrement symétrique K puis déchiffrer le message CM. Dans certaines réalisations, le cryptogramme Hdr a une taille constante et indépendante du nombre s, ce qui évite d'avoir trop d'informations à 25 transmettre avec les messages chiffrés lorsque le nombre de destinataires devient important. Les clés privées ski pourront elles aussi avoir une taille constante et indépendante du nombre s. La figure 2 illustre schématiquement l'organisation d'un dispositif de chiffrement 2 constituant une entité émettrice dans un exemple de réalisation 30 du procédé cryptographique. Le dispositif 2 comporte une mémoire 20 où sont notamment enregistrées la clé publique PK et les identités ID1, ...,IDS des s entités réceptrices qui seront les destinataires d'un ou plusieurs messages chiffrés CM. Les messages issus d'une source 21 sont chiffrés dans un circuit 22 à l'aide d'une clé de chiffrement symétrique K produite par un générateur 5 23. Les identités IDA peuvent notamment faire partie du carnet d'adresses d'une application de messagerie électronique. A partir de la clé publique PK et des identités ID1, ...,IDS, le générateur de clé de chiffrement 23 produit non seulement une clé de chiffrement symétrique K, mais aussi un cryptogramme associé Hdr. La production du 10 couple (K, Hdr) met en jeu le tirage d'un nombre aléatoire k par un générateur de nombres aléatoires 25. II est possible de faire en sorte que les calculs prenant en compte les identités IDj des s entités réceptrices de l'ensemble soient exécutés une seule fois pour toutes les transmissions de messages chiffrés vers cet ensemble de s 15 entités réceptrices. Pour cela, dans une première phase, un module 24 du générateur de clé de chiffrement 23 calcule un vecteur de valeurs intermédiaires PKs en fonction de la clé publique PK et des identités IDA des s entités réceptrices, et mémorise ce vecteur PKs. Ensuite, chaque fois qu'il y a un nouveau message à chiffrer vers ces s entités réceptrices, un nombre k est 20 tiré et un module 26 calcule un nouveau couple (K, Hdr) en fonction de k et PKS. On remarque que, comme le calcul de PKs ne fait intervenir que des paramètres publics, ce vecteur PKS pourrait être calculé à l'extérieur du dispositif de chiffrement 2 et reçu par celui-ci sur un canal n'ayant pas besoin 25 d'être protégé (le vecteur PKS peut être publié). La figure 3 illustre schématiquement l'organisation d'un dispositif de déchiffrement 3 constituant une entité réceptrice d'identité ID; dans un exemple de réalisation du procédé cryptographique. Le dispositif 3 comporte une mémoire 30 où sont notamment enregistrées la clé publique PK, la clé privée 30 ski du dispositif et les identités ID1, ..., IDi_1, IDi+1, ..., IDS des sû1 entités -10- réceptrices qui seront, avec le dispositif 3, les destinataires d'un ou plusieurs messages chiffrés CM. Les identités IDA peuvent notamment faire partie du carnet d'adresses d'une application de messagerie électronique. A partir de la clé publique PK et des identités IDA, un calculateur 33 récupère une clé de chiffrement symétrique K à partir du cryptogramme Hdr reçu avec un message chiffré CM. Il est possible de faire en sorte que les calculs prenant en compte les identités IDA soient exécutés une seule fois pour toutes les réceptions de messages chiffrés qui seront destinés au même ensemble de s entités réceptrices. Pour cela, dans une première phase, un module 34 du calculateur 33 calcule une valeur intermédiaire z; en fonction de la clé publique PK et des identités IDA des s entités réceptrices, et mémorise cette valeur z;. Ensuite, chaque fois qu'il y a un nouveau message à déchiffrer destiné à ces s entités réceptrices, un module 36 calcule la clé de chiffrement symétrique K à partir du cryptogramme Hdr reçu avec le message chiffré CM et de la valeur intermédiaire z;. On remarque à nouveau que, comme le calcul de z; ne fait intervenir que des paramètres publics, cette valeur z; pourrait être calculée à l'extérieur du dispositif de déchiffrement 3 et reçue par celui-ci sur un canal n'ayant pas besoin d'être protégé. Dans un exemple d'environnement mathématique utilisable dans le procédé ci-dessus, deux groupes cycliques G1 et G2 (distincts ou non) sont définis, chacun d'ordre p, où p et un nombre premier, ayant typiquement une représentation en base 2 de plus de cent bits. Une application bilinéaire non dégénérée e de G1 x G2 dans un autre groupe cyclique GT est en outre définie. Par bilinéaire, on entend que pour toute paire d'entiers (a, b), tout élément u de G1 et tout élément v de G2, on a e(ua, vb) = e(u, v)ab. Un exemple possible pour cette application bilinéaire e est le couplage de Tate. Les paramètres système mentionnés ci-dessus comprennent alors le nombre p et des descripteurs des groupes G1, G2 et GT et de l'application bilinéaire e(., .). Dans cet exemple, la clé secrète MSK consiste en un élément g que -11-l'autorité 1 tire au hasard dans le groupe G1 et en un entier y compris entre 1 et p-1: MSK = (g, y). Le générateur de clé publique 11 calcule l'élément w = gY du groupe G1 et tire au hasard un élément h du groupe G2. Il calcule en outre l'élément v = e(g, h) du groupe GT et des puissances de l'élément h du groupe G2: hY, h12, ..., hYm, où m est un nombre entier représentant la taille maximum de l'ensemble d'entités réceptrices 3 auquel un message chiffré pourra être adressé. En d'autres termes la taille s d'un ensemble de destinataires ne pourra pas être supérieure à m. La clé publique PK est alors: PK = (w, v, h, hY, h72, ..., hYm). La clé privée ski d'une entité 3 d'identité IDA consiste dans ce cas en un élément du groupe G1 représentatif de l'élément Ai = g1i(Y+Xi), où xi est un entier déterminé uniquement par IDA. Cet élément est donné par = AiXi = gXi'(Y+Xi). Typiquement, xi est obtenu en appliquant une fonction de hachage cryptographique H à la représentation binaire de l'identité: xi = H(IDj). La fonction H est aussi décrite dans les paramètres système connus des différentes entités. Dans cet exemple, la clé de chiffrement symétrique K générée pour chiffrer un message M à destination de s entités réceptrices d'identités ID1, ..., IDs, après tirage d'un nombre aléatoire k, est déterminée par l'élément vk.(Y+Xi)...(Y+Xs) du groupe G1, avec x1 = H(ID1), ..., xs = H(IDs). La clé K peut être égale à vk.(Y+Xi)...(Y+Xs) ou plus généralement à F[vk.(Y+x1)...(Y+Xs)], où F[.] désigne une fonction quelconque connue des différentes entités grâce aux informations système. Le calcul de l'élément vk.(Y+x,)...(Y+Xs) par le dispositif de chiffrement fait intervenir les puissances de h incluses dans la clé publique PK, et tire parti de l'égalité vYq = e(w, 0-1) résultant de la propriété de l'application bilinéaire e(., .), pour 0 puis, a partir du cryptogramme Hdr = (C1, C2) reçu avec le message chiffré, l'élément e(C1, zi).e(A'i, C2) du groupe GT. Grâce aux propriétés de l'application bilinéaire e(., .), on peut vérifier que si la clé privée ski = A'i est valide, cet élément e(C1, zi).e(A'i, C2) du groupe GT est égal à vk.(y+x1)...(y+xs). La clé de chiffrement symétrique K est donc récupérée selon: K = F[e(C1, zi).e(A'i, C2)]. En variante, on peut prendre les clés privées ski égales aux éléments Ai = g1"(y+xi), et faire calculer l'exponentiation par les entités réceptrices 3 lors du déchiffrement: K = F[e(C1, zi).e(Aixi, C2)]. Il est cependant plus efficace de calculer l'exponentiation une fois pour toutes lors de la génération de la clé privée. Lorsqu'un vecteur de valeurs intermédiaires PKs est calculé par un module 24 du dispositif de chiffrement comme représenté sur la figure 2, ce vecteur PKs inclut les trois éléments w, a et b des groupes G1, G2 et GT, avec a = h(y+x1)...(y+xs) et b = v(y+x1)...(y+xs). Les éléments a et b sont calculables par le module 24 à partir de la clé publique PK = (w, v, h, hy, hy2, ..., hym) et des entiers x1, ..., xs déduits des identités ID1, ..., IDS des entités réceptrices de l'ensemble visé. Après avoir obtenu le nombre aléatoire k, le module 26 calcule K et Hdr = (C1, C2) selon: K = bk, C1 = wk et C2 = ak. Du fait que les groupes G1, G2 et GT sont cycliques d'ordre p, les sommes d'entiers dans les exposants indiqués ci-dessus peuvent s'entendre comme des sommes modulo p. -13- L'exemple de schéma BIBE décrit ci-dessus utilise un oracle aléatoire puisqu'une fonction de hachage cryptographique H est utilisée pour assurer le caractère aléatoire des clés. Le modèle de l'oracle aléatoire étant une notion théorique, on pourrait utiliser une fonction de hachage uniquement pour compacter les données d'identité, sans avoir besoin de l'hypothèse qu'on a un oracle aléatoire. On notera que d'autres réalisations du schéma n'utilisent pas d'oracle aléatoire. Un exemple reposant sur des objets mathématiques similaires est décrit ci-après. Ici nous n'avons pas besoin de l'hypothèse mentionnée plus haut, mais il est quand même possible d'utiliser une fonction de hachage. Le niveau de sécurité offert par la fonction de hachage est alors moins important. Partant du nombre p, des groupes cycliques G1, G2 et GT et de l'application bilinéaire e(., .) évoqués précédemment, on prend une clé secrète MSK = (g, y, a) avec g choisi au hasard dans le groupe G1, y et a entiers compris entre 1 et pû1. La clé publique PK est construite en choisissant un élément h du groupe G2, en calculant h2 = ha puis PK = (w, v, h, hY, hY2, ..., hYm, h2, h2Y, h2Y2, ..., h2Ym), le nombre m étant défini comme précédemment. La clé privée ski d'une entité 3 d'identité IDj est générée en commençant par calculer deux éléments Aj et Bj des groupes G1 et G2, donnés par Aj = g1i(Y+Xi+ri.a) et Bj = h.h2 ril(Y+Xi+ri.a), où ri est un nombre que le générateur de clés privées 12 tire au hasard entre 1 et pû1 pour l'entité réceptrice, et xj est un entier déterminé uniquement par IDj. Cet entier xj n'a pas besoin d'être généré à l'aide d'une fonction de hachage cryptographique. Il peut être pris égal à l'identité IDj en représentation binaire: xj = IDj. Des puissances de l'élément Bj sont calculées afin de produire la clé privée ski = (Ai, rj, BjY, BjY2, ... , BjYm-1). Dans cet exemple, la clé de chiffrement symétrique K générée pour chiffrer un message M à destination de s entités réceptrices d'identités ID1, ..., - 14 - IDS, après tirage d'un nombre aléatoire k, est de la forme K = F[vk.(Y+X1)...(Y+Xs)], avec x1 = ID1, ., xs = IDS et F[.] étant une fonction quelconque connue des différentes entités. Pour donner accès à cette clé K aux entités autorisées, le cryptogramme Hdr calculé par le générateur 23 pour être transmis avec le message CM chiffré avec K inclut l'élément C1 = wk du groupe G1 et deux éléments C2 = hk.(Y+X1)... (Y+Xs) et C3 = h2k.(Y+Xl)... (Y+Xs) du groupe G2: Hdr = (C1, C2, C3). Une entité réceptrice 3 de l'ensemble de s entités destinataires du 10 message chiffré CM est capable de récupérer la clé K employée en calculant d'abord l'élément zi du groupe G2 égal à B;fi 1,i≠i(Y+xi) puis, à partir du cryptogramme Hdr = (C1, C2, C3) reçuavec le message chiffré, l'élément e(C1, zi).e(Aixi, C2).e(Aif, C3) du groupe GT. Grâce aux propriétés de l'application bilinéaire e(., .), on peut de nouveau vérifier que si la clé privée 15 ski = (Ai, ri, Bi, BiY, BiY2..., BiYmù1) est valide, alors e(C1, zi).e(Aixi, C2).e(Aif, C3) = vk.(Y+x1)...(Y+Xs). La clé de chiffrement symétrique K est donc récupérée par la formule: K = F[e(C1, zi).e(Aixi, C2).e(Air', C3)]. En variante, on peut prendre les clés privées ski de la forme 20 ski = (A), A BJ' BJ.Y' BJYZ BiYm-l) avec AJ ' = A1ixi et A "i = Ain. Dans ce cas, l'entité réceptrice 3 détenant la clé privée ski récupère la clé de chiffrement symétrique K selon K = F[e(C1, zi).e(A'i, C2).e(A"i, C3)], sans avoir à recalculer les puissances de Ai. Dans cette variante, A'i est représentatif de tandis que dans la variante précédente, jumelé à Ai est représentatif de A"i = Airi. 25 Lorsqu'un vecteur de valeurs intermédiaires PKs est calculé par un module 24 du dispositif de chiffrement comme représenté sur la figure 2, ce vecteur PKs inclut les quatre éléments w, a, a2 et b des groupes G1, G2 et GT, -15- avec a = h(Y1) ... (y+xs) a2 = h2(y+x1)... (y+xs) et b = v(r+x1)... (y+xs). Après avoir obtenu le nombre aléatoire k, le module 26 calcule K et Hdr = (CI, C2, C3) selon: K = bk, C~ = wk, C2 = ak et C3 = a2k. On remarque que si on prend a = 0 dans le schéma sans oracle aléatoire ci-dessus, on retombe sur le schéma avec oracle aléatoire décrit précédemment, les ri n'étant plus nécessaires. Les clés sont rendues aléatoires par le fait que les entiers xi dépendent alors des identités IDA à travers une fonction de hachage cryptographique. Les dispositifs de chiffrement et de déchiffrement représentés sur les ~o figures 2 et 3 peuvent être réalisés au moyen de circuits spécifiques ou de composants logiques programmés de type FPGA ou analogues. Une réalisation courante utilisera cependant des processeurs d'usage général exécutant des programmes selon l'invention, écrits de façon à mettre en oeuvre les calculs cryptographiques décrits ci-dessus... FT: CHIFFREMENT BROADCAST BASE SUR IDENTITE REVENDICATIONS 1. Procédé cryptographique basé sur identité, dans lequel une clé publique (PK) dépendant d'une clé secrète (MSK) est accessible à une entité émettrice (2) et à des entités réceptrices (3), et dans lequel des clés privées de 5 déchiffrement respectives (ski) sont associables aux entités réceptrices, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité (lDi) de ladite entité réceptrice, le procédé comprenant une opération de chiffrement d'au moins un message (M) à destination d'un ensemble de s entités réceptrices, s étant un nombre plus grand que 1, l'opération de 10 chiffrement comprenant les étapes suivantes: générer au moins une clé de chiffrement symétrique (K) et un cryptogramme (Hdr) associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité des s entités réceptrices et d'au moins un nombre entier (k) choisi par l'entité 15 émettrice, le cryptogramme étant généré de façon à donner accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble; chiffrer le message avec ladite clé de chiffrement symétrique dans 20 l'entité émettrice; et diffuser le cryptogramme et le message chiffré (CM) depuis l'entité émettrice. 2. Procédé cryptographique selon la revendication 1, dans lequel ledit cryptogramme (Hdr) a une taille constante et indépendante du nombre s. 25 3. Procédé cryptographique selon l'une quelconque des revendications précédentes, dans lequel les clés privées (ski) ont une taille constante et indépendante du nombre s.-17- 4. Procédé cryptographique selon l'une quelconque des revendications précédentes, dans lequel l'opération de chiffrement comporte une première phase de calcul et de mémorisation d'un vecteur de valeurs intermédiaires (PKs) en fonction de la clé publique et des paramètres d'identité (IDA) des s entités réceptrices, et au moins une itération d'une seconde phase exécutée par l'entité émettrice (2) et comprenant les étapes suivantes: tirer un nombre entier (k); calculer une clé de chiffrement symétrique (K) et le cryptogramme (Hdr) associé en fonction du nombre entier tiré (k) et du vecteur de valeurs 10 intermédiaires (PKs), sans prendre à nouveau en compte les paramètres d'identité des entités réceptrices; chiffrer un message avec la clé de chiffrement symétrique calculée; et diffuser le cryptogramme calculé et le message chiffré (CM). 5. Procédé cryptographique selon la revendication 4, dans lequel 15 l'opération de chiffrement comporte plusieurs itérations de la seconde phase pour le chiffrement et la diffusion de messages successifs par l'entité émettrice (2). 6. Procédé cryptographique selon l'une quelconque des revendications précédentes, comprenant une opération de déchiffrement effectuée par au 20 moins une des s entités réceptrices (3), l'opération de déchiffrement comprenant les étapes suivantes: - récupérer la clé de chiffrement symétrique (K) à partir du cryptogramme (Hdr), de la clé publique, des paramètres d'identité des s entités réceptrices et de la clé privée (ski) de ladite entité réceptrice; et 25 - déchiffrer le message diffusé avec la clé de chiffrement symétrique récupérée. 7. Procédé cryptographique selon la revendication 6, dans lequel l'opération de déchiffrement effectuée par ladite entité réceptrice (3) comporte une première phase de mémorisation d'au moins une valeur intermédiaire (z;)-18- déterminée en fonction de la clé publique (PK) et des paramètres d'identité (ID1, IDi+1, ..., IDS) des autres entités réceptrices de l'ensemble, et au moins une itération d'une seconde phase comprenant les étapes suivantes: recalculer la clé de chiffrement symétrique (K) en fonction du cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance de l'entité émettrice (2), de ladite valeur intermédiaire et de la clé privée (ski) de ladite entité réceptrice, sans prendre à nouveau en compte les paramètres d'identité des autres entités réceptrices de l'ensemble; et déchiffrer ledit message avec la clé de chiffrement symétrique recalculée. 8. Procédé cryptographique selon la revendication 7, dans lequel l'opération de déchiffrement comporte plusieurs itérations de la seconde phase pour le déchiffrement de messages (CM) successivement reçus avec des cryptogrammes respectifs (Hdr) en provenance de l'entité émettrice (2). 9. Dispositif de chiffrement, comprenant: une mémoire (20) pour contenir une clé publique (PK) d'un schéma de chiffrement basé sur identité, la clé publique dépendant d'une clé secrète (MSK) et étant en outre accessible à des entités réceptrices (3), le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives (ski) aux entités réceptrices, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité (IDA) de ladite entité réceptrice; un générateur (23) d'au moins une clé de chiffrement symétrique (K) et d'un cryptogramme (Hdr) associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité d'un ensemble de s entités réceptrices et d'un nombre entier (k) choisi localement, s étant un nombre plus grand que 1, le cryptogramme étant généré de façon à donner accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités-19- réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble; et un circuit (22) de chiffrement du message avec ladite clé de chiffrement symétrique, le message chiffré (CM) étant diffusé avec le cryptogramme. 10. Dispositif de chiffrement selon la revendication 9, dans lequel ledit cryptogramme (Hdr) a une taille constante et indépendante du nombre s. 11. Dispositif de chiffrement selon la revendication 9 ou 10, dans lequel le générateur (23) est agencé pour mémoriser un vecteur de valeurs intermédiaires (PKs) calculé dans une première phase en fonction de la clé publique (PK) et des paramètres d'identité (IDA) des s entités réceptrices (3) et pour exécuter une seconde phase de calcul d'une clé de chiffrement symétrique (K) et du cryptogramme (Hdr) associé en fonction d'un nombre entier (k) tiré dans la seconde phase et du vecteur de valeurs intermédiaires (PKs), sans prendre à nouveau en compte les paramètres d'identité des entités réceptrices, la seconde phase étant renouvelable pour la diffusion de messages chiffrés successifs à destination des s entités réceptrices. 12. Dispositif de déchiffrement, comprenant: une mémoire (30) pour contenir une clé publique (PK) d'un schéma de chiffrement basé sur identité ainsi qu'une clé privée (ski) associée audit dispositif, la clé publique dépendant d'une clé secrète (MSK) et étant en outre accessible à au moins une entité émettrice (2), le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives à des entités réceptrices incluant le dispositif de déchiffrement, la clé privée (ski) d'une entité réceptrice (3) dépendant de la clé secrète et d'un paramètre d'identité (IDA) de ladite entité réceptrice; un calculateur (33) pour récupérer une clé de chiffrement symétrique (K) à partir d'un cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance de l'entité émettrice, de la clé publique, des paramètres- 20 - d'identité d'un ensemble de s entités réceptrices incluant ledit dispositif et de la clé privée (ski) associée audit dispositif, s étant un nombre plus grand que 1; et un circuit (32) de déchiffrement du message avec la clé de chiffrement 5 symétrique. 13. Dispositif de déchiffrement selon la revendication 12, dans lequel ledit cryptogramme (Hdr) a une taille constante et indépendante du nombre s. 14. Dispositif de déchiffrement selon la revendication 12 ou 13, dans lequel le calculateur (33) est agencé pour mémoriser au moins une valeur 10 intermédiaire (z;) calculée dans une première phase en fonction de la clé publique (PK) et des paramètres d'identité (ID1, IDS) des autres entités réceptrices de l'ensemble, et pour exécuter une seconde phase de calcul d'une clé de chiffrement symétrique (K) en fonction d'un cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance d'une 15 entité émettrice (2), de ladite valeur intermédiaire et de la clé privée (ski) associée audit dispositif, sans prendre à nouveau en compte les paramètres d'identité des autres entités réceptrices de l'ensemble, la seconde phase étant renouvelable pour la réception de messages chiffrés successifs (CM) à destination des s entités réceptrices. 20 15. Programme d'ordinateur pour un dispositif de chiffrement (2) constituant une entité émettrice dans un procédé cryptographique basé sur identité selon l'une quelconque des revendications 1 à 8, le programme comprenant des instructions pour mettre en oeuvre les étapes d'une opération de chiffrement dudit procédé lors d'une exécution du programme par une unité 25 de traitement du dispositif de chiffrement. 16. Programme d'ordinateur pour un dispositif de déchiffrement (3) constituant une entité réceptrice dans un procédé cryptographique basé sur identité selon l'une quelconque des revendications 6 à 8, le programme comprenant des instructions pour mettre en oeuvre les étapes d'une opération- 21 - de déchiffrement dudit procédé lors d'une exécution du programme par une unité de traitement du dispositif de déchiffrement. 17. Support de données lisible par ordinateur, sur lequel est enregistré un programme conforme à la revendication 15 ou à la revendication 16.