WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Chiffrement homomorphe


par Dieudonné MOUYOUMÉ
Université de Yaoundé 1 - Master recherche 2025
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Chapitre V

IMPLEMENTATION ET RÉSULTATS

Dans ce chapitre, nous justifions le choix des bibliothèques FHE et des crytptosystèmes qu'elles implémentent ensuite nous donnons les différentes procédures d'installation de ces bibliothèques FHE et en fin nous faisons des tests et discutons des résultats obtenus.

5.1 Choix des cryptosystèmes FHE

5.1.1 Classes de calculs HFE

Il est important de choisir la bonne approche pour un calcul FHE. On distingue trois classes [9] de calculs FHE :

1 Circuits booléens

Les données en texte brut sont représentées sous forme de bits et les calculs sont exprimés

sous forme de circuits booléens.

Ces caractéristiques sont:

-- La comparaison rapide des nombres

-- La prise en charge les circuits booléens arbitraires

-- L'amorçage rapide (procédure de rafraîchissement du bruit)

Les cryptosystèmes concernés sont : GSW, FHEW et TFHE.

2 Arithmétique modulaire (exacte)

Les données sont en texte brut sont représentées sous forme d'entiers modulo un module de

texte en clair p (ou leurs vecteurs) et les calculs exprimés en entier arithmétique modulo p

Ces caractéristiques sont:

-- Les calculs SIMD efficaces sur des vecteurs d'entiers (en utilisant le batching)

-- L'arithmétique entière rapide et de haute précision

-- La récupération rapide d'informations privées/intersection d'ensembles privés

-- Conception nivelée (souvent utilisée sans bootstrapping)

Les cryptosystèmes concernés sont : BGV et BFV.

3 Arithmétique des nombres approximatifs

Les données en texte brut sont représentées sous forme de nombres réels (ou de nombres complexes) et le modèle de calcul similaire à l'arithmétique à virgule flottante, mais traitant

5.1 Choix des cryptosystèmes FHE 53

Mémoire de Master 2 Recherche 53 MOUYOUME DIEUDONNE(c) UYI

de nombres à virgule fixe.

Ces caractéristiques sont:

-- Les calculs SIMD efficaces sur des vecteurs de nombres réels (en utilisant le batching)

-- L'approximation polynomiale rapide

-- L'inverse multiplicatif et transformée de Fourier discrète relativement rapides

-- Les calculs approximatifs approfondis, tels que l'apprentissage par régression logistique

-- La conception nivelée (souvent utilisée sans bootstrapping)

Le cryptosystème concerné est: CKKS

Ce qui précède nous amène à choisir les cryptosystèmes BFV [35] et BGV [7] implémentés dans les bibliothèques homomorphiques Micorsoft SEAL, OpenFHE et PALISADE parce que c'est une classe de FHE qui prend en charge l'arithmétique modulaire sur des champs finis, qui correspondent généralement à des vecteurs d'entiers mod p, où p est un nombre premier ou une puissance première, communément appelé le module du texte en clair. Cette classe est également parfois utilisée pour l'arithmétique des petits nombres entiers. De nos jours, les schémas homomorphes BFV et BGV semblent susciter plus d'attention [30].

En outre, de manière spécifique sur le calcul matriciel, ces deux cryptosystèmes ont les caractéristiques respectives:

BFV (Brakerski-Fan-Vercauteren)

-- Efficacité pour les opérations arithmétiques

Le cryptosystème BFV est particulièrement adapté aux opérations arithmétiques homomorphes, telles que l'addition et la multiplication, qui sont essentielles dans les calculs matriciels. Il permet de réaliser ces opérations de manière efficace, ce qui est crucial pour les performances du calcul matriciel.

-- Support de la multiplication homomorphe

Le cryptosystème BFV offre un support natif pour la multiplication homomorphe, ce qui facilite la réalisation de la multiplication matricielle. Cela permet d'effectuer des calculs matriciels complexes sans avoir à décomposer la multiplication en opérations plus simples, ce qui simplifie le processus de programmation.

-- Contrôle sur la profondeur du circuit

Le cryptosystème BFV permet de contrôler la profondeur du circuit homomorphe, ce qui est important pour les calculs matriciels de grande taille. En réduisant la profondeur du circuit, on peut réduire la complexité et le temps d'exécution des opérations matricielles.

BGV (Brakerski-Gentry-Vaikuntanathan)

-- Support de la multiplication homomorphe Le cryptosystème BGV permet également la multiplication homomorphe, ce qui en fait un choix approprié pour les calculs de multiplication matricielle. Il permet de manipuler les matrices chiffrées et d'effectuer des opérations matricielles complexes tout en préservant la confidentialité des données.

-- Support de la multiplication par constante

Le cryptosystème BGGV offre une fonctionnalité supplémentaire importante pour les calculs

5.1 Choix des cryptosystèmes FHE 54

Mémoire de Master 2 Recherche 54 MOUYOUME DIEUDONNE(c) UYI

matriciels, à savoir la multiplication par constante homomorphe. Cela permet de multiplier une matrice chiffrée par une constante sans avoir à chiffrer la constante elle-même, ce qui simplifie les calculs matriciels.

-- Capacité à gérer des schémas plus généraux

Le cryptosystème BGV est un schéma plus général qui permet de prendre en charge un large éventail de calculs homomorphes, y compris les calculs matriciels. Il offre une plus grande flexibilité et peut être adapté à des applications plus complexes nécessitant des opérations non arithmétiques.

5.1.2 Choix des paramètres de chiffrement

L'instanciation de tout cryptosystème de chiffrement homomorphe ou non nécessite de définir certains paramètres, par exemple pour déterminer la taille de la clé ou le niveau de sécurité. Dans le cadre du chiffrement homomorphique, les paramètres influencent non seulement la sécurité, mais également le type de texte en clair et les calculs pouvant être effectués.

Paramètres principaux

-- Module du texte en clair p

Il détermine la taille maximale des valeurs pouvant être chiffrées. Il doit être suffisamment grand pour contenir les résultats des opérations intermédiaires sans overflow.

-- Module du texte chiffré q

C'est le paramètre fonctionnel qui détermine le nombre de calculs autorisés (la quantité de bruit pouvant être tolérée). Il est souvent défini implicitement en utilisant la valeur de profondeur multiplicative spécifiée par l'utilisateur

-- Dimension du texte chiffré n

C'est la valeur minimale qui est calculée en fonction du niveau de sécurité souhaité et du module de texte chiffré q. C'est aussi la taille du vecteur d'entiers chiffrés lorsqu'un emballage standard ou à coefficients est utilisé.

Paramètres de sécutité

En général, le niveau de sécurité ë augmente à mesure que n augmente et diminue à mesure que q augmente [17]. D'un autre côté, plus q est grand, plus les calculs complexes peuvent être effectués sur les textes chiffrés du schéma de chiffrement : les textes chiffrés de ces schémas de chiffrement contiennent une composante de bruit (qui est importante pour la sécurité), et ce bruit augmente à chaque opération. Le résultat chiffré ne peut être déchiffré que si le bruit est inférieur à q, donc l'utilisation de valeurs de q plus grandes implique que nous pouvons effectuer plus d'opérations.

La dimension du texte chiffré (degré de polynôme) doit être choisie en fonction de la table de sécurité publiées sur HomomorphicEncryption.org [6].

Les paramètres retenus pour notre étude sont consignés dans le tableau 5.1

5.2 Choix des bibliothèques FHE 55

Mémoire de Master 2 Recherche 55 MOUYOUME DIEUDONNE(c) UYI

FIGURE 5.1 - Sélection des paramètres

Paramètres

SEAL

OpenFHE

PALISADE

n

8192

8192

8192

p

65537

65537

65537

logq

218

240

180

l

 

1,2,3

1,2,3

A

128 bits

128 bits

128 bits

TABLE 5.1 - Paramètres de chiffrement

précédent sommaire suivant






Extinction Rebellion







Changeons ce systeme injuste, Soyez votre propre syndic



"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore