• Aucun résultat trouvé

Repr´esentation de Nombres pour les Algorithmes Choix de l’Arithm´etique pour une Impl´ementation R´ealiste de FV Vincent Zucca Ann´ee 2016-2017

N/A
N/A
Protected

Academic year: 2022

Partager "Repr´esentation de Nombres pour les Algorithmes Choix de l’Arithm´etique pour une Impl´ementation R´ealiste de FV Vincent Zucca Ann´ee 2016-2017"

Copied!
12
0
0

Texte intégral

(1)

Repr´ esentation de Nombres pour les Algorithmes

Choix de l’Arithm´ etique pour une Impl´ ementation R´ ealiste de FV

Vincent Zucca

Ann´ ee 2016-2017

(2)

Probl´ ematique

Les ´ el´ ements de base appartiennent ` a R q – pZ{q ZqrX s{pX n ` 1q Param` etres r´ ealistes de s´ ecurit´ e ùñ q et n tr` es grand.

Temps produit na¨ıf de 2 ´ el´ ements dans R q

§

n “ 2048 et log

2

pqq “ 95 Ñ 1.824 s.

§

n “ 4096 et log

2

pqq “ 190 Ñ 7,872 s.

§

n “ 8192 et log

2

pqq “ 390 Ñ 35,419 s.

§

n “ 16384 et log

2

pqq “ 790 Ñ 188.657 s.

Imaginez pour une multiplication homomorphique !

ùñ Utiliser des repr´ esentations adapt´ ees pour acc´ el´ erer les calculs

(3)

Arithm´ etique sur les coefficients

Pas de contraintes sur la forme du module q.

ùñ choisir q comme produit de k premiers entre eux q 1 , ¨ ¨ ¨ , q k . Les q i sont choisis de mˆ eme taille (id´ ealement un mot machine).

Le CRT donne l’isomorphisme d’anneau R q – R q

1

ˆ ¨ ¨ ¨ ˆ R q

k

ùñ Arithm´ etique en parall` ele sur k corps de taille log 2 pq q{k.

Coˆ ut multiplication O plog 2 pqq 2 q Ñ O pplog 2 pq q{kq 2 q.

Remarque : au lieu de repr´ esenter a P R q comme un tableau de n coefficients, on le repr´ esente comme une matrice avec n ˆ k coefficients.

Application

q “ 221 “ 13 ˆ 17, donner la repr´ esentation en RNS du chiffr´ e pr´ ec´ edent c “ p49X ´ 30, 13X ` 73q.

Solution

c “ pp´3X ´ 4, ´5q, p´2X ` 4, ´4X ` 5qq

(4)

Grˆ ace au RNS on obtient les timings suivants pour des moduli de 32 bits : n “ 2048 et log 2 pq q “ 95 : 1.824 s Ñ 1.634 s.

n “ 4096 et log 2 pq q “ 190 : 7,872 s Ñ 6,608 s.

n “ 8192 et log 2 pq q “ 390 : 35,419 s Ñ 26,894 s.

n “ 16384 et log 2 pqq “ 790 : 188.657 s Ñ 105,651 s.

Le passage au RNS n’est pas suffisant, autre chose domine le calcul.

(5)

Transform´ ee de Fourier Discr` ete

La transform´ ee de Fourier Discr` ete d’un polynˆ ome a P CrX s de degr´ e n est l’´ evaluation de a en les racines n-i` eme de l’unit´ e pω i q n i“1 .

TFD : C n rX s ÝÑ C n pa 0 , ¨ ¨ ¨ , a n q ÞÑ

˜ n´1

ř

j “0

a j ω i j

¸ n

i“1

C’est une application bijective, que l’on peut calculer (ainsi que son inverse) en O pn log 2 pnqq grˆ ace ` a l’algorithme de Cooley-Tukey.

Ñ n doit ˆ etre une puissance de 2.

Polynˆ omes repr´ esent´ es en TFD ùñ multiplication lin´ eaire en n.

Une fois en TFD, l’arithm´ etique se parall´ elise ind´ ependemment sur les

n composantes.

(6)

Transform´ ee de Fourier Discr` ete

Multiplier deux polynˆ omes a et b de degr´ e n ´ 1 :

Repr´ esenter les deux polynˆ omes avec 2n coefficents (avec n z´ eros).

Calculer la TFD de a et b avec les racines 2n-i` emes de l’unit´ e.

Calculer TFD p c q “ TFDp a q ˆ TFD p b q coordonn´ ees par coordonn´ ees.

Calculer la TFD inverse de TFD pc q.

Cˆ out total : TFD ` Multiplication ` TFD ´1 Ñ O pn log 2 pnqq

Et dans les corps de nombres ?

(7)

Number Theoretic Transform (NTT)

Le principe de la transform´ ee de Fourier Discr` ete peut se g´ en´ eraliser ` a tout corps de nombres admettant des racines de l’unit´ e.

Exercice

Soit q un nombre premier, montrer que q ” 1 rns si et seulement si F q

admet des racines n-i` emes de l’unit´ e.

Pour utiliser la NTT dans R q – R q

1

ˆ ¨ ¨ ¨ ˆ R q

k

on doit : Utiliser des modulis q i premiers.

Choisir chaque q i ” 1 r2ns.

Probl` eme

On se retrouve avec un polynˆ ome de degr´ e 2n ´ 2. Il faut donc utiliser un

algorithme de r´ eduction pour le r´ eduire modulo X n ` 1.

(8)

Algorithme de R´ eduction Polynˆ omial

Que connaissez-vous ? Barrett Ñ O pn log 2 pnqq Montgomerry Ñ O pn log 2 pnqq

La complexit´ e de la multiplication dans R q reste en O pn log 2 pnqq.

Mais la constante cach´ ee dans le O augmente...

En fait, dans notre cas, on peut faire la r´ eduction directement...

Remarquons qu’en ´ evaluant les polynˆ omes en les racines 2n-i` emes de

l’unit´ e on calcule le r´ esultat modulo X 2n ´ 1.

(9)

Retour sur la NTT

Il s’agit de trouver des racines n-i` emes de ´1 dans F q . Exercice

Soit ψ P F q une racine primitive 2n-i` eme de l’unit´ e :

1

Montrer que ψ est une racine primitive n-i` eme de ´1 et que ω “ ψ 2 est une racine primitive n-i` eme de 1.

2

D´ ecrire l’ensemble des racines n-i` emes de ´1 de F q ` a l’aide de ψ et ω.

3

Lorsque q ” 1 r2ns montrez, utilisant des NTTs de taille n, comment multiplier deux ´ el´ ements a et b de R q .

Application

Soit a “ ´X ` 2 et b “ 5X ´ 3 deux ´ el´ ements de pZ{13 ZqrX s{pX 2 ` 1q.

Calculer le produit de a et b en utilisant l’algorithme pr´ esent´ e

pr´ ecedemment (ψ “ 5, ψ ´1 “ ´5, ω “ ´1 et ω ´1 “ ´1, 2 ´1 “ ´6).

(10)

Retour sur la NTT

Il s’agit de trouver des racines n-i` emes de ´1 dans F q . Exercice

Soit ψ P F q une racine primitive 2n-i` eme de l’unit´ e :

1

Montrer que ψ est une racine primitive n-i` eme de ´1 et que ω “ ψ 2 est une racine primitive n-i` eme de 1.

2

D´ ecrire l’ensemble des racines n-i` emes de ´1 de F q ` a l’aide de ψ et ω.

3

Lorsque q ” 1 r2ns montrez, utilisant des NTTs de taille n, comment multiplier deux ´ el´ ements a et b de R q .

Solution

f ψ paq “ p2, ´5q et f ψ pbq “ p´3, ´1q

NTT pf ψ paqq “ p´3, ´6q et NTT pf ψ paqq “ p´4, ´2q

NTT pf ψ p c qq “ p´1, ´1q

(11)

Pour r´ esumer

Acc´ el´ erer l’arithm´ etique au niveau des coefficients ùñ RNS.

Ñ q “ q 1 ¨ ¨ ¨ q k , avec les q i premiers entre eux de mˆ eme taille.

Acc´ el´ erer l’arithm´ etique au niveau polynˆ omial ùñ NTT.

Ñ prendre tous les q i premiers avec q i ” 1 r2ns.

Attention !

Certaines op´ erations ne peuvent pas ˆ etre effectu´ ees en RNS ou en NTT, pour FV par exemple :

D´ echiffrement : division non exacte par q et arrondis.

Multiplication : multiplication dans Z , division non exacte par q, arrondis, d´ ecomposition en base ω.

Ñ Il va falloir naviguer entre les diff´ erentes repr´ esentations durant les

algorithmes...

(12)

Conclusion

Tableau des repr´ esentations

Coˆ ut pour

monter/descendre Entiers Polyˆ omes Utilit´ e

positionnel coefficients comparaison, division, arrondis sur coeff.

Opn log

2

pqq

2

q

Opkn log

2

pnqq

RNS coefficients optimisation

arithm´ etique enti` ere

RNS NTT optimisation

arithm´ etique polynomiale utilis´ e dans

Dec and Mult

Références

Documents relatifs

On cherche `a inverser la matrice carr´ee n × n M en proc´edant m´ethodiquement `a des ´eliminations par combinaisons lin´eaires de lignes.. 1.1

Les nombres de Catalan forment une suite d’entiers naturels utilisée dans divers problèmes de dénom- brement, impliquant souvent des objets définis de façon récursive, comme

Pour que le RLWE soit difficile il faut que n et q soit suffisemment grand pour qu’on ne puisse pas attaquer la cl´ e par force brute (i.e. Il s’agit de trouver des repr´

C++ utilisant NFLlib (pour l’arithm´ etique polynomiale dans R avec NTT) , compar´ ee avec a une approche standart avec NFLlib+GMP 6.1.0, Ordinateur portable avec Fedora 22,

I Le syst` eme utilise le mˆ eme code pour lire le contenu d’un bloc sur le disque, qu’il s’agisse d’un r´ epertoire ou d’un fichier.. La diff´ erence est son interpr´

– Une description de votre impl´ementation et des choix que vous avez faits (par exemple comment vous avez impl´ement´e la chute des pi`eces ou le tirage al´eatoire de la

Question II.1.1 L'intégrand étant continu, il est localement intégrable.. Les intégrales ne sont donc impropres qu'aux

En s’inspirant de la d´emarche de l’exercice 224, d´emontrer qu’un entier sup´erieur ou ´egal `a 2 est divisible par 9 si et seulement si la somme de ses chiffres (dans