Entier de Blum

Cet article est une ébauche concernant la cryptologie et les mathématiques.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

En arithmétique, un entier de Blum est un nombre composé produit de deux nombres premiers distincts congrus à 3 modulo 4.

Ces nombres sont utilisés dans le cryptosystème de Rabin[1] et dans l'algorithme Blum Blum Shub.

Les dix premiers entiers de Blums sont : 21, 33, 57, 69, 77, 93, 129, 133, 141 et 161 (pour les 1 000 premiers, voir la suite A016105 de l'OEIS).

L'intérêt des entiers de Blum pour leurs applications algorithmiques vient des deux théorèmes suivants, qui permettent de calculer facilement des racines carrées modulaires[1]:

Théorème — Soit p , q {\displaystyle p,q} deux nombres premiers congrus à 3 modulo 4 et soit n = p q {\displaystyle n=pq} un entier de Blum et soit a {\displaystyle a} un résidu quadratique modulo n {\displaystyle n} . Il existe un unique nombre entier k {\displaystyle k} inférieur à n {\displaystyle n} qui vérifie les deux propriétés ci-dessous :

  • k {\displaystyle k} est un résidu quadratique modulo n {\displaystyle n}  ;
  • k 2 a mod n {\displaystyle k^{2}\equiv a\mod n} .

De plus k a ( p 1 ) ( q 1 ) + 4 8 mod n {\displaystyle k\equiv a^{\frac {(p-1)(q-1)+4}{8}}\mod n} . On appelle k {\displaystyle k} la racine principale de a {\displaystyle a} modulo n {\displaystyle n} et on la note a ˙ {\displaystyle {\sqrt {\dot {a}}}} .

En plus de sa racine principale modulo n {\displaystyle n} , un résidu quadratique modulo un entier de Blum admet trois autres racines carrées. Les quatre racines carrées peuvent être calculées efficacement grâce au second théorème ci-dessous et au théorème des restes chinois[1].

Théorème — Soit p , q {\displaystyle p,q} deux nombres premiers congrus à 3 modulo 4, soit n = p q {\displaystyle n=pq} un entier de Blum et soit a {\displaystyle a} un résidu quadratique inversible modulo n {\displaystyle n} . Alors il existe quatre entiers k 1 , k 2 , k 3 , k 4 {\displaystyle k_{1},k_{2},k_{3},k_{4}} inférieurs à n {\displaystyle n} tels que pour tout i { 1 , 2 , 3 , 4 } , k i 2 a mod n {\displaystyle i\in \{1,2,3,4\},k_{i}^{2}\equiv a\mod n} .

De plus pour tout i { 1 , 2 , 3 , 4 } {\displaystyle i\in \{1,2,3,4\}} on a k i ± a p + 1 4 mod p {\displaystyle k_{i}\equiv \pm a^{\frac {p+1}{4}}\mod p} et k i ± a q + 1 4 mod q {\displaystyle k_{i}\equiv \pm a^{\frac {q+1}{4}}\mod q} .

Les formules précédentes permettent de calculer aisément des racines carrées et ne s'appliquent que pour des facteurs premiers congrus à 3 modulo 4, ce qui est le cas des entiers de Blum. Calculer une racine carrée modulo un nombre dont certains facteurs premiers sont congrus à 1 modulo 4 nécessite l'application d'autres méthodes comme l'algorithme de Tonelli et Shanks (en) qui est plus coûteux en temps de calcul[2].


Références

  1. a b et c Gilles Bailly-Maitre, Arithmétique et cryptologie, Ellipses, , 2e éd., 317 p. (ISBN 9782340046191), II - Les nombres de la cryptologie, chap. 7 (« Résidus quadratiques »), p. 171 - 173.
  2. Gilles Bailly-Maitre, Arithmétique et cryptologie, p. 156 - 161.
  • icône décorative Portail de la cryptologie
  • icône décorative Arithmétique et théorie des nombres