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

1. Algorithme LLL (Lenstra-Lenstra-Lovász)

En 1982, Lenstra, Lenstra et Lovász[42] ont inventé un algorithme très efficace pour la réduction des réseaux ayant des dimensions supérieures. Il prend en entrée une base quelconque (b1,. . . , bn) et la transforme en une base presque orthogonale, en réduisant la taille des vecteurs.

L'idée principale de l'algorithme LLL est de remplacer les vecteurs de la base qui ne sont pas "presque orthogonaux" par des combinaisons linéaires entières de ces vecteurs. L'algorithme s'exécute en temps polynomial.

Algorithm 1 Réduction LLL (Lenstra-Lenstra-Lovász)

i1 [

Entrée : Base B = {b1, . . . , bn} ? m, ä ? 4, 1

Sortie : Base LLL-réduite

Calculer la base orthogonale {u1,.. . , un} par Gram-Schmidt i ? 2

tant que i = n faire

pour j = i - 1 to 1 faire

ui, j ? ?uj,uj? bi ? bi - ?ui, j? · bj Mettre à jour ui

?bi,uj?

si ä?ui-1?2 > ?ui + ui,i-1ui-1?2 alors

Échanger bi et bi-1 i ? max(i - 1,2)

sinon

i ? i + 1

Retouner : B

La complexité de l'algorithme LLL est: O(d6 log3 T) avec T = ||bi|| pour tout i

2. Algorithme BKZ (Block Korkine-Zolotarev)

L'algorithme BKZ introduit en 1987 [40] est une amélioration de l'algorithme LLL. Il utilise une

1.1 Notions mathématiques 15

approche en blocs pour obtenir une réduction plus forte des vecteurs dans le réseau euclidien. L'algo-rithme BKZ est plus efficace que LLL pour les instances difficiles, mais il est également plus coûteux en temps de calcul.

Algorithm 2 Réduction BKZ (Block Korkine-Zolotarev)

Entrée : Base B = {b1,. . . ,bn} ? Zm, taille de bloc â = 2, paramètre ô ?]1 4, 1[ Sortie : Base BKZ-réduite

Appliquer LLL(B, ô) sur toute la base; k ? 1

tant que k = n - 1 faire

q?min(k+â-1,n)Bbloc ?{bk,...,bq}

Bréduit ? LLL(Bbloc, ô) v ? EnumérerVecteurMin(Bréduit) si ?v? < ?bk? alors

Remplacer bk par v dans B

Appliquer LLL(B, ô) localement autour de k k?max(k- 1,1)

sinon

Appliquer LLL(B, ô) sur {bk,. . . , bq} k ? k + 1

Retouner: B

La complexité de l'algorithme BKZ est O(n2

â2 logn)

Étant donné un paramètre fixé n = 1, un module q = 2, une distribution d'erreur X d'écart type ó. Le problème LWE consiste à trouver S ? Zn q à partir de m échantillons (Ai, < Ai, S > +Ei) où les Ai sont des vecteurs tirés uniformément de Zm q × Zn q et les Ei sont des erreurs tirées d'une distribution

gaussienne X sur Zn q.

Problème 1.1.10 (LWE -Apprentissage avec erreur)

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

Le problème d'apprentissage avec erreur (LWE pour Learning With Errors) introduit en 2005 par Oded Regev [44] est un des problèmes difficile sur lequel reposent plusieurs cryptosystèmes à base de réseaux euclidiens. Le problème Learning with errors (LWE) consiste à trouver un secret masqué au milieu d'équations linéaires bruitées.

Exemple 1.1.1. Système linéaire du problème LWE

???????????????????????????????

×

???????????????

6

9

11

11

???????????????

+

???????????????????????????????

0 -1 1 -1 1 0 -1

???????????????????????????????

=

???????????????????????????????

4

7

2

1

5

12

8

???????????????????????????????

???????????????????????????????

4 1 11 10

5 5 9 5

3 9 0 10

6 9 0 2 12 7 3 2 6 5 11 4 3 3 5 0

1.1 Notions mathématiques 16

Il s'agit de trouver le sécret s dans (Z/13Z)4

Soit un entier d = 2k, k > 2 et q un module premier tel que q 1 mod 2?(d) avec ?(d) = 2k-1. On définit Rq = Zq[x]/(xd + 1) un anneau de polynôme.

Étant donné un secret S E Rq, on construit m échantillons (A, B) = (A, A.S + E) E Rq X Rq A est tiré uniformément de Rq et E est un terme d'erreur choisi indépendamment d'une certaine distribution d'erreur sur Rq .

Le problème RLWE consiste à trouver S à partir des échantillons.

Problème 1.1.11 (Ring-LWE-Apprentissage avec erreurs sur les anneaux)

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

Le problème de l'apprentissage avec erreurs sur les anneaux (Ring-LWE pour Ring Learning With Error), introduit par Stehlé, Steinfeld, Tanaka et Xagawa dans [50] est le problème LWE dans un anneau de polynômes.

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

précédent sommaire suivant






Extinction Rebellion







Changeons ce systeme injuste, Soyez votre propre syndic



"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984