FR2987711A1 - Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase - Google Patents

Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase Download PDF

Info

Publication number
FR2987711A1
FR2987711A1 FR1252000A FR1252000A FR2987711A1 FR 2987711 A1 FR2987711 A1 FR 2987711A1 FR 1252000 A FR1252000 A FR 1252000A FR 1252000 A FR1252000 A FR 1252000A FR 2987711 A1 FR2987711 A1 FR 2987711A1
Authority
FR
France
Prior art keywords
electronic device
message
calc
calculation server
encryption
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.)
Withdrawn
Application number
FR1252000A
Other languages
French (fr)
Inventor
Sebastien Canard
Julien Devigne
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR1252000A priority Critical patent/FR2987711A1/en
Publication of FR2987711A1 publication Critical patent/FR2987711A1/en
Withdrawn legal-status Critical Current

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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

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

Abstract

The method involves performing encrypted coding of a message (M) by an electronic device (MOB1) e.g. personal digital assistant, where the encrypted coded message is provided with information from the electronic device. A calculation server (CALC S) is utilized for performing encrypted coding of the message during an application phase. The encrypted coded message is arranged with a signature that is read by the calculation server. The signature is checked by the calculation server for allowing decrypting of the encrypted coded message. Independent claims are also included for the following: (1) a computer program comprising instructions for performing a method for accelerating cryptographic calculations (2) a system for accelerating cryptographic calculations.

Description

DELEGATION DE CALCULS CRYPTOGRAPHIQUES L'invention concerne le domaine de l'accélération des calculs cryptographiques, notamment dans le contexte du cloud computing, parfois appelé « informatique virtuelle », « informatique dans le nuage », « informatique en nuage », « informatique dématérialisée », ou encore « infonuagique », mais l'anglicisme cloud computing reste l'expression la plus courante et la mieux comprise par l'homme du métier français. Le cloud computing consiste à déporter sur des serveurs distants des stockages et/ou des traitements informatiques traditionnellement effectués par des serveurs locaux ou par un ordinateur personnel. Ces serveurs distants constituent le cloud. L'accès aux services hébergés par le cloud se fait généralement par une application standard facilement disponible, la plupart du temps un navigateur Web. Les utilisateurs du cloud ne sont donc plus en charge de leurs serveurs informatiques, ce qui simplifie leur tâche en supprimant la gestion de l'infrastructure sous-jacente, souvent complexe et onéreuse, qui se trouve ainsi mutualisée. Cependant, les applications et les données ne se trouvant plus sous le contrôle de l'utilisateur (sur un ordinateur local ou sur un serveur supervisé par l'utilisateur), elles sont potentiellement accessibles à des tiers (ne serait-ce que les propriétaires ou administrateurs du cloud). Ceci peut poser de graves problèmes de confidentialité des données. En particulier, un utilisateur peut souhaiter utiliser un cloud de type stockage pour stocker ses données (confidentielles ou personnelles). Dans un souci de protection de la vie privée (pour des données personnelles) ou pour des raisons de sécurité (données confidentielles, ou serveur peu protégé), certains systèmes ont récemment vu le jour pour permettre au cloud (ou plus généralement à une entité tierce telle qu'un serveur) de stocker des données de façon chiffrée sans que ce dernier n'ait la connaissance en clair des données stockées. Pour autant, il est nécessaire, dans certains cas, que le cloud soit capable de délivrer à des personnes autorisées (et pas seulement l'émetteur du document en question) la donnée en question. Par exemple, un utilisateur détenant une paire de clés dans le cadre d'une PKI (Public Key Infrastructure, parfois traduit en français par infrastucture à clés publiques, et parfois par infrastructure de gestion de clés) peut stocker ses propres informations, chiffrées avec sa clé publique, mais souhaiter permettre à certaines personnes (par exemple sa famille) d'accéder à certaines de ces informations (par exemple des photos de famille), sans pour autant divulguer sa clé privée (permettant de déchiffrer d'autres informations, telles que des déclarations d'impôt ou des dossiers médicaux). Pour cela, les systèmes existants utilisent une brique cryptographique appelée « proxy rechiffrement ».The invention relates to the field of the acceleration of cryptographic computations, particularly in the context of cloud computing, sometimes called "virtual computing", "cloud computing", "cloud computing", "cloud computing" , or "cloud computing", but the Anglicism Cloud Computing remains the most common expression and best understood by the French skilled person. Cloud computing is the deportation to remote servers of storage and / or computer processing traditionally performed by local servers or a personal computer. These remote servers are the cloud. Access to services hosted by the cloud is usually done by a standard application easily available, mostly a web browser. Cloud users are no longer in charge of their computer servers, which simplifies their task by removing the management of the underlying infrastructure, often complex and expensive, which is thus shared. However, since the applications and data are no longer under the control of the user (on a local computer or on a server supervised by the user), they are potentially accessible to third parties (even the owners or cloud administrators). This can pose serious data privacy issues. In particular, a user may wish to use a storage-type cloud to store his (confidential or personal) data. For the sake of privacy (for personal data) or for security reasons (confidential data, or low protection server), some systems have recently emerged to allow the cloud (or more generally to a third party) such as a server) to store data in an encrypted manner without the latter having the knowledge in clear of the stored data. However, it is necessary, in some cases, that the cloud is able to deliver to the authorized persons (and not only the issuer of the document in question) the data in question. For example, a user holding a key pair as part of a PKI (Public Key Infrastructure, sometimes translated into French by public key infrastructure, and sometimes key management infrastructure) can store his own information, encrypted with his public key, but wish to allow certain people (eg their family) to access some of this information (eg family photos), without disclosing their private key (allowing them to decipher other information, such as tax returns or medical records). For this, existing systems use a cryptographic brick called "proxy re-encryption".

Ceci est décrit notamment dans l'article « Improved Proxy Re-encryption Schemes with Applications to Secure Distributed Storage », de Giuseppe Ateniese (The Johns Hopkins University) Kevin Fu (University of Massachusetts, Amherst), Matthew Green (The Johns Hopkins University) et Susan Hohenberger (Massachusetts Institute of Technology), publié dans ACM Transactions on Information and System Security, volume 9, numéro 1, février 2006, pages 1-30. Dans de tels systèmes, le cloud gère plusieurs comptes distincts. Il est possible d'enregistrer plusieurs dispositifs sur chaque compte. A chaque fois qu'un dispositif est enregistré sur un compte, une clé KT de transition est générée pour chaque couple possible de dispositifs inscrits sur ce compte. Ainsi, si le compte A (par exemple compte des photos de familles) dispose de trois dispositifs 1, 2 et 3 (associés par exemple au photographe, à son frère et à sa tante), il est possible de créer les clés de transitions KT12 (entre les dispositifs 1 et 2), KT13 (entre les dispositifs 1 et 3), KT23 (entre les dispositifs 2 et 3), KT21 (entre les dispositifs 2 et 1), KT31 (entre les dispositifs 3 et 1) et KT32 (entre les dispositifs 3 et 2). Les dispositifs peuvent être par exemple des ordinateurs (portables ou fixes), des tablettes, ou encore des téléphones mobiles (traditionnels ou de type smartphone). Lorsque l'utilisateur d'un dispositif (par exemple le photographe) souhaite stocker une donnée, il chiffre la donnée avec sa clé publique PK de chiffrement grâce au dispositif. La donnée chiffrée est alors stockée dans le cloud. Si l'utilisateur d'un des trois dispositifs souhaite récupérer une donnée sur le cloud, il en fait la demande à ce dernier à l'aide du dispositif. Si le dispositif ne détient pas la clé privée de déchiffrement correspondant à la clé publique qui a été utilisée pour chiffrer la donnée en question, alors le cloud utilise la clé de transition appropriée pour rechiffrer la donnée pour le dispositif considéré. Par exemple, si la donnée est chiffrée pour le dispositif 2, c'est-à-dire avec la clé PK2, et si c'est le dispositif 1 qui demande à lire la donnée, alors le cloud utilise la clé de transition KT21 (a priori différente de la clé KT12 sauf dans un système bidirectionnel) pour obtenir un chiffrement de la donnée pour le dispositif 1. Ce faisant, le cloud n'accède jamais à la donnée en clair, l'algorithme de rechiffrement transformant une donnée chiffrée avec une première clé en une donnée chiffrée avec une seconde clé sans nécessiter de déchiffrement intermédiaire (le rechiffrement n'est pas un déchiffrement suivi d'un chiffrement avec une clé différente). Si jamais l'utilisateur du dispositif 1 modifie la donnée et souhaite stocker la nouvelle version dans le cloud, il peut, grâce à son dispositif 1, chiffrer cette nouvelle version avec sa clé publique PK1 de chiffrement (ou bien n'importe quelle autre clé d'une entité autorisée à déchiffrer ce message) et stocker le nouveau chiffré (donnée modifiée à nouveau chiffrée) sur le cloud.This is described in particular in the article "Improved Proxy Re-encryption Schemes with Applications to Secure Distributed Storage" by Giuseppe Ateniese (Johns Hopkins University) Kevin Fu (University of Massachusetts, Amherst), Matthew Green (The Johns Hopkins University) and Susan Hohenberger (Massachusetts Institute of Technology), published in ACM Transactions on Information and System Security, Volume 9, Issue 1, February 2006, pages 1-30. In such systems, the cloud manages several separate accounts. It is possible to register multiple devices on each account. Whenever a device is registered to an account, a transition key KT is generated for each possible pair of devices registered on that account. Thus, if the account A (for example counts family photos) has three devices 1, 2 and 3 (associated for example with the photographer, his brother and his aunt), it is possible to create the keys of transitions KT12 (between devices 1 and 2), KT13 (between devices 1 and 3), KT23 (between devices 2 and 3), KT21 (between devices 2 and 1), KT31 (between devices 3 and 1) and KT32 (between devices 3 and 2). The devices can be for example computers (portable or fixed), tablets, or mobile phones (traditional or smartphone type). When the user of a device (for example the photographer) wishes to store data, he encrypts the data with his PK public key encryption through the device. The encrypted data is then stored in the cloud. If the user of one of the three devices wishes to retrieve data on the cloud, he asks the latter to use the device. If the device does not hold the decryption private key corresponding to the public key that was used to encrypt the data in question, then the cloud uses the appropriate transition key to re-encrypt the data for the device in question. For example, if the data is encrypted for the device 2, that is to say with the PK2 key, and if it is the device 1 that asks to read the data, then the cloud uses the KT21 transition key ( a priori different from the key KT12 except in a bidirectional system) to obtain an encryption of the data for the device 1. In doing so, the cloud never accesses the data in clear, the re-encryption algorithm transforming an encrypted data with a first key in an encrypted data with a second key without requiring intermediate decryption (the re-encryption is not a decryption followed by an encryption with a different key). If the user of the device 1 ever modifies the data and wishes to store the new version in the cloud, he can, thanks to his device 1, encrypt this new version with his PK1 public key of encryption (or any other key an entity authorized to decrypt this message) and store the new encrypted (data modified again encrypted) on the cloud.

N'importe lequel des trois dispositifs inscrits sur le compte pourra toujours accéder à cette nouvelle version moyennant, le cas échéant (si cette nouvelle version n'est déchiffrable par aucune clé privée détenue par le dispostitif), un rechiffrement. Le système d'Ateniese-Fu-Green-Hohenberger pose les bases de ce système, avec notamment la possibilité de ne gérer qu'une seule clé pour le chiffrement, les clés de re-chiffrement étant systématiquement calculées à partir de la clé privée correspondante du dispositif pointé par un algorithme à sens unique (empêchant de retrouver cette clé privée à partir de la clé de transition).Any of the three devices registered on the account will always be able to access this new version by means of, if necessary (if this new version can not be deciphered by any private key held by the device), a re-encryption. The Ateniese-Fu-Green-Hohenberger system lays the foundations of this system, including the possibility of managing only one key for encryption, the re-encryption keys being systematically calculated from the corresponding private key of the device pointed by a one-way algorithm (preventing to find this private key from the transition key).

Le système de Tysowski-Anwarul reprend l'idée du système précédent (décrit pour un serveur) et l'adapte à une situation comprenant un cloud de stockage. Cependant, tous ces systèmes posent des problèmes de performance En effet, si la phase de rechiffrement peut être déléguée au cloud, qui peut mettre en oeuvre un rechiffrement très performant, il n'en est pas de même pour le chiffrement ni pour le déchiffrement, qui sont mis en oeuvre par les dispositifs eux-mêmes. Or ces dispositifs peuvent n'avoir que des performances très médiocres (par exemple dans le cas d'un téléphone mobile) et ralentir les opérations de stockage dans le cloud (qui peuvent impliquer un chiffrement) ou la lecture de données stockées dans le cloud (qui peut impliquer un déchiffrement). Il est rappelé que par définition, une clé secrète (utilisée dans le cadre d'un système cryptographique dit « à clé secrète » ou « symétrique ») est une clé utilisée indifféremment pour chiffrer une donnée ou pour déchiffrer cette donnée une fois qu'elle est chiffrée. Ainsi le partage de données chiffrées avec une clé secrète implique-t-il le partage de la clé secrète (pour que l'entité recevant les données chiffrées puisse les déchiffrer). A contrario, un couple de clés (utilisé dans le cadre d'un système cryptographique dit « à clé publique » ou « asymétrique ») constitué d'une clé privée, détenue par un seul titulaire et d'une clé publique associée, qui peut être partagée avec tout le monde, permet, par exemple dans le cadre d'une PKI, de ne pas partager les moyens de déchiffrement (ou plus généralement les moyens de signature, d'authentification, etc.). Il convient donc de ne pas confondre la notion de clé secrète (qui est une clé symétrique) avec la notion de clé privée (qui est une clé asymétrique associée à une clé publique). Cependant, par abus de langage, on qualifie parfois les clés privées de clés secrètes lorsqu'il n'existe pas d'ambiguïté. L'invention vise à améliorer la situation.The Tysowski-Anwarul system takes the idea of the previous system (described for a server) and adapts it to a situation including a storage cloud. However, all these systems pose performance problems Indeed, if the re-encryption phase can be delegated to the cloud, which can implement a high-performance re-encryption, it is not the same for encryption or decryption, which are implemented by the devices themselves. But these devices may have only very poor performance (for example in the case of a mobile phone) and slow down storage operations in the cloud (which may involve encryption) or reading data stored in the cloud ( which may involve decryption). It is recalled that by definition, a secret key (used in the context of a so-called "secret key" or "symmetric" cryptosystem) is a key that is used interchangeably to encrypt data or to decipher this data once it has been encrypted. is encrypted. Thus the sharing of encrypted data with a secret key involves sharing the secret key (so that the entity receiving the encrypted data can decrypt them). By contrast, a pair of keys (used in the context of a "public key" or "asymmetric" cryptosystem) consisting of a private key held by a single holder and an associated public key, which can be shared with everyone, allows, for example in the context of a PKI, not to share the means of decryption (or more generally the means of signing, authentication, etc.). It is therefore important not to confuse the notion of secret key (which is a symmetric key) with the notion of private key (which is an asymmetric key associated with a public key). However, by misnomer, private keys are sometimes called secret keys when there is no ambiguity. The invention aims to improve the situation.

L'invention se rapporte notamment à un procédé d'accélération de calculs cryptographiques par un système comprenant un dispositif électronique et un serveur de calcul, le procédé comprenant: /a/ la mise en oeuvre, par le dispositif électronique, d'au moins une étape d'un chiffrement rechiffrable d'un message, ladite au moins une étape comprenant la ou les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message; /b/ la délégation, par le dispositif électronique au serveur de calcul de la mise en oeuvre des étapes du chiffrement rechiffrable autres que ladite au moins une étape mise en oeuvre par le dispositif électronique durant la phase /a/.The invention relates in particular to a method of accelerating cryptographic calculations by a system comprising an electronic device and a calculation server, the method comprising: / a / the implementation, by the electronic device, of at least one a step of a re-encrypted encryption of a message, said at least one step comprising the step or step of the encryption encryption that uses information in clear on the message; / b / the delegation, by the electronic device to the calculation server of the implementation of the re-encryptive encryption steps other than said at least one step implemented by the electronic device during the phase / a /.

Ce protégé est avantageux en ce qu'il permet d'accroître les performances du chiffrement, grâce à la puissance de calcul du serveur de calcul, sans compromettre la sécurité (le serveur de calcul n'ayant pas accès au message en clair). Il est également avantageux en ce qu'il évite qu'un ensemble d'entités en collusion (par exemple une entité ayant accès au serveur de calcul et une entité en charge d'un rechiffrement du message chiffré rechiffrable) obtienne le message en clair. L'invention se rapporte également à un procédé d'accélération de calculs cryptographiques par un système comprenant un dispositif électronique et un serveur de calcul, le procédé comprenant: /c/ la mise en oeuvre, par le dispositif électronique, d'au moins une étape d'un déchiffrement d'un message chiffré par chiffrement rechiffrable, ladite au moins une étape comprenant la ou les étapes du déchiffrement qui utilisent des informations en clair sur le message; /d/ la délégation par le dispositif électronique au serveur de calcul de la mise en oeuvre de la ou des étapes du déchiffrement autres que ladite au moins une étape mise en oeuvre par le dispositif électronique durant la phase /c/. Ce protégé est avantageux en ce qu'il permet d'accroître les performances du déchiffrement, grâce à la puissance de calcul du serveur de calcul, sans compromettre la sécurité (le serveur de calcul n'ayant pas accès au message en clair). Il est également avantageux en ce qu'il évite qu'un ensemble d'entités en collusion (par exemple une entité ayant accès au serveur de calcul et une entité en charge d'un rechiffrement du message chiffré rechiffrable) obtienne le message en clair.This protected is advantageous in that it increases the performance of encryption, thanks to the computing power of the calculation server, without compromising security (the calculation server does not have access to the message in clear). It is also advantageous in that it prevents a set of entities in collusion (for example an entity having access to the calculation server and an entity in charge of a re-encryption of the encrypted message that is re-encrypted) to obtain the message in the clear. The invention also relates to a method of accelerating cryptographic calculations by a system comprising an electronic device and a calculation server, the method comprising: / c / the implementation, by the electronic device, of at least one a step of decrypting a scrambled encrypted message by encryption, said at least one step comprising the one or more decryption steps that use plaintext information on the message; / d / the delegation by the electronic device to the calculation server of the implementation of the step or decryption steps other than said at least one step implemented by the electronic device during phase / c /. This protected is advantageous in that it increases the performance of the decryption, thanks to the computing power of the calculation server, without compromising security (the calculation server does not have access to the message in clear). It is also advantageous in that it prevents a set of entities in collusion (for example an entity having access to the calculation server and an entity in charge of a re-encryption of the encrypted message that is re-encrypted) to obtain the message in the clear.

L'invention se rapporte également à un programme d'ordinateur agencé pour mettre en oeuvre un procédé selon un mode de réalisation de l'invention, lorsqu'il est exécuté par un ou plusieurs processeurs. Un tel programme d'ordinateur procure les avantages du procédé qu'il met en oeuvre, ainsi qu'une flexibilité accrue par rapport à une mise en oeuvre purement matérielle du procédé (en particulier, les modifications ou mises à jour du système peuvent être facilitées). L'invention se rapporte également à un système d'accélération de calculs cryptographiques, comprenant un dispositif électronique et un serveur de calcul, dans lequel: le dispositif électronique est agencé pour mettre en oeuvre au moins une étape d'un chiffrement rechiffrable d'un message, ladite au moins une étape comprenant la ou les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message; le dispositif électronique est agencé pour déléguer au serveur de calcul la mise en oeuvre de la ou des étapes du chiffrement rechiffrable autres que la au moins une étape mise en oeuvre par le dispositif électronique.The invention also relates to a computer program arranged to implement a method according to an embodiment of the invention, when it is executed by one or more processors. Such a computer program provides the advantages of the method that it implements, as well as an increased flexibility compared to a purely material implementation of the method (in particular, modifications or updates of the system can be facilitated ). The invention also relates to a system for accelerating cryptographic calculations, comprising an electronic device and a calculation server, in which: the electronic device is arranged to implement at least one step of a re-encrypable encryption of a message, said at least one step comprising the step or steps of the re-encrypting encryption that use information in clear on the message; the electronic device is arranged to delegate to the calculation server the implementation of the step or steps of encryption re-encryption other than the at least one step implemented by the electronic device.

Ce système est avantageux en ce qu'il permet d'accroître les performances du chiffrement, grâce à la puissance de calcul du serveur de calcul, sans compromettre la sécurité (le serveur de calcul n'ayant pas accès au message en clair). Il est également avantageux en ce qu'il évite qu'un ensemble d'entités en collusion (par exemple une entité ayant accès au serveur de calcul et une entité en charge d'un rechiffrement du message chiffré rechiffrable) obtienne le message en clair. L'invention se rapporte également à un système d'accélération de calculs cryptographiques, comprenant un dispositif électronique et un serveur de calcul, dans lequel: le dispositif électronique est agencé pour mettre en oeuvre au moins une étape d'un déchiffrement d'un message chiffré par chiffrement rechiffrable, ladite au moins une étape comprenant la ou les étapes du déchiffrement qui utilisent des informations en clair sur le message; le dispositif électronique est agencé pour déléguer au serveur de calcul la mise en oeuvre de la ou des étapes du déchiffrement autres que la au moins une étape mise en oeuvre par le dispositif électronique. Ce système est avantageux en ce qu'il permet d'accroître les performances du déchiffrement, grâce à la puissance de calcul du serveur de calcul, sans compromettre la sécurité (le serveur de calcul n'ayant pas accès au message en clair). Il est également avantageux en ce qu'il évite qu'un ensemble d'entités en collusion (par exemple une entité ayant accès au serveur de calcul et une entité en charge d'un rechiffrement du message chiffré rechiffrable) obtienne le message en clair. D'autres aspects, buts et avantages de l'invention apparaîtront à la lecture de la description de plusieurs de ses modes de réalisation. L'invention sera également mieux comprise à l'aide des dessins, sur lesquels: - la figure 1 illustre un système selon un mode de réalisation ; - les figures 2 à 5 illustrent des modes de réalisation de procédés selon l'invention ; - les figure 6 à 9 illustrent des procédés d'accélération cryptographique ; La figure 1 illustre un système comprenant un PDA (de l'anglais Personal Digital Assistant) comprenant des fonctions de téléphonie mobile, identifié par la référence MOB1, une tablette MOB2 comprenant également des fonctions de téléphonie mobile, un cloud de stockage CLOUD dans lequel le PDA MOB1 et la tablette MOB2 peuvent stocker des informations, et un serveur de calcul CALC_S, qui fait partie d'un cloud différent du cloud de stockage CLOUD. Le PDA MOB1 comprend une clé publique PUB_K1 et une clé privée associée PRI_K 1. Il partage sa clé publique PUB_K1 notamment avec le serveur de calcul CALC_S. La tablette MOB2 comprend une clé publique PUB_K2 et une clé privée associée PRI_K2. Elle partage sa clé publique PUB_K2 notamment avec le serveur de calcul CALC_S. Le PDA MOB1 chiffre un message M à l'aide de sa clé publique PUB_K1. Afin de mettre en oeuvre ce chiffrement (qui est un chiffrement rechiffrable, c'est-à-dire un chiffrement dont le résultat peut être rechiffré), il effectue des calculs coopératifs (matérialisés par une double flèche verticale) avec le serveur de calcul CALC_S. Ces calculs coopératifs permettent d'accélérer l'opération de chiffrement (certaines étapes étant effectuées par le serveur de calcul CALC_S et allégeant ainsi la charge du PDA MOB1). Ces calculs coopératifs sont mis en oeuvre sans avoir à divulguer au serveur de calcul CALC_S ni le message M ni la clé privée PRI_K1 ou PRI_K2, ce qui est illustré par une croix barrant les clés privées PRI_K1 et PRI_K2 et le message M, au niveau du serveur de calcul CALC_S. Le PDA MOB1 transmet alors le message chiffré au cloud de stockage CLOUD afin de le stocker. Puis la tablette MOB2 demande l'accès à ce message. Le message chiffré avec la clé PUB_K1 n'étant déchiffrable qu'avec la clé PRI_Kl, dont la tablette MOB2 ne dispose pas, le cloud de stockage CLOUD met en oeuvre un rechiffrement du message chiffré à l'aide d'une clé de transition TK12. Ce rechiffrement est mis en oeuvre sans avoir à divulguer au cloud de stockage CLOUD ni le message M ni la clé privée PRI_K1 ou PRI_K2, ce qui est illustré par une croix barrant les clés privées PRI_K1 et PRI_K2 et le message M, au niveau du cloud de stockage. Après réception du message M rechiffré, la tablette MOB2 met en oeuvre le déchiffrement du message à l'aide de sa clé privée PRI_K2. Afin de mettre en oeuvre ce déchiffrement, elle effectue des calculs coopératifs (matérialisés par une double flèche horizontale) avec le serveur de calcul CALC_S. Ces calculs coopératifs permettent d'accélérer l'opération de déchiffrement. Ces calculs coopératifs sont mis en oeuvre sans avoir à divulguer au serveur de calcul CALC_S ni le message M ni la clé privée PRI_K1 ou PRI_K2, ce qui est illustré par une croix barrant les clés privées PRI_K1 et PRI_K2 et le message M, au niveau du serveur de calcul CALC_S. Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques est mis en oeuvre par un système comprenant un dispositif électronique MOB1 et un serveur de calcul CALC_S. Le dispositif électronique peut être un ordinateur portable, un ordinateur de bureau (dit « desktop » en terminologie anglaise), une tablette, un serveur (tel qu'un serveur d'entreprise, sous contrôle de l'entreprise, par opposition aux serveurs du cloud), un téléphone portable (traditionnel ou évolué, de type smartphone), un appareil photo numérique, un enregistreur numérique (tel qu'un enregistreur intégré à un lecteur MP3), une clé USB de sécurité, une carte mémoire de sécurité, ou encore une carte SIM. Cette liste d'exemples n'est pas limitative. Certains dispositifs électroniques selon le procédé peuvent avoir, intrinsèquement, des performances restreintes. Par exemple, la carte SIM d'un téléphone portable dispose d'un processeur très peu puissant comparé à un processeur d'ordinateur conventionnel, et de capacités de stockage (en mémoire vive et en mémoire morte réinscriptible ou non) très limitées (très inférieures, parfois de plusieurs ordres de grandeur, à celles d'un ordinateur conventionnel), les capacités de calcul pouvant être affectées négativement par chacune de ces capacités restreintes.This system is advantageous in that it makes it possible to increase the performance of the encryption, thanks to the calculation power of the calculation server, without compromising the security (the calculation server having no access to the message in the clear). It is also advantageous in that it prevents a set of entities in collusion (for example an entity having access to the calculation server and an entity in charge of a re-encryption of the encrypted message that is re-encrypted) to obtain the message in the clear. The invention also relates to a system for accelerating cryptographic calculations, comprising an electronic device and a calculation server, in which: the electronic device is arranged to implement at least one step of a decryption of a message encrypted by scramble encryption, said at least one step comprising the one or more decryption steps that use information in clear on the message; the electronic device is arranged to delegate to the calculation server the implementation of the step or steps of decryption other than the at least one step implemented by the electronic device. This system is advantageous in that it makes it possible to increase the performance of the decryption, thanks to the calculation power of the calculation server, without compromising the security (the calculation server having no access to the message in the clear). It is also advantageous in that it prevents a set of entities in collusion (for example an entity having access to the calculation server and an entity in charge of a re-encryption of the encrypted message that is re-encrypted) to obtain the message in the clear. Other aspects, objects and advantages of the invention will appear on reading the description of several of its embodiments. The invention will also be better understood with the aid of the drawings, in which: FIG. 1 illustrates a system according to one embodiment; FIGS. 2 to 5 illustrate embodiments of methods according to the invention; FIGS. 6 to 9 illustrate methods of cryptographic acceleration; FIG. 1 illustrates a system comprising a PDA (Personal Digital Assistant) comprising mobile telephony functions, identified by the reference MOB1, a MOB2 tablet also comprising mobile telephony functions, a CLOUD storage cloud in which the PDA MOB1 and the MOB2 tablet can store information, and a CALC_S calculation server, which is part of a cloud different from the CLOUD cloud storage. The PDA MOB1 comprises a public key PUB_K1 and an associated private key PRI_K 1. It shares its public key PUB_K1 in particular with the calculation server CALC_S. The MOB2 tablet includes a public key PUB_K2 and an associated private key PRI_K2. It shares its public key PUB_K2 notably with the computing server CALC_S. The PDA MOB1 encrypts an M message using its public key PUB_K1. In order to implement this encryption (which is a re-encrypted encryption, that is to say an encryption whose result can be re-encrypted), it performs cooperative calculations (materialized by a double vertical arrow) with the calculation server CALC_S . These cooperative calculations make it possible to accelerate the encryption operation (certain steps being carried out by the calculation server CALC_S and thus lightening the load of the PDA MOB1). These cooperative computations are implemented without having to divulge to the calculation server CALC_S neither the message M nor the private key PRI_K1 or PRI_K2, which is illustrated by a cross blocking the private keys PRI_K1 and PRI_K2 and the message M, at the level of the Calculation server CALC_S. The MOB1 PDA then transmits the encrypted message to the CLOUD storage cloud in order to store it. Then the MOB2 tablet requests access to this message. Since the message encrypted with the key PUB_K1 can only be decrypted with the key PRI_K1, which the tablet MOB2 does not have, the storage cloud CLOUD implements a re-encryption of the encrypted message by means of a transition key TK12 . This re-encryption is implemented without having to disclose the message M nor the private key PRI_K1 or PRI_K2 to the storage cloud CLOUD, which is illustrated by a cross blocking the private keys PRI_K1 and PRI_K2 and the message M, at the level of the cloud. storage. After receiving the re-encrypted message M, the MOB2 tablet implements the decryption of the message using its private key PRI_K2. In order to implement this decryption, it performs cooperative calculations (materialized by a double horizontal arrow) with the calculation server CALC_S. These cooperative calculations make it possible to speed up the decryption operation. These cooperative computations are implemented without having to divulge to the calculation server CALC_S neither the message M nor the private key PRI_K1 or PRI_K2, which is illustrated by a cross blocking the private keys PRI_K1 and PRI_K2 and the message M, at the level of the Calculation server CALC_S. According to one embodiment, a method for accelerating cryptographic calculations is implemented by a system comprising an electronic device MOB1 and a calculation server CALC_S. The electronic device can be a laptop, a desktop, a tablet, a server (such as an enterprise server, under the control of the company, as opposed to the servers of the company). cloud), a mobile phone (traditional or advanced, smartphone type), a digital camera, a digital recorder (such as a recorder integrated into an MP3 player), a USB security key, a security memory card, or still a SIM card. This list of examples is not limiting. Some electronic devices according to the method may inherently have limited performance. For example, the SIM card of a mobile phone has a very weak processor compared to a conventional computer processor, and storage capacities (in RAM and in rewritable memory or not) very limited (much lower , sometimes several orders of magnitude, to those of a conventional computer), the computing capabilities can be negatively affected by each of these restricted capabilities.

Cependant, une carte SIM offre un environnement qui peut être beaucoup plus sécurisé que celui d'un téléphone portable qui l'héberge, et peut donc être un dispositif électronique avantageux dans le cadre de l'invention du point de vue de la sécurité. D'autres dispositifs électroniques selon le procédé, tels que les serveurs, peuvent être suffisamment puissants pour traiter rapidement une requête de chiffrement, mais peuvent se trouver dans l'incapacité de traiter un nombre de requêtes parallèles supérieur à un certain seuil. Ceci pourrait être le cas par exemple d'un serveur de chiffrement d'une entreprise, si ce serveur se trouvait soudainement sollicité par de nombreux employés de l'entreprise. D'autres dispositifs électroniques selon le procédé, tels que les ordinateurs personnels (portables ou non) peuvent voir leurs performances affectées par des paramètres difficilement maîtrisés. Alors qu'un serveur ou un parc de cartes SIM peut être supervisé par un administrateur réseau, un ordinateur personnel est souvent administré de manière non éclairée par un utilisateur non averti, et peut faire l'objet d'installations de logiciels divers (logiciels de pair à pair, etc.) ou de configurations inadaptées ou encore d'infections par des virus. Ceci est susceptible d'affecter les performances de l'ordinateur. Ainsi, un ordinateur personnel pourrait, alors que ses performances sont négativement affectées par la présence de nombreux logiciels consommateurs de ressources (ressources de calcul, ressources réseau, ressources de stockage, etc.), se trouver dans l'impossibilité de traiter des requêtes de chiffrement de l'utilisateur dans un délai satisfaisant. Par exemple, l'utilisateur d'un ordinateur pourrait souhaiter effectuer une archive chiffrée de son disque dur dans le cloud. Ceci pourrait générer le chiffrement de centaines de milliers de fichiers et ralentir le processus d'une manière très perceptible et très gênante pour l'utilisateur. Ceci est d'autant plus perceptible si chaque fichier est chiffré indépendamment (et encore plus s'il existe de nombreux fichiers de petite taille). Le ralentissement est encore accru si chaque fichier est chiffré par une clé de session distincte de celle utilisée pour les autres fichiers, ce qui peut être souhaitable.However, a SIM card provides an environment that can be much more secure than that of a mobile phone that hosts it, and can therefore be an advantageous electronic device in the context of the invention from the point of view of security. Other electronic devices according to the method, such as servers, may be powerful enough to quickly process an encryption request, but may be unable to process a number of parallel requests greater than a certain threshold. This could be the case, for example, of a company's encryption server, if this server was suddenly solicited by many employees of the company. Other electronic devices according to the method, such as personal computers (portable or not) can see their performance affected by parameters difficult to control. While a server or SIM card park may be supervised by a network administrator, a personal computer is often administered in an unintended manner by an unsuspecting user, and may be subject to miscellaneous software installations (computer software). peer-to-peer, etc.) or unsuitable configurations or infections with viruses. This may affect the performance of the computer. Thus, a personal computer could, while its performance is negatively affected by the presence of many software consuming resources (computing resources, network resources, storage resources, etc.), find it impossible to process requests from encryption of the user within a satisfactory time. For example, the user of a computer might want to make an encrypted archive of his hard drive in the cloud. This could generate the encryption of hundreds of thousands of files and slow down the process in a very perceptible and very annoying way for the user. This is even more noticeable if each file is encrypted independently (and even more if there are many small files). Slowing is further increased if each file is encrypted by a separate session key from the one used for the other files, which may be desirable.

Le serveur de calcul CALC_S selon le procédé peut être un serveur logiciel fournissant des services de calculs cryptographiques (par exemple au dispositif électronique, considéré comme client d'une architecture client serveur). Le serveur de calcul CALC_S selon le procédé peut également être un serveur physique hébergeant un serveur logiciel selon la phrase précédente. Il peut également s'agir d'un ensemble de serveurs physiques interconnectés coopérant afin de fournir les services de calculs cryptographiques par l'intermédiaire d'un unique serveur logique. L'utilisation d'un tel ensemble peut permettre une performance accrue ainsi qu'une redondance améliorant la qualité de service en cas de panne d'un des serveurs physiques. Il est également possible que le serveur de calcul soit hébergé par un réseau de dispositifs de calculs (appelé grid, en raison du terme anglais correspondant, ou parfois grille informatique en français). Selon un mode de réalisation possible, le serveur est réparti sur un ensemble de cartes à puces. Le procédé comprend la mise en oeuvre, par le dispositif électronique MOB 1, d'étapes d'un chiffrement rechiffrable d'un message M, lesdites étapes comprenant les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message M. Il est entendu que le pluriel « étapes » couvre la situation dans laquelle il n'y a qu'une seule étape. Selon un mode de réalisation, le chiffrement rechiffrable est opéré à l'aide d'une clé publique du dispositif électronique. Le message M peut être une clé secrète (au sens strict, c'est-à- dire une clé symétrique), telle qu'une clé RC4, DES, 3DES, AES, ou autre. Ainsi, un dispositif électronique peut-il générer ou faire générer une clé secrète, chiffrer des informations (par exemple des fichiers de photos, des fichiers de musique, ou tout autre contenu) avec cette clé secrète (selon un chiffrement symétrique conventionnel), et chiffrer cette clé secrète avec une clé publique qui lui est propre, selon un chiffrement rechiffrable. Le fait que le chiffrement du message M soit rechiffrable signifie, comme c'est bien connu par l'homme du métier, qu'il est possible de transformer le message chiffré avec une clé publique du dispositif électronique en ce même message chiffré avec une autre clé publique, sans avoir à déchiffrer le message chiffré initial (bien entendu le chiffré issue du rechiffrement est différent du chiffré initial). Ainsi, des informations initialement chiffrées stockées par l'utilisateur du dispositif électronique pour son propre compte (par exemple dans le cloud), en combinaison avec le chiffrement rechiffrable de la clé secrète utilisée pour chiffrer ces informations, peuvent elles être ultérieurement partagées avec d'autres personnes, sous réserve de la disponibilité du rechiffrement idoine. Par exemple, après rechiffrement de la clé secrète avec la clé publique d'un deuxième dispositif électronique MOB2, ce deuxième dispositif électronique peut déchiffrer la clé secrète (à l'aide de sa clé privée correspondant à la clé publique utilisée lors du rechiffrement), puis déchiffrer le contenu chiffré avec cette clé secrète. Selon certains modes de réalisation, les informations à partagées sont de très petite taille, et il est possible de les chiffrer avec le chiffrement rechiffrable directement, sans passer par l'intermédiaire d'un chiffrement symétrique. Ainsi, le message M peut-il contenir directement les informations utiles. Dans ce cas, il peut être opportun, avant de chiffrer les informations, de leur appliquer un padding (parfois appelé schéma de remplissage en français, bien que l'homme du métier utilise habituellement le terme anglais padding). Selon un mode de réalisation, la méthode de chiffrement rechiffrable étant divisée en étapes, le dispositif électronique n'effectue que les étapes qui utilisent des informations en clair sur le message M. Les informations en clair sur le message M sont les informations qui permettent de déterminer directement ou indirectement au moins une partie du message M, sans posséder aucune clé permettant de déchiffrer le résultat final du chiffrement rechiffrable du message M ni aucune partie d'une telle clé. Les étapes effectuées par le dispostif électronique peuvent donc comprendre, par exemple, une étape utilisant un bloc du message M (lorsque ce message M est divisé en plusieurs blocs), ou encore utilisant tout ou partie du message M ayant fait l'objet d'un XOR (opération logique de ou exclusif) avec un masque déterminé ou déterminable (tel qu'un vecteur d'initialisation standard, ou non secret, ou constant et aisément devinable), ou encore utilisant tout ou partie du message ayant fait l'objet d'un simple traitement de formatage, même s'il s'agit d'un formatage surjectif (dans la mesure où il est possible de récupérer au moins une partie du message à partir du résultat du traitement de formatage), ou encore utilisant tout ou partie du message M ayant fait l'objet d'une manipulation inversible à l'aide de données non secrètes ni privées. Selon un mode de réalisation, la méthode de chiffrement rechiffrable comprend au moins une étape, qui, tout en n'utilisant pas d'informations en clair sur le message M, utilise des informations en clair sur tout ou partie de clés secrètes ou privées ou d'autres éléments secrets utilisés dans le cadre du chiffrement rechiffrable (bien qu'aucun élément secret ou privé ne soit obligatoire dans l'absolu). Dans ce cas, le dispositif électronique effectue cette (ou ces) étape(s), en plus des étapes qui utilisent des informations en clair sur le message M.The calculation server CALC_S according to the method may be a software server providing cryptographic calculation services (for example to the electronic device, considered as client of a server client architecture). The calculation server CALC_S according to the method can also be a physical server hosting a software server according to the preceding sentence. It can also be a set of interconnected physical servers cooperating to provide the services of cryptographic calculations through a single logical server. The use of such a set may allow increased performance as well as redundancy improving the quality of service in case of failure of one of the physical servers. It is also possible that the calculation server is hosted by a network of computing devices (called grid, because of the English term, or sometimes French computer grid). According to one possible embodiment, the server is distributed on a set of smart cards. The method comprises the implementation, by the electronic device MOB 1, of steps of a re-encrypable encryption of a message M, said steps comprising the steps of the re-encrypable encryption that use information in the clear message M. It is heard that the plural "steps" covers the situation in which there is only one step. According to one embodiment, the re-encrypable encryption is operated using a public key of the electronic device. The message M can be a secret key (in the strict sense, that is to say a symmetric key), such as a key RC4, DES, 3DES, AES, or other. Thus, an electronic device can generate or cause to generate a secret key, encrypt information (for example photo files, music files, or any other content) with this secret key (according to conventional symmetric encryption), and encrypt this secret key with a public key of its own, according to a re-encrypted encryption. The fact that the encryption of the message M is re-encrypted means, as is well known to those skilled in the art, that it is possible to transform the encrypted message with a public key of the electronic device into the same encrypted message with another public key, without having to decrypt the initial encrypted message (of course the encryption resulting from the re-encryption is different from the initial encryption). Thus, initially encrypted information stored by the user of the electronic device for his own account (for example in the cloud), in combination with the re-encrypted encryption of the secret key used to encrypt this information, can be subsequently shared with the client. other persons, subject to the availability of appropriate re-encryption. For example, after re-encrypting the secret key with the public key of a second electronic device MOB2, this second electronic device can decrypt the secret key (using its private key corresponding to the public key used during the re-encryption), then decrypt the encrypted content with this secret key. According to some embodiments, the information to be shared is very small, and it is possible to encrypt them with the encryption directly, without going through symmetric encryption. Thus, the message M can directly contain the useful information. In this case, it may be advisable, before encrypting the information, to apply a padding (sometimes called filling scheme in French, although the skilled person usually uses the English word padding). According to one embodiment, since the encryption method is re-divided into steps, the electronic device performs only the steps that use information in the clear on the message M. The information in the clear on the message M is the information that makes it possible to directly or indirectly determine at least a part of the message M, without having any key for decrypting the final result of the re-encrypted encryption of the message M nor any part of such a key. The steps performed by the electronic device can thus comprise, for example, a step using a block of the message M (when this message M is divided into several blocks), or else using all or part of the message M that has been the object of an XOR (logical operation of or exclusive) with a determined or determinable mask (such as a standard initialization vector, or non-secret, or constant and easily guessable), or using all or part of the message that has been subject a simple formatting process, even if it is surjective formatting (as long as it is possible to recover at least part of the message from the result of the formatting process), or even using all or part of the message M that has been reversibly manipulated using non-secret or private data. According to one embodiment, the encryption method includes at least one step, which, while not using information in the clear message M, uses information in clear on all or part of secret keys or private or other secret elements used in the context of the encryption re-encryption (although no secret or private element is mandatory in absolute terms). In this case, the electronic device performs this (or these) step (s), in addition to the steps that use information in the message M clear.

Selon un mode de réalisation, le dispositif électronique MOB1 effectue également au moins une étape qui, tout en n'étant pas sensible (ne manipulant aucune information en clair sur le message M ou sur la ou les clés ou autres secrets éventuellement utilisés), peut être traitée rapidement par le dispositif électronique. On entend par traitement rapide un traitement tel que la délégation de l'ensemble des étapes restantes (non réalisées par le dispositif électronique) apporte néanmoins un gain de performance substantiel par rapport à une absence complète de délégation. Le procédé comprend la délégation, par le dispositif électronique MOB1 au serveur de calcul CALC_S de la mise en oeuvre des étapes du chiffrement rechiffrable (il est entendu que le pluriel « étapes » couvre la situation dans laquelle il n'y a qu'une seule étape) autres que celles (ou celle) mises en oeuvre par le dispositif électronique MOB1. Le serveur de calcul peut être un serveur comprenant des dispositifs d'accélération matérielle, telles que des cartes accélératrices. Le serveur de calcul peut également être un ensemble de cartes SIM. Ces cartes SIM peuvent comprendre un serveur TCP/IP selon une technique bien connue, et s'appuyer sur ce serveur TCP/IP pour partager le résultat des étapes qui leur sont sous traitées avec le dispositif électronique MOB1. Ces cartes SIM peuvent alternativement implémenter un protocole de communication client serveur propriétaire. Les cartes SIM d'un réseau d'opérateur peuvent être sollicitées, considérant que dans un cas d'usage envisagé, seul un sous ensemble minoritaire d'utilisateurs de cartes SIM souhaite simultanément chiffrer des données (par exemple à destination d'un cloud de stockage), et donc l'ensemble des autres cartes SIM peut avoir une puissance de calcul suffisante pour permettre ce chiffrement avec des performances satisfaisantes. Il peut suffire à cette fin que les étapes déléguées par le dispositif électronique (qui peut être lui-même une carte SIM du réseau) soient parallélisables avec des étapes exécutées par le dispositif électronique. Ceci est particulièrement avantageux lorsque la ou les étape(s) parallélisables qui doivent être exécutées par le dispositif électronique lui-même prennent au moins autant de temps que le temps nécessaire à la ou aux SIM sollicitée(s) pour l'exécution de la ou des étape(s) déléguée(s). Il est possible de déléguer une même étape à plusieurs SIMs en parallèle, de façon à ce que si l'une des SIM est éteinte en cours de mise en oeuvre de l'étape, au moins une SIM reste statistiquement allumée et peut fournir le résultat attendu. Un tel serveur peut être avantageux par rapport à un serveur physique (géré par exemple par un opérateur télécom des cartes SIM), notamment dans le cas d'utilisateurs en situation de roaming (par exemple lorsqu'ils se trouvent dans un pays non couvert par leur opérateur), ces utilisateurs pouvant se trouver à proximité d'autres utilisateurs disposant de cartes SIM du même opérateur, et réduire ainsi l'utilisation de réseaux tiers par l'opérateur.According to one embodiment, the electronic device MOB1 also performs at least one step which, while not sensitive (not handling any information in the clear on the message M or on the key or other secrets possibly used), can be processed quickly by the electronic device. Fast processing means processing such that the delegation of all the remaining steps (not performed by the electronic device) nevertheless provides a substantial performance gain compared to a complete absence of delegation. The method comprises the delegation, by the electronic device MOB1 to the calculation server CALC_S of the implementation of the steps of the encryption re-encrypted (it is understood that the plural "steps" covers the situation in which there is only one step) other than those (or that) implemented by the electronic device MOB1. The calculation server may be a server comprising hardware acceleration devices, such as accelerator cards. The calculation server can also be a set of SIM cards. These SIM cards can comprise a TCP / IP server according to a well-known technique, and rely on this TCP / IP server to share the result of the steps that are processed with the electronic device MOB1. These SIM cards can alternatively implement a proprietary server client communication protocol. The SIM cards of an operator network can be requested, considering that in a case of intended use, only a minority sub-set of SIM card users wishes to simultaneously encrypt data (for example to a cloud of data). storage), and therefore all other SIM cards can have sufficient computing power to enable this encryption with satisfactory performance. It may be sufficient for this purpose that the steps delegated by the electronic device (which may itself be a SIM card of the network) are parallelizable with steps executed by the electronic device. This is particularly advantageous when the parallelizable step (s) which must be executed by the electronic device itself take at least as much time as the time required for the requested SIM (s) for the execution of the delegated step (s). It is possible to delegate the same step to several SIMs in parallel, so that if one of the SIM is turned off during the implementation of the step, at least one SIM remains statistically lit and can provide the result expected. Such a server may be advantageous over a physical server (managed for example by a telecom operator SIM cards), especially in the case of users roaming (for example when they are in a country not covered by their operator), these users being able to be near other users having SIM cards of the same operator, and thus reducing the use of third party networks by the operator.

Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend l'utilisation, comme chiffrement rechiffrable, d'un chiffrement de second niveau du schéma de Libert-Vergnaud et une délégation du chiffrement. Le schéma de Libert-Vergnaud est décrit notamment dans "Unidirectional chosen-ciphertext secure proxy re-encryption", Ronald Cramer, Editor, Public Key Cryptography, volume 4939 of Lecture Notes in Computer Science, Benoît Libert et Damien Vergnaud, pages 360-379, Springer, 2008, dont le contenu est incorporé par référence. La délégation comprend l'envoi, par un dispositif électronique MOB1 à un serveur de calcul CALC_S, de la clé de vérification de signature du schéma de signature à usage unique utilisé selon le schéma de Libert-Vergnaud, notée svk. La délégation comprend le calcul du produit de u à la puissance svk par v, u et v désignant respectivement le deuxième et le troisième générateur du schéma de Libert-Vergnaud. La délégation comprend l'envoi, par le serveur de calcul CALC_S au dispositif électronique MOB1, du résultat du calcul précédent.According to one embodiment, a cryptographic computation acceleration method comprises the use, as re-encrypble encryption, of a second-level encryption of the Libert-Vergnaud schema and a delegation of the encryption. The scheme of Libert-Vergnaud is described in particular in "Unidirectional chosen-ciphertext secure proxy re-encryption", Ronald Cramer, Editor, Public Key Cryptography, volume 4939 of Lecture Notes in Computer Science, Benoît Libert and Damien Vergnaud, pages 360-379 , Springer, 2008, the contents of which are incorporated by reference. The delegation comprises sending, by an electronic device MOB1 to a calculation server CALC_S, the signature verification key of the single-use signature scheme used according to the Libert-Vergnaud scheme, denoted svk. The delegation includes the calculation of the product of u at the power svk by v, u and v respectively designating the second and third generators of the Libert-Vergnaud scheme. The delegation comprises sending, by the calculation server CALC_S to the electronic device MOB1, the result of the previous calculation.

Selon un mode de réalisation, toutes les autres étapes du chiffrement rechiffrable du schéma de Libert-Vergnaud sont exécutées par le dispositif électronique MOB1. Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend l'utilisation, comme chiffrement rechiffrable, d'un chiffrement de second niveau du schéma de Canard-Devigne-Laguillaumie, et une délégation du chiffrement. Le schéma de Canard- Devigne-Laguillaumie est décrit notamment dans "Improving the security of an efficient unidirectional proxy re-encryption scheme", Journal of Internet Services and Information Security, 1(2/3):140-160, 2011, de Sébastien Canard, Julien Devigne, et Fabien Laguillaumie, dont le contenu est incorporé par référence.According to one embodiment, all the other steps of the re-encrypable encryption of the Libert-Vergnaud scheme are executed by the electronic device MOB1. According to one embodiment, a cryptographic computation acceleration method comprises the use, as re-encrypble encryption, of a second-level encryption of the Canard-Devigne-Laguillaumie scheme, and a delegation of the encryption. The scheme of Canard-Devigne-Laguillaumie is described in particular in Sébastien's "Improving the security of an efficient unidirectional proxy re-encryption scheme", Journal of Internet Services and Information Security, 1 (2/3): 140-160, 2011 Duck, Julien Devigne, and Fabien Laguillaumie, whose contents are incorporated by reference.

La délégation comprend l'envoi, par le dispositif électronique MOB1 au serveur de calcul CALC_S, des paramètres E, F et tr calculés selon le schéma de Canard-Devigne-Laguillaumie. La délégation comprend l'application par le serveur de calcul CALC_S de la fonction de hachage H3 du schéma de Canard-Devigne-Laguillaumie, à la concaténation du paramètre E, de la première composante de la clé publique du dispositif électronique MOB1 selon le schéma de Canard-Devigne-Laguillaumie, du paramètre tr et du paramètre F. La délégation comprend l'envoi, par le serveur de calcul CALC_S au dispositif électronique MOB1, du résultat du calcul de la fonction de hachage H3.The delegation comprises sending, by the electronic device MOB1 to the calculation server CALC_S, parameters E, F and tr calculated according to the scheme of Canard-Devigne-Laguillaumie. The delegation comprises the application by the calculation server CALC_S of the hash function H3 of the diagram of Canard-Devigne-Laguillaumie, the concatenation of the parameter E, the first component of the public key of the electronic device MOB1 according to the schema of Duck-Devigne-Laguillaumie, the parameter tr and the parameter F. The delegation comprises sending, by the calculation server CALC_S to the electronic device MOB1, the result of the calculation of the hash function H3.

Les trois phases de délégation des trois paragraphes précédents peuvent être en partie parallèles (c'est-à-dire, par exemple, que le paramètre F ou tr peut être en cours de transmission selon la première phase alors que la concaténation selon la second phase a déjà commencé, voire le calcul de la fonction de hachage peut avoir commencé, avant même que la concaténation soit achevée). Selon un mode de réalisation, toutes les autres étapes du chiffrement rechiffrable du schéma de Canard-Devigne-Laguillaumie sont exécutées par le dispositif électronique MOB1. Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend un dispositif électronique MOB2 et un serveur de calcul CALC_S. Le procédé comprend la mise en oeuvre, par le dispositif électronique MOB2, d'étapes d'un déchiffrement d'un message M chiffré par chiffrement rechiffrable, lesdites étapes comprenant les étapes du déchiffrement qui utilisent des informations en clair sur le message M. Le procédé comprend la délégation, par le dispositif électronique MOB2 au serveur de calcul CALC_S de la mise en oeuvre des étapes du déchiffrement autres que celles mises en oeuvre par le dispositif électronique MOB2. Il est entendu que le pluriel « étapes » couvre la situation dans laquelle il n'y a qu'une seule étape. Le dispositif électronique MOB2 peut être un ordinateur portable, un ordinateur de bureau (dit « desktop » en terminologie anglaise), une tablette, un serveur (tel qu'un serveur d'entreprise, sous contrôle de l'entreprise, par opposition aux serveurs du cloud), un téléphone portable (traditionnel ou évolué, de type smartphone), un appareil photo numérique, un lecteur MP3, une clé USB de sécurité, une carte mémoire de sécurité, ou encore une carte SIM. Il peut s'agir de tout type de dispositif tel que décrit dans les modes de réalisation précédents.The three phases of delegation of the three preceding paragraphs can be partly parallel (that is, for example, that the parameter F or tr can be in transmission according to the first phase whereas the concatenation according to the second phase has already started, or even the calculation of the hash function may have started, even before the concatenation is completed). According to one embodiment, all the other steps of the re-encrypted encryption of the Canard-Devigne-Laguillaumie scheme are executed by the electronic device MOB1. According to one embodiment, a cryptographic computation acceleration method comprises an electronic device MOB2 and a calculation server CALC_S. The method comprises the implementation, by the electronic device MOB2, of steps of a decryption of an encrypted message M encrypted by encryption, said steps comprising the decryption steps that use information in clear on the message M. method comprises the delegation, by the electronic device MOB2 to the calculation server CALC_S implementation of the decryption steps other than those implemented by the electronic device MOB2. It is understood that the plural "steps" covers the situation in which there is only one step. The electronic device MOB2 can be a laptop, a desktop computer (called "desktop" in English terminology), a tablet, a server (such as a corporate server, under the control of the company, as opposed to the servers cloud), a mobile phone (traditional or advanced, smartphone type), a digital camera, an MP3 player, a USB security key, a security card, or a SIM card. It can be any type of device as described in the previous embodiments.

Le serveur de calcul CALC_S selon le procédé peut être un serveur logiciel fournissant des services de calculs cryptographiques (par exemple au dispositif électronique MOB2, considéré comme client d'une architecture client serveur). Le serveur de calcul CALC_S selon le procédé peut également être un serveur physique hébergeant un serveur logiciel selon la phrase précédente. Il peut également s' agir d'un ensemble de serveurs physiques interconnectés coopérant afin de fournir les services de calculs cryptographiques. L'utilisation d'un tel ensemble peut permettre une performance accrue ainsi qu'une redondance améliorant la qualité de service en cas de panne d'un des serveurs physiques. Il est également possible que le serveur de calcul soit hébergé par un réseau de dispositifs de calculs (appelé grid, en raison du terme anglais correspondant, ou parfois grille informatique en français). Selon un mode de réalisation possible, le serveur est réparti sur un ensemble de cartes à puces. Il peut s'agir de tout type de serveur de calcul tel que décrit dans les modes de réalisation précédents.The calculation server CALC_S according to the method may be a software server providing cryptographic calculation services (for example to the electronic device MOB2, considered as client of a server client architecture). The calculation server CALC_S according to the method can also be a physical server hosting a software server according to the preceding sentence. It may also be a set of interconnected physical servers cooperating to provide the services of cryptographic calculations. The use of such a set may allow increased performance as well as redundancy improving the quality of service in case of failure of one of the physical servers. It is also possible that the calculation server is hosted by a network of computing devices (called grid, because of the English term, or sometimes French computer grid). According to one possible embodiment, the server is distributed on a set of smart cards. It can be any type of computing server as described in the previous embodiments.

Selon un mode de réalisation le dispositif électronique MOB2 du procédé, qui délègue le déchiffrement du message M, est du même type qu'un dispositif électronique MOB1 ayant mis en oeuvre un procédé dans lequel il réalise une opération de chiffrement rechiffrable du message M et en délègue une partie à un serveur de calcul. Selon un mode de réalisation, le serveur de calcul utilisé par le dispositif électronique MOB1 lors de la délégation du chiffrement rechiffrable est le même que celui qu'utilise le dispositif électronique MOB2 lors de la délégation du déchiffrement. Cependant, il peut également s'agir d'un serveur différent. Il peut également s'agir du même serveur mais constitué de plusieurs serveurs physiques, le serveur physique ayant servi au chiffrement n'étant pas nécessairement le même que celui qui a servi au déchiffrement.According to one embodiment, the electronic device MOB2 of the method, which delegates the decryption of the message M, is of the same type as an electronic device MOB1 having implemented a method in which it performs a re-encrypted encryption operation of the message M and delegates a party to a calculation server. According to one embodiment, the calculation server used by the electronic device MOB1 during the delegation of the re-encrypeable encryption is the same as that used by the electronic device MOB2 during the delegation of the decryption. However, it can also be a different server. It can also be the same server but consists of several physical servers, the physical server used for encryption is not necessarily the same as that used for decryption.

Selon un mode de réalisation, la méthode de déchiffrement comprend au moins une étape, qui, tout en n'utilisant pas d'informations en clair sur le message M, utilise des informations en clair sur tout ou partie de clés secrètes ou privées ou d'autres éléments secrets ou privés utilisés dans le cadre du déchiffrement (étant entendu qu'il est nécessaire d'utiliser au moins une clé privée lors du déchiffrement du message M). Dans ce cas, le dispositif électronique effectue cette (ou ces) étape(s), en plus des étapes qui utilisent des informations en clair sur le message M. Selon certains modes de réalisation, toutes les étapes utilisant une partie en clair d'une clé privée (ou de tout élément secret ou privé) utilisent également une partie en clair du message, et la distinction entre ces différentes étapes n'existe pas. Selon un mode de réalisation, le dispositif électronique MOB2 effectue également au moins une étape qui, tout en n'étant pas sensible (ne manipulant aucune information en clair sur le message M ou sur la ou les clés ou autres secrets éventuellement utilisés), peut être traitée rapidement par le dispositif électronique. On entend par traitement rapide un traitement tel que la délégation de l'ensemble des étapes restantes (non réalisées par le dispositif électronique) apporte néanmoins un gain de performance substantiel par rapport à une absence complète de délégation.According to one embodiment, the decryption method comprises at least one step, which, while not using unencrypted information on the message M, uses information in clear on all or part of secret or private keys or other secret or private elements used in the context of decryption (it being understood that it is necessary to use at least one private key when decrypting the message M). In this case, the electronic device performs this (or these) step (s), in addition to the steps which use information in clear on the message M. According to some embodiments, all the steps using a clear part of a private key (or any secret or private element) also use a clear part of the message, and the distinction between these different steps does not exist. According to one embodiment, the electronic device MOB2 also performs at least one step which, while not sensitive (not handling any information in the clear on the message M or on the key (s) or other secrets possibly used), can be processed quickly by the electronic device. Fast processing means processing such that the delegation of all the remaining steps (not performed by the electronic device) nevertheless provides a substantial performance gain compared to a complete absence of delegation.

Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend l'utilisation, comme déchiffrement, d'un déchiffrement de second niveau du schéma de Libert-Vergnaud, et une délégation (partielle) du déchiffrement. La délégation comprend l'obtention, par le serveur de calcul CALC_S, de la représentation chiffrée {C1, C2, C3, C4, sigma} du message M. La délégation comprend le calcul, par le serveur de calcul CALC_S, du résultat, noté P, de l'application bilinéaire e selon le schéma de Libert-Vergnaud appliquée au couple formé par C2 et g, où C2 désigne la deuxième composante de la représentation chiffrée du message M et g désigne le premier générateur du schéma de Libert-Vergnaud.According to one embodiment, a cryptographic computation acceleration method comprises the use, as decryption, of a second-level decryption of the Libert-Vergnaud scheme, and a (partial) delegation of the decryption. The delegation understands the obtaining, by the server of computation CALC_S, of the represented representation {C1, C2, C3, C4, sigma} of the message M. The delegation understands the computation, by the server of computation CALC_S, of the result, noted P, the bilinear application e according to the scheme of Libert-Vergnaud applied to the pair formed by C2 and g, where C2 designates the second component of the encrypted representation of the message M and g denotes the first generator of the scheme of Libert-Vergnaud.

La délégation comprend l'envoi du résultat P par le serveur de calcul CALC_S au dispositif électronique MOB2.The delegation comprises sending the result P by the calculation server CALC_S to the electronic device MOB2.

La délégation comprend le calcul, par le serveur de calcul CALC_S, du produit de u à la puissance Cl par v, u et v désignant respectivement le deuxième et le troisième générateur du schéma de Libert-Vergnaud et Cl désignant la première composante de la représentation chiffrée du message M.The delegation understands the calculation, by the calculation server CALC_S, of the product of u to the power Cl by v, u and v respectively designating the second and the third generator of the diagram of Libert-Vergnaud and Cl designating the first component of the representation encrypted message M.

La délégation comprend le calcul, par le serveur de calcul CALC_S, du résultat de l'application bilinéaire e selon le schéma de Libert-Vergnaud appliquée au couple formé par C2 et le résultat obtenu par le calcul selon le paragraphe précédent. La délégation comprend le calcul, par le serveur de calcul CALC_S, du résultat de l'application bilinéaire e appliquée au couple formé par C4 et Xi, où C4 désigne la quatrième composante de la représentation chiffrée du message M et Xi désigne la clé publique du dispositif électronique MOB2 selon le schéma de Libert-Vergnaud. La délégation comprend la vérification de ce que les résultats obtenus selon les deux précédents paragraphes sont identiques. La délégation comprend la vérification de ce que sigma, qui désigne la cinquième composante de la représentation chiffrée du message M, correspond, selon le schéma de signature à usage unique utilisé selon le schéma de Libert-Vergnaud, à une signature valide de la concaténation de C3 et C4, C3 représentant la troisième composante de la représentation chiffrée du message M, grâce à la clé publique de vérification de signature représentée par Cl. La délégation comprend la notification, par le serveur de calcul CALC_S, au dispositif électronique MOB2, des résultats des vérifications effectuées selon les deux précédents paragraphes. L'ordre de ces neuf phases de délégation (des neuf paragraphes précédents) n'est pas impératif, le seul impératif étant l'impératif fonctionnel (si les résultats d'une phase sont utilisés par une autre phase, cette autre phase doit avoir été exécutée préalablement, au moins en partie si les résultats pertinents sont obtenus dans une sous partie de cette phase). L'ordre des étapes est susceptible d'avoir une incidence sur les performances, et il convient donc de ne pas modifier l'ordre arbitrairement si l'on souhaite conserver de bonnes performances. Les étapes peuvent être partiellement parallélisées.The delegation understands the calculation, by the computing server CALC_S, of the result of the bilinear application e according to the diagram of Libert-Vergnaud applied to the pair formed by C2 and the result obtained by the computation according to the preceding paragraph. The delegation understands the calculation, by the calculation server CALC_S, of the result of the bilinear application e applied to the pair formed by C4 and Xi, where C4 designates the fourth component of the encrypted representation of the message M and Xi designates the public key of the electronic device MOB2 according to the scheme of Libert-Vergnaud. The delegation understands the verification that the results obtained according to the two preceding paragraphs are identical. The delegation includes verifying that sigma, which designates the fifth component of the encrypted representation of the message M, corresponds, according to the single-use signature scheme used according to the Libert-Vergnaud scheme, to a valid signature of the concatenation of C3 and C4, C3 representing the third component of the encrypted representation of the message M, by means of the public key verification key represented by Cl. The delegation comprises the notification, by the calculation server CALC_S, to the electronic device MOB2, results checks carried out according to the two previous paragraphs. The order of these nine phases of delegation (of the preceding nine paragraphs) is not imperative, the only imperative being the functional imperative (if the results of one phase are used by another phase, this other phase must have been performed in advance, at least in part if the relevant results are obtained in a subset of this phase). The order of the steps is likely to affect performance, so you should not change the order arbitrarily if you want to maintain good performance. The steps can be partially parallelized.

Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend l'utilisation, comme déchiffrement, d'un déchiffrement de second niveau du schéma de Canard-Devigne-Laguillaumie et une délégation du déchiffrement. La délégation comprend l'obtention, par le serveur de calcul CALC_S, de la représentation chiffrée {E, F, cr, sr} du message M.According to one embodiment, a cryptographic computation acceleration method comprises the use, as decryption, of a second-level decryption of the Canard-Devigne-Laguillaumie scheme and delegation of the decryption. The delegation comprises obtaining, by the calculation server CALC_S, the encrypted representation {E, F, cr, sr} of the message M.

La délégation comprend le calcul, par le serveur de calcul CALC_S, du produit de E à la puissance cr et de la première composante de la clé publique du dispositif électronique MOB2 selon le schéma de Canard-Devigne-Laguillaumie à la puissance sr, E désignant la première composante de la représentation chiffrée du message M, cr désignant la troisième composante de la représentation chiffrée du message M, sr désignant la quatrième composante de la représentation chiffrée du message M, La délégation comprend le calcul, par le serveur de calcul CALC_S, du résultat l' application de la fonction de hachage H3 selon le schéma de Canard-Devigne-Laguillaumie appliquée à la concaténation de E, de la première composante de la clé publique du dispositif électronique MOB2 selon le schéma de Canard-Devigne-Laguillaumie, du résultat obtenu selon le paragraphe précédent, et de F, où F désigne la deuxième composante de la représentation chiffrée du message M.The delegation understands the computation, by the calculation server CALC_S, of the product of E to the power cr and of the first component of the public key of the electronic device MOB2 according to the diagram of Canard-Devigne-Laguillaumie with the power sr, E designating the first component of the encrypted representation of the message M, cr denoting the third component of the encrypted representation of the message M, sr designating the fourth component of the encrypted representation of the message M, the delegation comprises the calculation, by the calculation server CALC_S, of the result the application of the hash function H3 according to the scheme of Canard-Devigne-Laguillaumie applied to the concatenation of E, the first component of the public key of the electronic device MOB2 according to the scheme of Canard-Devigne-Laguillaumie, the result obtained according to the preceding paragraph, and of F, where F denotes the second component of the encrypted representation of the message M.

La délégation comprend la vérification, par le serveur de calcul CALC_S, de l'égalité de cr et du résultat obtenu selon le paragraphe précédent. La délégation comprend la notification, par le serveur de calcul CALC_S, au dispositif électronique MOB2, du résultat de la vérification effectuée selon le paragraphe précédent. L'ordre de ces cinq phases de délégation (des cinq paragraphes précédents) n'est pas impératif, le seul impératif étant l'impératif fonctionnel (si les résultats d'une phase sont utilisés par une autre phase, cette autre phase doit avoir été exécutée préalablement, au moins en partie si les résultats pertinents sont obtenus dans une sous partie de cette phase). L'ordre des étapes est susceptible d'avoir une incidence sur les performances, et il convient donc de ne pas modifier l'ordre arbitrairement si l'on souhaite conserver de bonnes performances. Les étapes peuvent être partiellement parallélisées. Selon un mode de réalisation, un procédé d'accélération de calculs cryptographiques comprend deux dispositifs électroniques MOB1 et MOB2 (et éventuellement un très grand nombre, par exemple des millions, de dispositifs électroniques) et un serveur de calcul CALC_S.The delegation includes the verification, by the calculation server CALC_S, of the equality of cr and the result obtained according to the preceding paragraph. The delegation comprises the notification, by the calculation server CALC_S, to the electronic device MOB2, of the result of the verification carried out according to the preceding paragraph. The order of these five phases of delegation (of the five preceding paragraphs) is not imperative, the only imperative being the functional imperative (if the results of one phase are used by another phase, this other phase must have been performed in advance, at least in part if the relevant results are obtained in a subset of this phase). The order of the steps is likely to affect performance, so you should not change the order arbitrarily if you want to maintain good performance. The steps can be partially parallelized. According to one embodiment, a cryptographic computation acceleration method comprises two electronic devices MOB1 and MOB2 (and possibly a very large number, for example millions of electronic devices) and a calculation server CALC_S.

Le procédé comprend le chiffrement accéléré d'un message M à l'aide d'un procédé tel que décrit précédemment, dans lequel un premier dispositif électronique MOB1 délègue un chiffrement rechiffrable d'un message M à un serveur de calcul CALC_S. Le procédé comprend le rechiffrement du message M chiffré selon le paragraphe précédent pour le compte d'un deuxième dispositif électronique MOB2.The method comprises accelerated encryption of a message M using a method as described above, in which a first electronic device MOB1 delegates a re-encrypted encryption of a message M to a calculation server CALC_S. The method comprises re-encrypting the encrypted message M according to the preceding paragraph on behalf of a second electronic device MOB2.

Le procédé comprend le déchiffrement accéléré du message M rechiffré selon le paragraphe précédent, à l'aide d'un procédé tel que décrit précédemment, dans lequel le deuxième dispositif électronique MOB2 délègue un déchiffrement au serveur de calcul CALC_S. Selon un mode de réalisation, le chiffrement rechiffrable du message M est suivi (éventuellement immédiatement) du stockage du message M chiffré, dans un serveur de stockage (qui peut être un serveur du cloud). Ceci peut correspondre à l'enregistrement, par un utilisateur du premier dispositif, d'une information (par exemple une photo qu'il vient de prendre avec son premier dispositif smartphone), dans un espace qui lui est réservé dans le cloud. Selon un mode de réalisation, ce serveur de stockage est également en charge du rechiffrement des messages. Alternativement, le rechiffrement est confié à un proxy de rechiffrement distinct. Le mécanisme de rechiffrement est bien connu de l'homme du métier. Selon un mode de réalisation, le proxy de rechiffrement et le serveur de calcul CALC_S sont mis en oeuvre dans le même serveur ou même groupe de serveurs, qui peuvent être l'un quelconque des exemples de serveurs de calcul indiqués précédemment. Le rechiffrement peut être mis en oeuvre automatiquement, juste après l'enregistrement du message M chiffré dans le cloud (il peut compléter, sans effacer, le message M chiffré par un message M rechiffré pour tous les dispositifs autorisés à utiliser le message M). Il est possible de considérer ce rechiffrement comme ayant une basse priorité, et d'attendre un moment ou l'entité en charge du rechiffrement est peu chargée (par exemple chargée selon un taux de charge d'un processeur de l'entité inférieur à un seuil prédéterminé, tel qu'un seuil de 70% ou toute autre valeur appropriée) avant de rechiffrer. Le rechiffrement peut également n'être mis en oeuvre (cette fois ci avec une priorité maximale) que lorsqu'un deuxième dispositif tente d'accéder (pour la première fois) au message M, mais cette alternative est susceptible d'induire un temps de latence supplémentaire non désirable lors du premier accès au message M par ce deuxième dispositif. Selon un mode de réalisation, un programme d'ordinateur est agencé pour mettre en oeuvre un procédé tel que décrit ci-dessus lorsqu'il est exécuté par un ou plusieurs processeurs. Il peut s'agir notamment d'un ou plusieurs processeurs du dispositif électronique MOB1, d'un ou plusieurs processeurs du dispositif électronique MOB2, ou d'un ou plusieurs processeurs du serveur de calcul CALC_S. Ce programme peut être écrit notamment en langage assembleur, en langage C, ou langage Java, en langage C#, ou en tout autre langage adapté. Le langage peut être différent pour une partie de programme située dans un dispositif électronique MOB1 ou MOB2 et pour une partie de programme située dans serveur de calcul CALC_S.The method comprises accelerated decryption of the message M re-encrypted according to the preceding paragraph, using a method as described above, in which the second electronic device MOB2 delegates decryption to the calculation server CALC_S. According to one embodiment, the re-encrypable encryption of the message M is followed (possibly immediately) storage of the encrypted message M, in a storage server (which can be a cloud server). This may correspond to the recording, by a user of the first device, of information (for example a picture he has just taken with his first smartphone device), in a space reserved for him in the cloud. According to one embodiment, this storage server is also in charge of the re-encryption of the messages. Alternatively, the re-encryption is entrusted to a separate re-encryption proxy. The re-encryption mechanism is well known to those skilled in the art. According to one embodiment, the re-encrypting proxy and the calculation server CALC_S are implemented in the same server or even group of servers, which can be any of the examples of calculation servers indicated above. The re-encryption can be implemented automatically, just after recording the message M encrypted in the cloud (it can complete, without erasing, the message M encrypted by a message M re-encrypted for all devices authorized to use the message M). It is possible to consider this re-encryption as having a low priority, and to wait for a moment when the entity in charge of the re-encryption is little loaded (for example, loaded according to a charge rate of a processor of the entity less than one predetermined threshold, such as a 70% threshold or other appropriate value) before re-encrypting. The re-encryption can also be implemented (this time with maximum priority) only when a second device tries to access (for the first time) the message M, but this alternative is likely to induce a time of additional latency undesirable at the first access to the message M by this second device. According to one embodiment, a computer program is arranged to implement a method as described above when it is executed by one or more processors. It may be in particular one or more processors of the electronic device MOB1, one or more processors of the electronic device MOB2, or one or more processors of the calculation server CALC_S. This program can be written in assembly language, C language, Java language, C # language, or any other suitable language. The language can be different for a part of program located in an electronic device MOB1 or MOB2 and for a part of program located in server of computation CALC_S.

Selon un mode de réalisation, un support de stockage non transitoire lisible par ordinateur stocke un programme selon le paragraphe précédent. Le support de stockage peut être une mémoire réinscriptible (par exemple de type EEPROM ou Flash, ou encore RAM sauvegardée par batterie) ou non (par exemple de type ROM). Cette mémoire peut être intégrée à une carte SIM, à un téléphone portable, ou encore à un serveur.According to one embodiment, a non-transitory computer readable storage medium stores a program according to the preceding paragraph. The storage medium can be a rewritable memory (for example of the EEPROM or Flash type, or battery-backed RAM) or not (for example of the ROM type). This memory can be integrated in a SIM card, a mobile phone or a server.

Selon un mode de réalisation, un système d'accélération de calculs cryptographiques comprend un dispositif électronique MOB1 et un serveur de calcul CALC_S. Le dispositif électronique MOB1 est agencé pour mettre en oeuvre des étapes d'un chiffrement rechiffrable d'un message M, lesdites étapes comprenant les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message M. A cette fin, il peut comprendre un circuit de chiffrement. Ce circuit peut être un processeur (il peut même s'agir d'un processeur existant du dispositif électronique, tel que le processeur principal d'un téléphone portable si le dispositif électronique est un téléphone portable), associé à une mémoire stockant un programme adapté pour la mise en oeuvre des étapes. Il peut également s'agir d'un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire d'un circuit électronique préparé entièrement sur mesure. Il peut également s'agir d'une association de processeur et d'un cryptoprocesseur, qui peuvent être associés au sein d'un microcontrôleur tel qu'un microcontrôleur de carte à puce. Le dispositif électronique MOB1 est agencé pour déléguer au serveur de calcul CALC_S la mise en oeuvre des étapes du chiffrement rechiffrable autres que celles mises en oeuvre par le dispositif électronique MOB1. A cette fin, il peut comprendre un circuit de délégation. Ce circuit de délégation peut être un processeur (il peut même s'agir d'un processeur existant du dispositif électronique, tel que le processeur principal d'un téléphone portable si le dispositif électronique est un téléphone portable), associé à une mémoire stockant un programme adapté pour la mise en oeuvre de cette délégation. Il peut également s'agir d'un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire d'un circuit électronique préparé entièrement sur mesure. Ce circuit de délégation peut être associé à un circuit mandataire du serveur de calcul CALC_S. Ce circuit mandataire peut être un processeur (il peut même s'agir d'un processeur existant du serveur, tel qu'un des processeurs du serveur physique si le serveur de calcul est un serveur physique multiprocesseur), associé à une mémoire (magnétique ou autre) stockant un programme adapté pour la mise en oeuvre des étapes déléguées. Le circuit mandataire peut également être un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire un circuit électronique préparé entièrement sur mesure. Un tel circuit électronique dédié peut prendre la forme d'une carte d'extension à insérer dans un port d'un serveur physique utilisé en tant que serveur de calcul. Selon un mode de réalisation, un système d'accélération de calculs cryptographiques comprend un dispositif électronique MOB2 et un serveur de calcul CALC_S.According to one embodiment, a cryptographic computation acceleration system comprises an electronic device MOB1 and a calculation server CALC_S. The electronic device MOB1 is arranged to implement steps of a re-encrypable encryption of a message M, said steps comprising the steps of the encryption that can be re-encrypted using information in the clear on the message M. For this purpose, it can comprise a encryption circuit. This circuit may be a processor (it may even be an existing processor of the electronic device, such as the main processor of a mobile phone if the electronic device is a mobile phone), associated with a memory storing a suitable program for the implementation of the steps. It can also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. It can also be a processor association and a cryptoprocessor, which can be associated within a microcontroller such as a smart card microcontroller. The electronic device MOB1 is arranged to delegate to the calculation server CALC_S the implementation of the steps of encryption re-encryption other than those implemented by the electronic device MOB1. For this purpose, it may include a delegation circuit. This delegation circuit may be a processor (it may even be an existing processor of the electronic device, such as the main processor of a mobile phone if the electronic device is a mobile phone), associated with a memory storing a device. program adapted for the implementation of this delegation. It can also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. This delegation circuit can be associated with a proxy circuit of the calculation server CALC_S. This proxy circuit may be a processor (it may even be an existing processor of the server, such as one of the processors of the physical server if the calculation server is a multiprocessor physical server), associated with a memory (magnetic or other) storing a suitable program for the implementation of the delegated steps. The proxy circuit may also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. Such a dedicated electronic circuit may take the form of an expansion card to be inserted into a port of a physical server used as a calculation server. According to one embodiment, a cryptographic computation acceleration system comprises an electronic device MOB2 and a calculation server CALC_S.

Le dispositif électronique MOB2 est agencé pour mettre en oeuvre des étapes d'un déchiffrement d'un message M chiffré par chiffrement rechiffrable, lesdites étapes comprenant les étapes du déchiffrement qui utilisent des informations en clair sur le message M. A cette fin, il peut comprendre un circuit de déchiffrement. Ce circuit peut être un processeur (il peut même s'agir d'un processeur existant du dispositif électronique, tel que le processeur principal d'un téléphone portable si le dispositif électronique est un téléphone portable), associé à une mémoire stockant un programme adapté pour la mise en oeuvre des étapes. Il peut également s'agir d'un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire d'un circuit électronique préparé entièrement sur mesure. Il peut également s'agir d'une association de processeur et d'un cryptoprocesseur, qui peuvent être associés au sein d'un microcontrôleur tel qu'un microcontrôleur de carte à puce. Le dispositif électronique MOB2 est agencé pour déléguer au serveur de calcul CALC_S la mise en oeuvre des étapes du déchiffrement autres que celles mises en oeuvre par le dispositif électronique MOB2. A cette fin, il peut comprendre un circuit de délégation. Ce circuit de délégation peut être un processeur (il peut même s' agir d'un processeur existant du dispositif électronique, tel que le processeur principal d'un téléphone portable si le dispositif électronique est un téléphone portable), associé à une mémoire stockant un programme adapté pour la mise en oeuvre de cette délégation. Il peut également s'agir d'un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire d'un circuit électronique préparé entièrement sur mesure. Ce circuit de délégation peut être associé à un circuit mandataire du serveur de calcul CALC_S. Ce circuit mandataire peut être un processeur (il peut même s'agir d'un processeur existant du serveur de calcul, tel qu'un des processeurs du serveur physique si le serveur de calcul est un serveur physique multiprocesseurs), associé à une mémoire (magnétique ou autre) stockant un programme adapté pour la mise en oeuvre des étapes déléguées. Ce circuit mandataire peut également être un circuit électronique dédié, tel qu'un ASIC ou un FPGA, voire un circuit électronique préparé entièrement sur mesure. Un tel circuit électronique dédié peut prendre la forme d'une carte d'extension à insérer dans un port d'un serveur physique utilisé en tant que serveur de calcul.The electronic device MOB2 is arranged to implement steps of a decryption of an encrypted message M encrypted by encryption, said steps comprising the decryption steps that use information in clear on the message M. For this purpose, it can understand a decryption circuit. This circuit may be a processor (it may even be an existing processor of the electronic device, such as the main processor of a mobile phone if the electronic device is a mobile phone), associated with a memory storing a suitable program for the implementation of the steps. It can also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. It can also be a processor association and a cryptoprocessor, which can be associated within a microcontroller such as a smart card microcontroller. The electronic device MOB2 is arranged to delegate to the calculation server CALC_S the implementation of the decryption steps other than those implemented by the electronic device MOB2. For this purpose, it may include a delegation circuit. This delegation circuit may be a processor (it may even be an existing processor of the electronic device, such as the main processor of a mobile phone if the electronic device is a mobile phone), associated with a memory storing a device. program adapted for the implementation of this delegation. It can also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. This delegation circuit can be associated with a proxy circuit of the calculation server CALC_S. This proxy circuit may be a processor (it may even be an existing processor of the computing server, such as one of the processors of the physical server if the computing server is a multiprocessor physical server), associated with a memory ( magnetic or other) storing a program adapted for the implementation of the delegated steps. This proxy circuit can also be a dedicated electronic circuit, such as an ASIC or an FPGA, or even a fully customized electronic circuit. Such a dedicated electronic circuit may take the form of an expansion card to be inserted into a port of a physical server used as a calculation server.

Selon un mode de réalisation, un système d'accélération de calculs cryptographiques comprend une pluralité de dispositifs électroniques (MOB1, MOB2 et potentiellement des centaines de milliers d'autres) et un serveur de calcul CALC_S. Ce système peut comprendre un proxy de rechiffrement, qui peut être intégré à un serveur de stockage de cloud.According to one embodiment, a cryptographic computation acceleration system comprises a plurality of electronic devices (MOB1, MOB2 and potentially hundreds of thousands of others) and a calculation server CALC_S. This system may include a re-encryption proxy, which may be integrated with a cloud storage server.

Des algorithmes cryptographiques pouvant être mis en oeuvre dans le cadre des modes de réalisation ci-dessus sont décrits ci-après. Lorsqu'une communication est établie entre deux entités (par exemple entre un téléphone MOB1 et un serveur CALC_S), à chaque émission d'une donnée par une entité vers l'autre entité correspond une réception ultérieure de ladite donnée par l'autre entité, et réciproquement à chaque réception par une entité depuis l'autre entité correspond une émission préalable de ladite donnée par l'autre entité. Cependant, afin de faciliter la lecture des figures, une seule des deux étapes est (artificiellement) représentée, à savoir celle qui est associée au dispositif électronique délégant des calculs au serveur de calcul Implicitement, une étape correspondante est mise en oeuvre par le serveur de calcul. Cependant, l'étape d'émission d'une entité peut être contrôlée par l'entité réceptrice (par exemple par diverses techniques telles qu'une technique d'accès direct à la mémoire, de type DMA) et réciproquement la réception par une entité peut être forcée par l'autre entité (qui peut forcer l'écriture, également par une technique DMA ou autre, selon le système envisagé). Il est rappelé que le schéma de Libert-Vergnaud fonctionne de la manière suivante. il Li 1)1:1,1 inc utilisateur est capable de (111'...11[. Tiil, i..1:11-`"..ii S =; I 1, 111'10 14.11,j^ 1;1;[El ^111;11 .11:L J iL LIfl I t 1:1011X 11 liii :it'j 'Lu :Ji 1111! bilini..i111.1.- la Cl' Ho, = LH cf..' re-chillrutn,Ht un tu flji I iiii,0111.-0(u neD , r,ide de la se( r41,' , 111)1à11.1e ; g( - 'nié II- - 1. = La elé de reeltitlremou i vols j est alors Le symbole $ désigne une sélection aléatoire (ou, plus rigoureusement, pseudo-aléatoire). La clé secrète xi est une clé privée (qui est qualifiée ci-dessus de clé secrète par abus de langage).Cryptographic algorithms that can be implemented in the context of the above embodiments are described below. When a communication is established between two entities (for example between a telephone MOB1 and a server CALC_S), with each emission of a data by one entity towards the other entity corresponds a subsequent reception of said data by the other entity, and reciprocally at each reception by an entity from the other entity corresponds to a prior transmission of said data by the other entity. However, in order to facilitate the reading of the figures, only one of the two steps is (artificially) represented, namely that which is associated with the electronic device delegating calculations to the calculation server. Implicitly, a corresponding step is implemented by the server. calculation. However, the step of transmitting an entity can be controlled by the receiving entity (for example by various techniques such as a direct memory access technique, of the DMA type) and conversely the reception by an entity can be forced by the other entity (which can force the writing, also by a DMA technique or other, according to the envisaged system). It is recalled that the scheme of Libert-Vergnaud works in the following way. he Li 1) 1: 1,1 inc user is capable of (111 '... 11 [.Tiil, i..1: 11-`" .. ii S =; I 1, 111'10 14.11, j ^ 1; 1; [El ^ 111; 11 .11: LJ iL LIfl t 1: 1011X 11 liii: it'J 'Lu: Ji 1111! Bilini..i111.1.- the Cl' Ho, = LH cf. (1), (1), (1), (1), (1), (1), (1). The symbol $ denotes a random (or, more strictly, pseudo-random) selection The secret key xi is a private key (which is described above as a secret key by abuse of language).

Selon une utilisation conventionnelle du schéma de Libert-Vergnaud, il est possible d'effectuer un chiffrement de premier niveau (ne permettant pas de rechiffrement) ou un chiffrement de second niveau (permettant un rechiffrement). 1 r.iiil -H publics, dun in( et (f.alp )11hli Ili. À. il , 1, fil L 1 !Liai C' (le niveau 1 d LIt 1, i'_11,11 r1(-?j f r1 ée lit ant 2. 4 3. Clat'id- (-. cyl;// x-rt (73 , - Jr/ et C4 = lisyk 1.1)r 4, F77. (.11.11.H. 1_111: 1:11V1.nll dit CLI.IFFRE111ENT 1)1., A 1ii.:1(--- des pà.ramètres (...1'11[1 Gr et crmiciii11iiu_\. i[ di. nie 1.Iflil .n cle.1n 117-.:* S.Ii.r.`,-( :1 iloo-,- 2. ( 1H '11( Il: ( 4. = Le 2riti iii est alors C = (C`:.( PL !][1- DL. r,s (il L Jk i S.VERIF(Ci = 1. 2. ",deuleri = 7/10 F:\IT 1")1 1 1-1 19 d'un. h po 1 air lu n tver 1 .11, t 'lu la fzto,Tn h vante, C2 -ti = (Xi.C4) et si E:1(. - =1. = C3/(-(C2g)1/7-` Il est proposé de déléguer un chiffrement de premier niveau de la manière indiquée sur la figure 6. Une telle délégation permet d'accélérer le chiffrement, mais dans un contexte ne nécessitant pas de rechiffrement. On répartit ainsi les calculs entre un premier dispositif (tel qu'un téléphone mobile MOB1) et un cloud de calcul (tel qu'un serveur de calcul CALC_S), de telle sorte que ce dernier n'obtienne pas d'information pertinente sur le message m à chiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m). L, ^1+ - Ir 11 it d 11 - Yrs = (C1.( `. Le téléphone mobile met en oeuvre les étapes Si à S9 et le serveur de calcul met en oeuvre les étapes Dl à D4. Selon une variante non représentée, il est possible, selon le schéma de signature à usage unique considéré, de répartir les étapes 51 et S9 entre le téléphone mobile et le serveur de calcul. L'ordre des étapes peut être différent de celui représenté sur la figure 6. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres). Selon un mode de réalisation, un procédé délègue un chiffrement de second niveau de la manière indiquée sur la figure 2. Une telle délégation permet d'accélérer le chiffrement dans un contexte susceptible de nécessiter un rechiffrement. On répartit ainsi les calculs entre un premier dispositif (tel qu'un téléphone mobile MOB1) et un cloud de calcul (tel qu'un serveur de calcul CALC_S), de telle sorte que ce dernier n'obtienne pas d'information pertinente sur le message m à chiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m). Le (l'il-Fr« le ")tid au du nie,h,:,1,H Le téléphone mobile met en oeuvre les étapes 51 à S9 et le serveur de calcul met en oeuvre l'étape Dl. Selon une variante non représentée, il est possible, selon le schéma de signature à usage unique considéré, de répartir les étapes 51 et S9 entre le téléphone mobile et le serveur de calcul. L'ordre des étapes peut être différent de celui représenté sur la figure 2, en particulier, seul importe que : S2 soit exécuté après S1, S3 après S1, Dl après S3, et S5 après Dl, S6 après S4, S7 après S4, S8 après S4 et S5, S9 après Sl, S7 et S8. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres).According to a conventional use of the Libert-Vergnaud scheme, it is possible to perform first level encryption (not allowing re-encryption) or second level encryption (allowing re-encryption). 1 r.iiil -H public, dun in (and (f.alp) 11hli Ili., Il, 1, wire L 1! Liai C '(the level 1 d lt 1, i'11,11 r1 (-? ## EQU1 ## where: ## EQU1 ## : 11V1.nll says CLI.GREEN111ENT 1) 1., A 1ii.:1(--- of the parameters (... 1'11 [1 Gr and crmiciii11iiu_ \ .i [di.nie 1.Iflil .n cle.1n 117-.:* S.Ii.r.`, - (: 1 iloo -, - 2. (1H '11 (Il: (4. = The 2riti iii is then C = (C`:. ( PL!] [1- DL. R, s (it L Jk i S.VERIF (Ci = 1. 2. ", deuleri = 7/10 F: \ IT 1") 1 1 1-1 19 of a. h 1 air lu lu air air air.. ((((((((C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 C2 Xi Xi Xi Xi Xi Xi Xi Xi Xi / 7-`It is proposed to delegate a first-level encryption as shown in figure 6. Such a delegation makes it possible to accelerate the encryption, but in a context that does not require re-encryption. first device (such as a mobile phone MOB1) and a computing cloud (such as a service calculation CALC_S), so that it does not obtain relevant information on the message m to encrypt (relevant from the point of view of a person seeking to know the content at least partial message m). The mobile telephone implements the steps S1 to S9 and the calculation server implements the steps D1 to D4. it is possible, according to the single-use signature scheme considered, to divide steps 51 and S9 between the mobile phone and the calculation server.The order of the steps may be different from that shown in FIG. to speed up the processing, not all orders are equal (some may lead to slower executions than others) In one embodiment, a method delegates second level encryption as shown in Figure 2. Such a delegation makes it possible to accelerate the encryption in a context likely to require a re-encryption, thus dividing the calculations between a first device (such as a mobile phone MOB1) and a calculation cloud (such as a calculation server CALC_S ), of such so that the latter does not obtain relevant information on the message m to encrypt (relevant from the point of view of a person seeking to know the at least partial content of the message m). The (il-Fr "le") tid au dune, h,:, 1, H The mobile phone implements steps 51 to S9 and the calculation server implements the step Dl. not shown, it is possible, according to the single-use signature scheme considered, to divide steps 51 and S9 between the mobile telephone and the calculation server.The order of the steps may be different from that shown in FIG. in particular, it matters only that: S2 is performed after S1, S3 after S1, D1 after S3, and S5 after D1, S6 after S4, S7 after S4, S8 after S4 and S5, S9 after S1, S7 and S8. to speed up processing, not all orders are equal (some may lead to slower executions than others).

Inversement, toujours dans le cadre du schéma de Libert-Vergnaud, il est proposé de déléguer un déchiffrement de premier niveau de la façon indiquée sur la figure 7. Ceci permet de répartir les calculs entre le téléphone mobile MOB2 et le serveur de calcul CALC_S, de telle sorte que ce dernier n'obtienne aucune information pertinente sur la clé privée xi ou sur le message m à déchiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m ou de la clé privée xi). L'ordre des étapes peut être différent de celui représenté sur la figure 7. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres).Conversely, still in the framework of the Libert-Vergnaud scheme, it is proposed to delegate a first level decryption as indicated in FIG. 7. This makes it possible to distribute the calculations between the mobile phone MOB2 and the calculation server CALC_S. so that the latter does not obtain any relevant information on the private key xi or on the message m to be decrypted (relevant from the point of view of a person seeking to know the at least partial content of the message m or the private key xi). The order of the steps may be different from that shown in Figure 7. However, to speed up processing, not all orders are equal (some may lead to slower runs than others).

Selon un mode de réalisation, un procédé délègue un déchiffrement de second niveau de la façon indiquée sur la figure 3. Ceci permet de répartir les calculs entre le téléphone mobile MOB2 et le serveur de calcul CALC_S, de telle sorte que ce dernier n'obtienne aucune information pertinente sur la clé privée xi ou sur le message m à déchiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m ou de la clé privée xi).According to one embodiment, a method delegates a second-level decryption as indicated in FIG. 3. This makes it possible to distribute the calculations between the mobile phone MOB2 and the calculation server CALC_S, so that the latter does not obtain no relevant information on the private key xi or on the message m to decipher (relevant from the point of view of a person seeking to know the at least partial content of the message m or the private key xi).

L'ordre des étapes peut être différent de celui représenté sur la figure 3, en particulier, seul importe que : S2 soit exécuté après S1, et 51 après Dl. Il est avantageux que S2 soit exécuté dès que possible car le dispositif électronique MOB1 est souvent lent. Pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres).The order of the steps may be different from that shown in FIG. 3, in particular, it only matters that: S2 is executed after S1, and 51 after D1. It is advantageous if S2 is executed as soon as possible because the electronic device MOB1 is often slow. To speed up processing, not all orders are equal (some may lead to slower runs than others).

Il est rappelé que le schéma de Canard-Devigne-Laguillaumie fonctionne de la manière suivante. Les valeurs indiquées de 160 bits ou 140 bits sont illustratives (et correspondent à des modes de réalisation avantageux). Il est également possible d'utiliser des valeurs différentes. (:u.vu:ATION DL:- l'.\1:.,..S...Ei.1.1 I . ~ utj, et (.1 deux nombres prunners tels que (111) - 1 et f,1 fin., q far 11i0 bit:-- L',1 Vil [.:[;-,1 11-1 II.' I pli in ',4 HU'. '2.141,11,1' de Z,7*'. il', ,iiii, q (jun 4 .-';1 illF1 un, -Iiiu be +111 it i. H cl ''ll un oui 1411111nd à LI tili110 (ni -Hi il iii('-,.... Mit '....-jd. f-1 I.,-. ^ hilL 10,11H. Llr--Wlilf 1 - 110 un tEiti..-..tiiR. tri. du --, , u NI cl- ;,,,-, Ln-, ,u1- 'I IH -11W - I , f 1 , f , . t c t iin i s , I ' ! [ :-.111,ailli`s: l : {(L1:1 - 10 lii f0,111,1-1, - 113 {0, }* Z* and Les pkirmuilres du ring' global sont - 1). (.1,ÉM:PATION partir t-le, hrain(tres pul)lir, chaque utilisateur est en }able generer sa clé pH\ t'e - (,» - :ij ftitnitritr i posto., Iole clé publique. lot ee t k-lLlIh uuj..I[r litre un utL et un hl eur q, Ftlicl de la J »ititbliques pA pk.ide i' iv 1:' l' ouf genéfur 11.11.C.! tell' fle. la or, .eédure es( 1 -uivante, L Choisir P..).1111-1 etw e_ 10,1111 calcule, t = wi(h11,ou 11){'iit1I d éli 2. C.1,alt.I11,, . = 3 Définir 1?-- . La clé de rechiffrelnent de .; est alors La clé ski est une clé privée qualifiée de clé secrète par abus de langage. Cette clé ski est indifféremment notée ski ou xi. Selon une utilisation conventionnelle du schéma de Canard- Devigne-Laguillaumie, il est possible d'effectuer un chiffrement de premier niveau (ne permettant pas de rechiffrement) ou un chiffrement de second niveau (permettant un rechiffrement). Ciurrta..,t1 , t 1 1 paramètres publics. mess. i Tue1pIli1k1iI' 1, '1.11. leliiiI. C 111.\"-';',I1 1 III 1. ( 4-S- 10.11-ID, e:- {1), }" t r = "H.. , 2. (';'1-111 = = 'H. hoisir ',,/1 e hutte:. r- = t E = 4. (. (1.1 {0.1}/1 tq- (Rttetil(r = 1.2 = 7-12(Ye Le eliifil lei iv-ier +lu in 11) I = (E _Il -.X X). x cti la clé publique eorre-pondanie = Pl til.CONI) d'Un inf {0.1 et d'unc 14 pul'diquct liiif1 C 1 itiveau 2 ; hll'fIl suiv,tate: l'our cela, ctletiter 1. Cltiti-a. 10.1111 et calculer r = t 1! 2.t. .;.1 F =W2ffi? uT2 3. ^Ino 1,1 Sch.riorr r tel que fty:et,tu, nr, ; toit-eu it rr E t, - niCUler Cr = (..;( E der Sr = r, - F) et 1 q). Le chiffre de 211d tiii.'et:u (lu itlf'SSi est ab-4's = T = Pr, [111-111:ME::71" I P;;I:ni1i:P N1`..E I _\ itublif-s. C' et. possible lu aver lV 1[H o_t,-ji.1)1,:e'iit (h" la façon suivante. l+ rrS sortir Irt, sinon retourner 1. 1111:1- l)1:. '(Y.\11) r\LEVF A l'al I,- do:-. 1);:l-n.L.:(1 1 . (1'11110 . t poss;ble roitvei itp.ssagi....., sous-ia(elo la 1. -1, s1:211at1ire = Four (-^ t a 1 cr e,n!lnn r h pi. 2. ( E = (pkoi' :-, t it In _L. Il est proposé de déléguer un chiffrement de premier niveau de la manière indiquée sur la figure 8. Une telle délégation permet d'accélérer le chiffrement, mais dans un contexte ne nécessitant pas de rechiffrement. On répartit ainsi les calculs entre un premier dispositif (tel qu'un téléphone mobile MOB1) et un cloud de calcul (tel qu'un serveur de calcul CALC_S), de telle sorte que ce dernier n'obtienne pas d'information pertinente sur le message m à chiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m).It is recalled that the scheme of Canard-Devigne-Laguillaumie works in the following way. The indicated values of 160 bits or 140 bits are illustrative (and correspond to advantageous embodiments). It is also possible to use different values. (: u.vu: ATION DL: - the. \ 1:., .. S ... Ei.1.1 I. ~ utj, and (.1 two prunner numbers such as (111) - 1 and f, 1 end., q far 11i0 bit: - The, 1 Vil [.: [; -; 1 11-1 II. 'I pli in', 4 HU '.' 2.141,11,1 'of Z, 7 * (iii), (iii), (iii), (iii), (iii), (1) and (iii). ... 1., -. ^ HlL 10,11H. Llr - Wlilf 1 - 110 a tiit ..- .. tiiR. N1-,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, L1: 1 - 10 lii f0,111,1-1, - 113 {0,} * Z * and The figures of the global ring are - 1). (.1, EM: PATION from it, hrain (very As a result, each user is able to generate his / her key to the public key, the public key, a lot, and a user. One of the most important tools in the world for the first time is the 11th edition of the 11.11.C. ) .1111-1 etw e_ 10,1111 calculates, t = wi (h11, or 11) {'iit 1I dice 2. C.1, alt.I11 ,,. = 3 Define 1? -. The key to rechiffrelnent of. is then The ski key is a private key qualified secret key by abuse of language. This ski key is indifferently noted ski or xi. According to a conventional use of the Canard-Devigne-Laguillaumie scheme, it is possible to perform first-level encryption (not allowing re-encryption) or second-level encryption (allowing re-encryption). Ciurrta .., t1, t 1 1 public parameters. mess. 1.11. leliiiI. ## STR1 ## wherein: ## STR1 ## H. hoisir, / hut: r- = t E = 4. (. (1.1 {0.1} / 1 tq- (Rtetil (r = 1.2 = 7-12 (Ye The lei iv ier + lu in 11) I = (E _Il -.XX). x cti the public key eorre-pondanie = Pl til.CONI) A inf {0.1 and a 14 pulldic liîif1 C 1 level 2; He then follows, at this point, to read 1. Clause 10.1111 and calculate r = t 1! 2.t... 1 F = W2ffi? uT2 3. ^ Ino 1,1 Sch.riorr r such that fty: and, tu, nr,; roof-had rr E t, - niCUler Cr = (..; (E der Sr = r, - F) and 1 q) The figure of 211d tiii. ' and: ## EQU1 ## where ## EQU1 ## is T = Pr, [111-111: ME :: 71 "IP ;; I: ni1i: P N1..EI _ \ itublif-s. If possible, read: 1 [H o_t, -ji.1) 1,: éiit (h "the following way: l + rrS exit Irt, if not return 1. 1111: 1- l) 1 :. '(Y. \ 11) LEVF In the I, - do: -. 1) ;: ln.L.:(1 1. (1'11110. T possl ble roitvei itp.ssagi ....., sub- ia (elo la 1. -1, s1: 211at1ire = Four (- ^ ta 1 cr e, n! lnn rh pi 2. (E = (pkoi ': -, t it In _L. It is proposed to delegate a first level encryption in the manner indicated in FIG. 8. Such delegation makes it possible to accelerate the encryption, but in a context that does not require re-encryption. The calculations are thus distributed between a first device (such as a mobile phone MOB1) and a calculation cloud (such as a calculation server CALC_S), so that the latter does not obtain relevant information on the message m to be encrypted (relevant from the point of view of a person seeking to know the at least partial content of the message m).

L (le lei Ir <ut di 1,1+ .,10 s = (E' / '1 11 Le téléphone mobile met en oeuvre les étapes Si à S10 et le serveur de calcul met en oeuvre les étapes Dl à D6. L'ordre des étapes peut être différent de celui représenté sur la figure 8. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres).The mobile telephone uses steps S1 to S10 and the calculation server implements steps D1 to D6. The order of the steps may be different from that shown in Figure 8. However, to speed up processing, not all orders are equal (some may lead to slower executions than others).

Selon un mode de réalisation, un procédé délègue un chiffrement de second niveau de la manière indiquée sur la figure 4. Une telle délégation permet d'accélérer le chiffrement dans un contexte susceptible de nécessiter un rechiffrement. On répartit ainsi les calculs entre un premier dispositif (tel qu'un téléphone mobile MOB1) et un cloud de calcul (tel qu'un serveur de calcul CALC_S), de telle sorte que ce dernier n'obtienne pas d'information pertinente sur le message m à chiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m). 2iid niveau (hi niess<tt+ .do, = ./' 17 = Le téléphone mobile met en oeuvre les étapes 51 à S9 et le serveur de calcul met en oeuvre l'étape Dl.According to one embodiment, a method delegates second-level encryption as indicated in FIG. 4. Such delegation makes it possible to accelerate the encryption in a context that may require re-encryption. The calculations are thus distributed between a first device (such as a mobile phone MOB1) and a calculation cloud (such as a calculation server CALC_S), so that the latter does not obtain relevant information on the message m to be encrypted (relevant from the point of view of a person seeking to know the at least partial content of the message m). 2iid level (hi niess <tt + .do, = ./ '17 = The mobile phone implements steps 51 to S9 and the calculation server implements step Dl.

L'ordre des étapes peut être différent de celui représenté sur la figure 4. En particulier, l'étape S7 peut être divisée, par exemple, en trois étapes S7a, S7b et S7c correspondant respectivement à la transmission de l'information E, F et tr, ou encore en deux étapes, l'une regroupant deux des trois informations E, F et tr, et l'autre comprenant la troisième de ces informations. Seul importe que : S2 soit exécuté après S1, S3 après S2, S4 après S2, S7 ou sa variante S7a (ou toute variante de S7 comprenant l'envoi de l'information E) après S3, S7 ou sa variante S7b (ou toute variante de S7 comprenant l'envoi de l'information F) après S4, S7 ou sa variante S7c (ou toute variante de S7 comprenant l'envoi de l'information tr) après S6, S6 après S5 (S5 correspondant à une génération aléatoire de ri), Dl après S7 (ou après la décomposition de S7 en sous étapes ayant transmis les trois informations E, F et tr), S8 après Dl, et S9 après S8. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres). Inversement, toujours dans le cadre du schéma de Canard-Devigne-Laguillaumie, il est proposé de déléguer un déchiffrement de premier niveau de la façon indiquée sur la figure 9. Ceci permet de répartir les calculs entre le téléphone mobile MOB2 et le serveur de calcul CALC_S, de telle sorte que ce dernier n'obtienne aucune information pertinente sur la clé privée ski (également notée xi) ou sur le message m à déchiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m ou de la clé privée ski). L'ordre des étapes peut être différent de celui représenté sur la figure 9. Cependant, pour accélérer le traitement, tous les ordres ne se valent pas (certains pouvant conduire à des exécutions plus lentes que d'autres). Selon un mode de réalisation, un procédé délègue un déchiffrement de second niveau de la façon indiquée sur la figure 5. Ceci permet de répartir les calculs entre le téléphone mobile MOB2 et le serveur de calcul CALC_S, de telle sorte que ce dernier n'obtienne aucune information pertinente sur la clé privée ski (également notée xi) ou sur le message m à déchiffrer (pertinente du point de vue d'une personne cherchant à connaître le contenu au moins partiel du message m ou de la clé privée ski). L'ordre des étapes peut être différent de celui représenté sur la figure 5, en particulier, Dl et 51 n'ont pas à être obligatoirement exécutés simultanément. Seul importe que Sl, S2 et S3 soient exécutés dans l'ordre. Pour accélérer le traitement, tous les ordres ne se valent pas (il est préférable que Dl soit exécuté dès que possible, et son résultat notifié au dispositif MOB2 dès que possible). Ainsi, différents modes de réalisation permettent de déléguer des calculs cryptographiques liés au chiffrement et/ou au déchiffrement à un cloud dédié de calcul (comprenant un serveur de calcul). Pour stocker un document sur le cloud de stockage, un premier dispositif peut interagir avec le cloud de calcul pour chiffrer la clé secrète du document. Une fois le document chiffré reçu via le cloud de stockage, un second dispositif (éventuellement le même que le premier) peut interagir avec le cloud de calcul pour obtenir la clé secrète du document et le déchiffrer. Ces modes de réalisation peuvent être mis en oeuvre notamment dans le cadre du projet ConfidenShare d'Ilab UK, qui permet à deux téléphones mobiles de communiquer entre eux (via une liaison NFC) afin de s'échanger les clés publiques. L'un des dispositifs calcule ensuite la clé de re-chiffrement et envoie au cloud (de stockage) cette clé ainsi qu'un identifiant du document en question. Le cloud re-chiffre le document et le stocke à un endroit lié à une url qui est envoyé en retour au premier mobile. Ce dernier envoie l'url à l'autre mobile qui est alors capable de s'y connecter, puis d'utiliser sa clé privée de déchiffrement pour obtenir le document en clair.The order of the steps may be different from that shown in FIG. 4. In particular, the step S7 may be divided, for example, into three steps S7a, S7b and S7c respectively corresponding to the transmission of the information E, F and tr, or in two steps, one combining two of the three information E, F and tr, and the other comprising the third of this information. It matters only that: S2 is executed after S1, S3 after S2, S4 after S2, S7 or its variant S7a (or any variant of S7 comprising the sending of information E) after S3, S7 or its variant S7b (or any variant of S7 comprising sending the information F) after S4, S7 or its variant S7c (or any variant of S7 comprising sending the information tr) after S6, S6 after S5 (S5 corresponding to a random generation of ri), Dl after S7 (or after the S7 decomposition into sub-stages having transmitted the three information E, F and tr), S8 after D1, and S9 after S8. However, to speed up processing, not all orders are equal (some may lead to slower executions than others). Conversely, still in the framework of the Canard-Devigne-Laguillaumie scheme, it is proposed to delegate a first-level decryption as indicated in FIG. 9. This makes it possible to distribute the calculations between the mobile phone MOB2 and the calculation server. CALC_S, so that the latter does not obtain any relevant information on the private key ski (also noted xi) or on the message m to decipher (relevant from the point of view of a person seeking to know the at least partial content of the message m or private ski key). The order of the steps may be different from that shown in Figure 9. However, to speed up the processing, all orders are not equal (some may lead to slower executions than others). According to one embodiment, a method delegates a second-level decryption as indicated in FIG. 5. This makes it possible to distribute the calculations between the mobile telephone MOB2 and the calculation server CALC_S, so that the latter does not obtain no relevant information on the private ski key (also noted xi) or on the message m to decipher (relevant from the point of view of a person seeking to know the at least partial content of the message m or the private key ski). The order of the steps may be different from that shown in FIG. 5, in particular, D1 and 51 need not be executed simultaneously. It matters only that S1, S2 and S3 are executed in order. To speed up processing, not all orders are equal (it is preferable that Dl be executed as soon as possible, and its result notified to the MOB2 device as soon as possible). Thus, various embodiments make it possible to delegate cryptographic calculations related to encryption and / or decryption to a dedicated computing cloud (including a calculation server). To store a document on the storage cloud, a first device can interact with the compute cloud to encrypt the secret key of the document. Once the encrypted document received via the storage cloud, a second device (possibly the same as the first) can interact with the computing cloud to obtain the secret key of the document and decrypt it. These embodiments can be implemented in particular within the framework of Ilab UK's ConfidenShare project, which allows two mobile phones to communicate with each other (via an NFC link) in order to exchange the public keys. One of the devices then calculates the re-encryption key and sends the cloud (storage) this key and an identifier of the document in question. The cloud re-encrypts the document and stores it at a location linked to an url that is sent back to the first mobile. The latter sends the url to the other mobile who is then able to connect to it, then use his private decryption key to obtain the document in clear.

Ce type de projets peut être déployé dans de multiples contextes, tels que le stockage de données personnelles quelconques, le stockage de calendriers partagés ou de données de santé, ou encore la gestion des pertes de moyens d' authentification. Bien entendu, les exemples donnés ci-dessus ne sont nullement limitatifs. Des dispositifs autres que ceux énumérés dans les différents exemples pourraient être utilisés (par exemple des dictaphones numériques, des téléphones WiFi utilisant la ToIP, des dispositifs GPS connectés, des distributeurs de boissons équipés de modules M2M, etc.). Les procédés d'accélération de chiffrement ou de déchiffrement de premier niveau peuvent être mis en oeuvre séparément des autres modes de réalisation, ou en complément. Ainsi, un dispositif peut à la fois ne permettre aucun partage de certaines données chiffrées (à l'aide d'un chiffrement de premier niveau), et permettre, via un rechiffrement, un partage d'autres données chiffrées (à l'aide d'un chiffrement de second niveau). De plus, il a été fait référence à titre d'exemple aux schémas de Libert-Vergnaud et de Canard-Devigne-Laguillaumie, mais d'autres schémas pourraient être utilisés, par exemple des schémas bidirectionnel, ou des schémas multi-hop.This type of project can be deployed in multiple contexts, such as the storage of any personal data, the storage of shared calendars or health data, or the management of loss of authentication means. Of course, the examples given above are in no way limiting. Devices other than those listed in the various examples could be used (eg digital dictaphones, WiFi telephones using the ToIP, connected GPS devices, drink dispensers with M2M modules, etc.). The first level encryption or decryption acceleration methods may be implemented separately from, or in addition to, the other embodiments. Thus, a device can at the same time not allow any sharing of certain encrypted data (using first-level encryption), and allow, via a re-encryption, sharing of other encrypted data (using 'second level encryption). In addition, reference has been made by way of example to the Libert-Vergnaud and Canard-Devigne-Laguillaumie schemes, but other schemes could be used, for example bidirectional schemes, or multi-hop schemes.

Les modes de réalisation concernant les procédés peuvent être transposés aux dispositifs, et réciproquement.The method embodiments can be transposed to the devices, and vice versa.

Claims (10)

REVENDICATIONS1. Procédé d'accélération de calculs cryptographiques par un système comprenant un dispositif électronique (MOB1) et un serveur de calcul (CALC_S), le procédé comprenant : /a/ la mise en oeuvre, par le dispositif électronique (MOB1), d'au moins une étape d'un chiffrement rechiffrable d'un message (M), ladite au moins une étape comprenant la ou les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message (M) ; /b/ la délégation, par le dispositif électronique (MOB1) au serveur de calcul (CALC_S) de la mise en oeuvre de la ou des étapes du chiffrement rechiffrable autres que la au moins une étape mise en oeuvre par le dispositif électronique (MOB1) durant la phase /a/.REVENDICATIONS1. A method of accelerating cryptographic calculations by a system comprising an electronic device (MOB1) and a calculation server (CALC_S), the method comprising: / a / the implementation, by the electronic device (MOB1), of at least a step of a re-encrypted encryption of a message (M), said at least one step comprising the step or steps of the re-encrypable encryption that use information in clear on the message (M); / b / the delegation, by the electronic device (MOB1) to the calculation server (CALC_S) of the implementation of the step or step of the encryption re-encryption other than the at least one step implemented by the electronic device (MOB1) during phase / a /. 2. Procédé selon la revendication 1, comprenant l'utilisation, comme chiffrement rechiffrable, d'un chiffrement de second niveau du schéma de Libert-Vergnaud, dans lequel la délégation selon la phase /b/ comprend : /b11/ l'envoi, par le dispositif électronique (MOB1) au serveur de calcul (CALC_S), de la clé de vérification de signature du schéma de signature à usage unique utilisé selon le schéma de LibertVergnaud, notée svk, /b12/ le calcul du produit de u à la puissance svk par v, u et v désignant respectivement le deuxième et le troisième générateur du schéma de Libert-Vergnaud, /b13/ l'envoi, par le serveur de calcul (CALC_S) au dispositif électronique (MOB1), du résultat du calcul de la phase /b12/.2. Method according to claim 1, comprising the use, as re-encrypted encryption, of a second-level encryption of the Libert-Vergnaud scheme, in which the delegation according to the / b / phase comprises: / b11 / the sending, by the electronic device (MOB1) to the calculation server (CALC_S), the signature verification key of the single-use signature schema used according to the LibertVergnaud schema, denoted svk, / b12 / the calculation of the product from u to the power svk by v, u and v respectively designating the second and third generators of the Libert-Vergnaud scheme, / b13 / sending, by the calculation server (CALC_S) to the electronic device (MOB1), the result of the calculation of phase / b12 /. 3. Procédé selon la revendication 1, comprenant l'utilisation, comme chiffrement rechiffrable, d'un chiffrement de second niveau du schéma de Canard-Devigne-Laguillaumie, dans lequel la délégation selon la phase /b/ comprend : /b21/ l'envoi, par le dispositif électronique (MOB1) au serveur de calcul (CALC_S), des paramètres E, F et tr calculés selon le schéma de Canard-Devigne-Laguillaumie, /b22/ l'application par le serveur de calcul (CALC_S) de la fonction de hachage H3 du schéma de Canard-Devigne-Laguillaumie, à la concaténation du paramètre E, de la première composante de la clé publique du dispositif électronique (MOB1) selon le schéma de Canard-Devigne-Laguillaumie, du paramètre tr et du paramètre F, /b23/ l'envoi, par le serveur de calcul (CALC_S) au dispositif électronique (MOB1), du résultat du calcul de la fonction de hachage H3.3. Method according to claim 1, comprising the use, as a re-encrypted encryption, of a second-level encryption of the Canard-Devigne-Laguillaumie scheme, in which the delegation according to the / b / phase comprises: / b21 / l sending, by the electronic device (MOB1) to the calculation server (CALC_S), parameters E, F and tr calculated according to the scheme of Canard-Devigne-Laguillaumie, / b22 / the application by the calculation server (CALC_S) of the hash function H3 of the Canard-Devigne-Laguillaumie scheme, the concatenation of the parameter E, the first component of the public key of the electronic device (MOB1) according to the Canard-Devigne-Laguillaumie scheme, the parameter tr and the parameter F, / b23 / sending, by the calculation server (CALC_S) to the electronic device (MOB1), the result of the calculation of the hash function H3. 4. Procédé d'accélération de calculs cryptographiques par un système comprenant un dispositif électronique (MOB2) et un serveur de calcul (CALC_S), le procédé comprenant :/c/ la mise en oeuvre, par le dispositif électronique (MOB2), d'au moins une étape d'un déchiffrement d'un message (M) chiffré par chiffrement rechiffrable, ladite au moins une étape comprenant la ou les étapes du déchiffrement qui utilisent des informations en clair sur le message (M) ; /d/ la délégation, par le dispositif électronique (MOB2) au serveur de calcul (CALC_S) de la mise en oeuvre de la ou des étapes du déchiffrement autres que la au moins une étape mise en oeuvre par le dispositif électronique (MOB2) durant la phase /c/.4. A method for accelerating cryptographic calculations by a system comprising an electronic device (MOB2) and a calculation server (CALC_S), the method comprising: / c / the implementation, by the electronic device (MOB2), of at least one step of decrypting a scrambled encrypted message (M), said at least one step comprising the decryption step (s) that uses plaintext information on the message (M); / d / the delegation, by the electronic device (MOB2) to the calculation server (CALC_S) of the implementation of the step or decryption steps other than the at least one step implemented by the electronic device (MOB2) during phase / c /. 5. Procédé selon la revendication 4, comprenant l'utilisation, comme déchiffrement, d'un déchiffrement de second niveau du schéma de Libert-Vergnaud, dans lequel la délégation selon la phase /d/ comprend : /d11/ l'obtention, par le serveur de calcul (CALC_S), de la représentation chiffrée {C1, C2, C3, C4, sigma} du message (M), /d12/ le calcul, par le serveur de calcul (CALC_S), du résultat, noté P, de l'application bilinéaire e selon le schéma de Libert-Vergnaud appliquée au couple formé par C2 et g, où C2 désigne la deuxième composante de la représentation chiffrée du message (M) et g désigne le premier générateur du schéma de Libert-Vergnaud, /d13/ l'envoi du résultat P par le serveur de calcul (CALC_S) au dispositif électronique (MOB2), /d14/ le calcul, par le serveur de calcul (CALC_S), du produit de u à la puissance Cl par v, u et v désignant respectivement le deuxième et le troisième générateur du schéma de Libert-Vergnaud et Cl désignant la première composante de la représentation chiffrée du message (M), /d15/ le calcul, par le serveur de calcul (CALC_S), du résultat de l'application bilinéaire e selon le schéma de Libert-Vergnaud appliquée au couple formé par C2 et le résultat obtenu durant la phase /d14/, /d16/ le calcul, par le serveur de calcul (CALC_S), du résultat de l'application bilinéaire e appliquée au couple formé par C4 et Xi, où C4 désigne la quatrième composante de la représentation chiffrée du message (M) et Xi désigne la clé publique du dispositif électronique (MOB2) selon le schéma de Libert-Vergnaud, /d17/ la vérification de ce que les résultats obtenus durant la phase /d15/ et durant la phase /d16/ sont identiques, /dl 8/ la vérification de ce que sigma, qui désigne la cinquième composante de la représentation chiffrée du message (M), correspond, selon le schéma de signature à usage unique utilisé selon le schéma de Libert-Vergnaud, à une signature valide de la concaténation de C3 et C4, C3 représentant la troisième composante de la représentation chiffrée du message (M), grâce à la clé publique de vérification de signature représentée par Cl, /d19/ la notification, par le serveur de calcul (CALC_S), au dispositif électronique (MOB2), des résultats des vérifications effectuées durant les phases /d17/ et /d18/.5. Method according to claim 4, comprising the use, as decryption, of a second-level decryption of the Libert-Vergnaud scheme, in which the delegation according to the / d / phase comprises: / d11 / obtaining, by the calculation server (CALC_S), the encrypted representation {C1, C2, C3, C4, sigma} of the message (M), / d12 / the calculation, by the calculation server (CALC_S), of the result, denoted P, the bilinear application e according to the Libert-Vergnaud scheme applied to the pair formed by C2 and g, where C2 denotes the second component of the encrypted representation of the message (M) and g denotes the first generator of the Libert-Vergnaud scheme, / d13 / the sending of the result P by the computing server (CALC_S) to the electronic device (MOB2), / d14 / the computation, by the computing server (CALC_S), of the product of u to the power Cl by v, u and v respectively designating the second and the third generator of the Libert-Vergnaud scheme and Cl designating the first first component of the encrypted representation of the message (M), / d15 / the computation, by the calculation server (CALC_S), of the result of the bilinear application e according to the Libert-Vergnaud scheme applied to the pair formed by C2 and the result obtained during the phase / d14 /, / d16 / the computation, by the calculation server (CALC_S), of the result of the bilinear application e applied to the pair formed by C4 and Xi, where C4 designates the fourth component of the representation encrypted message (M) and Xi designates the public key of the electronic device (MOB2) according to the Libert-Vergnaud scheme, / d17 / checking that the results obtained during phase / d15 / and during phase / d16 / are identical, / dl 8 / verifying that sigma, which designates the fifth component of the encrypted representation of the message (M), corresponds, according to the single-use signature scheme used according to the Libert-Vergnaud scheme, to a valid signature of the concatenated of C3 and C4, C3 representing the third component of the encrypted representation of the message (M), thanks to the public verification key represented by Cl, / d19 / the notification, by the calculation server (CALC_S), to electronic device (MOB2), results of the checks carried out during phases / d17 / and / d18 /. 6. Procédé selon la revendication 4, comprenant l'utilisation, comme déchiffrement, d'un déchiffrement de second niveau du schéma de Canard-Devigne-Laguillaumie, dans lequel la délégation selon la phase /d/ comprend : /d21/ l'obtention, par le serveur de calcul (CALC_S), de la représentation chiffrée {E, F, cr, sr} du message (M), /d22/ le calcul, par le serveur de calcul (CALC_S), du produit de E à la puissance cr et de la première composante de la clé publique du dispositif électronique (MOB2) selon le schéma de Canard-Devigne-Laguillaumie à la puissance sr, E désignant la première composante de la représentation chiffrée du message (M), cr désignant la troisième composante de la représentation chiffrée du message (M), sr désignant la quatrième composante de la représentation chiffrée du message (M), /d23/ le calcul, par le serveur de calcul (CALC_S), du résultat l'application de la fonction de hachage H3 selon le schéma de Canard-Devigne-Laguillaumie appliquée à la concaténation de E, de la première composante de la clé publique du dispositif électronique (MOB2) selon le schéma de Canard-Devigne-Laguillaumie, du résultat de la phase /d22/, et de F, où F désigne la deuxième composante de la représentation chiffrée du message (M), /d24/ la vérification, par le serveur de calcul (CALC_S), de l'égalité de cr et du résultat de la phase /d23/, /d25/ la notification, par le serveur de calcul (CALC_S), au dispositif électronique (MOB2), du résultat de la vérification effectuée durant la phase /d24/.6. Method according to claim 4, comprising the use, as decryption, of a second-level decryption of the Canard-Devigne-Laguillaumie scheme, in which the delegation according to the / d / phase comprises: / d21 / obtaining , by the calculation server (CALC_S), of the encrypted representation {E, F, cr, sr} of the message (M), / d22 / the calculation, by the calculation server (CALC_S), of the product of E to the power cr and the first component of the public key of the electronic device (MOB2) according to the scheme of Canard-Devigne-Laguillaumie to the power sr, E designating the first component of the encrypted representation of the message (M), cr denoting the third component of the encrypted representation of the message (M), sr designating the fourth component of the encrypted representation of the message (M), / d23 / the calculation, by the calculation server (CALC_S), of the result the application of the function of H3 hash according to the scheme of Canard-Devigne-Laguillaumie app liquefied to the concatenation of E, the first component of the public key of the electronic device (MOB2) according to the Canard-Devigne-Laguillaumie scheme, the result of the phase / d22 /, and F, where F designates the second component the encrypted representation of the message (M), / d24 / the verification, by the calculation server (CALC_S), of the equality of cr and the result of the phase / d23 /, / d25 / the notification, by the server of computation (CALC_S), with the electronic device (MOB2), of the result of the check carried out during the phase / d24 /. 7. Procédé d'accélération de calculs cryptographiques par un système comprenant deux dispositifs électroniques (MOB1, MOB2) et un serveur de calcul (CALC_S), le procédé comprenant : /aa/ le chiffrement accéléré d'un message (M) à l'aide d'un procédé selon la revendication 1, par un premier dispositif électronique (MOB1) et le serveur de calcul (CALC_S), /bb/ le rechiffrement du message (M) chiffré durant la phase /aa/ pour le compte d'un deuxième dispositif électronique (MOB2), /cc/ le déchiffrement accéléré du message rechiffré durant la phase /bb/, à l'aide d'un procédé selon la revendication 4, par le deuxième dispositif électronique (MOB2) et le serveur de calcul (CALC_S),A method for accelerating cryptographic calculations by a system comprising two electronic devices (MOB1, MOB2) and a calculation server (CALC_S), the method comprising: / aa / accelerated encryption of a message (M) to the using a method according to claim 1, by a first electronic device (MOB1) and the calculation server (CALC_S), / bb / the re-encryption of the message (M) encrypted during the phase / aa / on behalf of a second electronic device (MOB2), / cc / the accelerated decryption of the re-encrypted message during the / bb / phase, using a method according to claim 4, by the second electronic device (MOB2) and the calculation server ( CALC_S) 8. Programme d'ordinateur agencé pour mettre en oeuvre le procédé selon la revendication 1 lorsqu'il est exécuté par un ou plusieurs processeurs.8. Computer program arranged to implement the method of claim 1 when executed by one or more processors. 9. Système d'accélération de calculs cryptographiques, comprenant un dispositif électronique (MOB1) et un serveur de calcul (CALC_S), dans lequel : le dispositif électronique (MOB1) est agencé pour mettre en oeuvre au moins une étape d'un chiffrement rechiffrable d'un message (M), ladite au moins une étape comprenant la ou les étapes du chiffrement rechiffrable qui utilisent des informations en clair sur le message (M) ; le dispositif électronique (MOB1) est agencé pour déléguer au serveur de calcul (CALC_S) la mise en oeuvre de la ou des étapes du chiffrement rechiffrable autres que la au moins une étape mise en oeuvre par le dispositif électronique (MOB1).9. System for accelerating cryptographic calculations, comprising an electronic device (MOB1) and a calculation server (CALC_S), in which: the electronic device (MOB1) is arranged to implement at least one step of a re-encrypable encryption a message (M), said at least one step comprising the step or step of the encryption encryption that uses information in clear on the message (M); the electronic device (MOB1) is arranged to delegate to the calculation server (CALC_S) the implementation of the step or steps of the encryption rechiffrable other than the at least one step implemented by the electronic device (MOB1). 10. Système d'accélération de calculs cryptographiques, comprenant un dispositif électronique (MOB2) et un serveur de calcul (CALC_S), dans lequel : le dispositif électronique (MOB2) est agencé pour mettre en oeuvre au moins une étape d'un déchiffrement d'un message (M) chiffré par chiffrement rechiffrable, ladite au moins une étape comprenant la ou les étapes du déchiffrement qui utilisent des informations en clair sur le message (M) ; le dispositif électronique (MOB2) est agencé pour déléguer au serveur de calcul (CALC_S) la mise en oeuvre de la ou des étapes du déchiffrement autres que la au moins une étape mise en oeuvre par le dispositif électronique (MOB2).20A system for accelerating cryptographic calculations, comprising an electronic device (MOB2) and a calculation server (CALC_S), in which: the electronic device (MOB2) is arranged to implement at least one step of decryption a scrambled encrypted encrypted message (M), said at least one step comprising the one or more decryption steps that use plaintext information on the message (M); the electronic device (MOB2) is arranged to delegate to the calculation server (CALC_S) the implementation of the one or more decryption steps that the at least one step implemented by the electronic device (MOB2) .20
FR1252000A 2012-03-05 2012-03-05 Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase Withdrawn FR2987711A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1252000A FR2987711A1 (en) 2012-03-05 2012-03-05 Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1252000A FR2987711A1 (en) 2012-03-05 2012-03-05 Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase

Publications (1)

Publication Number Publication Date
FR2987711A1 true FR2987711A1 (en) 2013-09-06

Family

ID=46650624

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1252000A Withdrawn FR2987711A1 (en) 2012-03-05 2012-03-05 Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase

Country Status (1)

Country Link
FR (1) FR2987711A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11665145B1 (en) * 2014-05-02 2023-05-30 Navroop Mitter Method of providing end to end encryption with auditability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051404A2 (en) * 2004-11-11 2006-05-18 Certicom Corp. Secure interface for versatile key derivation function support

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006051404A2 (en) * 2004-11-11 2006-05-18 Certicom Corp. Secure interface for versatile key derivation function support

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Field Programmable Logic and Application", vol. 6715, 1 January 2011, SPRINGER BERLIN HEIDELBERG, Berlin, Heidelberg, ISBN: 978-3-54-045234-8, ISSN: 0302-9743, article LUAN IBRAIMI ET AL: "Public-Key Encryption with Delegated Search", pages: 532 - 549, XP055047620, DOI: 10.1007/978-3-642-21554-4_31 *
BENOIT LIBERT ET AL: "Unidirectional Chosen-Ciphertext Secure Proxy Re-encryption", 9 March 2008, PUBLIC KEY CRYPTOGRAPHY Â PKC 2008; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 360 - 379, ISBN: 978-3-540-78439-5, XP019087173 *
SEBASTIEN CANARD ET AL: "Improving the Security of an Efficient Unidirectional Proxy Re-Encryption Scheme", JOURNAL OF INTERNET SERVICES AND INFORMATION SECURITY, vol. 1, no. 2/3, 1 August 2011 (2011-08-01), pages 140 - 160, XP055047623 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11665145B1 (en) * 2014-05-02 2023-05-30 Navroop Mitter Method of providing end to end encryption with auditability

Similar Documents

Publication Publication Date Title
US10903976B2 (en) End-to-end secure operations using a query matrix
US20210203497A1 (en) Method for re-keying an encrypted data file
US10063372B1 (en) Generating pre-encrypted keys
JP6389895B2 (en) Data security using keys supplied by request
US9077541B2 (en) Methods and systems for storage of large data objects
Spoorthy et al. A survey on data storage and security in cloud computing
FR2930390A1 (en) METHOD FOR SECURE DIFFUSION OF DIGITAL DATA TO AN AUTHORIZED THIRD PARTY
JP2012518330A (en) Reliable cloud computing and cloud service framework
FR2952778A1 (en) SECURE DATA TRANSMISSION METHOD AND ENCRYPTION AND ENCRYPTION SYSTEM FOR SUCH TRANSMISSION
CA2895189C (en) Group signature using a pseudonym
US10897362B2 (en) De-duplication of encrypted data
FR2902547A1 (en) MANAGING NON-TRIBUTARY CRYPTOGRAPHIC INFORMATION OF A DEVICE
CN107113314B (en) Method and device for heterogeneous data storage management in cloud computing
FR2930391A1 (en) AUTHENTICATION TERMINAL OF A USER.
US20150023498A1 (en) Byzantine fault tolerance and threshold coin tossing
Vasilopoulos et al. Message-locked proofs of retrievability with secure deduplication
Tyagi et al. Cloud data security and various security algorithms
He et al. An efficient solution for hierarchical access control problem in cloud environment
Santos et al. Enhancing data security in cloud using random pattern fragmentation and a distributed nosql database
WO2020070455A1 (en) Low latency calculation transcryption method applied to homomorphic encryption
FR2987711A1 (en) Method for accelerating cryptographic calculations in cloud computing, involves providing encrypted coded message with information, and utilizing calculation server for performing encrypted coding of message during application phase
Periasamy et al. Secure and duplication detection in cloud using cryptographic hashing method
Reinhold et al. Hybrid cloud architecture for software-as-a-service provider to achieve higher privacy and decrease security concerns about cloud computing
FR3107416A1 (en) EFFECTIVE RANDOM TOKENIZATION IN A DEMATERIALIZED ENVIRONMENT
Asesh Encryption technique for a trusted cloud computing environment

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141128