Le KEM : leviers, correction, sécuritéDans 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 · C2 Ce que le tore interdit, et le schéma · Chapitre 2 · 3 h

Le KEM : leviers, correction, sécurité

Les trois leviers de compacité, la probabilité d'échec exacte, la seconde hypothèse, et la réduction IND-CPA puis IND-CCA.

La forme du schéma n'est pas libre. L'algèbre en impose une partie — c'est l'objet de l'Annexe E — et la cryptanalyse de la séance précédente en autorise une autre, prise ici à crédit et honorée en séance 7. Cette séance suit ces deux déterminations jusqu'à l'IND-CCA.

À lire avant la séance

§4 en entier, des leviers de §4.1 aux tailles de §4.10, en passant par les Algorithmes 1 à 5 et les Théorèmes 1 et 2. Puis l'Annexe D, courte, sur la probabilité d'échec exacte, et les deux premiers paragraphes de l'Annexe E sur ce que l'algèbre force.

Ce que l'algèbre force

Deux contraintes précèdent tout choix de conception.

La trappe rescale par ss, donc l'encodage est pp-adique. La seule opération secrète dont dispose le receveur est la multiplication par MsM_s : tout ce qui est extrait se trouve donc mis à l'échelle par ss. Un encodage à la Kyber, Δm\Delta\cdot m avec Δ=q/2\Delta = \lceil q/2 \rceil, ferait récupérer Δsm\Delta\, s m dont la norme est bien trop grande pour éviter le repli modulo qq. On suit donc la route NTRU : tous les termes parasites sont rendus nuls modulo pp, et le message se lit modulo un petit premier.

L'aléa de chiffrement doit vivre dans A\mathcal{A}. Le déchiffrement ne se referme que si l'aléa de l'émetteur commute avec MsM_s. Par le Lemme 6, le commutant d'une matrice générique ne rencontre M(A)M(\mathcal{A}) qu'en les scalaires : l'aléa doit donc être pris dans A\mathcal{A} lui-même, et non comme une matrice courte arbitraire de Mk\mathcal{M}_k.

Les trois leviers

Troncature de ligne. En imposant s1(modp)s \equiv 1 \pmod p et en restreignant le message à la première coordonnée, on obtient coef(sm)(m0,0,,0)(modp)\mathrm{coef}(sm) \equiv (m_0, 0, \ldots, 0) \pmod p : le déchiffrement ne lit que la première coordonnée. Le receveur n'a donc besoin que d'une ligne de tt et d'une ligne de c2c_2, d'où une clé publique de nknk coefficients et un chiffré de 2nk2nk — au lieu de nk2nk^2 et nk(k+1)nk(k+1). Le réseau d'attaque tronqué coïncide exactement avec le régime m=1m^{*} = 1 de la séance 4 : rien n'est perdu.

Encodage MSB, pour la compression seule. Le budget de bruit est identique ; le gain est que l'erreur d'arrondi entre additivement comme un bruit ordinaire, là où un encodage LSB détruirait le résidu modulo pp. Deux limites méritent d'être nommées. La clé publique tronquée n'est pas compressible : son erreur d'arrondi multiplie un produit de deux secrets, et un seul bit brise la correction. Et le chiffré ne tolère qu'une compression modérée, d=11d = 11 à 12 bits, parce qu'à la différence du vv de Kyber il multiplie un secret et non un haché.

Distributions découplées. Une largeur unique partout est sous-optimale : élargir χr\chi_r durcit la seconde hypothèse à un coût linéaire dans le budget de bruit, alors que χf\chi_f y entre quadratiquement. Le découplage en trois largeurs (ηf,ηr,ηs)(\eta_f, \eta_r, \eta_{s'}) récupère la catégorie 3, qui échouerait autrement.

Le levier qu'on ne peut pas tirer. La Remarque 6 mérite d'être lue en séance : annuler les coordonnées d'erreur que l'attaque n'utilise pas est dangereux. La relation publique est colonne par colonne une équation linéaire en coef(s)\mathrm{coef}(s) ; mettre une coordonnée à zéro impose une contrainte exacte qui, combinée à la brièveté de ss, récupère la clé. Les leviers changent ce qui est publié, jamais la façon dont on échantillonne.

Quiz · 1 question

Pourquoi ne peut-on pas simplement tirer à zéro les coordonnées d'erreur que l'attaque optimale n'utilise pas ?

  • Parce que cela biaiserait la distribution de A vers le tore
  • Parce que chaque coordonnée annulée devient une contrainte linéaire exacte sur coef(s), qui avec la brièveté récupère la clé
  • Parce que le budget de bruit du déchiffrement en dépend

Réponse : La distinction est fine et centrale : cesser de PUBLIER une coordonnée est sûr — c'est la troncature — mais l'échantillonner à zéro ne l'est pas. Toute équation publiée doit porter du bruit.

Correction, et la probabilité d'échec exacte

Le Lemme 7 donne l'identité de déchiffrement, la Proposition 2 la condition de correction, et l'équation (5) la variance coordonnée par coordonnée. Jusque-là, la mécanique est classique.

§4.5 l'est beaucoup moins, et c'est la partie de §4 à ne pas survoler. La borne gaussienne sous-estime la queue d'une somme de produits de variables bornées. Le calcul exact, par convolution et avec le terme d'arrondi énuméré plutôt qu'approché, coûte 2 à 9 bits sur la variance et 2 à 3 de plus sur la queue : le δ\delta gaussien est optimiste de 5 à 12 bits à ces paramètres.

La conséquence est concrète. À la catégorie 1, la marge passe de 16 bits à 4 — et c'est précisément ce qui rend la contrainte de correction mordante dans le réglage de la séance 8, où un jeu sélectionné contre le δ\delta gaussien s'avère inadmissible. Le Lemme 8 clôt la section sur une note plus légère : la clé pp-adique est gratuite, le facteur pp pouvant être ignoré dans l'analyse de sécurité.

La seconde hypothèse

Il faut être clair là-dessus, car le résumé peut induire en erreur : la sécurité passive ne repose pas sur NTC\mathrm{NTC} seule. La pseudo-aléatoirité de la clé publique ne cache pas le message ; il faut encore que le chiffré soit pseudo-aléatoire. La Définition 8 isole cette seconde hypothèse décisionnelle, cLWEA\mathsf{cLWE}_{\mathcal{A}} — exactement l'analogue de la situation NTRU, où le NTRU décisionnel se combine à une hypothèse de type LWE sur le quotient devenu uniforme.

La Remarque 8 en établit la plausibilité, et vaut d'être détaillée : l'échantillon tronqué en colonne est précisément du module-LWE de rang kk sur RqR_q ; l'échantillon tronqué en ligne est du ring-LWE sur A\mathcal{A}, qui se trouve être l'anneau cyclotomique de degré nknkΦ4n\varPhi_{4n} dans la famille en puissance de deux, et l'anneau Φ2304\varPhi_{2304} à la catégorie 3. Ce sont deux objets standards, et la seule structure jointe est le secret rr partagé, c'est-à-dire le cadre ordinaire du LWE à échantillons multiples.

De l'IND-CPA à l'IND-CCA

Le Théorème 1 borne l'avantage par la somme des deux hypothèses, en deux sauts de jeu : le premier remplace la ligne publiée de tt par de l'uniforme — un distingueur tronque un défi NTC\mathrm{NTC}-Dec — le second remplace le chiffré, qui est exactement une instance cLWEA\mathsf{cLWE}_{\mathcal{A}} tronquée à =2\ell = 2 sous secret commun.

Deux remarques encadrent le résultat. La Remarque 9 souligne que la réduction est serrée et n'invoque ni l'Heuristique 6 ni le non-scindage — ceux-ci servent au problème de recherche ; le non-scindage reste cependant nécessaire en amont, faute de quoi l'attaque CRT récupère la clé et NTC\mathrm{NTC}-Dec est simplement fausse. La Remarque 10 précise que les deux sauts ne consomment que ce que le schéma publie, la corrélation de colonnes du schéma non tronqué n'étant jamais exposée.

La transformation de Fujisaki–Okamoto à rejet implicite donne enfin l'IND-CCA dans le ROM. Le terme qGδq_G\,\delta du Théorème 2 est ce qui impose δ2140\delta \leqslant 2^{-140} : à λ=128\lambda = 128 et qG264q_G \leqslant 2^{64}, la queue doit être coupée à six ou sept écarts-types.

Quiz · 1 question

Sur quoi repose exactement la sécurité IND-CPA du schéma ?

  • Sur NTC-Dec seule, la réduction étant serrée
  • Sur NTC-Dec et une seconde hypothèse décisionnelle, cLWE_𝒜, isolée en §4.7
  • Sur NTC-Search, via la Proposition 1

Réponse : Le Théorème 1 fait intervenir les deux. C'est l'analogue exact de NTRU, où le NTRU décisionnel se combine à une hypothèse de type LWE. La Remarque 8 montre que les deux échantillons consommés sont du module-LWE et du ring-LWE ordinaires.

Point de discussion

La Remarque 11 chiffre ce que coûterait la conception naïve : publier les kk lignes, encoder pp-adiquement, une seule largeur de bruit — soit 2,3 à 2,7 fois la clé publique et 1,5 à 2 fois le chiffré, à sécurité égale. Autrement dit, la compacité annoncée du schéma tient pour bonne moitié à une lecture fine de sa propre cryptanalyse. Est-ce une pratique saine ? Elle crée une dépendance : si §5.1 se révélait fautive sur m=1m^{*} = 1, le schéma perdrait sa compacité sans que sa sécurité soit d'abord en cause. Discutez cette dette, que l'article assume explicitement en parlant de crédit.

À retenir

Flashcards · 5 cartes

Pourquoi l'encodage est-il p-adique et non à la Kyber ?
La seule opération secrète est la multiplication par M_s : tout ce qui est extrait est rescalé par s, et Δ·sm déborderait modulo q. On rend donc les parasites nuls mod p.
Que gagne la troncature de ligne, et pourquoi est-elle sûre ?
pk passe de nk² à nk coefficients et ct de nk(k+1) à 2nk. Elle est sûre parce que le réseau tronqué coïncide avec le régime m* = 1, l'optimum de l'attaquant.
De combien la borne gaussienne se trompe-t-elle sur δ ?
Elle est optimiste de 5 à 12 bits. À la catégorie 1 la marge tombe de 16 bits à 4, ce qui rend la contrainte de correction mordante.
Quelles hypothèses portent l'IND-CPA ?
NTC-Dec et cLWE_𝒜 (Définition 8). La réduction est serrée et n'invoque ni l'Heuristique 6 ni le non-scindage.
Que coûterait la conception non tronquée ?
2,3 à 2,7× sur la clé publique et 1,5 à 2× sur le chiffré, à sécurité égale. La compacité tient pour moitié à la lecture de la cryptanalyse.