• Aucun résultat trouvé

Utilisation de tables m´ emoire

3.4 G´ en´ eralisation des syst` emes de repr´ esentation adapt´ es

3.4.3 Utilisation de tables m´ emoire

Nous pouvons maintenant utiliser LLL pour minimiser cette base B en une seconde base B0.

B0 = LLL(B) =     −3497 −1562 1332 9 −306 −3191 1629 −297 297 −306 −3191 1629 −1629 297 −306 −3191     (3.49)

Nous nous proposons d’utiliser le premier vecteur de la base retourner par LLL comme vecteur de Minkowski. Il est `a noter que mˆeme si celui-ci n’est peut ˆetre pas le plus court, il a quand mˆeme tous ces coefficients inf´erieurs `a 212, en valeur absolue. Cette “qualit´e” nous suffira amplement.

M [X] = −3497X3− 1562X2+ 1332X + 9

3.4.3 Utilisation de tables m´emoire

Le th´eor`eme 5 est central pour les syst`emes de repr´esentation adapt´es.

Premi`erement, le fait que la repr´esentation utilis´ee ne soit que tr`es l´eg`erement redondante rend possible son utilisation. Deuxi`emement, nous utilisons ce th´eor`eme pour cr´eer des algorithmes efficaces et g´en´eralistes sur les syst`emes de repr´esentation adapt´es.

Dans cette partie, nous utilisons des tables m´emoires pour pouvoir effectuer la r´eduction des coefficients (RedCoef) qui manque aux syst`emes de repr´esentation adapt´es g´en´eralistes pour pouvoir avoir une arithm´etique compl`ete. Nous rappelons qu’il ne manque `a l’algorithmique propos´e dans la section 3.2 qu’un algorithme pour effectuer la r´eduction interne RedInt. Grˆace `a l’algorithme RedCoef propos´e dans la section 3.2, nous savons que notre besoin correspond exactement `a un algorithme qui r´eduit un vecteur u tel que kuk∞< 2keen un vecteur v ´equivalent tel que kvk∞< 2ks

avec ks < ke.

Nous proposons de reprendre l’id´ee du premier algorithme RedInt en s´eparant le polynˆome U de la partie haute du polynˆome L de la partie basse des coefficients.

Cette fois ci, nous m´emorisons pour chaque polynˆome U 2ks−1 un polynˆome ´equivalent V mais

dont les coefficients sont plus petit que 2ks−1. Ainsi apr`es addition, nous retournons un vecteur s

L ... U ks− 1 an−1an−2 a1 ke− ks+ 1 a0

Fig. 3.4 – La d´ecomposition des coefficients du vecteur a.

Nous proposons l’algorithme 36 utilisant une table m´emoire MEM. Algorithme 36 : RedInt avec M´emorisation

Input : a ∈ Zn avec kak∞< 2ke

Data : B = (p, n, γ, ρ)

MEM avec MEM[u] = v tel que u2ks−1 B≡v et kuk

∞< 2ke−ks+1, kvk∞< 2ks−1

Output : s≡a avec kskB ∞< 2ks

begin

a = u2ks−1+ l

s ← MEM(u) + l end

La remarque capitale pour la suite est qu’il faut imp´erativement que pour tout vecteur u, il existe bien un vecteur v correspondant. Or ceci est possible uniquement si le syst`eme de repr´esentation adapt´e B est tel que 2ks−1≤ ρ

min. Nous voyons l’importance du th´eor`eme 5 qui donne directement

la valeur minimum pour ksqui est capitale pour la rapidit´e et le coˆut de la r´eduction des coefficients

RedCoef.

ks=

 1

nlog2p + log2(|a| + |b|) + 1 

(3.50) Or puisque nous avons ρ = 2ks, nous pouvons ´evaluer la qualit´e des syst`emes de repr´esentation

qui utilisent l’algorithme 36.

π = 2 + 2 log2(|a| + |b|)

La complexit´e de l’algorithme 36 est d’un appel m´emoire et d’une addition vectorielle (2eligne de

l’algorithme). La premi`ere ligne de l’algorithme ne n´ecessite qu’un simple d´ecalage. Cet algorithme a donc un tr`es faible coˆut. Il nous faut aussi analyser la contrepartie de cette grande rapidit´e : la m´emorisation. La table m´emoire MEM a en entr´ee des vecteurs de n chiffres sign´es de ke− ks+ 1

bits et en sortie des vecteurs de n chiffres sign´es de ks− 1 bits. Au total, la taille #MEM de la table

m´emoire MEM est donn´ee par l’´equation 3.51.

Cette m´emorisation peut sembler trop coˆuteuse mˆeme si ke peut ˆetre choisi tr`es proche de ks.

Ceci ralentit la r´eduction mais n’utilise qu’une petite table m´emoire MEM.

Dans l’id´ee de diminuer le nombre d’entr´ees de la table m´emoire afin de limiter sa taille, nous utilisons la forme polynomiale des syst`emes de repr´esentation adapt´es. Le vecteur u `a m´emoriser peut s’´ecrire sous la forme d’un polynˆome U avec deg(U ) < n. Nous d´ecomposons le polynˆome U de degr´e < n en l = dnde polynˆomes Ui de degr´e < d.

d d d L U l Ui U0 Ul−1 a0 a1 ... an−2 ks− 1 ke− ks+ 1 an−1

Fig. 3.5 – Une seconde d´ecomposition des coefficients du vecteur a.

La d´ecomposition suit l’´equation 3.52.

U =

l−1

X

i=0

Ui(Xd)i (3.52)

Nous d´eduisons de cette premi`ere ´equation une deuxi`eme qui nous sert pour limiter le nombre de valeurs `a m´emoriser (Voir ´Equation 3.53).

MEM(U ) ≡

l−1

X

i=0

MEM(Ui)(Xd)imod (Xn− aX + b) (3.53)

Grˆace `a cette ´equation, nous aurons en entr´ee de la table m´emoire uniquement des ´el´ements de d chiffres sign´es de ke− ks+ 1 bits. Nous pouvons maintenant proposer l’algorithme 37.

Algorithme 37 : RedInt avec Faible M´emorisation Input : A et (p, n, γ, ρ) avec kAk∞< 2ke

Data : MEM avec MEM[U ] = V tel que U 2ks−1 B≡V et kU k

2 < 2ke−ks+1, kV k2 < 2ks−1 Output : S ∈ (p, n, γ, ρ) avec kSk∞< 2ks et S B ≡A begin A = U 2ks−1+ L U = U0+ U1Xd+ U2X2d+ ... + U2X(l−2)d+ U2X(l−1)d S ← L for i ← 0 to l − 1 do S ← S + MEM(Ui) S ← SXdmod E end end

La taille #MEM de la table m´emoire MEM est fortement diminu´ee (Voir ´Equation 3.54).

#MEM = nks2d(ke−ks+2) bits. (3.54)

´

Evidement, la contre-partie cette fois ci du gain sur la m´emorisation est l’augmentation de la complexit´e. Nous effectuons maintenant l appels `a MEM avec l additions vectorielles, auxquels il faut encore ajouter une addition vectorielle pour la r´eduction externe.

Enfin, il faut r´e´evaluer ks. Sa valeur d´epend maintenant du polynˆome V =

Pl−1

i=0MEM(Ui)(Xd)i mod E. Celui-ci doit ˆetre tel que kvk∞ < 2ks

−1 pour ksk < 2ks. Apr`es trans-

formation, nous obtenons l’´equation 3.55.

ks =

 1

nlog2p + 2 log2(|a| + |b|) + log2l + 1 

(3.55) Nous pouvons r´esumer les solutions propos´ees dans le tableau 3.7.

RedInt avec Matrice avec M´emorisation avec Faible M´emorisation π ≤ 2 ≤ 2 + log2(|a| + |b|) ≤ 2 + log2l + 2 log2(|a| + |b|)

Addk φ(M) n n(l + 1)

#MEM - nks2n(ke−ks+2) nks2d(ke−ks+2)

Tab. 3.7 – R´ecapitulatifs des solutions pour RedInt.

3.4.4 Transcription d’algorithmes connus dans les syst`emes de repr´esentation