Google a publié un ensemble de bibliothèques et d'utilitaires open source implémentant un système de chiffrement entièrement homomorphe. Ce système permet le traitement de données chiffrées qui ne sont jamais exposées en clair. Cet ensemble d'outils permet de créer des programmes de calcul confidentiel capables de manipuler des données sans déchiffrement, notamment d'effectuer des opérations mathématiques et de manipulation de chaînes de caractères simples sur des données chiffrées. Le code du projet est écrit en C++ et distribué sous licence Apache 2.0.
Contrairement au chiffrement de bout en bout, le chiffrement homomorphe, outre la protection de la transmission des données, permet leur traitement sans déchiffrement. L'homomorphisme complet désigne la possibilité d'effectuer des additions et des multiplications sur les données chiffrées, autorisant ainsi des calculs arbitraires. Le résultat chiffré obtenu est équivalent au résultat chiffré d'opérations similaires effectuées sur les données originales.
Le traitement de données par chiffrement homomorphe implique que l'utilisateur chiffre ses données et, sans révéler ses clés, les transmette à un service tiers pour traitement. Ce service effectue les calculs demandés et génère un résultat chiffré, sans pouvoir identifier les données traitées. L'utilisateur déchiffre ensuite les données renvoyées à l'aide de ses clés et reçoit le résultat en clair.

Les domaines d'application du chiffrement homomorphe comprennent la création de services cloud pour le calcul confidentiel, la mise en œuvre de systèmes de vote électronique, la création de protocoles de routage anonymisés, le traitement des requêtes sur des données chiffrées dans un SGBD et la formation confidentielle des systèmes d'apprentissage automatique.
Par exemple, le chiffrement homomorphe s'avérera utile dans les applications médicales permettant de recevoir des informations confidentielles de patients sous forme chiffrée et d'autoriser les professionnels de santé à effectuer des analyses et à identifier des anomalies sans déchiffrement. Le chiffrement homomorphe peut également faciliter la recherche sur le lien entre les maladies et des mutations génétiques spécifiques, ce qui nécessite l'analyse de milliers d'échantillons génétiques.
L'une des caractéristiques distinctives de la boîte à outils publiée est la possibilité de créer des programmes de traitement de données chiffrées à l'aide des techniques de développement C++ standard. Grâce au transpileur fourni, un programme C++ est converti en un dialecte FHE-C++ spécialisé, capable de gérer les données chiffrées.

Source: opennet.ru
