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

2.2.5.2 Cryptosystème de Brakerski, Fan et Vercauteren

Le cryptosystème BFV a été proposé en 2012 par J. Fan et F. Vercauteren [28] après avoir modifié le schéma proposé par Brakerski [15]. Le cryptosystème BFV est similaire au cryptosystème BGV mais ayant ses spécificités.

Les espaces de texte en clair et de texte chiffré

Les espaces de texte en clair et de texte chiffré sont définis sur deux anneaux polynomiaux distincts désignés par :

Rp = 7Lp[X]/(Xd + 1) d = 2k, k = 2 et p le module du texte en clair

Rq × RqRq = 7Lq[X]/(Xd + 1) avec d = 2k, k = 2 et q le module du texte chiffré . Ainsi les fonctions de BFV [14] sont :

Génération des clés

La clé secrète est sk un polynôme de degré n avec les coefficients dans {-1, 0, 1} échantillion-nées suivant une loi uniforme (voir la définition 1.1.12)..

La clé publique pk est une paire de polynômes (pk1, pk2) calculée comme suit :

pk1 = [-(a.s + e)]q et

pk2 = a

 

Avec a un polynôme aléatoire, les coefficients de a sont générés avec une distribution uniforme (voir définition 1.1.12) dans {?-q 2 ?,..., ?q2?} et e est un polynôme d'erreur aléatoire dont les coefficients sont échantillonnés à partir d'une distribution gaussienne discrète de x (voir définition 1.1.11).

Chiffrement

Un texte clair m est chiffré par c = (c1, c2) avec :

c1 = [pk1.u + e1 + ?m]q, avec ? = ?q p?

c2 = [pk2.u + e2]q

 

Avec u un polynôme de degré n généré avec des coefficients aléatoires dans {-1,0,1} suivant une loi uniforme (voir la définition 1.1.12), e1 et e2 sont des polynômes de degré n suivantx, la distribution d'erreur définie comme une distribution gaussienne discrète x (voir la définition 1.1.11).

Déchiffrement

Un texte chiffré m est déchiffré en calculant :

m = [?p.[c1+c2.sk]q?]

q q.

 

Evaluation homomorphique

L'addition de deux textes chiffrés c1 = (c11, c12) et c2 = (c21, c22) est caclculé par :

2.2 Générations du chiffrement homomorphe 28

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

-- EvalAdd(c1, c2) = ([c11 + c12]q, [c21, c22]q).

La multiplication de deux textes chiffrés c1 = (c11, c12) et c2 = (c21, c22) renvoie le resultat : -- EvalMult(c1, c2) = ([L p(c11.c21)

q l]q), [L p(c11.c22+c12.c21)

q l]q, [L p(c12.c22)

q l]q)

qui est un chiffré qui n'est plus sous forme initiale c = (c1, c2) mais sous forme étendue (àc1, àc2, àc3). Le processus de rélinéarisation permet de le réduire le chiffré àc1, àc2, àc3) en un chiffré de la forme (c1,c2) oû :

c1 = [àc1 + EK1.àc3]q

c2 = [àc2 + EK2.àc3]q

Avec EK = (-(a.sk + e) + sk2, a) 2.2.5.3 Cryptosystème CKKS

Le cryptosystème CKKS(Cheon-Kim-Kim-Song) a été proposé par Cheon et al. [18]. Contrairement aux autres systèmes de chiffrement homomorphe , le système CKKS prend en charge l'arithmé-tique approximative sur les nombres complexes.

Espace du texte en clair et l'espace du texte chiffré

CKKS exploite la riche structure des anneaux de polynômes entiers pour ses espaces du texte en clair et du texte chiffré. Néanmoins, les données se présentent plus souvent sous la forme de vecteurs que de polynômes. Par conséquent, il est nécessaire d'encoder notre entrée z E Cd/2 en un polynôme m(X) E Z[X]/(Xd + 1) où d est une puissance de 2.

L'espace de texte en clair est l'anneau polynomial R = Z[X]/(Xd + 1).

L'espace du texte chiffré est (Z[X]/(Xd + 1))2 q est le module des chiffrés.

Le système CKKS se compose essentiellement des algorithmes suivants : génération de clés, chiffrement, déchiffrement, addition et multiplication homomorphes et remise à l'échelle.

Génération des clés

La clé secrète est sk un polynôme de degré n avec les coefficients dans {-1,0, 1) échantillion-

nées suivant une loi uniforme (voir la définition 1.1.12).

La clé publique pk est une paire de polynômes pk1 et pk2 calculée comme suit:

-- pk1 = [-a.s + e]q et

-- pk2 = a

 

Avec, a est un polynôme aléatoire échantillonné uniformément à partir de Rq, et e est un polynôme d'erreur aléatoire échantillonné à partir de ÷.

2.2 Générations du chiffrement homomorphe 29

Chiffrement

Un message clair m ? R est chiffré par c = (c1, c2) ? R2q avec :

c1 = r.pk1 + e1 + m

c2 = r.pk2 + e2

 

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

Avec r un polynôme de degré n généré avec des coefficients aléatoires dans {-1,0,1} suivant une loi uniforme (voir la définition 1.1.12), e1 et e2 sont des polynômes de degré n dans les coefficients suivent la distribution d'erreur définie comme une distribution gaussienne discrète ÷ (voir la définition 1.1.11).

Déchiffrement

Un texte chiffré m est déchiffré en calculant :

m = [c1 + c2.sk]q

Evaluation homomorphique

L'addition de deux textes chiffrés c1 = (c11, c12) et c2 = (c21, c22) est caclculé par :

EvalAdd(c1, c2) = ([c11 + c12]q, [c21, c22]q).

La multiplication de deux textes chiffrés c1 = (c11, c12) et c2 = (c21, c22) renvoie le resultat :

EvalMult(c1, c2) = ([(c11.c21)]q), [(c11.c22 + c12.c21)]q, [(c12.c22)]q)

qui est un chiffré qui n'est plus sous forme initiale c = (c1, c2) mais sous forme étendue (àc1, àc2, àc3). Le processus de rélinéarisation permet de le réduire le chiffré (àc1, àc2, àc3) en un chiffré de la forme (c1, c2) où :

c1 = àc1 + ?p-1c3.EK1?

c2 = àc2 + ?p-1c3.EK2?

Avec EK = (EK1, EK2) = (-a'.sk + e') + p.sk2, a'); a' est éhantillonné uniformément au hasard à partir de Rpq et e' une erreur suivant la distribution gaussienne discète ÷.

précédent sommaire suivant






Extinction Rebellion







Changeons ce systeme injuste, Soyez votre propre syndic



"Il faut répondre au mal par la rectitude, au bien par le bien."   Confucius