Problème de la résiduosité supérieure
En théorie des nombres, le problème de la résiduosité supérieure consiste à déterminer s'il existe une racine n-ième d'un élément dans un anneau donné[1]. Il s'agit d'une généralisation du problème de la résiduosité quadratique, correspondant aux cas n = 2.
Dans l'anneau des entiers modulo N, lorsqu'une factorisation de N est connue, ce problème peut être résolu efficacement en appliquant le théorème chinois et en travaillant modulo chaque facteur de N. Il n'est pas aujourd'hui (2018) connu d'algorithme permettant de résoudre en général le problème de la résiduosité supérieure dans un tel anneau plus efficacement qu'en factorisant N, puis en appliquant la méthode ci-dessus.
Dans certains anneaux particuliers cependant il existe des algorithmes plus efficaces : il en est ainsi pour les entiers d'Eisenstein et n = 3 par exemple[2].
Énoncé
Soit A un anneau et n un entier. Le problème de la résiduosité supérieure consiste à exhiber un algorithme efficace P capable de déterminer mieux que le hasard si un élément possède une racine n-ième dans A.
Dans les applications cryptographiques (voir ci-dessous), on utilise généralement l'anneau où N = pq est le produit de deux nombres premiers distincts[3], ou N = p²q[4].
Utilisation en cryptographie
Plusieurs cryptosystèmes assoient leur sécurité sémantique sur le problème de la résiduosité supérieure : le cryptosystème de Benaloh[3]Modèle:,[5] ou le cryptosystème de Naccache-Stern[6]. Le cryptosystème de Paillier[7]Modèle:,[8] et celui de Damgård-Jurik[9] reposent sur une hypothèse a priori plus faible dite « composée » : étant donné un entier n et un entier z modulo n², déterminer si z possède une racine n-ième. Il s'agit bien d'un cas particulier du problème de la résiduosité supérieure, mais on ne connaît pas aujourd'hui (2018) de manière plus efficace de le résoudre que de factoriser l'entier n.
Le calcul effectif d'une racine n-ième modulo N est a priori plus difficile que le problème de la résiduosité supérieure ; lorsqu'on est assuré qu'une telle racine existe, calculer la racine d'un entier modulo N est le problème RSA.