Cryptology Academy · Leçon

Au-delà de la clé publique : chiffrement fonctionnel

Comprenez la vision du chiffrement fonctionnel : le déchiffrement ne révèle que le résultat d’une fonction, et non le texte en clair.

Leçon 1 sur 413 étapes

Au-delà de la clé publique : chiffrement fonctionnel est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Limites du chiffrement traditionnel

Le chiffrement traditionnel à clé publique suit un modèle simple : chiffrer avec une clé publique, puis déchiffrer avec la clé privée correspondante. Le déchiffreur prend connaissance de l’intégralité du message en clair. Ce modèle tout ou rien est trop grossier pour de nombreuses applications : une base de données médicale pourrait vouloir autoriser un médecin à savoir uniquement si un patient présente une affection précise, sans lui révéler l’intégralité du dossier médical. Le chiffrement fonctionnel remédie à cette limitation.

Chiffrement fondé sur l’identité

Le chiffrement fondé sur l’identité (IBE), proposé par Shamir en 1984 et construit par Boneh et Franklin en 2001, permet d’utiliser une chaîne d’identité (adresse e-mail, nom de domaine, ID d’employé) comme clé publique. Une autorité de confiance chargée des clés génère des clés privées pour des identités précises. IBE élimine la nécessité de certificats de clé publique et simplifie la distribution des clés. IBE est la forme la plus simple du chiffrement fonctionnel.

Définition du chiffrement fonctionnel

Le chiffrement fonctionnel (FE), défini formellement par Boneh, Sahai et Waters en 2011, généralise IBE. Dans un schéma FE, une autorité de clés peut générer une clé de fonction sk_f pour toute fonction f. À partir d’un chiffrement Enc(x) et d’une clé de fonction sk_f, un déchiffreur peut calculer f(x), mais n’apprend rien d’autre sur x que ce que révèle f(x). La fonction f peut être toute fonction calculable appartenant à la classe prise en charge par le schéma.

FE pour le produit scalaire

Le chiffrement fonctionnel du produit scalaire permet à un déchiffreur détenant sk_y de calculer le produit scalaire <x, y> à partir du chiffrement du vecteur x. Cela permet l’inférence privée en apprentissage automatique : chiffrer le vecteur de caractéristiques x d’un utilisateur, fournir au propriétaire du modèle sk_y correspondant à son vecteur de poids y, et lui permettre de connaître uniquement le produit scalaire (le score brut de prédiction), sans révéler les caractéristiques de l’utilisateur. Plusieurs schémas pratiques de FE pour le produit scalaire existent (ABDALLA et al. 2016).

FE pour la vérification d’égalité

Le FE pour la vérification d’égalité permet à une partie de vérifier si une valeur chiffrée correspond à une valeur précise v, en ne sachant que si l’égalité est vérifiée. Cela permet d’effectuer des requêtes de base de données respectueuses de la confidentialité : un serveur conserve des enregistrements chiffrés et un utilisateur recherche les enregistrements correspondant à des valeurs précises, sans que le serveur sache ce qu’il recherche ni n’apprenne davantage sur les résultats qu’une correspondance oui/non. Les constructions pratiques utilisent des appariements bilinéaires.

FE pour les circuits généraux

La forme la plus puissante du FE prend en charge des circuits booléens ou arithmétiques arbitraires comme fonctions. Un déchiffreur disposant de sk_f pour toute fonction f calculable en temps polynomial peut calculer f(x) à partir de Enc(x). Le FE pour circuits généraux a été construit théoriquement par Garg, Gentry, Halevi, Raykova, Sahai et Waters (2013) à l’aide d’applications multilinéaires, mais les constructions existantes de FE général sont impraticables en raison de leur dépendance à des hypothèses d’applications multilinéaires imparfaites.

Obfuscation par indistinguabilité

L'obfuscation par indistinguabilité (iO) est le primitif cryptographique le plus puissant connu et est étroitement liée au chiffrement fonctionnel. Un schéma iO prend un circuit C et produit une version obfusquée O(C) qui calcule la même fonction, mais ne révèle rien sur C au-delà de son comportement en entrée-sortie. iO implique la plupart des primitifs cryptographiques connus, y compris le FE général. Des constructions candidates fondées sur des problèmes de réseaux existent, mais sont encore très éloignées d'une utilisation pratique.

Le chiffrement fondé sur les attributs comme cas particulier

Le chiffrement fondé sur les attributs (ABE) est une forme réalisable en pratique du chiffrement fonctionnel où la fonction f est restreinte à une évaluation de politique : f(x) = 1 si l'ensemble d'attributs x satisfait à une politique, et 0 sinon. L'ABE permet un contrôle d'accès granulaire, où les droits de déchiffrement dépendent des attributs d'un utilisateur. L'ABE est la forme de chiffrement fonctionnel la plus déployée en pratique, avec des implémentations dans le stockage en nuage, les soins de santé et l'IdO.

Feuille de route des constructions

L'histoire des constructions de FE progresse du simple au puissant : IBE (Boneh-Franklin 2001) → FE pour l'égalité (divers travaux de 2005 à 2010) → FE pour le produit scalaire (ABDALLA 2016) → FE pour les circuits de profondeur bornée (fondé sur des applications multilinéaires, 2013) → FE général (conjecturé à partir de iO). Chaque étape est plus puissante, mais aussi plus complexe et moins efficace. Le déploiement pratique utilise la forme la plus simple qui fournit la fonctionnalité recherchée.

Modèle de sécurité du chiffrement fonctionnel

La sécurité du FE est définie par l'indistinguabilité des chiffrés de deux messages x0 et x1, même lorsque le déchiffreur dispose de clés de fonction pour des fonctions arbitraires, à condition que f(x0) = f(x1) pour toutes les fonctions interrogées. Cela garantit que le déchiffreur apprend exactement f(x) et rien de plus. Il existe deux niveaux de sécurité : la sécurité sélective (l'adversaire s'engage sur les messages du défi avant de voir la clé publique) et la sécurité adaptative (fondée sur une simulation complète).

Défis du déploiement pratique

Le FE général reste impraticable, mais le FE pour le produit scalaire et l'ABE peuvent être déployés dès aujourd'hui. Les défis comprennent le besoin d'une autorité de gestion des clés de confiance (point unique de défaillance), la complexité de la révocation des clés, la surcharge de performances due aux opérations d'appariement et la standardisation limitée. Les axes de recherche comprennent le FE à autorités multiples (sans autorité de confiance unique), la génération décentralisée de clés et le FE pour des classes de fonctions plus vastes sans applications multilinéaires.

Quiz sur la définition du chiffrement fonctionnel

Qu'est-ce qui distingue le chiffrement fonctionnel du chiffrement traditionnel à clé publique ?

Récapitulatif du chiffrement fonctionnel

Le chiffrement fonctionnel (Boneh-Sahai-Waters 2011) généralise IBE en permettant d'utiliser des clés de fonction sk_f qui permettent de calculer f(x) à partir de Enc(x) sans apprendre entièrement x. Des constructions pratiques existent pour le FE du produit scalaire (inférence privée en apprentissage automatique) et le test d'égalité. L'ABE est un cas particulier déployé en pratique pour l'évaluation de politiques d'accès. Le FE pour les circuits généraux nécessite des applications multilinéaires (impraticables). iO est le primitif apparenté le plus puissant. Le principal défi consiste à passer de la théorie à une mise en pratique efficace.

Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « Au-delà de la clé publique : chiffrement fonctionnel » est-elle gratuite ?

Oui — le texte complet de « Au-delà de la clé publique : chiffrement fonctionnel » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Au-delà de la clé publique : chiffrement fonctionnel » ?

Comprenez la vision du chiffrement fonctionnel : le déchiffrement ne révèle que le résultat d’une fonction, et non le texte en clair. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Au-delà de la clé publique : chiffrement fonctionnel » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Au-delà de la clé publique : chiffrement fonctionnel
  2. ABE fondé sur une politique de texte chiffré (CP-ABE)
  3. ABE fondé sur une politique de clé (KP-ABE) et comparaison
  4. Applications pratiques de l’ABE
← Retour à Cryptology Academy