• Aucun résultat trouvé

Quelques notations et rappels

Définition 3.2. Nous définissons la multinomiale

ˆ n k1, . . . , ki ˙ comme : ˆ n k1, . . . , ki ˙ n! k1! . . . ki! où n“ k1` ¨ ¨ ¨ ` ki.

Il est alors clair que :

Tpn, α1, α2q “ ˆ n α1n, α2n,p1 ´ α1´ α2qn ˙ . (3.16)

Le lemme suivant (que l’on prouve facilement avec la formule de Stirling) nous sera alors utile.

Lemme 3.2. Pour nÑ `8 et la fonction g définie dans la proposition3.7: ˆ

n

k1, k2, n´ k1´ k2 ˙

“ ˜O´2gpn,k1,k2q¯.

On en déduit alors avec (3.16) que,

Tpn, α1, α2q “ ˜O´2ngp1,α1,α2q¯ (3.17) Nous sommes maintenant prêts pour la démonstration de la proposition3.7.

3.4. Utilisation de la méthode des représentations 121

Soit b P T pn, α0, β0q. Notre objectif est de calculer le nombre de décompositions de b en deux vecteurs de T pn, α1, β1q. Désignons par x00, . . . , x22la densité des neufs cas (0 ` 0, 0 ` 1, . . . , 2 ` 2) comme montré dans la table :

0 1 2 0 x00 x01 x02

1 x10 x11 x12

2 x20 x21 x22

Désignons par A l’ensemble des possibilités px00, . . . , x22q valides. De plus pour x“px 00,¨ ¨ ¨ , x22q, nous noterons :

NrepDenspxq

le nombre de décomposer b comme somme de deux vecteurs aux densités px00, . . . , x22q. Nous avons : NrepDenspxq “ˆ np1 ´ α0´ β0q nx00, nx12, nx21 ˙ ˆ 0 nx01, nx10, nx22 ˙ ˆ 0 nx02, nx11, nx20 ˙ .

En effet, un 0 dans b peut être décomposé comme 0 ` 0 (ce qui se produit nx00fois), 1` 2 (nx12fois) ou 2 ` 1 (nx21fois). Maintenant comme le nombre de 0 dans b est

np1 ´ α0´ β0q, il y a

ˆ np1 ´ α0´ β0q

nx00, nx12, nx21

˙

façons de choisir la décomposition de chaque 0 de b. Les choix de décomposition de 1 et 2 donnent alors deux autres facteurs similaires.

On en déduit qu’étant donné α0, β0, α1 et β1, le nombre de décompositions possibles est : ÿ px00,...,x22qPA ˆ np1 ´ α0´ β0q nx00, nx12, nx21 ˙ ˆ 0 nx01, nx10, nx22 ˙ ˆ 0 nx02, nx11, nx20 ˙ .

qui est égal à un facteur polynomial près à : ÿ

px00,...,x22qPA

2npgp1´α0´β0,x21,x12q`gpα0,x01,x10q`gpβ0,x02,x20qq.

Ainsi, du fait que le nombre de répartitions pnx00, . . . , nx22q des 0, 1 et 2 est polynomial en n, cette somme est égale à un facteur polynomial près à :

2npgp1´α0´β0,x21,x12q`gpα0,x01,x10q`gpβ0,x02,x20qq

(3.18) où px00, . . . , x22q donne le plus grand terme de la somme, ce que nous nommerons dans ce qui suit le cas typique.

Calcul du cas typique. Une fois donné α0, β0, α1et β1, nous avons les contraintes suivantes pour x00, . . . , x22: x00` x01` x02 “ 1 ´ α1´ β1 x10` x11` x12 “ α1 x20` x21` x22 “ β1 x00` x10` x20 “ 1 ´ α1´ β1 x01` x11` x21 “ α1 x02` x12` x22 “ β1 x00` x12` x21 “ 1 ´ α0´ β0 x01` x10` x22 “ α0 x02` x11` x20 “ β0

122 Chapitre 3. Décodage par ensemble d’information en grandes distances

Cependant ces équations ne sont pas indépendantes. Chaque groupe de trois équations implique que x00` ¨ ¨ ¨ ` x22“ 1. Nous avons finalement deux degrés de liberté et toute solution peut-être écrite comme,

x00 “ 1´ α0´ β0 ´ 2z x010` β0´ α3 1´ 2β1 ` z ` w x02α0` 2β0´ 2α3 1´ β1 ` z ´ w x100` β0´ α3 1´ 2β1 ` z ´ w x11´2α0´ β0` 4α3 1` 2β1 ´ 2z x12 “ 0 ` z ` w x20α0` 2β0´ 2α3 1´ β1 ` z ` w x21 “ 0 ` z ´ w x22´α0´ 2β0` 2α3 1` 4β1 ´ 2z. Ainsi, A“ tpx00pw, zq, . . . , x22pw, zqq | @pi, jq, xijě 0u.

Déterminons w. Nous allons ici démontrer que dans le cas typique les densités sont symétriques,

x01“ x10, x02“ x20 et x12“ x21

ce qui signifie que,

w“ 0.

Pour cela considérons une paire pw, zq telle que les densités associées px00, . . . , x22q soient dans A. De plus, notons p˜x00, . . . , ˜x22q ces densités pour p0, zq.

Du fait que px00, . . . , x22q P A, tous les xijsont positifs ou nuls. Ceci implique que les ˜

xijsont eux-mêmes positifs ou nuls. Par exemple, pour ˜x01nous avons : 0ď minpx01, x10q “ ˜x01´ |w| ď ˜x01.

Ainsi, p˜x00, . . . , ˜x22q P A et nous obtenons : NrepDensp˜xq

NrepDenspxq

2npgp1´α0´β0,˜x21,˜x12q`gpα0,˜x01,˜x10q`gpβ0,˜x02,˜x20qq

2npgp1´α0´β0,x21,x12q`gpα0,x01,x10q`gpβ0,x02,x20qq (3.19) Nous avons l’égalité suivante par définition de g,

gp1 ´ α0´ β0,x21, x12q “ gp1 ´ α0´ β0, ˜x12` w, ˜x12´ wq

“ gp1 ´ α0´ β0, ˜x12, ˜x12q ` 2˜x21ph2p1{2 ` w{˜x12q ´ h2p1{2qq . De même,

gpα0, x01, x10q “ gpα0, ˜x01, ˜x10q ` 2˜x01ph2p1{2 ` w{˜x01q ´ h2p1{2qq ,

gpβ0, x02, x20q “ gpβ0, ˜x02, ˜x20q ` 2˜x02ph2p1{2 ` w{˜x02q ´ h2p1{2qq . De cette façon, nous pouvons réduire l’équation (3.19) à :

NrepDensp˜xq NrepDenspxq “ 2 2n´x˜01´1´h2 ´ 1 2` w ˜ x01 ¯¯ x02´1´h2 ´ 1 2` w ˜ x02 ¯¯ x12´1´h2 ´ 1 2` w ˜ x12 ¯¯¯ . D’où : NrepDenspxq ď NrepDensp˜xq

3.4. Utilisation de la méthode des représentations 125

en temps amorti Op1q. Autrement dit, d’après (3.20), l’ISD n’a besoin que d’une itération pour trouver une solution au décodage considéré.

Nous avons avec notre algorithme a “ 7 étages, ce qui signifie que nous commençons dans la structure arborescente de l’algorithme de Wagner par construire 27 “ 128 listes aux feuilles (figure3.9). Du niveau 0 à 6 les listes sont toutes de même taille L, i.e : la complexité pour résoudre le problème de sac à dos considéré, où

L“ 2 0.0176n.

Au niveau 7 de notre algorithme nous construisons 128 listes de taille, 20.0139n.

Nous décrivons maintenant en détail comment les listes sont construites à chaque étage de l’algorithme.

— Les niveaux 1 à 4 correspondent à des fusions de listes comme dans l’algorithme de Wagner par découpage en deux. Par exemple, au niveau 4 nous avons 24“ 16 listes de la forme : @i P J1, 16K, LiĎ # ÿ jPIi bjhj : @j P Ii, bjP t0, 1u + et |Li| “ L. avec Ii“ J1 ` pi´1qpk`ℓq16 ,ipk`ℓq16 K.

— La figure3.10illustre la discussion qui suit. Au niveaux 5 et 6 nous utilisons des re-présentations partielles. Entre les niveaux 4 et 5 nous avons utilisé sur une proportion

λ1

“ 0.7252 (3.23)

de symboles des représentations que nous avons obtenu par découpage gauche-droite à partir du niveau 6. En revanche, sur l’autre proportion de symboles,

λ2

“ 1 ´ λ1 (3.24)

nous avons utilisé des représentations sur les deux niveaux. Plus précisément, pour les proportions λ1et λ2des vecteurs nous avons construit les listes (3.15) avec pour densité de 0, 1 et 2 :

— pour la partie avec un niveau de représentation, la densité ρ1 correspond à 74.8%de 0, 25.1% de 1 et 0.1% de 2,

— pour l’autre partie avec deux niveaux de représentations, la densité ρ2au niveau 5correspond à 74.2% de 0, 25.4% de 1, 0.4% de 2 et la densité ρ3du niveau 6 est de 86.9% de 0, 13.1% de 1 et 0.0% de 2.

— Les listes du niveau 6 sont obtenues par un découpage gauche-droite à partir des listes du niveau 7 de façon à obtenir les densité décrites dans la figure3.10.

Le choix des différentes densités ainsi que les calculs associés peuvent s’avérer com-plexes. Nous avons alors utilisé de façon cruciale la proposition3.7.

Comme nous l’avons expliqué précédemment avec l’utilisation des représentations nous pouvons produire après fusion des listes avec des éléments mal formés. C’est à dire des vecteurs n’ayant pas les bonnes densités de poids. Nous supprimons ces éléments après la création des listes. Le lemme qui suit permet de donner le nombre attendu d’éléments bien formés après la fusion de deux listes avec la technique des représentations.

128 Chapitre 3. Décodage par ensemble d’information en grandes distances Le problème du décodage à grande distance dans F3 est bien plus difficile que son pendant binaire en petit poids comme nous l’avons mentionné dans l’introduction. Dans l’exemple que nous avons considéré, à savoir R “ 0.676, les algorithmes étaient le moins efficaces pour ω “ 1. En revanche pour des rendement plus faibles ceci n’est plus le cas. Notons :

R0

“ 1 ´ log3p2q « 0.36907. Par définition de ω`nous avons si et seulement si R P r0, R0s :

— SDpn, 3, R, ω`q admet typiquement une solution,

— SDpn, 3, R, ωq admet en moyenne un nombre exponentiellement faible de solutions où ω Psω`, 1s.

La quantité R0est le rendement limite à partir duquel (strictement) nous nous attendons toujours à un nombre exponentiel de solutions en ω` qui vaut alors 1. Ceci explique pourquoi dans la figure3.6la complexité ne diminue pas avec ω à partir d’un certain seuil. Notons que pour le rendement R “ 1{5 ă R0, où nous avons tracé dans la figure3.2

l’exposant de notre généralisation de l’algorithme de Prange, nous observons bien cette diminution de l’exposant à partir de ω`.

Nous savons d’après la proposition3.2que l’algorithme de Prange est le moins efficace en ω “ 1 et R “ R0dès que q ě 3. C’est aussi ce que nous avons observé numériquement pour nos deux algorithmes. Nous comparons dans la table3.3les pires exposants de ces derniers avec ceux des algorithmes de Prange [Pra62], Dumer [Dum91] et [Bec+12] dans le cas du décodage binaire à petite distance. Dans tous les cas nous notons pour quels rendements et distances ces exposants sont atteints. Dans le cas binaire la distance relative est donnée par la borne relative de Gilbert-Varshamov.

Table 3.3 – Pires exposants en base 2 avec rendement et distance associés. Algorithme q“ 2 et ω “ ω´ q“ 3, R “ 0.369 et ω “ 1

Prange 0.121(R “ 0.454) 0.369

Dumer/Wagner 0.116(R “ 0.447) 0.269

BJMM/notre algorithme 0.102(R “ 0.427) 0.247

Que ce soit dans le cas binaire ou ternaire, nous constatons que l’algorithme de Prange est peu efficace. L’algorithme de Dumer donne quant à lui une première amélioration exponentielle mais c’est l’algorithme de BJMM qui donne le meilleur gain relatif. Cet algorithme utilise les méthodes de l’état de l’art pour résoudre le problème du sac à dos, la technique des représentations et 1 ` 1 “ 0 dans le cas binaire. L’analyse des algorithmes de Prange et Dumer pour q “ 3 se fait tout aussi facilement que dans le cas binaire. Concernant l’équivalent de BJMM en ternaire, (i.e : l’algorithme de Wagner avec des représentations), nous avons obtenu l’exposant 0.247 avec une profondeur de 2 et un niveau de représentations. Nous avons essayé un arbre plus profond avec un autre équilibre de représentations mais cela donna toujours de moins bons exposants.

Le décodage ternaire apparaît donc bien plus difficile que son pendant binaire. Cela était attendu, les exposants de décodage étant moins bon dans le cas ternaire (même à ω´). Cela peut s’expliquer entre autre car une matrice de parité (ou génératrice) d’un code sur F3contient bien plus d’informations qu’un code sur F2de même dimension. En revanche, pour une sécurité donnée, les tailles de clef dans le cas ternaire étaient jusqu’à nos récents travaux bien plus élevées. Notons :

3.5. Les instances les plus difficiles du décodage ternaire 129

l’exposant asymptotique en base 2 d’un algorithme A résolvant SDpn, q, R, ωq. Si nous représentons maintenant une matrice de parité donnée en entrée de SDpn, q, R, ωq sous forme systématique, cette dernière sera de taille :

Tpq, R, ωq“ log2pqq ¨ n2Rp1 ´ Rq où n R

128 αpq, R, ωq

V

pour une sécurité de 128 bits relativement à A. Nous cherchons alors à trouver les para-mètres pR, ωq minimisant pour q :

Tpq, R, ωq.

ce qui donnera la plus petite taille de clef espérée pour crypto-système dont la sécurité repose sur SD dans le corps Fq. Nous donnons dans la table 3.4 le résultat de cette minimisation pour q “ 2 et q “ 3 en fonction de nos algorithmes et ceux de Dumer, Prange et BJMM.

Table 3.4 – Taille de clef minimale (en Kbits) pour une complexité de résolution en temps 2128.

Algorithme q“ 2 et ω “ ω´ q“ 3, R “ 0.369 et ω “ 1

Prange 275(R “ 0.384) 44

Dumer/Wagner 295(R “ 0.369) 83

BJMM/our algorithm 374(R “ 0.326) 99

Notons que contrairement au cas ternaire dans le cas binaire les plus petites tailles de clef ne sont pas obtenues pour les rendements où le décodage est le plus difficile (voir table3.3).

Ce travail, bien que préliminaire, ouvre donc de nouvelles perspectives pour la cryp-tographie utilisant des codes correcteurs en métrique de Hamming. Il semble que nous aurions tout intérêt en terme de taille de clef à trouver des primitives, allant des chiffre-ments aux signatures et les fonctions de hachage, dont la sécurité repose sur le décodage générique à grande distance dans Fq où q ą 2.

Chapitre 4