Brevet FR3146383A1 — publié le 20240906

Procédé de rafraîchissement d’un message chiffré pour la cryptographie homomorphe et méthode de cryptographie homomorphe Procédé de rafraichissement d’un message chiffré de sorte à obtenir une nouvelle version du message chiffré c’, µ étant le message en clair, avec b= µ +e+a.s, où : s est un vecteur clé secrète comprenant n éléments ; a est le vecteur de projection de la clé secrète s ; c’ comprend une composante de bruit aléatoire e’ de valeur absolue inférieure au bruit e ; ledit procédé comprenant une étape de calcul homomorphe du , où : est un polynôme de rafraichissement fonctionnel ; la quantité α correspond à une évaluation approchée de 2N(b - a.s), comprenant une somme de termes, chaque terme comprenant un arrondi d’une somme partielle égale à un produit scalaire d’un vecteur et d’un vecteur , comprenant m éléments ordonnés du vecteur a et comprenant m éléments ordonnés correspondants du vecteur s. Figure à publier avec l’abrégé : Figure 2b Procédé de rafraîchissement d’un message chiffré pour la cryptographie homomorphe et méthode de cryptographie homomorphe Le domaine technique est celui des méthodes, dispositifs et systèmes de cryptographie homomorphe. ARRIERE-PLAN TECHNOLOGIQUE La cryptographie homomorphe, qui permet d'effectuer des calculs ou des traitements de données sur des données chiffrées, sans les déchiffrer au préalable, a suscité beaucoup d'attention dernièrement. 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 que nous utilisons au quotidien. Dans ce contexte, les techniques de chiffrement et traitement homomorphe 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 l'anonymat et le caractère privé de ces données, ces dernières n'étant pas déchiffrées pendant leur traitement. 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. 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 de regroupement. La cryptographie homomorphe peut être basée sur le schéma de cryptage dit "apprentissage avec erreur" (« learning with errors » ou LWE, en anglais), dans lequel le message crypté est dérivé du message non crypté μ selon la formule suivante : b=μ+e+a.s, où : 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. 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 μ. Lorsque l'on additionne deux messages cryptés, on obtient un message crypté, qui est une version cryptée de la somme des deux messages initiaux non cryptés, dont la composante de bruit est plus élevée que pour les deux messages cryptés initiaux. Ainsi, pour empêcher le terme de bruit d'augmenter et de croître au cours du traitement des données, une procédure de rafraîchissement, généralement appelée "bootstrapping", est exécutée de manière répétée. Cette procédure produit une version rafraîchie de c, c'est-à-dire un message crypté c' qui est décrypté lui aussi en tant μ (lorsqu'il est décrypté en utilisant s), mais dont la composante de bruit est plus petite que celle de c. La procédure de "bootstrapping" comprend habituellement une évaluation homomorphe de la quantité avec : est un polynôme de rafraîchissement fonctionnel de degré inférieur ou égal à N-1 dont les coefficients sont choisis en fonction des caractéristiques de l’espace des messages et d’une fonction cible ; et α est l’entier le plus proche de 2N(b-a.s) : On entend ici par évaluation homomorphe, un calcul réalisé en utilisant des quantités chiffrées, sans déchiffrement préalable (sans connaitre la clef s). On entend ici par fonction cible une fonction mathématique appliquée au message chiffré en même temps que le rafraîchissement. Dans le cas d’un simple rafraîchissement, la fonction cible est la fonction identité. Pour un polynôme opportunément choisi, le terme constant de , à savoir , est une version rafraichie de c, c’est-à-dire une version chiffrée de µ avec une composante de bruit e’ limitée (généralement plus petite que la composante de bruit de c, lorsque c est issu d’opérations de traitement de données – homomorphe – précédentes ; quoiqu’il en soit, e’ est suffisamment petit pour permettre un déchiffrement de c’, avec un taux d’erreur faible). De façon connue, le calcul homomorphique de la quantité peut être décomposé en un calcul d’une séquence de produits modulaires donnés par : Où , et . Où les s k sont les n composantes du vecteur s. Dans l’équation ci-dessus, lorsque calculée de manière homomorphe, chaque produit “.” est un produit modulaire : le terme à gauche, par exemple ou appartient à , le terme à droite, par exemple ou , appartient à T N [X]. Ici on définit T N [X] = T [X]/(X N +1). Un tel produit est similaire au produit y.µ i , y étant un entier et µ appartenant à T (si ce n’est que l’on travaille sur des corps de polynômes, au lieu de corps de nombres). Le calcul homomorphique de est non immédiat à cause de la présence de la clé secrète s, qui n’est pas connue. Toutefois, il est connu qu’un produit modulaire tel que y.µ i ou X j .v(X) peut être calculé de façon homomorphe en définissant le produit extérieur . La quantité est la version chiffrée du message µ i . La quantité est le chiffrement “TRGSW“ de z (l’acronyme TRGSW vient de l’anglais “Gentry, Sahai, Waters Torus Ring encryption”, adaptée d’une méthode de chiffrement qui a été proposée dans l’article “Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based”, by C. Gentry, A. Sahai, and B. Waters, InCrypto’13, 2013). En outre, de façon connue, il est possible de calculer le produit sans connaître les composantes s k , k = 1…n de la clé secrète et donc sans connaître la clé secrète s. En effet, comme les composantes s k , k = 1…n appartiennent chacune à B ={0,1} (i.e. : sont chacune binaire), la quantité est égale à qui est chiffré comme . Il s’ensuit qu’une version chiffrée de peut être calculée sans avoir accès à la clé secrète s en utilisant la version chiffrée des composants s k . Ces versions chiffrées des composantes de s sont parfois appelées clés de Boostsrap (« Bootstrap key » en anglais). Les clés de Bootstrap (généralement publiques) sont des versions chiffrées des composantes s k de la clé secrète s chiffrées en utilisant une autre clé s’. est définie comme étant égale à avec : , où z j , j=1…l(K+1), sont l(K+1) version chiffrées de 0, la valeur nulle 0 étant chiffrée avec s’ : , l étant un nombre entier positif donné; et est une matrice dont la dimension est et dont les coefficients appartiennent au tore T , étant égale à : avec B étant un nombre entier supérieur ou égal à 2. Le produit extérieur , entre : Un message chiffré , correspondant à un message µ appartenant au tore T N [X] et La version chiffrée d’un polynôme à coefficients entiers y, , est calculée selon la méthode détaillée ci-après. Les K+1 composantes c j , j=1..K+1 du message chiffré sont en quelque sorte décomposées en utilisant un système en base B (comme celui utilisé pour calculer les ) Ensuite, il est possible de calculer dans laquelle est le produit matriciel ligne-colonne et est une matrice de dimension (n+1)×l dont la forme est la suivante : Avec Le résultat appartient à et est une version chiffrée de y.µ. En d’autres termes, en décryptant cette quantité avec la clé s’ on retrouve y.µ. Cette méthode de calcul peut être appliquée à tout message appartenant au tore T . En utilisant les clés BK i introduite ci-dessus, on obtient pour le calcul homomorphe de coef 0 (X α .v(X)),à savoir l’équation suivante : L’équation ci-dessus permet donc d’effectuer le rafraîchissement ou bootstrapping du message chiffré sans besoin de connaître la clé de chiffrement. L’opération de bootstrapping est extrêmement utile et permet d’implémenter des techniques de cryptographie homomorphe sans que les informations chiffrées ne se retrouvent progressivement noyées dans le bruit, au fur et à mesure des opérations de traitement. Toutefois, il s’agît d’une opération complexe qui requiert des ressources de calcul puissantes (en pratique, la lourdeur de cette opération s’avère souvent frein important au développement des applications de la cryptographie homomorphe). Par ailleurs, il est important que la fiabilité de cette opération soit élevée (i.e. : que le risque de perte de l’information initiale soit faible). Certains paramètres, par exemple le degrés N des polynômes employés, ou l’écart-type de la composante bruit ajoutée initialement au message lors du chiffrement, influencent le volume de calculs à réaliser (si cet écart type est grand, il faut « rafraichir » le message plus souvent). Mais ils influencent aussi la sécurité de chiffrement (si l’écart type en question est grand, l’information chiffrée est mieux protégée), ou le risque de perte d’information. Dans ce contexte, il est donc souhaitable d’améliorer les performances de l’opération de rafraîchissement (en termes de volume de calculs, ou en termes de fiabilité). Pour résoudre au moins partiellement les problèmes évoqués précédemment, l’invention concerne une méthode de rafraîchissement homomorphe d’un message chiffré qui est plus fiable et dont la mise en œuvre ne requiert pas une augmentation excessive de la complexité des calculs. Un premier aspect de l’invention porte sur un procédé de rafraichissement d’un message chiffré de sorte à obtenir une nouvelle version du message chiffré c’, µ étant le message en clair, avec b= µ +e+a.s, où : s est un vecteur comprenant n éléments dans un ensemble fini d’entiers , s étant la clé secrète de chiffrement du message µ ; a est un vecteur comprenant n éléments choisis au hasard, a étant le vecteur de projection de la clé secrète s ; e est une composante de bruit aléatoire, ajoutée à µ+a.s ; c’ comprend une composante de bruit aléatoire e’ de valeur absolue inférieure au bruit e ; ledit procédé comprenant une étape de calcul homomorphe du coefficient d’ordre zéro du polynôme , , où : est un polynôme de rafraîchissement fonctionnel, appartenant à l’ensemble des polynômes définis modulo 1+X N ; la quantité α correspond à une évaluation approchée de 2N(b - a.s), N étant un nombre entier, ladite évaluation approchée comprend une somme de termes, chaque terme comprenant un arrondi d’une somme partielle égale à un produit scalaire d’un vecteur et d’un vecteur , comprenant m éléments ordonnés du vecteur a et comprenant m éléments ordonnés correspondants du vecteur s, k étant compris entre 2 et la partie entière de n/m. La méthode de rafraîchissement selon l’état de la technique repose sur le calcul du coefficient zéro du polynôme . Ce calcul est approximé car la quantité , qui est une somme d’arrondis de monômes, est effectivement calculée en tant qu’arrondi d’une somme : . La méthode selon l’invention repose sur une approximation différente et plus fiable de la quantité α. La somme d’arrondis de sommes partielles selon l’invention est une meilleure évaluation que l’arrondi d’une somme de termes individuels selon l’état de la technique. Le procédé selon l’invention comprend une étape de calcul de α en tant que somme de sommes partielles. L’étape de calcul est réalisée à l’aide d’un dispositif de calcul, par exemple un module de calcul. Chaque somme partielle comprend un arrondi d’un produit scalaire d’un vecteur et un vecteur . Le vecteur comprend m éléments ordonnés du vecteur a. Le vecteur comprend m éléments ordonnés du vecteurs s. L’indice k apparaissant dans et est compris entre 1 et la partie entière de n/m, m étant la taille des vecteurs a et s. En d’autres termes, la méthode selon l’invention comprend le regroupement (ou « collapse » selon la terminologie anglaise) des vecteurs a et s pour former de sous-vecteurs de taille m, m étant plus petit que n. L’opération d’arrondi est donc effectuée au niveau de chaque produit scalaire. Cette technique permet de réduire l’erreur liée à l’arrondi et donc d’effectuer la procédure de rafraichissement de façon plus fiable par rapport à l’état de la technique. Par exemple, le regroupement des vecteurs a et s peut être décrit de la façon suivante quand n est divisible par m : . Dans le cas m = 3, le premier groupe d’éléments du regroupement du vecteur s est alors . Un regroupement similaire est effectué pour le vecteur a, en obtenant les termes , . On entend par polynôme de rafraîchissement fonctionnel un polynôme permettant de réaliser, de façon connue, une opération de bootstrapping ou rafraîchissement du message chiffré . Les coefficients du polynôme sont choisis suivant les propriétés de l’espace des messages chiffrés et de la fonction f. Par ailleurs, le polynôme de rafraichissement fonctionnel permet d’appliquer une fonction au message chiffré de sorte à obtenir un message rafraîchi . Si l’on souhaite uniquement rafraîchir le message chiffré on peut considérer que la fonction est la fonction identité. On entend par calcul homomorphe de la quantité un calcul effectué à l’aide d’un chiffrement public de la clé s, ou bootstrap keys. Selon un mode de réalisation du procédé selon l’invention, les bootstrap keys ont la forme de chiffrés publiques des fonctions , le chiffrement étant effectué selon une clé secrète s’. On entend ici par une fonction de type delta de Kronecker qui est égale à 1 si et égale à zéro dans les autres cas. Un avantage de l’invention est alors d’améliorer la fiabilité de l’opération de bootstrap sans en augmenter excessivement la complexité. Plus particulièrement, pour m = n on retrouve une évaluation exacte de la quantité α. Pour m = 1 on retrouve l’évaluation approchée selon l’état de la technique. L’invention est donc particulièrement avantageuse pour des valeurs intermédiaires du paramètre de regroupement m pour lesquels on obtient un rafraichissement homomorphe fiable sans augmenter excessivement la complexité des calculs. Selon un mode de réalisation du premier aspect de l’invention, le calcul approché de la quantité α comprend l’évaluation homomorphe de la formule suivante : où est calculé comme , les fonctions étant sous forme chiffrée publique dans le calcul, avec , et est l’ensemble des uplets de taille m à valeur dans . Selon un mode de réalisation du premier aspect de l’invention, le procédé de rafraichissement comprend une étape d’évaluation homomorphe d’une séquence de n/m produits modulaires donnés par Où avec k = 1,2…,n/m, les étant sous forme chiffrée publique dans le calcul. Selon un mode de réalisation du premier aspect de l’invention, le procédé de rafraichissement comprend une étape de réception d’une version chiffrée publique de , le chiffrement étant réalisé à l’aide d’une clé s’. Cela permet d’évaluer de façon homomorphe la quantité . Selon un mode de réalisation du premier aspect de l’invention, le procédé de rafraichissement comprend une étape d’extraction du coefficient d’ordre zéro du polynôme sous la forme de TLWE s à savoir un chiffré de selon la clé secrète s. On note que les X apparaissant dans les polynômes peuvent être des indéterminés dont la fonction est la construction des polynômes eux-mêmes. Un deuxième aspect de l’invention porte sur un procédé de communication et traitement chiffrés, comprenant les étapes suivantes : Chiffrement d’un message µ à l’aide d’une clef privée s par un client, sous la forme d’un message chiffré c, par une méthode de type apprentissage avec erreur ; Transmission du message chiffré c ou d’une base de données chiffrée contenant le message chiffré c, par le client, à un serveur distinct du client et ne disposant pas de la clef privée s, via un canal de communication ; Traitement du message chiffré c ou de la base de données chiffrées contenant le message chiffré c, par le serveur de manière homomorphe, conformément au procédé selon le premier aspect de l’invention ; Emission du résultat dudit traitement homomorphe, par le serveur. Selon un mode de réalisation du procédé de communication et traitement chiffrés selon le deuxième aspect de l’invention, l’étape de traitement du message chiffré comprend la réalisation d’une opération homomorphe sur le message chiffré c ou sur une base de données comprenant le message chiffré. Par exemple, l’opération homomorphe peut être une somme ou une multiplication comprenant le message chiffré c ou la comparaison du message chiffré c et d’un autre message chiffré. Selon un mode de réalisation du procédé de communication et traitement chiffrés selon le deuxième aspect de l’invention, l’étape d’émission du résultat dudit traitement homomorphe comprend l’émission du message chiffré rafraîchi c’ ou d’un message résultant de l’opération effectuée sur le message chiffré. Un troisième aspect de l’invention porte sur un serveur de traitement cryptographique comprenant au moins un module de communication et un module de calcul : Le module de communication étant configuré pour recevoir, de la part d’une entité externe au serveur, un message chiffré c ou une base de données chiffrée contenant le message chiffré c, le message chiffré c correspondant à un message μ chiffré par une méthode de type apprentissage avec erreur ; Le module de calcul étant programmé pour traiter le message chiffré c, ou la base de données chiffrée contenant le message chiffré c, de manière homomorphe, sans déchiffrement du message c, conformément au procédé selon le premier aspect de l’invention ; Le module de communication étant configuré aussi pour émettre le résultat dudit traitement homomorphe. Un quatrième aspect de l’invention comprend un système cryptographique comprenant : le serveur de traitement cryptographique selon le deuxième aspect de l’invention, un client, configuré pour chiffrer au moins le message μ, sous la forme du message chiffré c, et pour communiquer le message chiffré c, ou une base de données chiffrée contenant le message chiffré c, au serveur via un canal de communication. Selon un mode de réalisation du quatrième aspect de l’invention, le système cryptographique comprend une pluralité de clients. Les clients peuvent posséder chacun son propre canal de communication avec le serveur. Alternativement, deux ou plusieurs clients peuvent partager un même canal de communication avec le serveur. La présente technologie et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif. représente schématiquement l’opération de regroupement des vecteurs s et a ; représente schématiquement le procédé de rafraichissement selon le premier aspect de l’invention ; représente schématiquement le procédé de transmission et traitement chiffré selon le deuxième aspect de l’invention ; représente la probabilité d’exactitude du procédé de rafraîchissement pour différentes valeurs du paramètre de regroupement des vecteurs s et a. représente un système cryptographique selon le quatrième aspect de l’invention. DESCRIPTION DETAILLEE La illustre l’opération de regroupement des vecteurs s et a en sous-vecteurs de taille plus petite. Cette opération permet de réduire l’erreur d’arrondi dans le calcul de la quantité α lors de la mise en œuvre du procédé selon le premier aspect de l’invention. Dans le cas de la les vecteurs s et a possèdent chacun n éléments, les éléments de s appartenant aux entiers et les éléments de a appartenant au torus T . Dans cet exemple, les vecteurs s et a sont regroupés en sous-ensemble ordonnés de taille m, et . Au total, si n est divisible par m, il y a n/m sous-ensembles et . Si n n’est pas divisible par m, le nombre de sous-ensembles est égale à la partie entière de n/m plus un sous-ensemble de s et un sous-ensemble de a possédant la taille du reste de la division n/m . Dans ce cas, le calcul de α comprend un terme supplémentaire avec un produit scalaire entre les deux sous-ensembles de s et de a ayant la taille du reste de la division n/m. La figure représente schématiquement le procédé 100 de rafraichissement d’un message chiffré selon le premier aspect de l’invention. Le procédé 100 de rafraîchissement d’un message chiffré comprend une première étape 101 de réception du message chiffré , étant le message en clair. Il est important de noter que le dispositif de calcul mettant en œuvre le procédé 100 ne possède pas la clé secrète s. Les opérateurs ayant accès au module de calcul ne peuvent donc pas déchiffrer le message . La première étape 101 du procédé 100 selon le premier aspect de l’invention comprend en outre la réception d’une version chiffrée publique de la clé s, , le chiffrement étant réalisé à l’aide de la clé s’. Plus particulièrement, la version chiffrée publique de la clé s est sous forme des chiffrés des fonctions . Ces fonctions sont des fonctions de type δ de Kronecher : si et dans les autres cas. Le procédé 100 selon le premier aspect de l’invention comprend en outre une étape 102 de calcul homomorphe de la quantité . L’étape 101 comprend l’évaluation homomorphe de la quantité : Où est calculé comme , avec , et est l’ensemble des uplets de taille m à valeur dans les valeurs possible des composantes de la clé, à savoir l’ensemble . Les fonctions sont sous forme chiffrée publique dans le calcul. La formule précédente est valable pour tous les n multiples de m. En particulier pour m = 1 on retrouve l’expression utilisée dans la méthode selon l’état de l’art. Pour m = n le calcul de α devient exact sans aucune approximation. L’équation précédente peut être exprimée de la façon suivante : Où . Il s’ensuit que le produit peut être calculé de façon homomorphe comme une séquence de n/m produits modulaires dans : Selon un mode de réalisation, le polynôme de bootstrapping est un polynôme de type Les coefficients w j sont donnés par la formule suivante : où est le nombre entier le plus proche de et où est ka fonction arrondi appliquée à . Comme il a été décrit dans la demande de brevet PCT/IB2020/001147 déposée par la demanderesse, le choix de ce type de polynôme permet d’appliquer une fonction g arbitraire au message chiffré c pendant l’opération de rafraîchissement. Ce mode de réalisation permet d’accélérer considérablement certaines procédures de traitement de données. En effet, l’utilisation du polynôme permet d’effectuer une opération homomorphe et de rafraîchir le message chiffré pendant la même opération de rafraîchissement. Le procédé 100 selon le premier aspect de l’invention comprend en outre une étape 103 d’extraction du message chiffré rafraichi c’. L’étape 103 comprend le calcul de la quantité TLWE s ( ), une version chiffré selon la clé secrète s du message rafraichi c’. Le message chiffré rafraichi c’ comporte une composante de bruit e’ plus petite que la composante de bruit e associée au message c. La illustre schématiquement le procédé de communication et traitement chiffré 210. Le procédé de communication et traitement chiffré 210 comprend une étape de chiffrement 211 d’un message µ à l’aide d’une clef privée s par un client, sous la forme d’un message chiffré c, par une méthode de type apprentissage avec erreur. Le message chiffré c est ensuite transmis à un serveur lors d’une étape de transmission 212. Le message chiffré c est transmis à un serveur distinct du client. Le serveur ne dispose pas de la clé privée s et il est configuré pour mettre en œuvre une technique de cryptographie homomorphe en traitant des signaux chiffrés sans les déchiffrer lors d’une étape de traitement 213. L’étape de traitement 213 comprend par exemple la mise en œuvre du procédé 100 selon le premier aspect de l’invention. Selon un mode de réalisation du procédé de chiffrement et traitement 210, l’étape 213 peut en outre comprendre la réalisation d’une opération homomorphe sur le message chiffré m ou sur la base de données comprenant le message chiffré m. On entend par opération homomorphe une opération telle qu’une somme, une multiplication ou une comparaison de messages chiffrés effectuée sans déchiffrement des messages. Le procédé 210 selon le deuxième aspect de l’invention comprend en outre une étape d’émission 214 du résultat du traitement homomorphe par le serveur. Les graphiques de la illustrent la probabilité d’exactitude P du procédé de rafraichissement selon le premier aspect de l’invention en fonction de l’écart type du bruit aléatoire σ. Chaque couple de courbes sur les graphiques représente la probabilité d’exactitude pour le calcul exact et pour le calcul approché selon le procédé 100 pour une valeur du paramètre de regroupement m compris entre 1 et 8. Les graphiques de la , illustrent que le calcul approché selon le procédé 100 donne des résultats très proches du calcul exact pour des petites valeurs de m, m étant la taille des sous-vecteurs obtenus du regroupement des vecteurs a et s. A l’augmenter de m, le calcul comporte une approximation moins fiable car le nombre de termes dans les sommes arrondies augmente et l’approximation s’éloigne du calcul exact. La illustre le système cryptographique 400 selon le quatrième aspect de l’invention. Le système cryptographique 400 comprend un serveur cryptographique 401 selon le deuxième aspect de l’invention. Le serveur cryptographique 401 comprend un module de calcul 402 et un module de communication 403. Le module de communication 403 est configuré pour recevoir un message chiffré et les versions publiques chiffrés de la clé s . Le module de calcul 402 est configuré pour mettre en œuvre le procédé 100 selon l’invention. En particulier, le module de calcul est configuré pour effectuer un rafraichissement du message chiffré de sorte à obtenir le message chiffré c’, c’ possédant une composante de bruit plus petite que la composante de bruit de c. Selon un mode de réalisation du système cryptographique 400 selon le quatrième aspect de l’invention, le module de calcul 402 est configuré pour calculer de façon homomorphe la séquence de produits modulaires dans : Où . Le module de communication 403 est en outre configuré pour transmettre le message rafraichi c’ résultant de la mise en œuvre du procédé 210 selon le deuxième aspect de l’invention. Selon un mode de réalisation du système 400 selon le quatrième aspect de l’invention, le serveur 402 est configuré pour recevoir et traiter une pluralité de messages chiffrés, par exemple une base de données chiffrée. Selon un mode de réalisation du système 400 selon le quatrième aspect de l’invention, le serveur 401 est configuré pour effectuer des calculs homomorphes à partir de messages chiffrés. Par exemple, le serveur 401 peut réaliser la somme, la différence ou la comparaison de plusieurs messages chiffrés. Ces opérations sont réalisées de façon homomorphe, à savoir sans besoin de déchiffrement des messages. Quand le module de calcul 403 effectue des calculs homomorphes à partir de messages chiffrés reçus, le procédé 210 de traitement selon le deuxième aspect de l’invention est effectuée sur le résultat des calculs homomorphes. Cela permet de réduire le bruit aléatoire après la réalisation des calculs homomorphes. Le système cryptographique 400 selon l’invention comprend en outre plusieurs clients 404, 405, 406 pouvant communiquer avec le serveur 401 grâce à des canaux de communication 404c, 405c, 406c. Chaque canal de communication est bidirectionnel permettant le passage d’information du serveur 401 vers le client et du client vers le serveur 401. Chaque client 404, 405, 406 est configuré pour chiffrer un message et pour le transmettre au serveur 401 via un canal de communication 404c, 405c, 406c. Chaque client est en outre configuré pour recevoir le message c’. Procédé de rafraichissement (100) d’un message chiffré de sorte à obtenir une nouvelle version du message chiffré c’, µ étant le message en clair, avec b= µ +e+a.s, où : s est un vecteur comprenant n éléments dans un ensemble fini d’entiers , s étant la clé secrète de chiffrement du message µ ; a est un vecteur comprenant n éléments choisis au hasard, a étant le vecteur de projection de la clé secrète s ; e est une composante de bruit aléatoire, ajoutée à µ+a.s ; c’ comprend une composante de bruit aléatoire e’ de valeur absolue inférieure au bruit e ; ledit procédé comprenant une étape de calcul homomorphe (102) du coefficient d’ordre zéro du polynôme , , où : est un polynôme de rafraîchissement fonctionnel, appartenant à l’ensemble des polynômes définis modulo 1+X N ; la quantité α correspond à une évaluation approchée de 2N(b - a.s), N étant un nombre entier, ladite évaluation approchée comprend une somme de termes, chaque terme comprenant un arrondi d’une somme partielle égale à un produit scalaire d’un vecteur et d’un vecteur , comprenant m éléments ordonnés du vecteur a et comprenant m éléments ordonnés correspondants du vecteur s, k étant compris entre 2 et la partie entière de n/m. Procédé de rafraichissement (100) selon la revendication précédente caractérisé en ce que ladite évaluation approchée comprend l’évaluation homomorphe de la formule suivante : où est calculé comme , les fonctions étant sous forme chiffrée publique dans le calcul, avec , et est l’ensemble des uplets de taille m à valeur dans Procédé de rafraichissement (100) selon l’une des revendications précédentes caractérise en ce qu’il comprend une étape (101) de réception d’une version chiffrée publique de , le chiffrement étant réalisé à l’aide d’une clé s’. Procédé de rafraichissement (100) selon l’une des revendications précédentes caractérisé en ce qu’il comprend une étape d’extraction (103) du coefficient d’ordre zéro du polynôme sous la forme d’un chiffré de ( ) selon la clé secrète s, TLWE s ( ). Procédé de communication et traitement chiffrés (210), comprenant les étapes suivantes : Chiffrement (211) d’un message µ à l’aide d’une clef privée s par un client, sous la forme d’un message chiffré c, par une méthode de type apprentissage avec erreur ; Transmission (212) du message chiffré c, ou d’une base de données chiffrée contenant le message chiffré c, par le client, à un serveur distinct du client et ne disposant pas de la clef privée s, via un canal de communication ; Traitement (213) du message chiffré c, ou de la base de données chiffrées contenant le message chiffré c, par le serveur de manière homomorphe, conformément au procédé selon l’une des revendications précédentes. Emission (214) du résultat dudit traitement homomorphe, par le serveur. Procédé de communication et traitement chiffrés (210) selon la revendication précédente caractérisé en ce que l’étape de traitement (213) comprend la réalisation d’une opération homomorphe sur le chiffré ou sur la base de données comprenant le message chiffré. Serveur (401) de traitement cryptographique comprenant au moins un module de communication (402) et un module de calcul (403) : Le module de communication (402) étant configuré pour recevoir, de la part d’une entité externe au serveur, un message chiffré c ou une base de données chiffrée contenant le message chiffré c, le message chiffré c correspondant à un message μ chiffré par une méthode de type apprentissage avec erreur ; Le module de calcul (403) étant programmé pour traiter le message chiffré c, ou la base de données chiffrée contenant le message chiffré c, de manière homomorphe conformément au procédé selon la revendication 6 ou 7 ; Le module de communication (402) étant configuré aussi pour émettre le résultat dudit traitement homomorphe. Système cryptographique (400) comprenant : le serveur (401) de traitement cryptographique selon la revendication 7, un client (404, 405, 406), configuré pour chiffrer au moins le message μ, sous la forme du message chiffré c, et pour communiquer le message chiffré c, ou une base de données chiffrée contenant le message chiffré c, au serveur via un canal de communication (404c, 405c, 406c).