FR3150380A1 - Method for determining an encrypted message, associated refreshing, extraction and aggregation method - Google Patents
Method for determining an encrypted message, associated refreshing, extraction and aggregation method Download PDFInfo
- Publication number
- FR3150380A1 FR3150380A1 FR2306351A FR2306351A FR3150380A1 FR 3150380 A1 FR3150380 A1 FR 3150380A1 FR 2306351 A FR2306351 A FR 2306351A FR 2306351 A FR2306351 A FR 2306351A FR 3150380 A1 FR3150380 A1 FR 3150380A1
- Authority
- FR
- France
- Prior art keywords
- encrypted
- message
- polynomial
- encrypted message
- space
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
L’invention concerne un procédé de détermination d’un message chiffré c(X) correspondant à une version chiffrée d’un message µ(X), le message µ(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1 dont les coefficients sont à valeurs dans . Le procédé comprend une étape de chiffrement du message µ(X) par chiffrement totalement homomorphe, à partir d’une clé privée s(X), en le message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à un espace , avec Tq[X] un espace de polynômes de degré inférieur ou égal à N-1 dont les coefficients sont à valeurs dans et un polynôme cyclotomique d’ordre M, avec , t un nombre premier strictement supérieur à 3 et α un nombre entier non nul ou , avec ti des nombres premiers et αi des entiers non nuls, au moins l’un des nombres premiers ti étant strictement supérieur à 3. Figure à publier avec l’abrégé : Figure 1 The invention relates to a method for determining an encrypted message c(X) corresponding to an encrypted version of a message µ(X), the message µ(X) being in the form of a polynomial of degree less than or equal to N-1 whose coefficients have values in . The method comprises a step of encrypting the message µ(X) by totally homomorphic encryption, from a private key s(X), in the encrypted message c(X) being in the form of a polynomial belonging to a space , with Tq[X] a space of polynomials of degree less than or equal to N-1 whose coefficients have values in and a cyclotomic polynomial of order M, with , t a prime number strictly greater than 3 and α a non-zero integer or , with ti prime numbers and αi non-zero integers, at least one of the prime numbers ti being strictly greater than 3. Figure to be published with the abstract: Figure 1
Description
La présente invention concerne de manière générale le domaine de la cryptographie homomorphe.The present invention relates generally to the field of homomorphic cryptography.
L’invention concerne plus particulièrement un procédé de détermination d’un message chiffré.The invention relates more particularly to a method for determining an encrypted message.
Elle concerne également des procédés de rafraîchissement, d’extraction et d’agrégation associés.It also relates to associated refreshing, extraction and aggregation processes.
Elle concerne enfin un dispositif de détermination d’un message chiffré et un système cryptographique comprenant un tel dispositif.Finally, it concerns a device for determining an encrypted message and a cryptographic system comprising such a device.
La cryptographie homomorphe, qui permet d'effectuer des calculs ou des traitements sur des données chiffrées, sans les déchiffrer au préalable, a suscité beaucoup d'attention dernièrement.Homomorphic cryptography, which allows calculations or processing to be performed on encrypted data without first decrypting it, has attracted a lot of attention recently.
En effet, le traitement numérique de données personnelles est devenu omniprésent dans notre vie quotidienne. La protection de la confidentialité de ces données, et de la vie privée des individus concernés est donc devenue critique, car ces données personnelles ont tendance à circuler de plus en plus dans les environnements en systèmes digitaux utilisés au quotidien.Indeed, the digital processing of personal data has become omnipresent in our daily lives. Protecting the confidentiality of this data, and the privacy of the individuals concerned, has therefore become critical, as this personal data tends to circulate more and more in the digital systems environments used on a daily basis.
Dans ce contexte, les techniques de chiffrement et traitement homomorphes apparaissent comme une solution très prometteuse, car elles permettent de traiter des données tout en préservant de manière particulièrement sûre le caractère privé de ces données, ces dernières n'étant pas déchiffrées pendant leur traitement.In this context, homomorphic encryption and processing techniques appear to be a very promising solution, because they make it possible to process data while preserving the privacy of this data in a particularly secure manner, since the latter is not decrypted during processing.
Les méthodes de cryptographie homomorphe répondent donc, entre autres, à l’enjeu technique qui consiste à permettre :
- à un serveur de services et traitements, externe, généralement distant, d’effectuer des opérations « en aveugle » sur des données chiffrées, sans les déchiffrer, ce serveur ne disposant d’ailleurs pas de la clef nécessaire pour déchiffrer les données,
- les données, chiffrées, étant fournies par une autre entité, distincte (un client, au sens informatique), qui, elle, dispose de la clef de chiffrement.
- to an external, generally remote, service and processing server to perform “blind” operations on encrypted data, without decrypting it, this server not having the key necessary to decrypt the data,
- the data, encrypted, being provided by another, distinct entity (a client, in the IT sense), which has the encryption key.
Ces opérations de traitement de données peuvent consister à effectuer des opérations individuelles, donnée par donnée, pour les mettre en forme ou les filtrer par exemple. Elles peuvent aussi concerner des opérations de comparaison entre données, de tri ou d’agrégation.These data processing operations may consist of performing individual operations, data by data, to format or filter them for example. They may also involve data comparison, sorting or aggregation operations.
La cryptographie homomorphe peut être basée sur le schéma de cryptage dit "apprentissage avec erreur" («learning with errors» ou LWE, selon l’appellation d’origine anglosaxonne couramment utilisée), dans lequel le message crypté
- s est une clé secrète,
- a est un vecteur choisi au hasard, pour projeter la clé secrète s, et
- e est une composante de bruit aléatoire, ajoutée à μ+a.s.
- s is a secret key,
- a is a randomly chosen vector, to project the secret key s, and
- e is a random noise component, added to μ+as
Pour décrypter le message, une personne possédant la clé secrète s peut calculer la quantité b-a.s (égale à μ+e), puis arrondir le résultat pour supprimer la composante de bruit e et retrouver le message μ. Bien entendu, le terme de bruit e doit être et rester suffisamment petit si l'on veut pouvoir récupérer le message μ.To decrypt the message, a person with the secret key s can calculate the quantity b-a.s (equal to μ+e), then round the result to remove the noise component e and recover the message μ. Of course, the noise term e must be and remain sufficiently small if the message μ is to be recovered.
Des opérations homomorphes, telles que par exemple l’addition de deux messages cryptés, sont mises en œuvre sur les messages cryptés afin de permettre leur traitement sans les déchiffrer. Ces opérations peuvent devenir particulièrement complexes lorsqu’il est question de traiter des messages sous la forme d’entiers longs.Homomorphic operations, such as the addition of two encrypted messages, are implemented on encrypted messages to allow their processing without decrypting them. These operations can become particularly complex when dealing with messages in the form of long integers.
Pour effectuer des opérations homomorphes sur un message (en clair) plus long, il est alors d’usage habituel de décomposer le message concerné en messages binaires (décomposition binaire classique). Chaque message binaire est crypté séparément et l'opération est ensuite effectuée, de manière homomorphe, bit par bit. Mais dans ce processus, il faut tenir compte de la retenue (chiffrée) résultant de chaque addition binaire, et propager cette retenue à l'opération binaire suivante. Il s'agit donc d'un processus en série, gourmand en temps. En outre, chaque opération binaire est effectuée de manière homomorphe, ce qui multiplie le nombre d'opérations homomorphes (et rend donc complexe la mise en œuvre complète de l’opération).To perform homomorphic operations on a longer (plaintext) message, it is then common practice to decompose the message concerned into binary messages (classical binary decomposition). Each binary message is encrypted separately and the operation is then performed, homomorphically, bit by bit. But in this process, it is necessary to take into account the (encrypted) carry resulting from each binary addition, and to propagate this carry to the next binary operation. It is therefore a serial process, consuming in time. In addition, each binary operation is performed homomorphically, which multiplies the number of homomorphic operations (and therefore makes the complete implementation of the operation complex).
Dans ce contexte, l’invention concerne une méthode de chiffrement homomorphe qui permet de traiter efficacement des messages plus longs que des messages binaires.In this context, the invention relates to a homomorphic encryption method which allows to efficiently process messages longer than binary messages.
L’invention concerne un procédé de détermination d’un message chiffré c(X) correspondant à une version chiffrée d’un message µ(X), le message µ(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1 dont les coefficients sont à valeurs dans un espace
ledit procédé comprenant une étape de chiffrement du message µ(X) par chiffrement totalement homomorphe, à partir d’une clé privée s(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1, en le message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à un espace
said method comprising a step of encrypting the message µ(X) by totally homomorphic encryption, from a private key s(X) in the form of a polynomial of degree less than or equal to N-1, in the encrypted message c(X) in the form of a polynomial belonging to a space
Ainsi, l’utilisation des polynômes cyclotomiques pour le message chiffré permet d’améliorer le traitement cryptographique de messages longs. En effet, le traitement homomorphe de messages longs est grandement facilité par les propriétés des polynômes cyclotomiques.Thus, the use of cyclotomic polynomials for the encrypted message allows to improve the cryptographic processing of long messages. Indeed, the homomorphic processing of long messages is greatly facilitated by the properties of cyclotomic polynomials.
D’une part, l’utilisation des polynômes cyclotomiques pour le message chiffré, en considérant un jeu de paramètres donné (c’est-à-dire avec des valeurs de p et t fixées) permet de considérer des messages longs, autres que sous forme binaire pour le traitement cryptographique homomorphe. D’autre part, dans le cas de messages de tailles usuelles, l’utilisation des polynômes cyclotomiques pour la détermination du message chiffré permet d’améliorer les performances des traitements cryptographiques (en particulier, d’améliorer la vitesse de mise en œuvre de ces traitements cryptographiques).On the one hand, the use of cyclotomic polynomials for the encrypted message, considering a given set of parameters (i.e. with fixed values of p and t) allows to consider long messages, other than in binary form for homomorphic cryptographic processing. On the other hand, in the case of messages of usual sizes, the use of cyclotomic polynomials for the determination of the encrypted message allows to improve the performance of cryptographic processing (in particular, to improve the speed of implementation of these cryptographic processings).
Selon cet aspect de l’invention, le chiffrement totalement homomorphe est mis en œuvre par une fonction de chiffrement polynômial à coefficients dans un espace défini par un toreT.According to this aspect of the invention, the fully homomorphic encryption is implemented by a polynomial encryption function with coefficients in a space defined by a torus T .
L’invention concerne également un procédé de de transformation d’un message chiffré c(X) déterminé selon le procédé introduit précédemment en un élément chiffré
Ainsi, l’opérateur trace introduit permet de transformer le message chiffré, sans le déchiffrer. L’utilisation de l’opérateur trace permet par exemple de « nettoyer » le message chiffré (sans le déchiffrer) afin de ne conserver que certains termes utiles pour l’application visée.Thus, the trace operator introduced allows the encrypted message to be transformed, without decrypting it. Using the trace operator allows, for example, the encrypted message to be "cleaned" (without decrypting it) in order to keep only certain terms useful for the intended application.
L’invention concerne également un procédé de rafraîchissement du message chiffré c correspondant à une version chiffrée d’un message ρ, ledit message ρ étant défini dans le toreT, ledit procédé de rafraîchissement comprenant une étape de détermination d’un message chiffré rafraîchi c’, le message chiffré rafraîchi c’ comprenant une composante de bruit e’ plus petite qu’une composante de bruit e du message chiffré c, le message chiffré rafraîchi c’ étant déterminé sur la base d’un polynôme obtenu selon le procédé de détermination tel qu’introduit précédemment.The invention also relates to a method for refreshing the encrypted message c corresponding to an encrypted version of a message ρ, said message ρ being defined in the torus T , said refreshing method comprising a step of determining a refreshed encrypted message c', the refreshed encrypted message c' comprising a noise component e' smaller than a noise component e of the encrypted message c, the refreshed encrypted message c' being determined on the basis of a polynomial obtained according to the determination method as introduced previously.
Selon cet aspect de l’invention, l’étape de détermination du message chiffré rafraîchi c’ comprend une étape de calcul d’un coefficient d’ordre zéro du polynôme
L’invention concerne également un procédé d’extraction d’un élément chiffré homomorphe cβd’un message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à l’espace
Selon cet aspect de l’invention, le procédé d’extraction comprend une étape de détermination du nombre entier non nul β de manière à vérifier l’inégalité suivante :
L’invention concerne également un procédé d’agrégation d’une pluralité de messages chiffrés c(i), i étant un entier naturel, chaque message chiffré c(i)appartenant à un espaceT n+1, n étant un entier naturel non nul, chaque message chiffré c(i)correspondant à une version chiffrée d’un message µ(i)associé, ce chiffrement étant mis en œuvre par l’intermédiaire d’une clé de chiffrement privée s, le procédé d’agrégation comprenant des étapes de :
- détermination d’une clé chiffrée
- agrégation de ladite pluralité de messages chiffrés c(i)de manière à obtenir un message chiffré
- determination of an encrypted key
- aggregating said plurality of encrypted messages c (i) so as to obtain an encrypted message
Selon cet aspect de l’invention, le message chiffré
L’invention concerne en outre un dispositif de détermination d’un message chiffré c(X) correspondant à une version chiffrée d’un message µ(X), le message µ(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1 dont les coefficients sont à valeurs dans un espace
le dispositif de détermination comprenant au moins un processeur et un dispositif de mémorisation, le processeur comprenant :
- un module de chiffrement du message µ(X) par chiffrement totalement homomorphe, à partir d’une clé privée s(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1, en le message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à un espace
the determination device comprising at least one processor and a storage device, the processor comprising:
- a module for encrypting the message µ(X) by totally homomorphic encryption, from a private key s(X) in the form of a polynomial of degree less than or equal to N-1, in the encrypted message c(X) in the form of a polynomial belonging to a space
L’invention concerne également un système cryptographique comprenant :
- un dispositif de détermination d’un message chiffré c(X) tel qu’introduit précédemment, et
- un serveur de traitement cryptographique configuré pour mettre en œuvre au moins une opération de traitement cryptographique sur le message chiffré c(X).The invention also relates to a cryptographic system comprising:
- a device for determining an encrypted message c(X) as introduced previously, and
- a cryptographic processing server configured to implement at least one cryptographic processing operation on the encrypted message c(X).
L’invention concerne enfin un programme d’ordinateur comprenant des instructions exécutables par un processeur et conçues pour mettre en œuvre un procédé tel qu’introduit précédemment lorsque que ces instructions sont exécutées par ledit processeur.The invention finally relates to a computer program comprising instructions executable by a processor and designed to implement a method as introduced previously when these instructions are executed by said processor.
L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.The invention and its various applications will be better understood by reading the description which follows and by examining the figures which accompany it.
D'autres caractéristiques et avantages de l'invention ressortiront clairement de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles :Other characteristics and advantages of the invention will emerge clearly from the description given below, for information purposes only and in no way limiting, with reference to the appended figures, among which:
La présente invention vise à améliorer le traitement homomorphe des messages. Plus particulièrement, la présente invention concerne une méthode de chiffrement homomorphe qui permet ensuite d’effectuer des opérations sur des messages chiffrés sans les déchiffrer. Selon la présente invention, ces messages chiffrés sont associés à des messages en clair (i.e. des messages non chiffrés) dont chacun est plus long qu’un seul bit et qui sont traités, de manière homomorphe, sans être décomposés en messages binaires individuels.The present invention aims to improve the homomorphic processing of messages. More particularly, the present invention relates to a homomorphic encryption method which then makes it possible to perform operations on encrypted messages without decrypting them. According to the present invention, these encrypted messages are associated with plaintext messages (i.e. unencrypted messages) each of which is longer than a single bit and which are processed, in a homomorphic manner, without being broken down into individual binary messages.
Par définition dans la présente description, l’expression «message en clair», désigne un message non chiffré. Autrement dit, un message en clair peut être exploité (par exemple lors de sa transmission ou de sa mémorisation) sans nécessiter un recours à un déchiffrement, ni à une technique de traitement homomorphe.By definition in this description, the expression " plaintext message " means an unencrypted message. In other words, a plaintext message can be exploited (for example during its transmission or its storage) without requiring recourse to decryption, nor to a homomorphic processing technique.
Pour mettre en œuvre cette méthode, l’invention concerne tout d’abord un système cryptographique 1. La
Comme cela est représenté sur cette figure, le système cryptographique 1 comprend une entité 2, un serveur de traitement cryptographique 3 et une entité destinataire 4.As shown in this figure, the cryptographic system 1 comprises an entity 2, a cryptographic processing server 3 and a recipient entity 4.
L’entité 2 est configurée pour chiffrer un ou des messages (et, éventuellement, pour collecter au préalable ces messages), avec une clé de chiffrement privée s. Cette entité 2 comprend par exemple un dispositif 2A de détermination d’un message chiffré c(X) tel que cela est décrit par la suite. Le dispositif 2A de détermination du message chiffré c(X) comprend par exemple un processeur et un dispositif de mémorisation (non représentés).The entity 2 is configured to encrypt one or more messages (and, optionally, to collect these messages beforehand), with a private encryption key s. This entity 2 comprises, for example, a device 2A for determining an encrypted message c(X) as described below. The device 2A for determining the encrypted message c(X) comprises, for example, a processor and a storage device (not shown).
Cette entité 2 est également configurée pour transmettre le ou les messages chiffrés correspondant au serveur de traitement cryptographique 3. Le ou les messages chiffrés transmis sont par exemple accompagnés d’une requête de traitement (à destination notamment du serveur de traitement cryptographique 3).This entity 2 is also configured to transmit the corresponding encrypted message(s) to the cryptographic processing server 3. The encrypted message(s) transmitted are for example accompanied by a processing request (in particular to the cryptographic processing server 3).
Pour cela, l’entité 2 comprend par exemple un ensemble de modules fonctionnels. Chacun des différents modules est par exemple réalisé au moyen d’instructions de programme d’ordinateur mémorisées dans une mémoire de l’entité 2 et conçues pour mettre en œuvre le module concerné lorsque ces instructions sont exécutées par un processeur de l’entité 2.For this purpose, the entity 2 comprises, for example, a set of functional modules. Each of the different modules is, for example, produced by means of computer program instructions stored in a memory of the entity 2 and designed to implement the module concerned when these instructions are executed by a processor of the entity 2.
En pratique, l’entité 2 est distincte du serveur de traitement cryptographique 3. Cette entité 2 par exemple une base de données externe, ou un client (au sens informatique).In practice, entity 2 is distinct from cryptographic processing server 3. This entity 2 is, for example, an external database, or a client (in the IT sense).
Le serveur de traitement cryptographique 3 est configuré pour effectuer des opérations de traitement (application de fonction, extraction, rafraîchissement, tri) sur le ou les messages chiffrés reçus. Ce traitement cryptographique est mis en œuvre de manière homomorphe, c’est-à-dire sans déchiffrement des messages. Le serveur de traitement cryptographique 3 ne dispose d’ailleurs pas de la clé de chiffrement privée s ayant servi à produire le ou les messages chiffrés, à partir d’un ou plusieurs messages en clair non chiffrés. En d’autres termes, le serveur de traitement cryptographique 3 est programmé pour mettre en œuvre de manière homomorphe différentes opérations de traitement.The cryptographic processing server 3 is configured to perform processing operations (function application, extraction, refreshing, sorting) on the encrypted message(s) received. This cryptographic processing is implemented homomorphically, i.e. without decryption of the messages. The cryptographic processing server 3 does not have the private encryption key s used to produce the encrypted message(s), from one or more unencrypted plaintext messages. In other words, the cryptographic processing server 3 is programmed to implement different processing operations homomorphically.
Le serveur de traitement cryptographique 3 comprend par exemple un module de communication, pour recevoir et/ou émettre des données (en pratique un ou des messages chiffrés), et un module de calcul, pour réaliser les opérations de traitement cryptographique homomorphe mentionnées plus haut.The cryptographic processing server 3 comprises, for example, a communication module, for receiving and/or transmitting data (in practice one or more encrypted messages), and a calculation module, for carrying out the homomorphic cryptographic processing operations mentioned above.
Les modules en question sont par exemple de la forme d’un circuit électronique dédié, tel qu’une carte de communication (pour le module de communication), ou un circuit de calcul cryptographique comprenant au moins un processeur ou un circuit programmable, et une mémoire (pour le module de calcul). Le serveur de traitement cryptographique 3 lui-même peut ainsi prendre la forme d’un dispositif électronique propre.The modules in question are for example in the form of a dedicated electronic circuit, such as a communication card (for the communication module), or a cryptographic calculation circuit comprising at least one processor or one programmable circuit, and a memory (for the calculation module). The cryptographic processing server 3 itself can thus take the form of its own electronic device.
En variante, les modules du serveur de traitement cryptographique peuvent aussi prendre chacun la forme d’un ensemble d’instructions dont l’exécution par un système informatique (par exemple par un ordinateur) conduit à la réalisation d’étapes de réception et/ou émission de données (pour le module de communication), ou de traitement de données (pour le module de calcul cryptographique). Le serveur de traitement cryptographique 3 peut en particulier prendre la forme de services informatiques délocalisés, disponibles, via un réseau de communication (par exemple via internet, ou via un intranet), dans une structure informatique délocalisée, par exemple de type « cloud » (structure délocalisée sur plusieurs dispositifs électroniques supports distincts, et distants les uns des autres, mis en réseau).Alternatively, the modules of the cryptographic processing server may also each take the form of a set of instructions whose execution by a computer system (for example by a computer) leads to the performance of steps of receiving and/or transmitting data (for the communication module), or of processing data (for the cryptographic calculation module). The cryptographic processing server 3 may in particular take the form of delocalized IT services, available, via a communication network (for example via the Internet, or via an intranet), in a delocalized IT structure, for example of the “cloud” type (delocalized structure on several separate electronic support devices, distant from each other, networked).
Un canal de communication 5 relie l’entité 2 et le serveur de traitement cryptographique 3. Il s’agit par exemple d’un canal de communication pour lequel les données transmisses sont susceptibles d’être interceptées. Il peut s’agir d’un canal de communication sans fil, ou de communication filaire.A communication channel 5 connects the entity 2 and the cryptographic processing server 3. This is, for example, a communication channel for which the transmitted data is likely to be intercepted. It may be a wireless communication channel, or a wired communication channel.
En pratique, l’entité 2 et le serveur de traitement cryptographique 3 peuvent être distants l’un de l’autre, par exemple être situés dans des bâtiments différents.In practice, entity 2 and cryptographic processing server 3 may be distant from each other, for example located in different buildings.
En variante, il peut aussi s’agir d’éléments appartenant à un même système informatique, par exemple au sein d’un même dispositif électronique (par exemple au sein d’un même ordinateur, ou d’un même dispositif électronique portatif).Alternatively, it may also be elements belonging to the same computer system, for example within the same electronic device (for example within the same computer, or the same portable electronic device).
Comme cela est représenté sur la
Un canal de communication 6 relie le serveur de traitement cryptographique 3 et l’entité destinataire 4. Ce canal de communication 6 est configuré pour transmettre le résultat du traitement cryptographique depuis le serveur de traitement cryptographique 3 vers l’entité destinataire 4. Il s’agit par exemple d’un canal de communication pour lequel les données transmises sont susceptibles d’être interceptées. Il peut s’agit d’un canal de communication sans fil, ou de communication filaire.A communication channel 6 connects the cryptographic processing server 3 and the recipient entity 4. This communication channel 6 is configured to transmit the result of the cryptographic processing from the cryptographic processing server 3 to the recipient entity 4. This is for example a communication channel for which the transmitted data is likely to be intercepted. It may be a wireless communication channel, or a wired communication channel.
En variante, l’entité destinataire 4 peut être l’entité 2 elle-même, et les canaux de communication 5 et 6 peuvent former un même canal de communication bidirectionnel.Alternatively, the recipient entity 4 may be the entity 2 itself, and the communication channels 5 and 6 may form the same bidirectional communication channel.
La présente invention concerne tout d’abord un procédé de détermination d’un message chiffré c(X). Ce procédé de détermination est par exemple mis en œuvre par le dispositif 2A de détermination du message chiffré c(X) de l’entité 2 du système cryptographique 1. De manière générale, le procédé de détermination est mis en œuvre par ordinateur.The present invention firstly relates to a method for determining an encrypted message c(X). This determination method is for example implemented by the device 2A for determining the encrypted message c(X) of the entity 2 of the cryptographic system 1. Generally speaking, the determination method is implemented by computer.
La
De manière générale, ce procédé de détermination vise à déterminer le message chiffré c(X) correspondant à une version chiffrée d’un message en clair µ(X).In general, this determination method aims to determine the encrypted message c(X) corresponding to an encrypted version of a plain message µ(X).
Comme le montre la figure 2, le procédé débute à l’étape E2, lors de laquelle l’entité 2 reçoit le message en clair µ(X). Ici, ce message en clair µ(X) se présente sous la forme d’un polynôme de degré inférieur ou égal à N-1 avec N un nombre entier non nul. Ce polynôme présente des coefficients dont les valeurs sont prises dans un espaceT p dit « tore discret », avec p un nombre entier non nul. Plus particulièrement, le tore discretT p est défini de la manière suivante :
Le procédé se poursuit ensuite à l’étape E4. Lors de cette étape, l’entité 2 reçoit une clé de chiffrement privée s(X). Cette clé de chiffrement privée s(X) est également un polynôme de degré inférieur ou égal à N-1. Les coefficients du polynôme représentant la clé de chiffrement privée s(X) sont à valeurs dans l’espace ℤ.The method then continues to step E4. In this step, entity 2 receives a private encryption key s(X). This private encryption key s(X) is also a polynomial of degree less than or equal to N-1. The coefficients of the polynomial representing the private encryption key s(X) have values in the space ℤ.
Il est important de noter ici que la clé de chiffrement privée s(X) n’est connue que de l’entité 2 (dans le système cryptographique 1). En particulier, cette clé de chiffrement privée s(X) n’est par exemple pas connue du serveur de traitement cryptographique 3 qui met en œuvre les différentes opérations de traitement sur le message chiffré c(X).It is important to note here that the private encryption key s(X) is known only to entity 2 (in cryptographic system 1). In particular, this private encryption key s(X) is not known, for example, to the cryptographic processing server 3 which implements the various processing operations on the encrypted message c(X).
Le procédé de détermination comprend ensuite l’étape E6 de détermination du message chiffré c(X). En d’autres termes, cette étape E6 correspond à une étape de chiffrement du message en clair µ(X), à partir de la clé de chiffrement privée s(X), de manière à déterminer le message chiffré c(X).The determination method then comprises step E6 of determining the encrypted message c(X). In other words, this step E6 corresponds to a step of encrypting the plaintext message µ(X), from the private encryption key s(X), so as to determine the encrypted message c(X).
De manière avantageuse selon l’invention, le chiffrement mis en œuvre lors de cette étape E6 est un chiffrement totalement homomorphe (ou FHE pour «Fully Homomorphic Encryption» selon l’appellation d’origine anglosaxonne couramment utilisée.Advantageously according to the invention, the encryption implemented during this step E6 is a fully homomorphic encryption (or FHE for “ Fully Homomorphic Encryption ” according to the commonly used Anglo-Saxon name).
Dans cette description, on entend par l’expression «chiffrement totalement homomorphe», un système de chiffrement qui permet d'exécuter, sans limitation sur le nombre d’exécutions, des fonctions analytiques directement sur des données chiffrées tout en obtenant les mêmes résultats chiffrés que si les fonctions étaient exécutées sur du texte en clair.In this description, the term " fully homomorphic encryption " means an encryption system that allows analytic functions to be performed directly on encrypted data without any limitation on the number of executions while obtaining the same encrypted results as if the functions were performed on plaintext.
De manière avantageuse selon l’invention, le message chiffré c(X) se présente sous la forme d’un polynôme appartenant à un espace
La notation
Il est à noter que le degré du polynôme cyclotomique d’ordre M est égal à
De manière avantageuse selon l’invention, l’ordre M est défini par
Ainsi, l’utilisation des polynômes cyclotomiques pour le message chiffré permet d’améliorer le traitement cryptographique de messages longs. En effet, le traitement homomorphe (c’est-à-dire par application d’opérations homomorphes au message chiffré selon le procédé conforme à l’invention) de messages longs est grandement facilité par les propriétés des polynômes cyclotomiques.Thus, the use of cyclotomic polynomials for the encrypted message makes it possible to improve the cryptographic processing of long messages. Indeed, the homomorphic processing (i.e. by applying homomorphic operations to the encrypted message according to the method according to the invention) of long messages is greatly facilitated by the properties of cyclotomic polynomials.
D’une part, l’utilisation des polynômes cyclotomiques pour le message chiffré, en considérant un jeu de paramètres donné (c’est-à-dire avec des valeurs de p et t fixées) permet de considérer des messages longs, autres que sous forme binaire pour le traitement cryptographique homomorphe. D’autre part, dans le cas de messages de tailles usuelles, l’utilisation des polynômes cyclotomiques pour la détermination du message chiffré permet d’améliorer les performances des traitements cryptographiques (en particulier, d’améliorer la vitesse de mise en œuvre de ces traitements cryptographiques).On the one hand, the use of cyclotomic polynomials for the encrypted message, considering a given set of parameters (i.e. with fixed values of p and t) allows to consider long messages, other than in binary form for homomorphic cryptographic processing. On the other hand, in the case of messages of usual sizes, the use of cyclotomic polynomials for the determination of the encrypted message allows to improve the performance of cryptographic processing (in particular, to improve the speed of implementation of these cryptographic processings).
Dans un premier exemple préféré de mise en œuvre de la présente invention, l’ordre M est défini de la manière suivante :
Dans ce cas, la relation suivante est vérifiée :In this case, the following relationship holds:
En pratique, le polynôme cyclotomique d’ordre M est défini ici (pour le cas
Par ailleurs, dans ce cas, le degré du polynôme cyclotomique est donné par :
Ce mode de réalisation est particulièrement intéressant car, l’utilisation d’un nombre premier t supérieur ou égal 3 et le choix d’une taille p de message qui coïncide avec t (
Par ailleurs, le fait que le degré du polynôme cyclotomique (
Dans un second exemple préféré de mise en œuvre de la présente invention, l’ordre M est défini de la manière suivante :
Dans ce cas, les relations suivantes sont vérifiées, avec t1et t2des nombres premiers distincts strictement supérieurs à 3 :In this case, the following relations hold, with t 1 and t 2 distinct prime numbers strictly greater than 3:
En pratique, le chiffrement totalement homomorphe est mis en œuvre par application, au message en clair µ(X) (et avec l’utilisation de la clé de chiffrement privée s(X)), d’une fonction de chiffrement polynômial à coefficients dans l’espace défini par le tore T. En d’autres termes, le chiffrement totalement homomorphe est mis en œuvre par une fonction de chiffrement polynômial basé sur la méthode dite d’"apprentissage avec erreur" (LWE). Autrement dit encore, le chiffrement totalement homomorphe est mis en œuvre par application d’une fonction de type TRLWE (pour «Torus Ring Learning With Errors»).In practice, fully homomorphic encryption is implemented by applying, to the plaintext message µ(X) (and with the use of the private encryption key s(X)), a polynomial encryption function with coefficients in the space defined by the torus T. In other words, fully homomorphic encryption is implemented by a polynomial encryption function based on the so-called " learning with error " (LWE) method. In other words, fully homomorphic encryption is implemented by applying a TRLWE (for " Torus Ring Learning With Errors ") type function.
De manière avantageuse selon la présente invention, l’utilisation du polynôme cyclotomique d’ordre M permet d’exprimer de manière pratique le modulo
On considère un polynôme
Selon le premier exemple préféré introduit précédemment, avec
Selon le deuxième exemple préféré introduit précédemment, avec
Dans le cas où α1= α2= 1, le polynôme
En pratique, les opérations de multiplication,
Comme indiqué précédemment, le système cryptographique 1 (et plus particulièrement le serveur de traitement cryptographique 3) est configuré pour mettre en œuvre, de manière homomorphe, différentes opérations de traitement des messages chiffrés.As previously indicated, the cryptographic system 1 (and more particularly the cryptographic processing server 3) is configured to implement, in a homomorphic manner, different operations for processing encrypted messages.
Ces différentes opérations de traitement s’appuient toutes sur un outil commun, à savoir le procédé de détermination d’un message chiffré tel qu’introduit précédemment. Autrement dit, quelle que soit l’opération de traitement considérée, elle s’appuie sur un message chiffré déterminé selon le procédé décrit précédemment (c’est-à-dire un message chiffré défini à partir du polynôme cyclotomique d’ordre M, avec les propriétés définies précédemment).These different processing operations all rely on a common tool, namely the method for determining an encrypted message as introduced above. In other words, whatever the processing operation considered, it relies on an encrypted message determined according to the method described above (i.e. an encrypted message defined from the cyclotomic polynomial of order M, with the properties defined above).
Le système cryptographique 1 est par exemple configuré pour mettre en œuvre des opérations d’extraction, d’agrégation (ou «packing» selon la terminologie d’origine anglosaxonne couramment utilisée) et de rafraîchissement (ou «boostrapping» selon l’appellation d’origine anglosaxonne couramment utilisée) telles que décrites ci-après.The cryptographic system 1 is for example configured to implement extraction, aggregation (or “ packing ” according to the commonly used terminology of Anglo-Saxon origin) and refresh (or “ boostrapping ” according to the commonly used terminology of Anglo-Saxon origin) operations as described below.
Opération d’extractionExtraction operation
Cette opération de traitement vise à extraire un élément chiffré homomorphe cβassocié à un message chiffré c(X). Ce message chiffré c(X) est obtenu par la mise en œuvre du procédé de détermination décrit précédemment. En d’autres termes, le message chiffré c(X) se présente sous la forme d’un polynôme appartenant à l’espace
β est défini comme un nombre entier non nul inférieur ou égal au degré du polynôme représentant le message chiffré c(X) (β est donc inférieur ou égal à N-1). Par convention dans la présente description, on note alors que si
On considère ici le polynôme cyclotomique
La présente invention concerne ici un procédé d’extraction de l’élément chiffré homomorphe cβdu message chiffré c(X). La
Ce procédé d’extraction est par exemple mis en œuvre par le serveur de traitement cryptographique 3 du système cryptographique 1. De manière générale, le procédé d’extraction est mis en œuvre par ordinateur.This extraction method is for example implemented by the cryptographic processing server 3 of the cryptographic system 1. Generally speaking, the extraction method is implemented by computer.
Comme le montre la figure 3, le procédé d’extraction débute à l’étape E10. Lors de cette étape, le système cryptographique 1 (et plus particulièrement le serveur de traitement cryptographique 3) détermine un polynôme
Le procédé d’extraction comprend ensuite l’étape E12. Lors de cette étape, le système cryptographique 1 détermine le coefficient d’ordre zéro du polynôme
Puis, le procédé d’extraction se poursuit à l’étape E14 lors de laquelle le système cryptographique 1 compare la quantité
Si, à l’étape E14, le système cryptographique 1 identifie que la quantité
Ainsi, lors de cette étape E16, le système cryptographique 1 extrait, en tant qu’élément chiffré homomorphe cβ, cette combinaison linéaire (par l’intermédiaire du coefficient d’ordre zéro du polynôme
Si à l’étape E14, le système cryptographique 1 identifie que la quantité
A l’étape E18, le système cryptographique 1 détermine alors l’élément chiffré homomorphe cβcomme correspondant à un élément chiffré du coefficient d’ordre β du message en clair µ(X) sur la base du coefficient d’ordre zéro du polynôme
En variante, dans le cas d’un nombre β quelconque, le procédé d’extraction fournit, en sortie, un élément chiffré de la combinaison linéaire
Opération dOperation d ’agrégation'aggregation (ou «(Or " packingpacking »)»)
Cette opération d’agrégation vise à regrouper différents éléments chiffrés scalaires obtenus par une méthode connue de chiffrement homomorphe dans le toreT(ou chiffrement TLWE pour «Torus Learning With Errors») en un élément chiffré sous forme polynômiale (associé à un chiffrement TRLWE).This aggregation operation aims to group together different scalar encrypted elements obtained by a known method of homomorphic encryption in the torus T (or TLWE encryption for " Torus Learning With Errors ") into an encrypted element in polynomial form (associated with a TRLWE encryption).
La présente invention concerne alors un procédé d’agrégation mettant en œuvre l’application visée. La
Ce procédé d’agrégation est par exemple mis en œuvre par le serveur de traitement cryptographique 3 du système cryptographique 1. De manière générale, le procédé d’agrégation est mis en œuvre par ordinateur.This aggregation process is for example implemented by the cryptographic processing server 3 of the cryptographic system 1. Generally speaking, the aggregation process is implemented by computer.
Comme le montre la figure 4, le procédé débute à l’étape E20 lors de laquelle le système cryptographique 1 (et plus particulièrement le serveur de traitement cryptographique 3) reçoit une pluralité de messages chiffrés c(i), avec i un entier naturel défini tel que
Chaque message chiffré c(i)appartient à l’ensembleT n+1, n étant un entier naturel non nul (c’est-à-dire que
En pratique, chaque message chiffré c(i)correspond au résultat du chiffrement homomorphe dans le toreT, d’un message en clair µ(i)scalaire correspondant. Ce chiffrement est mis en œuvre par l’intermédiaire d’une clé de chiffrement privée s définie dans l’espace
En d’autres termes, chaque message chiffré c(i)correspond à un chiffrement TLWE du message en clair µ(i)scalaire correspondant, à l’aide de la clé de chiffrement privée s.In other words, each encrypted message c (i) corresponds to a TLWE encryption of the corresponding scalar plaintext message µ (i) , using the private encryption key s.
Le procédé se poursuit ensuite à l’étape E22. Lors de cette étape, la clé de chiffrement privée s est chiffrée de manière homomorphe à l’aide d’une clé
Comme le montre la figure 4, le procédé comprend ensuite l’étape E24 lors de laquelle une pluralité de messages chiffrés c(i)est regroupée sous la forme d’un polynôme de degré inférieur ou égal à N-1 de manière à obtenir un message chiffré
Les coefficients
Dans le cas où
En pratique, on définit chaque message chiffré c(i)de la manière suivante :
Pour l’opération d’agrégation, une clé d’agrégation KPac est également définie :
On utilise la notation suivante :
Ainsi, la décomposition des
On obtient ensuite la relation suivante :
De plus, par construction de la clé d’agrégation, la relation suivante peut être écrite :
Ainsi :
Par identification, il peut alors être déduit :
Ainsi, l’opération d’agrégation proposée selon l’invention est telle qu’elle permet, si une opération d’extraction est appliquée ensuite, d’aboutir directement au résultat à un élément chiffré correspondant au résultat du chiffrement d’un coefficient du message en clair.Thus, the aggregation operation proposed according to the invention is such that it allows, if an extraction operation is subsequently applied, to directly arrive at the result of an encrypted element corresponding to the result of the encryption of a coefficient of the clear message.
En variante, il est possible d’omettre la matrice L dans la définition du message
OpérationOperation d’agrégation (« packing ») en utilisant lesaggregation (“packing”) using the opérateurs «operators " tracestraces »»
Cette autre opération d’agrégation vise à transformer un élément chiffré scalaire obtenu par une méthode connue de chiffrement homomorphe dans le toreT(ou chiffrement TLWE pour «Torus Learning With Errors») en un élément chiffré sous forme polynômiale (associé à un chiffrement TRLWE), en utilisant les opérateurs traces.This other aggregation operation aims to transform a scalar encrypted element obtained by a known method of homomorphic encryption in the torus T (or TLWE encryption for " Torus Learning With Errors ") into an encrypted element in polynomial form (associated with a TRLWE encryption), using the trace operators.
Un opérateur trace (également appelé « trace » dans cette description) est une transformation linéaire sur les polynômes, de la forme :A trace operator (also called "trace" in this description) is a linear transformation on polynomials, of the form:
Les poids
En pratique, ces traces sont utilisées pour ”nettoyer” certains polynômes, c’est-à-dire pour obtenir un élément chiffré du polynôme dans lequel seuls certains termes sont conservés (à savoir, les termes utiles pour l’application visée).In practice, these traces are used to “clean” certain polynomials, that is, to obtain a numerical element of the polynomial in which only certain terms are preserved (namely, the terms useful for the intended application).
A cet effet, la présente invention concerne alors un procédé de transformation d’un message chiffré
Ce procédé de transformation comprend alors une étape de détermination de l’élément transformé
Le procédé de transformation permet alors d’obtenir l’élément transformé
Ce procédé de transformation permet alors, par l’intermédiaire de l’ensemble G des valeurs de d (donc les éléments choisis dans la somme), de sélectionner uniquement certains termes du polynôme définissant le message chiffré
Les traces sont en général exprimées dans le cadre de la théorie de Galois concernant les extensions de corps. Les ensembles G correspondent dans ce cas à des groupes dits « groupes de Galois ». Ces traces ont plusieurs applications : elles permettent notamment, comme visé dans la présente invention, de mettre en œuvre un chiffrement TRLWE d’un message scalaire
Ici, on considère que
La présente invention concerne alors une variante du procédé d’agrégation, basée sur la détermination des traces. Un exemple de cette variante du procédé d’agrégation (nommé également autre procédé d’agrégation dans la suite) est décrit ci-après.The present invention then relates to a variant of the aggregation method, based on the determination of traces. An example of this variant of the aggregation method (also called another aggregation method in the following) is described below.
Cet autre procédé d’agrégation est par exemple mis en œuvre par le serveur de traitement cryptographique 3 du système cryptographique 1. De manière générale, l’autre procédé d’agrégation est mis en œuvre par ordinateur.This other aggregation method is for example implemented by the cryptographic processing server 3 of the cryptographic system 1. Generally speaking, the other aggregation method is implemented by computer.
Cet autre procédé d’agrégation débute par une première étape lors de laquelle le système cryptographique 1 (et plus particulièrement le serveur de traitement cryptographique 3) reçoit un message chiffré
Par définition, on écrit
On définit également :
Il est observé que
Cependant, il est observé que :
La deuxième étape de cet autre procédé d’agrégation vise donc à évaluer un élément chiffré (selon le procédé de chiffrement introduit précédemment) du coefficient d’ordre 0 du polynôme
Cette deuxième étape est donc mise en œuvre en utilisant les traces. Plus particulièrement, la relation suivante est donnée :This second step is therefore implemented using traces. More specifically, the following relation is given:
Dans cette égalité, le sous-ensemble G est l’ensemble des nombres entiers d compris entre 0 et M-1 et qui sont premiers avec M. Et, en faisant le lien à la définition de la trace introduite précédente, ici, les poids
De manière avantageuse grâce à la théorie de Galois, la trace précédente
En pratique, cette décomposition est la plus fine possible de manière à être effectuée au maximum. De manière avantageuse, l’utilisation de cette décomposition en traces partielles permet de diminuer le coût de calcul associé à l’opération d’agrégation, d’accélérer l’opération d’agrégation et de diminuer l’erreur obtenue à la fin de l’opération.In practice, this decomposition is as fine as possible so as to be carried out to the maximum. Advantageously, the use of this decomposition into partial traces makes it possible to reduce the computational cost associated with the aggregation operation, to accelerate the aggregation operation and to reduce the error obtained at the end of the operation.
Le facteur
Opération de rafraRefresh operation îî chissement (ou «chissement (or " bootstrappingbootstrapping »)»)
L’opération de rafraîchissement (généralement appelée «bootstrapping») vise à empêcher l’augmentation d’un terme de bruit au cours du traitement des messages chiffrés. La présente invention concerne donc ici un procédé de rafraîchissement d’un message chiffré c. Ce message chiffré c est ici un message chiffré obtenu par chiffrement du message en clair µ (scalaire). Plus particulièrement, le message µ en clair est défini dans le toreT p, tandis que le message chiffré c est défini dans l’espaceT n+1.The refresh operation (generally called " bootstrapping ") aims to prevent the increase of a noise term during the processing of encrypted messages. The present invention therefore relates here to a method for refreshing an encrypted message c. This encrypted message c is here an encrypted message obtained by encryption of the plaintext message µ (scalar). More particularly, the plaintext message µ is defined in the torus T p , while the encrypted message c is defined in the space T n+1 .
De manière connue, le message chiffré c est défini par
En pratique, le message chiffré c est obtenu par une méthode connue de chiffrement homomorphe dans le toreT(ou chiffrement TLWE pour «Torus Learning With Errors») appliquée au message en clair µ et par l’intermédiaire de la clé de chiffrement privée s. Il est important de noter que le serveur de traitement cryptographique 3 ne possède pas la clé de chiffrement privée s (et n’est donc pas en mesure de déchiffrer le message chiffré c).In practice, the encrypted message c is obtained by a known method of homomorphic encryption in the torus T (or TLWE encryption for " Torus Learning With Errors ") applied to the plaintext message µ and by means of the private encryption key s. It is important to note that the cryptographic processing server 3 does not have the private encryption key s (and is therefore not able to decrypt the encrypted message c).
Le procédé de rafraîchissement vise donc à produire une version rafraîchie du message chiffré c, c’est-à-dire un autre message chiffre c’ (dit « message chiffré rafraîchi c’ » dans la suite). Ce message chiffré rafraîchi c’ est également déchiffré en tant que message en clair µ (lorsqu’il est déchiffré en utilisant la clé de chiffrement privée s), mais dont la composante de bruit associée est plus petite que la composante de bruit e du message chiffré c.The refresh method therefore aims to produce a refreshed version of the encrypted message c, i.e. another encrypted message c’ (hereinafter called “refreshed encrypted message c’”). This refreshed encrypted message c’ is also decrypted as a plaintext message µ (when decrypted using the private encryption key s), but whose associated noise component is smaller than the noise component e of the encrypted message c.
Par ailleurs, si on introduit, au préalable, une fonction
La
Ce procédé de rafraîchissement est par exemple mis en œuvre par le serveur de traitement cryptographique 3 du système cryptographique 1. De manière générale, le procédé de rafraîchissement est mis en œuvre par ordinateur.This refresh method is for example implemented by the cryptographic processing server 3 of the cryptographic system 1. Generally speaking, the refresh method is implemented by computer.
Comme cela est représenté sur la
Lors de cette étape E30, le serveur de traitement cryptographique 3 reçoit également une version publique chiffrée BK (« Bootstrap key » selon la terminologie d’origine anglosaxonne couramment utilisée) de la clé de chiffrement privée s (en utilisant une autre clé de chiffrement). Plus particulièrement, La version publique chiffrée BK est obtenue par chiffrement de la clé de chiffrement privée s selon le procédé de chiffrement décrit précédemment.During this step E30, the cryptographic processing server 3 also receives an encrypted public version BK (“Bootstrap key” according to the commonly used Anglo-Saxon terminology) of the private encryption key s (using another encryption key). More particularly, the encrypted public version BK is obtained by encrypting the private encryption key s according to the encryption method described above.
Puis, le procédé se poursuit à l’étape E32. Lors de cette étape, le serveur de traitement cryptographique 3 détermine un polynôme défini par l’expression suivante
En pratique, ce polynôme de rafraichissement fonctionnel
En pratique, la détermination du polynôme de rafraîchissement fonctionnel
Par construction, cette fonction de rafraîchissement g(µ) est une fonction par morceaux :
Par ailleurs, la fonction de rafraîchissement satisfait la relation suivante (dite « condition de compatibilité) :
Les valeurs de la fonction de rafraîchissement g(µ) doivent coïncider avec les valeurs de la fonction
Deux cas peuvent ensuite être distingués.Two cases can then be distinguished.
Si
Dans ce cas (
La fonction de rafraîchissement g est dans ce cas une fonction en escalier dont la largeur de chaque palier autour de messages
Si p et t sont premiers entre eux, il n’y a pas de contraintes particulières sur les quantités
L’étape E32 décrite vise à déterminer le polynôme de rafraîchissement fonctionnel
Selon un mode de réalisation de l’invention, la détermination de ce polynôme de rafraîchissement fonctionnel
Cela revient alors à déterminer les valeurs de la fonction de rafraîchissement g aux points
Si
Si p et t sont premiers entre eux, la détermination des coefficients du polynôme de rafraichissement fonctionnel
La première sous-étape vise à exprimer la condition de compatibilité introduite précédemment sous la forme de M relations de compatibilité obtenues pour
La deuxième sous-étape vise à utiliser les
Pour chaque indice j fixé, avec
Les valeurs de la fonction de rafraîchissement g prises en tous les points
Cette deuxième sous-étape est répétée pour l’ensemble des relations équivalentes j, avec
Puis, lors d’une troisième sous-étape, le système cryptographique 3 détermine les coefficients du polynôme
De manière avantageuse, cette mise en œuvre permet de déterminer le polynôme de rafraîchissement fonctionnel
Le message chiffré rafraîchi c’ est ensuite dérivé (étape E34). Ce message chiffré rafraîchi c’ est obtenu par une méthode connue de chiffrement homomorphe dans le toreT(ou chiffrement TLWE) du coefficient d’ordre 0 de ce polynôme
L’utilisation du polynôme cyclotomique d’ordre M dans ce procédé de rafraîchissement est particulièrement avantageux car elle permet d’améliorer considérablement les performances des processus de traitement (en particulier les calculs homomorphes) impliquant des messages plus longs (et non traités en format binaires). En effet, le processus de rafraîchissement connu ne permet pas de traiter les messages sous la forme d’entiers longs sans utiliser le format binaire. Ici, grâce à l’utilisation des polynômes cyclotomiques, il est possible de réaliser ce traitement pour des messages sous forme d’entiers longs. En particulier, l’utilisation du polynôme cyclotomique d’ordre M permet d’effectuer le calcul homomorphe et le rafraîchissement du message chiffré c pendant la même opération, sur ces messages sous la forme d’entiers longs.The use of the cyclotomic polynomial of order M in this refreshing method is particularly advantageous because it allows to considerably improve the performance of the processing processes (in particular homomorphic calculations) involving longer messages (and not processed in binary format). Indeed, the known refreshing process does not allow to process messages in the form of long integers without using the binary format. Here, thanks to the use of cyclotomic polynomials, it is possible to carry out this processing for messages in the form of long integers. In particular, the use of the cyclotomic polynomial of order M allows to perform the homomorphic calculation and the refreshing of the encrypted message c during the same operation, on these messages in the form of long integers.
Le procédé de rafraîchissement se termine par l’étape E36. Lors de cette étape, le serveur de traitement cryptographique 3 procède à l’extraction du message chiffré rafraîchi c’.The refresh process ends with step E36. During this step, the cryptographic processing server 3 extracts the refreshed encrypted message c’.
De manière avantageuse, le message chiffré rafraîchi c’ présente une composante de bruit e’ plus petite que la composante de bruit e associé au message chiffré c.
Advantageously, the refreshed encrypted message c' has a noise component e' smaller than the noise component e associated with the encrypted message c.
Claims (12)
ledit procédé comprenant une étape de chiffrement du message µ(X) par chiffrement totalement homomorphe, à partir d’une clé privée s(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1, en le message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à un espace
said method comprising a step of encrypting the message µ(X) by totally homomorphic encryption, from a private key s(X) in the form of a polynomial of degree less than or equal to N-1, in the encrypted message c(X) in the form of a polynomial belonging to a space
- détermination d’une clé chiffrée
- agrégation de ladite pluralité de messages chiffrés c(i)de manière à obtenir un message chiffré
- determination of an encrypted key
- aggregating said plurality of encrypted messages c (i) so as to obtain an encrypted message
le dispositif (2A) de détermination comprenant au moins un processeur et un dispositif de mémorisation, le processeur comprenant :
- un module de chiffrement du message µ(X) par chiffrement totalement homomorphe, à partir d’une clé privée s(X) se présentant sous la forme d’un polynôme de degré inférieur ou égal à N-1, en le message chiffré c(X) se présentant sous la forme d’un polynôme appartenant à un espace
the determination device (2A) comprising at least one processor and a storage device, the processor comprising:
- a module for encrypting the message µ(X) by totally homomorphic encryption, from a private key s(X) in the form of a polynomial of degree less than or equal to N-1, in the encrypted message c(X) in the form of a polynomial belonging to a space
- un dispositif (2A) de détermination d’un message chiffré c(X) selon la revendication 11, et
- un serveur de traitement cryptographique (3) configuré pour mettre en œuvre au moins une opération de traitement cryptographique sur le message chiffré c(X).Cryptographic system (1) comprising:
- a device (2A) for determining an encrypted message c(X) according to claim 11, and
- a cryptographic processing server (3) configured to implement at least one cryptographic processing operation on the encrypted message c(X).
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2306351A FR3150380A1 (en) | 2023-06-21 | 2023-06-21 | Method for determining an encrypted message, associated refreshing, extraction and aggregation method |
PCT/EP2024/067450 WO2024261248A1 (en) | 2023-06-21 | 2024-06-21 | Method for determining an encrypted message, and associated refreshing, extracting and aggregating method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2306351A FR3150380A1 (en) | 2023-06-21 | 2023-06-21 | Method for determining an encrypted message, associated refreshing, extraction and aggregation method |
FR2306351 | 2023-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3150380A1 true FR3150380A1 (en) | 2024-12-27 |
Family
ID=88839781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2306351A Pending FR3150380A1 (en) | 2023-06-21 | 2023-06-21 | Method for determining an encrypted message, associated refreshing, extraction and aggregation method |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3150380A1 (en) |
WO (1) | WO2024261248A1 (en) |
-
2023
- 2023-06-21 FR FR2306351A patent/FR3150380A1/en active Pending
-
2024
- 2024-06-21 WO PCT/EP2024/067450 patent/WO2024261248A1/en unknown
Non-Patent Citations (3)
Title |
---|
CHEN HAO ET AL: "Efficient Homomorphic Conversion Between (Ring) LWE Ciphertexts", 9 June 2021, TOPICS IN CRYPTOLOGY - CT-RSA 2020 : THE CRYPTOGRAPHERS' TRACK AT THE RSA CONFERENCE 2020, SAN FRANCISCO, CA, USA, FEBRUARY 24-28, 2020, SPRINGER, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, PAGE(S) 460 - 479, XP047597920 * |
JOYE MARC: "SoK: Fully Homomorphic Encryption over the [Discretized] Torus", IACR TRANSACTIONS ON CRYPTOGRAPHIC HARDWARE AND EMBEDDED SYSTEMS, 31 August 2022 (2022-08-31), pages 661 - 692, XP093080781, Retrieved from the Internet <URL:https://marcjoye.github.io/papers/Joy22dtorus.pdf> [retrieved on 20230911], DOI: 10.46586/tches.v2022.i4.661-692 * |
LIN CHENGYU ET AL: "XSPIR: Efficient Symmetrically Private Information Retrieval from Ring-LWE", 25 September 2022, 20220925, PAGE(S) 217 - 236, XP047634693 * |
Also Published As
Publication number | Publication date |
---|---|
WO2024261248A1 (en) | 2024-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3301617B1 (en) | Methods for secure learning of parameters of a convolutional neural network, and secure classification of input data | |
EP3535923B1 (en) | Method for secure classification using a transcryption operation | |
EP3751468A1 (en) | Method for collaborative learning of an artificial neural network without revealing learning data | |
EP3078155B1 (en) | Method of updating a file tree stored on a storage server | |
EP3091689B1 (en) | Method for generating a message signature from a signature token encrypted by means of an homomorphic encryption function | |
EP1151576B1 (en) | Public and private key cryptographic method | |
EP2127197A2 (en) | Identity based broadcast encryption | |
EP2301187A1 (en) | Terminal for strong authentication of a user | |
EP2457344B1 (en) | Method for converting a first digit into a second digit | |
EP3545641B1 (en) | Searchable encryption method | |
EP1938503B1 (en) | Method for secure transmission of data | |
FR3150380A1 (en) | Method for determining an encrypted message, associated refreshing, extraction and aggregation method | |
EP4150852A1 (en) | Cryptographic method, systems and services for evaluating univariate or multivariate real-valued functions on encrypted data | |
WO2013024230A2 (en) | Device and method for compressing public keys for a fully homomorphic encryption algorithm | |
EP3857810B1 (en) | Cryptographic method of secure comparison of two secret data x and y | |
EP3008851B1 (en) | System and method for delegating bilinear pairing computations to a server | |
EP3840282A1 (en) | Cryptographic processing method, associated electronic device and computer program | |
WO2010072963A1 (en) | Polyphase decomposition of a filter bench for oversampled ofdm | |
FR3136920A1 (en) | Method for homomorphic determination of the sign of a message by dilation, associated methods and devices | |
FR3150381A1 (en) | Method for extracting a homomorphic encrypted element from a homomorphic encrypted list and method for inserting a homomorphic encrypted element into a homomorphic encrypted list | |
CA2280952A1 (en) | Cryptographic system comprising a ciphering and deciphering system and a key escrow system and associated appliances and devices | |
WO2024184144A1 (en) | Method for refreshing an encrypted message for homomorphic cryptography, and homomorphic cryptography method | |
WO2009122095A2 (en) | White-box protection for cryptographic algorithms including calculation of a quadratic form | |
FR2892251A1 (en) | CRYPTOGRAPHIC METHOD IMPLEMENTING AN IDENTITY-BASED ENCRYPTION SYSTEM | |
FR3150382A1 (en) | Method for detecting the presence of a homomorphic encrypted element in a homomorphic encrypted set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20241227 |