Contexte
La cryptographie est un terme qui a vu le jour au
XVIIe siècle. Il se compose à l'aide de deux
mots grec kruptos, « caché », et graphein, «
écrire ». C'est l'art d'écrire en langage codé,
secret, chiffré. En général, la cryptographie est une
technique d'écriture où un message chiffré est
écrit à l'aide de codes secrets ou de clés de chiffrement.
La cryptographie est principalement utilisée pour protéger un
message considéré comme confidentiel. Cette utilisation a
aujourd'hui un intérêt d'autant plus grand que les communications
en ligne circulent dans des infrastructures dont on ne peut garantir la
fiabilité et la confidentialité. Désormais, la
cryptographie sert non seulement à préserver la
confidentialité des données, mais aussi à garantir leur
intégrité et leur authenticité. Il existe deux principaux
types de chiffrement : le chiffrement symétrique et le chiffrement
asymétrique. Le chiffrement symétrique utilise une seule
clé pour chiffrer et déchiffrer les données. Cette
clé doit être partagée entre les deux parties qui
souhaitent communiquer de manière sécurisée. Les
algorithmes de chiffrement symétrique sont généralement
plus rapides que les algorithmes de chiffrement asymétrique, mais il se
pose un problème de partage de la clé sécrète, car
il faut que les deux parties trouvent un moyen sécurisé pour se
partager la clé. L'essor du chiffrement asymétrique remonte
à 1976 avec la publication fondatrice de Diffie et Hellman, « New
directions in cryptography » [49]. Ce mécanisme
révolutionnaire introduit un paradigme à double clé : une
clé publique librement partageable et une clé privée
rigoureusement confidentielle. Parmi ses implémentations pratiques, le
système RSA [45] s'impose dès 1978 comme référence
incontournable, marquant une avancée majeure dans la sécurisation
des échanges numériques.
Cependant, les schémas cryptographiques classiques
(AES, RSA) révèlent des limitations criantes dans l'ère du
cloud computing. Leur exigence systématique de déchiffrement
préalable avant tout traitement expose les données à des
risques critiques. Cette contrainte devient particulièrement
problématique face à la tendance croissante des utilisateurs
à externaliser des calculs complexes vers des infrastructures cloud.
Bien que le chiffrement des données avant transfert semble offrir une
protection théorique, il crée un dilemme opérationnel :
les fournisseurs de services doivent nécessairement accéder aux
données en clair pour exécuter les traitements, annihilant ainsi
le bénéfice initial du chiffrement.
Cette vulnérabilité intrinsèque ouvre la
porte à des exploitations malveillantes potentielles, no-
LISTE DES TABLEAUX 2
Mémoire de Master 2 Recherche 2 MOUYOUME
DIEUDONNE(c) UYI
tamment par des acteurs cloud peu scrupuleux. Même avec
des protocoles d'accès stricts, la phase de déchiffrement
constitue une fenêtre critique où les données sensibles
(dossiers médicaux, secrets industriels, informations
financières) deviennent accessibles en clair. Un paradoxe se dessine
donc: l'outil même censé protéger les données (le
chiffrement) devient un obstacle à leur utilisation
sécurisée dans les architectures cloud modernes. Mais il se pose
alors la question de savoir si le déchiffrement du résultat des
calculs sur les données chiffrées sera le même que le
résultat des calculs sur les données en clair. Si l'on suppose
qu'on veut effectuer une opération * entre deux données en clair
m1 et m2, étant données une fonction de
chiffrement EncKp et une fonction de déchiffrement
DecKs, on aimerait avoir
DecKs(EncKp(m1) *
EncKp(m2)) = m1 * m2. L'on peut
remarquer qu'il suffit d'avoir EncKp(m1) *
EncKp(m2) = EncKp(m1
* m2). Il faut donc de choisir un système de chiffrement qui
vérifie de telles propriétés. Un tel système est
appelé système de chiffrement homomorphe. Le système RSA
ne vérifie malheureusement pas cette propriété pour toutes
les opérations à savoir l'addition et la multiplication, ce qui
le rend obsolète dans ce contexte.
L'idée du chiffrement homomorphe a été
évoquée pour la première fois dans le contexte du
chiffrement à clé publique par Rivest,
Adleman et Dertouzos [45] en 1978. Les
restrictions rencontrées dans les chiffrements homomorphes ont conduit
à les classer en trois groupes [2] : Le chiffrement partiellement
homomorphe (PHE) qui permet un seul type d'opération (l'addition ou la
multiplication) avec un nombre illimité de fois, le chiffrement quelque
peu homomorphe (SWHE) qui permet certains types d'opérations (l'addition
et la multiplication) en un nombre limité et le chiffrement totalement
homomorphe (FHE) proposé par Craig Gentry [32] qui
permet tous les types d'opérations (l'addition et la multiplication)
avec un nombre illimité de fois. Ce qui a constitué la
première génération de cryptosystèmes FHE.
Dès lors s'en est suivi depuis 2010, la deuxième, la
troisième et la quatrième génération de
cryptosystèmes FHE. Chaque nouvelle génération est une
amélioration de l'ancienne, mais chacune garde son intérêt,
notamment selon le type de donnée que l'on souhaite traiter. De
manière chronologique, nous avons : le cryptosystème DGHV (de
van Dijk, Gentry, Halevi, et Vaikuntanathan) en 2010, le
cryptosytème BGV (Brakerski-Gentry-Vaikuntanathan) en 2011, les
cryptosystèmes de LTV (Lopez-Alt, Tromer et Vaikuntanathan ) et
BFV (Brakerski/Fan-Vercauteren) en 2012, le
cryptosystème de BLLN (Bos, Lauter, Loftus, et Naehrig) en
2013, le cryptosystème de GSW (Craig Gentry, Amit Sahai, et Brent
Waters) en 2013 et le cryptosystème CKKS
(Cheon-Kim-Kim-Song) en 2016. La sécurité de la plupart
de ces cryptosystèmes est basée sur la difficulté à
résoudre le problème du (Ring) Learning With Errors (RLWE)[50]
qui est un problème difficile basé sur les réseaux
euclidiens capable de résister aux attaques quantiques. La mise en
oeuvre de solution de chiffrement homomorphe est complexe, et nécessite
une très bonne compréhension des principes mathématiques
sous-jacents. Ainsi, pour faciliter leur utilisation en pratique, ces
cryptosystèmes sont implémentés dans des
bibliothèques logicielles et standardisés [6] par des groupes de
chercheurs afin de permettre aux dévoloppeurs de les utiliser avec plus
de souplesse.
En informatique, une bibliothèque ou librairie
logicielle (ou encore, bibliothèque de programmes) est un ensemble de
fonctions utilitaires, regroupées et mises à disposition afin de
pouvoir être utilisées sans avoir à les
réécrire. Ainsi, une bibliothèque homomorphique logicielle
qui permet d'effectuer
LISTE DES TABLEAUX 3
Mémoire de Master 2 Recherche 3 MOUYOUME DIEUDONNE(c)
UYI
des calculs sur des données chiffrées de
manière homomorphe et sécurisée. Dès lors, il se
pose un problème de comparaison des bibliothèques FHE qui en
raison de leurs différents coûts de calculs, peuvent guider les
devéloppeurs à utiliser l'une au détriment de l'autre.
C'est dans ce contexte que se situe notre travail de recherche.
Problématique
Dans le contexte de l'émergence du chiffrement
homomorphe (CH), une technologie révolutionnaire permettant
d'exécuter des opérations complexes sur des données
chiffrées sans compromettre leur confidentialité, il devient
crucial d'évaluer l'efficacité opérationnelle des
implémentations logicielles existantes. Une analyse comparative s'impose
entre les bibliothèques Microsoft SEAL, OpenFHE et PALISADE, supportant
les cryptosystèmes BGV (Brakerski-Gentry-Vaikuntanathan) et BFV
(Brakerski-Fan-Vercauteren).
Question de recherche
Question générale de recherche
La question de recherche qui découle de cette
problématique est la suivante:
Quelle bibliothèque, parmi Microsoft SEAL, OpenFHE et
PALISADE, optimise le plus efficacement les temps de calcul associés aux
phases critiques du traitement homomorphe -- chiffrement, multiplication
homomorphique et déchiffrement -- lors de l'exécution d'une
multiplication matricielle, tout en respectant les garanties de
sécurité des cryptosystèmes BGV/BFV?
Questions spécifiques de recherche
De cette question générale de recherche
découle ces quatre questions spécifiques ci-dessous:
· Quels schémas (FHE, PHE, SHE) sont adaptés
à quels cas d'usage?
· Quels sont les impacts des schémas de
chiffrement homomorphe (FHE, PHE, SHE) sur l'ex-pansion des données, et
comment les compromis entre sécurité et efficacité
spatiale varient-ils selon les cas d'usage?
· Comment les choix de paramétrisation des
cryptosystèmes (BGV, BFV) modulent-ils les latences induites par les
opérations homomorphiques (addition, multiplication) dans les
bibliothèques FHE (SEAL, OpenFHE et PALISADE)?
· Quelles classes de problèmes (traitement
d'images, agrégation de données, ML confidentiel) justifient
l'adoption de FHE, SHE ou PHE, et selon quels critères
opérationnels (budget calcul, tolérance au bruit)?
LISTE DES TABLEAUX 4
Mémoire de Master 2 Recherche 4 MOUYOUME
DIEUDONNE(c) UYI
Objectif spécifique de la recherche
À partir de cet objectif général, notre
objectif spécifique est de procéder à une analyse
comparative de ces bibliothèques afin de déterminer laquelle
présente les performances les plus optimales pour le chiffrement, la
multiplication homomorphe et le déchiffrement.
Intérêt de l'étude
La comparaison des performances des bibliothèques
homomorphiques revêt un intérêt majeur pour plusieurs
acteurs impliqués dans le domaine du chiffrement homomorphe. Tout
d'abord, les dé-veloppeurs qui cherchent à intégrer des
fonctionnalités de calculs sur des données chiffrées dans
leurs applications ont besoin d'informations sur les performances des
bibliothèques disponibles afin d'uti-liser la plus adaptée
à leurs besoins spécifiques. De plus, les chercheurs travaillant
sur l'amélioration des cryptosystèmes de chiffrement homomorphe
peuvent tirer parti de ces comparaisons pour identifier les aspects à
optimiser.
Les praticiens du domaine, tels que les experts en
cybersécurité, peuvent utiliser ces informations pour proposer
des solutions appropriées aux entreprises et aux organisations qui
cherchent à mettre en oeuvre le chiffrement homomorphe.
En fin, malgré les nombreux avantages du chiffrement
homomorphe, le coût (temps de calcul) des différentes
opérations (addition, multiplication) reste un problème crucial,
d'où l'intérêt à les comparer.
Structure du mémoire
Ce mémoire est organisé, hors mis l'introduction
générale, en cinq chapitres comme suit:
· Le chapitre 1
Ce chapitre porte sur les généralités.
· Le chapitre 2
Ce chapitre est consacré sur l'état de l'art du
chiffrement homomorphe.
· Le chapitre 3
Ce chapitre porte sur les systèmes de calculs
homomorphes
· Le chapitre 4
Ce chapitre porte sur l'étude de l'existant sur la
comparaison des bibliothèques FHE
· Le chapitre 5
Ce chapitre porte sur l'implémentation et les
résultats.