Calculer sur des données chiffrées
L'idée révolutionnaire
Depuis le début de la cryptographie, une règle semblait absolue : pour utiliser une donnée, il faut d'abord la déchiffrer. Le chiffrement homomorphe brise cette règle.
L'idée révolutionnaire
Un schéma de chiffrement homomorphe permet d'effectuer des calculs directement sur des données chiffrées, sans jamais les déchiffrer. Une fois le résultat déchiffré, on obtient exactement la même valeur que si le calcul avait été mené sur les données en clair.
Autrement dit, le chiffrement « laisse passer » les opérations. On peut additionner ou multiplier des messages cachés dans leurs chiffrés, et retrouver à la fin la somme ou le produit des messages clairs.
Un exemple d'intuition
Imaginons une fonction de chiffrement E et sa fonction de déchiffrement D. Le schéma est homomorphe pour l'addition si, pour deux messages m1 et m2 :
D( E(m1) ⊕ E(m2) ) = m1 + m2
L'opération ⊕ se fait sur les chiffrés, sans connaître ni m1, ni m2, ni la clé de déchiffrement. Le résultat reste chiffré ; seul le détenteur de la clé privée pourra lire m1 + m2 à la fin.
Le scénario qui change tout : le cloud non fiable
Le cas d'usage phare est le calcul délégué. Vous possédez des données sensibles (dossiers médicaux, données financières) et vous voulez confier un calcul lourd à un service de cloud puissant — mais vous ne lui faites pas confiance pour voir vos données en clair.
VOUS (avez la clé) CLOUD (non fiable)
----------------- ------------------
données claires
|
[chiffrer] ---- envoi ----> données chiffrées
|
[calcul sur chiffré]
|
résultat clair <--- renvoi ---- résultat chiffré
^
[déchiffrer]
Le cloud reçoit uniquement des données chiffrées, effectue le calcul demandé, et renvoie un résultat encore chiffré. Il n'a jamais vu la moindre donnée en clair. De retour chez vous, vous déchiffrez et obtenez le bon résultat.
Pourquoi c'est puissant
La confidentialité est préservée pendant le traitement, pas seulement au repos ou en transit. C'est une différence majeure : le chiffrement classique protège une donnée stockée ou transmise, mais il faut la déchiffrer pour la traiter. Le chiffrement homomorphe protège la donnée même en cours de calcul.
Cela ouvre la porte à des services qui travaillent sur nos informations sans jamais y accéder : un moteur de recherche qui ne sait pas ce que vous cherchez, un service d'analyse médicale qui ne voit pas vos données de santé.
En résumé
Le chiffrement homomorphe permet de calculer directement sur des données chiffrées : le résultat déchiffré est identique à celui qu'on aurait obtenu sur les données claires. Son application phare est le calcul délégué à un cloud non fiable, qui traite les données sans jamais les voir, préservant ainsi la confidentialité pendant le traitement.

