En théorie algorithmique des nombres , le problème de la résiduosité[ note 1] quadratique est celui de distinguer, à l'aide de calculs, les résidus quadratiques modulo un nombre composé N fixé.
Ce problème est considéré comme étant calculatoirement difficile dans le cas général et sans information supplémentaire[ 1] . Par conséquent, il s'agit d'un problème important en cryptographie où il est utilisé comme hypothèse calculatoire comme indiqué dans la section Application .
Soit
N
{\displaystyle N}
un nombre composé de la forme particulière
N
=
p
q
{\displaystyle N=pq}
, où
p
{\displaystyle p}
et
q
{\displaystyle q}
sont deux nombres premiers distincts. L'application d'élévation au carré,
a
¯ ¯ -->
(
mod
N
)
↦ ↦ -->
a
2
¯ ¯ -->
(
mod
N
)
{\displaystyle {\overline {a}}{\pmod {N}}\mapsto {\overline {a^{2}}}{\pmod {N}}}
est un endomorphisme du groupe des inversibles de l'anneau ℤ/N ℤ , et son noyau est isomorphe au groupe de Klein , d'ordre 4. Par conséquent, l'image de cette application est un sous-groupe d'indice 4, donc d'ordre (p -1)(q -1)/4. Ce sous-groupe est donc d'indice 2 dans celui des éléments dont le symbole de Jacobi vaut 1. Le symbole de Jacobi permet ainsi d'éliminer la moitié des éléments du groupe (ceux dont le symbole vaut -1 et qui ne sont donc pas des carrés), et le problème reste de déterminer, pour un élément arbitraire de la moitié restante, si c'est un carré ou pas (il a une chance sur deux d'en être un).
Application
Le problème de la résiduosité quadratique est utilisé comme hypothèse de complexité dans différents protocoles cryptographiques, comme le cryptosystème de Goldwasser-Micali , ou pour le générateur de nombres pseudo-aléatoires de Blum Blum Shub .
Calcul avec factorisation de N connue
Si la factorisation de
N
{\displaystyle N}
est connue, le problème devient alors calculatoirement facile, grâce à la loi de réciprocité quadratique et au théorème des restes chinois . La procédure suivante détermine si
x
{\displaystyle x}
est un carré modulo
N
{\displaystyle N}
.
Calculer
x
p
:=
x
{\displaystyle x_{p}:=x}
mod
p
{\displaystyle p}
et
x
q
:=
x
{\displaystyle x_{q}:=x}
mod
q
{\displaystyle q}
.
Si
x
p
(
p
− − -->
1
)
/
2
=
1
{\displaystyle x_{p}^{(p-1)/2}=1}
mod
p
{\displaystyle p}
et
x
q
(
q
− − -->
1
)
/
2
=
1
{\displaystyle x_{q}^{(q-1)/2}=1}
mod
q
{\displaystyle q}
, alors
x
{\displaystyle x}
est un résidu quadratique modulo
N
{\displaystyle N}
.
Ce qui aboutit, en utilisant l'exponentiation modulaire rapide par exemple, à un algorithme de complexité
O
(
(
log
-->
N
)
2
)
{\displaystyle {\mathcal {O}}{\bigl (}(\log N)^{2}{\bigr )}}
, ce qui est polynomial en la taille de l'entrée (ici
≈ ≈ -->
log
-->
N
{\displaystyle \approx \log N}
).
Notes et références
Notes
↑ Une substantivation plus correcte serait résidualité . Le néologisme résiduosité a été adopté par la plupart des cryptographes. [réf. nécessaire]
Références
↑ (en) Victor Shoup , A computational introduction to number theory and algebra , Cambridge University Press , 2009 , 2e éd. , 580 p. (ISBN 978-0-521-51644-0 et 0521516447 , OCLC 277069279 , lire en ligne ) , 12. Quadratic reciprocity and computing modular square roots, chap. 4 (« Testing quadratic residuosity ») , p. 349 .
Article connexe
Problème de la résiduosité supérieure