Qu'est-ce que le cryptage homomorphique?
Le concept connu sous le nom de cryptage homomorphique, dans lequel le cryptogramme peut être manipulé et exploité sans être décrypté, a été présenté pour la première fois à la communauté scientifique en 1978 par Ronald Rivest, Leonard Adleman et Michael Dertouzos comme homomorphisme de la vie privée. Un schéma de cryptage homomorphique sécurisé sur le plan sémantique a été développé et proposé par Shafi Goldwasser et Silvio Micali en 1982. En 2009, Craig Gentry a prouvé qu'un schéma de cryptage complètement homomorphique est possible.
Rivest, Aldeman et Dertouzos ont développé leur théorie autour du fait que les systèmes de sécurité et de chiffrement existants limitent considérablement la capacité de traiter les données une fois qu'elles ont été chiffrées et converties en texte crypté. Sans développement d'une solution homomorphique, l'envoi et la réception de données sont essentiellement la seule fonction réalisable avec des données cryptées. Les principales préoccupations concernaient le niveau de calcul nécessaire pour traiter la demande chiffrée sur les données chiffrées et la question de savoir si un schéma de chiffrement de cette nature pouvait être suffisamment sécurisé pour une utilisation pratique.
Avec l'avènement et le développement continu du cloud computing, il est crucial de trouver une méthode de cryptage homomorphique viable. Sinon, le risque est trop élevé pour confier des données à un fournisseur d'informatique en nuage lorsque ces données doivent rester sécurisées. Si le fournisseur a accès de quelque manière que ce soit aux données sous leur forme déchiffrée, les données peuvent trop facilement être compromises. Gentry a prouvé qu'il s'agissait d'une théorie viable, bien que le temps requis pour effectuer les calculs et la facilité potentielle avec laquelle le cryptage puisse être rompu soient des préoccupations.
Le système de Gentry explique comment créer un schéma de chiffrement qui permettra aux données d'être stockées de manière sécurisée dans un environnement cloud où le propriétaire des données peut utiliser la puissance de calcul du fournisseur de cloud pour exécuter des fonctions sur les données chiffrées de manière persistante. Il le fait en trois étapes. Un schéma de chiffrement est "amorcé", ou consiste en un schéma de chiffrement quelque peu homomorphe pouvant fonctionner avec son propre circuit de déchiffrement. Ensuite, un schéma de chiffrement de clé publique presque amorçable est construit en utilisant des réseaux idéaux. Enfin, les schémas sont modifiés dans un souci de simplification, leur permettant d’être initialisés tout en conservant leur profondeur.
Cette méthode crée un schéma de chiffrement complètement homomorphe, mais reste relativement peu pratique. Le cryptage homomorphe a évolué pour être en grande partie sécurisé contre les attaques de texte brut choisies, mais la sécurisation contre les attaques de texte chiffré choisies reste un problème. Outre le problème de la sécurité, les schémas entièrement homomorphes sont si vastes et complexes que le facteur temps a empêché leur utilisation dans la plupart des applications. Des systèmes de cryptage quelque peu homomorphes ont été développés pour traiter au moins le facteur temps, en utilisant uniquement les parties les plus efficaces d'un schéma de cryptage totalement homomorphique.