cursus.

Cours 3 · Cryptanalyse, paramètres et statutLeçon 2 sur 3

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

3 h de lecture9 sections Version PDF

À la fin de cette leçon, vous saurez

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 · étape 1 / 50:00 / 0:15

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).

Prêt à lancer · 0:00 / 0:15
Étapes

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.

  • L'expérience règle l'ordre, pas la magnitude. Presque toutes les cellules qu'elle pourrait s'offrir croisent à β<20\beta < 20, régime où LLL seul peut rendre le module planté entier ; l'ordre est robuste, la taille du gain ne l'est pas. Relocalisé sur un indicateur immunisé au bris d'égalité, le même gain vaut 1,68 bit au lieu de 4,86\geqslant 4{,}86.
  • Le modèle est employé loin de son domaine validé. Ses auteurs l'ont vérifié jusqu'à n200n \approx 200 et β60\beta \approx 60 ; les jeux déployés sont à nk=512nk = 512–2048 avec des blocksizes de 130 à 390. L'expérience de l'article n'atteint que 2N2562N \leqslant 256. La taille des marges reste donc prédite, non observée.
  • La probabilité DSD n'est pas monotone en qq. En petite dimension l'estimateur sature et le rapport retombe : le point de fatigue doit être cherché par premier croisement et non par bissection, et les croisements sous β=20\beta = 20 écartés comme dégénérés.

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 · vérifiez votre compréhension Sans réponse

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

Quiz · vérifiez votre compréhension Sans réponse

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

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 · 1 / 5Toucher pour retourner
Fin de la leçon

Vous avez parcouru les 9 sections.

Marquez-la terminée pour faire avancer votre parcours, ou revenez sur un point avant de passer à la suite.