Cryptanalyse II : sous-réseau dense et point de fatigueDans le dialogue d’impression, choisissez « Enregistrer au format PDF » comme destination.
Retour

Séminaire — une généralisation de NTRU structurée par un tore · C3 Cryptanalyse, paramètres et statut · Chapitre 2 · 3 h

Cryptanalyse II : sous-réseau dense et point de fatigue

La densité du réseau publié, l'estimateur DSD généralisé, l'expérience de réduction, et les trois limites à ne pas adoucir.

C'est la séance la plus lourde du séminaire, et l'article le dit lui-même : puisque tout l'intérêt de la structure de tore est d'élargir la fenêtre de module, cette sous-section porte plus de poids qu'aucune autre. C'est aussi la seule où la revendication centrale est mesurée plutôt qu'extrapolée.

À lire avant la séance

§5.6 en entier, avec la Figure 1 et les Tables 6 à 9, puis §5.7 et la Table 10. L'Annexe C, qui porte la calibration du banc et ses trois limites, est indispensable : sans elle les chiffres de §5.6 se lisent trop vite.

Une comptabilité à ne pas confondre

L'article ouvre §5.6 par un point de comptabilité, en prévenant qu'il est facile de s'y tromper. Il y a deux réseaux, et ils n'ont ni la même dimension ni la même densité.

Le réseau NTC\mathrm{NTC} complet a la dimension nk(1+k)nk(1+k) et porte un plant de rang nn, soit une densité 1/(k(k+1))1/\bigl(k(k+1)\bigr) — c'est le chiffre du Corollaire 1, vu en séance 3. Mais le schéma ne publie pas ce réseau : il n'expose qu'une ligne. Ce que l'attaquant tient réellement est

Λ={(s,e)  :  L1(s)+e0modq},dimΛ=2nk,detΛ=qnk,rangP=n,\Lambda = \{\,(s,e) \;:\; L_1(s) + e \equiv 0 \bmod q \,\}, \qquad \dim \Lambda = 2nk, \quad \det \Lambda = q^{nk}, \quad \mathrm{rang}\,\mathcal{P} = n,

dont la densité vaut 1/(2k)1/(2k), soit 1/41/4 à k=2k = 2, contre 1/21/2 pour NTRU. C'est ce dernier chiffre qui gouverne l'attaque, et c'est celui contre lequel la simulation doit être menée. Les deux formules coïncident à k=1k = 1, où l'on retrouve NTRU.

Structurellement, le réseau déployé est donc un réseau NTRU de demi-dimension nknk dont le plant est kk fois plus creux.

Animation · 5 étapes

À dimension et norme égales, seul le rang du plant change

  1. Le réseau publiéLe schéma n'expose qu'une ligne. Ce que l'attaquant tient est un réseau de dimension 2nk et de déterminant q^{nk} — pas le réseau NTC complet, de dimension nk(1+k).
  2. Le plant de NTRULe réseau NTRU porte un module planté de rang N dans la dimension 2N : exactement la moitié de l'espace ambiant. C'est cette densité qui rend la découverte de sous-réseau dense efficace passé un certain module.
  3. Le plant de NTCÀ dimension ambiante, déterminant et norme de vecteur planté égaux, le plant de NTC n'a que le rang N/2. Structurellement, le réseau déployé est un réseau NTRU de demi-dimension dont le plant est k fois plus creux.
  4. La fenêtre de moduleLe module est serré des deux côtés : la correction impose un plancher, la découverte de sous-réseau dense un plafond — le point de fatigue. Entre les deux se trouve la fenêtre utilisable.
  5. Le gainUn plant plus creux est découvert plus tard : le point de fatigue monte, et la fenêtre s'élargit. Le gain est mesuré, pas extrapolé — et il croît avec la dimension au lieu de se stabiliser.

L'estimateur, généralisé

La méthode adapte l'estimateur DSD-PT de Ducas et van Woerden à un réseau qq-aire portant un sous-réseau dense de rang arbitraire. Leur modèle est énoncé pour une dimension 2n2n avec un plant de rang nn, de sorte que la demi-dimension, le rang du plant et leur différence coïncident ; la généralisation consiste précisément à démêler les trois. La quantité à généraliser est le co-rang drd - r, et non la demi-dimension.

Deux validations précèdent tout chiffre, et l'article insiste pour qu'on les lise d'abord. Instancié sur la géométrie NTRU, l'estimateur généralisé reproduit l'original exactement : sur une grille de modules et de blocksizes, l'écart maximal sur la probabilité DSD est nul à la précision machine. Puis le point de fatigue qu'il prédit pour NTRU circulant ternaire reproduit l'ajustement publié qfat0,004n2,484q_{\mathrm{fat}} \approx 0{,}004\,n^{2{,}484} — les rapports mesurés valent 0,0045, 0,0045, 0,0044 et 0,0042 — avec un blocksize de croisement dans la plage attendue.

L'expérience de densité

Vient alors l'expérience qui isole exactement ce qu'on veut isoler : on fixe la dimension du réseau et la norme du vecteur secret, et on ne fait varier que le rang du plant. À k=2k = 2 les vecteurs plantés de NTC\mathrm{NTC} ont pour norme au carré 2Nσ22N\sigma^2, identique à celle de NTRU : la comparaison est propre.

N=nkN = nk160192224
qfatq_{\mathrm{fat}}, plant de rang NN (NTRU)1 2161 9192 819
qfatq_{\mathrm{fat}}, plant de rang N/2N/2 (NTC)27 75185 049215 509
Gain, en bits de module4,515,476,26

Le plant plus creux repousse bien le point de fatigue, et le gain croît avec la dimension au lieu de se stabiliser à un facteur constant. Appliqué aux jeux déployés, l'événement DSD ne se déclenche jamais au module choisi : l'attaque procède par récupération de clé, à un blocksize concordant à 5 % près avec l'estimation primale, et le point de fatigue se situe bien au-dessus — 13,1, 16,1 et 18,6 bits de marge aux trois catégories.

La confirmation expérimentale

Les chiffres ci-dessus viennent d'un prédicteur. §5.6 les adosse à de la réduction réelle. On génère des instances du réseau publié et des témoins NTRU à dimension ambiante, déterminant, module et norme de vecteur planté identiques — tout invariant grossier coïncide, et les deux familles ne diffèrent que par le rang du plant.

N=nkN = nk (dimension ambiante 2N2N)96128
NTRU, plant de rang NN : DSD en premier109 / 1099 / 9
NTC, plant de rang N/2N/2 : DSD en premier4 / 1090 / 6
Gain mesuré, en bits de module4,86\geqslant 4{,}863,40\geqslant 3{,}40
Gain prédit4,324,24

Trois points de méthode font la valeur de l'expérience. Le test d'appartenance est exact — un vecteur est dans l'enveloppe rationnelle du plant si et seulement si tous les mineurs viwjvjwiv_i w_j - v_j w_i s'annulent — et vérifié en arithmétique entière : un accident numérique peut perdre un événement, jamais en inventer un. La règle de score suit la source, et un tour produisant les deux événements est compté SKR : elle ne peut donc que sous-compter DSD, des deux côtés. Enfin la réduction est celle de fplll, par énumération.

Les trois limites, à énoncer sans les adoucir

L'Annexe C les nomme, et le séminaire doit y consacrer un vrai temps.

Ce qui n'est pas modélisé

§5.7 et la Table 10 ferment la section en listant ce que l'analyse ne couvre pas : les attaques algébriques propres au tore — la descente de trace donne du module-LWE de rang kk en dimension nknk sans descente vers nn, mais c'est une observation et non une preuve — la corrélation de colonnes de la seconde hypothèse, que le schéma déployé n'expose jamais, l'exploitation adverse des échecs de déchiffrement, le multi-cible, et les canaux auxiliaires.

Quiz · 1 question

Quelle densité gouverne l'attaque par découverte de sous-réseau dense ?

  • Celle du réseau NTC complet, 1/(k(k+1)), soit 1/6 à k = 2
  • Celle du réseau publié, 1/(2k), soit 1/4 à k = 2
  • Celle du plant de NTRU, 1/2, dont NTC hérite par la troncature

Réponse : C'est le point de comptabilité que §5.6 ouvre en prévenant qu'on s'y trompe facilement. Le schéma ne publie qu'une ligne : le réseau détenu par l'attaquant a la dimension 2nk et une densité 1/(2k).

Quiz · 1 question

Qu'établit exactement l'expérience de réduction de la Table 9 ?

  • Que le gain de module vaut 4,86 bits à N = 96
  • L'ordre — le plant plus creux survit à des modules où celui de NTRU est déjà découvert — mais pas la magnitude du gain
  • Que le prédicteur est valide jusqu'aux dimensions déployées

Réponse : L'Annexe C le dit sans détour : les croisements sont dégénérés en petite dimension, et un indicateur différent donne 1,68 bit au lieu de ⩾ 4,86. L'expérience règle l'ordre, la taille des marges reste prédite.

Point de discussion

L'article revendique un gain de 4,5 à 6,3 bits de module et une marge de 13 à 19 bits, tout en écrivant que la taille de ces marges reste prédite et non observée. Ces deux énoncés sont compatibles — mais dans quelle mesure la revendication de compacité du schéma en dépend-elle ? Reprenez la fenêtre de module de la séance 1 : si le gain réel était de 1,68 bit plutôt que de 4,5, quels jeux de paramètres de la séance 8 resteraient admissibles ?

À retenir

Flashcards · 5 cartes

Quelles sont les dimensions et densités des deux réseaux ?
Complet : nk(1+k) et 1/(k(k+1)). Publié : 2nk, déterminant q^{nk}, densité 1/(2k). C'est le second qui gouverne l'attaque.
Que fallait-il généraliser dans l'estimateur DSD-PT ?
Le co-rang d−r plutôt que la demi-dimension : le modèle source confond demi-dimension, rang du plant et leur différence, qui coïncident chez NTRU.
Quel gain de module l'expérience de densité prédit-elle ?
4,51 / 5,47 / 6,26 bits à N = 160 / 192 / 224, à dimension et norme de plant fixées — et le gain croît avec la dimension.
Quelles sont les marges de fatigue des jeux déployés ?
13,1 / 16,1 / 18,6 bits aux catégories 1, 3 et 5. Au module choisi, l'événement DSD ne se déclenche jamais.
Que règle l'expérience de réduction, et que ne règle-t-elle pas ?
Elle règle l'ordre — le plant creux survit plus longtemps — pas la magnitude. Sur un indicateur immunisé au bris d'égalité, le gain tombe à 1,68 bit.