Définition
Algorithme déterministe qui calcule une racine carrée d'un résidu quadratique a modulo un nombre premier impair p (trouver x tel que x^2 ≡ a (mod p)) par exponentiation et corrections itératives en utilisant la décomposition p−1 = q·2^s et un non-résidu quadratique.
Principe
Principe
Ramener la recherche de racine à des exponentiations répétées et des corrections multiplicatives contrôlées : écrire p−1 = q·2^s avec q impair, choisir un non-résidu quadratique z, former un candidat initial a^{(q+1)/2}, puis corriger itérativement au moyen de puissances de z pour éliminer les obstructions 2-adiques jusqu'à obtenir une racine carrée effective.
Démonstration
Démonstration
Exemple : pour p = 11 et a = 3, l'algorithme vérifie que 3 est un résidu quadratique, choisit un non-résidu z (par exemple z = 2), écrit p−1 = 10 = 5·2^1, calcule le candidat initial a^{(q+1)/2} = 3^{3} ≡ 5 (mod 11) et constate que 5^2 ≡ 3, donc x = 5 (et 6) sont des racines ; la même suite d'exponentiations et de corrections s'applique pour des p plus grands.
Mauvaise application
Mauvaise application
Appliquer l'algorithme tel quel pour un module composite n ou pour p = 2, ou l'utiliser lorsque a n'est pas un résidu quadratique conduit à l'échec ; omettre la décomposition 2-adique p−1 = q·2^s ou prendre z qui est en réalité un résidu donne des résultats erronés.
Conséquence
Conséquence
Bien appliqué, il fournit une racine carrée modulo un premier impair et constitue une méthode déterministe et pratique employée dans des routines arithmétiques modulaires (par exemple la décompression de points sur courbes elliptiques ou les algorithmes nécessitant des racines modulaires).
Inversion
Inversion
La perspective inverse consiste à partir d'un candidat x et à tester x^2 mod p pour certifier a ; alternativement, l'impossibilité de produire une racine permet, via le symbole de Legendre, d'attester l'absence de racine. En contraste, pour des premiers p ≡ 3 (mod 4) on peut utiliser directement x = a^{(p+1)/4} sans les itérations Tonelli–Shanks.
Limite
Limite
Ne s'applique qu'aux modules premiers impairs p et aux entrées a qui sont des résidus quadratiques modulo p ; il n'est pas valable pour des modules composites sans modification et exige l'existence d'un non-résidu quadratique modulo p pour effectuer les corrections.
Tension sémantique
Tension sémantique
Conflit d'usages avec d'autres méthodes de racine carrée modulaire comme l'algorithme de Cipolla (qui utilise une extension quadratique du corps) ou les raccourcis d'exponentiation pour premiers particuliers ; les compromis portent sur le caractère déterministe, les constantes et la facilité d'implémentation.
Synthèse
Synthèse
Tonelli–Shanks est une méthode déterministe structurée qui transforme le problème de racine carrée modulaire en une suite contrôlée d'exponentiations et de corrections multiplicatives fondées sur la décomposition 2-adique de p−1 et un non-résidu choisi, produisant une racine réelle lorsque celle-ci existe.