Sac à dos de Naccache-Stern

De testwiki
Aller à la navigation Aller à la recherche

En cryptologie, le sac à dos de Naccache-Stern est une fonction à trappe[Note 1] introduite en 1997 par les cryptologues David Naccache et Jacques Stern[1]. La sécurité de cette construction repose sur une variante multiplicative du problème du sac à dos, pour laquelle aucun algorithme efficace n'est aujourd'hui connu (en 2018). Cependant, cette construction n'est pas considérée compétitive par rapport à des schémas standard ; son intérêt est ainsi principalement théorique.

Description

On considère trois algorithmes G,E,D définis comme suit.

Génération des paramètres

Soit pi le i-ième nombre premier, commençant par p0=2. L'algorithme G prend en entrée un paramètre de sécurité 1λ, choisit un entier n et un premier p tel que p>i=0npi. L'algorithme choisit alors un entier s premier avec p1, puis retourne les paramètres publics p,n et les racines s-ièmes vi=pi1/smodp[Note 2] et la trappe, s .

Évaluation en sens direct

L'algorithme E prend en entrée les paramètres publics et un message m représenté comme une chaîne binaire m0,m1,,mn. Il retourne c=i=0nvimimodp.

Inversion avec trappe

L'algorithme D prend en entrée les paramètres publics, un élément c𝔽p, et un entier s. Il retourne m=i=0n2ipi1(pgcd(pi,csmodp)1)

Sécurité

La sécurité de la fonction à trappe repose sur la difficulté du problème de sac à dos multiplicatif suivant : étant donné c=i=0nvimimodp.retrouver les mi. Contrairement aux cryptosystèmes à base de sacs à dos additifs, comme celui de Merkle-Hellman, les techniques de réduction de réseau euclidien ne s'appliquent pas à ce problème.

La meilleure attaque générique connue consiste à résoudre le problème du logarithme discret pour retrouver s à partir de p,pi,vi, ce qui est considéré difficile pour un calculateur classique. En revanche, l'algorithme quantique de Shor résout efficacement ce problème, et le sac à dos de Naccache-Stern n'est donc pas post-quantique. De plus, à l'heure actuelle (2018), il n'existe pas de preuve que le sac à dos de Naccache-Stern se réduit au logarithme discret.

La meilleure attaque spécifique connue (en 2018) utilise le théorème des anniversaires pour inverser partiellement la fonction sans connaître la trappe, sous l'hypothèse que le message est de poids de Hamming très faible[2]. Apprendre plus d'un nombre logarithmique de bits du message est un problème ouvert.

Variantes et améliorations

Bande passante

La bande passante (taille du message divisée par la taille de c) tend asymptotiquement vers zéro, du fait de la raréfaction des nombres premiers. Ce phénomène peut toutefois être compensé en adoptant un meilleur encodage des messages[3]Modèle:,[4].

Cryptosystèmes à base du sac à dos de Naccache-Stern

Le sac à dos de Naccache-Stern est déterministe et ne peut donc pas garantir de sécurité sémantique, ce qui est un obstacle à la construction d'un cryptosystème à clé publique. Il est toutefois possible de modifier la fonction en introduisant un aléa, ce qui retire cet obstacle[5].

Notes et références

Notes

  1. Il s'agit d'un algorithme déterministe, qui ne peut donc garantir la sécurité sémantique attendue pour un cryptosystème. Voir plus bas.
  2. Le calcul de telles racines est aisé dans le corps fini 𝔽p.

Références

Modèle:Portail