• Aucun résultat trouvé

Pierre de Fermat et la factorisation des grands nombres

N/A
N/A
Protected

Academic year: 2021

Partager "Pierre de Fermat et la factorisation des grands nombres"

Copied!
126
0
0

Texte intégral

(1)

Un chapitre de l’héritage de Pierre de Fermat

Paris – KafeMath

Jean-Marie De Koninck

Le 23 mai 2019

(2)

Pierre de Fermat (1601-1665)

(3)

L’empreinte de Pierre de Fermat

Son grand théorème concernant la non existence de solutions entières positives de l’équation xn+ yn= zn pour chaque entier n ≥ 3

Son petit théorème, à l’effet que 2p−1 ≡ 1 (mod p) pour chaque nombre premier impair p

Une caractérisation des entiers pouvant s’écrire comme la somme de deux carrés

Sa méthode de descente infinie qui permet de démontrer l’inexistence de solutions de certaines équations diophantiennes

(4)

L’empreinte de Pierre de Fermat

Son grand théorème concernant la non existence de solutions entières positives de l’équation xn+ yn= zn pour chaque entier n ≥ 3

Son petit théorème, à l’effet que 2p−1 ≡ 1 (mod p) pour chaque nombre premier impair p

Une caractérisation des entiers pouvant s’écrire comme la somme de deux carrés

Sa méthode de descente infinie qui permet de démontrer l’inexistence de solutions de certaines équations diophantiennes

(5)

L’empreinte de Pierre de Fermat

Son grand théorème concernant la non existence de solutions entières positives de l’équation xn+ yn= zn pour chaque entier n ≥ 3

Son petit théorème, à l’effet que 2p−1 ≡ 1 (mod p) pour chaque nombre premier impair p

Une caractérisation des entiers pouvant s’écrire comme la somme de deux carrés

Sa méthode de descente infinie qui permet de démontrer l’inexistence de solutions de certaines équations diophantiennes

(6)

L’empreinte de Pierre de Fermat

Son grand théorème concernant la non existence de solutions entières positives de l’équation xn+ yn= zn pour chaque entier n ≥ 3

Son petit théorème, à l’effet que 2p−1 ≡ 1 (mod p) pour chaque nombre premier impair p

Une caractérisation des entiers pouvant s’écrire comme la somme de deux carrés

Sa méthode de descente infinie qui permet de démontrer l’inexistence de solutions de certaines équations diophantiennes

(7)

L’empreinte de Pierre de Fermat

Son grand théorème concernant la non existence de solutions entières positives de l’équation xn+ yn= zn pour chaque entier n ≥ 3

Son petit théorème, à l’effet que 2p−1 ≡ 1 (mod p) pour chaque nombre premier impair p

Une caractérisation des entiers pouvant s’écrire comme la somme de deux carrés

Sa méthode de descente infinie qui permet de démontrer l’inexistence de solutions de certaines équations diophantiennes

(8)

L’empreinte de Pierre de Fermat

Fondateur (avec Blaise Pascal) de la théorie des probabilités

Un précurseur du calcul différentiel par sa méthode de recherche des maximums et des minimums d’une fonction

(9)

L’empreinte de Pierre de Fermat

Fondateur (avec Blaise Pascal) de la théorie des probabilités

Un précurseur du calcul différentiel par sa méthode de recherche des maximums et des minimums d’une fonction

Sa méthode de factorisation des entiers

(10)

L’empreinte de Pierre de Fermat

Fondateur (avec Blaise Pascal) de la théorie des probabilités

Un précurseur du calcul différentiel par sa méthode de recherche des maximums et des minimums d’une fonction

(11)

L’empreinte de Pierre de Fermat

Fondateur (avec Blaise Pascal) de la théorie des probabilités

Un précurseur du calcul différentiel par sa méthode de recherche des maximums et des minimums d’une fonction

Sa méthode de factorisation des entiers

(12)

Savoir factoriser des grands nombres – Important ?

Important pour la transmission sécuritaire

des messages secrets

(13)

Savoir factoriser des grands nombres – Important ?

Important pour la transmission sécuritaire

des messages secrets

(14)

La cryptographie

Jules César:

A B C D · · · ↓ ↓ ↓ ↓ C D E F · · ·

(15)

La cryptographie

Jules César:

A B C D · · · ↓ ↓ ↓ ↓ C D E F · · ·

(16)

La cryptographie

Deuxième guerre mondiale

(17)

La cryptographie

Deuxième guerre mondiale

Arthur Scherbius Machine Enigma

(18)

La cryptographie

(19)

La cryptographie

Alan Turing

(20)

La cryptographie

(21)

La cryptographie

La Bombe

(22)

La méthode RSA

(23)

La méthode RSA

Ron Rivest, Adi Shamir, Leonard Adleman

(24)

La méthode RSA – Rivest - Shamir - Adleman

On sait facilement multiplier deux nombres

On sait difficilement faire l’inverse: “factoriser”

1978: Rivest, Shamir, Adleman mettent au point la méthode RSA

(25)

La méthode RSA – Rivest - Shamir - Adleman

On sait facilement multiplier deux nombres

On sait difficilement faire l’inverse: “factoriser”

1978: Rivest, Shamir, Adleman mettent au point la méthode RSA

(26)

La méthode RSA – Rivest - Shamir - Adleman

On sait facilement multiplier deux nombres

On sait difficilement faire l’inverse: “factoriser”

1978: Rivest, Shamir, Adleman mettent au point la méthode RSA

(27)

La méthode RSA – Rivest - Shamir - Adleman

On sait facilement multiplier deux nombres

On sait difficilement faire l’inverse: “factoriser”

1978: Rivest, Shamir, Adleman mettent au point la méthode RSA

(28)

Des débuts difficiles

En 1644, Marin Mersenne étudie les nombres Mp := 2p− 1 Mersenne croit que le nombre M251 est composé

En 1976, on estime qu’il faudrait plus de 1020 années pour factoriser M251, un nombre de 76 chiffres

En 1984, 32 heures de calcul sur un Cray-1 permettent de factoriser M251

(29)

Des débuts difficiles

En 1644, Marin Mersenne étudie les nombres Mp := 2p− 1

Mersenne croit que le nombre M251 est composé

En 1976, on estime qu’il faudrait plus de 1020 années pour factoriser M251, un nombre de 76 chiffres

En 1984, 32 heures de calcul sur un Cray-1 permettent de factoriser M251

(30)

Des débuts difficiles

En 1644, Marin Mersenne étudie les nombres Mp := 2p− 1 Mersenne croit que le nombre M251 est composé

En 1976, on estime qu’il faudrait plus de 1020 années pour factoriser M251, un nombre de 76 chiffres

En 1984, 32 heures de calcul sur un Cray-1 permettent de factoriser M251

(31)

Des débuts difficiles

En 1644, Marin Mersenne étudie les nombres Mp := 2p− 1 Mersenne croit que le nombre M251 est composé

En 1976, on estime qu’il faudrait plus de 1020 années pour factoriser M251, un nombre de 76 chiffres

En 1984, 32 heures de calcul sur un Cray-1 permettent de factoriser M251

(32)

Des débuts difficiles

En 1644, Marin Mersenne étudie les nombres Mp := 2p− 1 Mersenne croit que le nombre M251 est composé

En 1976, on estime qu’il faudrait plus de 1020 années pour factoriser M251, un nombre de 76 chiffres

En 1984, 32 heures de calcul sur un Cray-1 permettent de factoriser M251

(33)

La factorisation complète de 2

251

− 1

Factorisation maison en 55 secondes:

2251− 1 = 503 × 54217 × 178230287214063289511 × 61676882198695257501367

× 12070396178249893039969681

(34)

La factorisation complète de 2

251

− 1

Factorisation maison en 55 secondes:

2251− 1 = 503 × 54217 × 178230287214063289511 × 61676882198695257501367

(35)

La méthode de factorisation de Fermat

On constate que

899 = 900 − 1 = 302− 12 = (30 − 1)(30 + 1) = 29 × 31

Pour tout nombre composé impair n, il existe a > b ≥ 1 tels que

n = a2− b2

En effet, supposons que n = r × s avec 1 < r < s Il suffit alors de choisir a = s + r

2 et b = s − r

2

(36)

La méthode de factorisation de Fermat

On constate que

899 = 900 − 1 = 302− 12 = (30 − 1)(30 + 1) = 29 × 31

Pour tout nombre composé impair n, il existe a > b ≥ 1 tels que

n = a2− b2

En effet, supposons que n = r × s avec 1 < r < s Il suffit alors de choisir a = s + r

2 et b = s − r

(37)

La méthode de factorisation de Fermat

On constate que

899 = 900 − 1 = 302− 12 = (30 − 1)(30 + 1) = 29 × 31

Pour tout nombre composé impair n, il existe a > b ≥ 1 tels que

n = a2− b2

En effet, supposons que n = r × s avec 1 < r < s Il suffit alors de choisir a = s + r

2 et b = s − r

2

(38)

La méthode de factorisation de Fermat

On constate que

899 = 900 − 1 = 302− 12 = (30 − 1)(30 + 1) = 29 × 31

Pour tout nombre composé impair n, il existe a > b ≥ 1 tels que

n = a2− b2

En effet, supposons que n = r × s avec 1 < r < s

Il suffit alors de choisir a = s + r

2 et b = s − r

(39)

La méthode de factorisation de Fermat

On constate que

899 = 900 − 1 = 302− 12 = (30 − 1)(30 + 1) = 29 × 31

Pour tout nombre composé impair n, il existe a > b ≥ 1 tels que

n = a2− b2

En effet, supposons que n = r × s avec 1 < r < s Il suffit alors de choisir a = s + r

2 et b = s − r

2

(40)

La méthode de factorisation de Fermat

Comme n = a2− b2 < a2, on a a >n, auquel cas a ≥ bnc + 1 On commence donc avec a = b√nc + 1; si a2− n = b2, alors n = a2− b2

Sinon, on choisit a = b√nc + 2

Éventuellement, avec a = b√nc + k, on aura a2− n = b2, auquel cas n = a2− b2

(41)

La méthode de factorisation de Fermat

Comme n = a2− b2 < a2, on a a >n, auquel cas a ≥ bnc + 1

On commence donc avec a = b√nc + 1; si a2− n = b2, alors n = a2− b2

Sinon, on choisit a = b√nc + 2

Éventuellement, avec a = b√nc + k, on aura a2− n = b2, auquel cas n = a2− b2

(42)

La méthode de factorisation de Fermat

Comme n = a2− b2 < a2, on a a >n, auquel cas a ≥ bnc + 1 On commence donc avec a = b√nc + 1; si a2− n = b2, alors n = a2− b2

Sinon, on choisit a = b√nc + 2

Éventuellement, avec a = b√nc + k, on aura a2− n = b2, auquel cas n = a2− b2

(43)

La méthode de factorisation de Fermat

Comme n = a2− b2 < a2, on a a >n, auquel cas a ≥ bnc + 1 On commence donc avec a = b√nc + 1; si a2− n = b2, alors n = a2− b2

Sinon, on choisit a = b√nc + 2

Éventuellement, avec a = b√nc + k, on aura a2− n = b2, auquel cas n = a2− b2

(44)

La méthode de factorisation de Fermat

Comme n = a2− b2 < a2, on a a >n, auquel cas a ≥ bnc + 1 On commence donc avec a = b√nc + 1; si a2− n = b2, alors n = a2− b2

Sinon, on choisit a = b√nc + 2

Éventuellement, avec a = b√nc + k, on aura a2− n = b2, auquel cas n = a2− b2

(45)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

= (45 041 − 1 020)(45 041 + 1 020) = 44 021 × 46 061

(46)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

(47)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030

Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

= (45 041 − 1 020)(45 041 + 1 020) = 44 021 × 46 061

(48)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait,

il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

(49)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait

et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

= (45 041 − 1 020)(45 041 + 1 020) = 44 021 × 46 061

(50)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

(51)

L’exemple choisi par Fermat

Fermat choisit le nombre n = 2 027 651 281

Il obtient b√nc = 45 029 et pose d’abord a = 45 029 + 1 = 45 030 Comme 45 0302− 2 027 651 281 = 49 619 n’est pas un carré parfait, il pose ensuite a = 45 031, qui ne produit pas non plus de carré parfait et ainsi de suite jusqu’à ce qu’il pose a = 45 041, qui donne

b =√45 0412− 2 027 651 281 =1 040 400 = 1 020

Fermat conclut alors que

n = 2 027 651 281 = 45 0412− 1 0202

= (45 041 − 1 020)(45 041 + 1 020) = 44 021 × 46 061

(52)

La méthode de Fermat programmée

n = 2 027 651 281; a = Floor[Sqrt[n]] + 1; While[!IntegerQ[b = Sqrt[aˆ2 - n]], a++];

Print["a=",a,"et b=",b,"−→ n =",a - b, " × ",a + b]

ce qui donne

(53)

La méthode de Fermat programmée

n = 2 027 651 281; a = Floor[Sqrt[n]] + 1; While[!IntegerQ[b = Sqrt[aˆ2 - n]], a++];

Print["a=",a,"et b=",b,"−→ n =",a - b, " × ",a + b]

ce qui donne

a = 45 041 et b = 1 020 −→ n = 44 021 × 46 061.

(54)

La méthode de Fermat programmée

n = 2 027 651 281; a = Floor[Sqrt[n]] + 1; While[!IntegerQ[b = Sqrt[aˆ2 - n]], a++];

Print["a=",a,"et b=",b,"−→ n =",a - b, " × ",a + b]

ce qui donne

(55)

Le nombre d’étapes nécessaires pour factoriser un

nombre en utilisant la méthode de Fermat

Si n = d1d2, où d1 <√n < d2 sont les diviseurs milieux de n

Exemple: n = 3 · 5 · 7 · 11 = 1155; d1 = 33, d2 = 35 sont les diviseurs milieux de n, car

33 <√n =√1155 = 33, 9 < 35

Alors le nombre k d’étapes pour factoriser un nombre n est

k = d1 + d2 2 − b p d1d2c = d1 + d2 2 − b √ nc

Méthode de Fermat efficace si d2− d1 est petit

(56)

Le nombre d’étapes nécessaires pour factoriser un

nombre en utilisant la méthode de Fermat

Si n = d1d2, où d1 <√n < d2 sont les diviseurs milieux de n

Exemple: n = 3 · 5 · 7 · 11 = 1155; d1 = 33, d2 = 35 sont les diviseurs milieux de n, car

33 <√n =√1155 = 33, 9 < 35

Alors le nombre k d’étapes pour factoriser un nombre n est

k = d1 + d2 2 − b p d1d2c = d1 + d2 2 − b √ nc

(57)

Le nombre d’étapes nécessaires pour factoriser un

nombre en utilisant la méthode de Fermat

Si n = d1d2, où d1 <√n < d2 sont les diviseurs milieux de n

Exemple: n = 3 · 5 · 7 · 11 = 1155; d1 = 33, d2 = 35 sont les diviseurs milieux de n, car

33 <√n =√1155 = 33, 9 < 35

Alors le nombre k d’étapes pour factoriser un nombre n est

k = d1 + d2 2 − b p d1d2c = d1 + d2 2 − b √ nc

Méthode de Fermat efficace si d2− d1 est petit

(58)

Le nombre d’étapes nécessaires pour factoriser un

nombre en utilisant la méthode de Fermat

Si n = d1d2, où d1 <√n < d2 sont les diviseurs milieux de n

Exemple: n = 3 · 5 · 7 · 11 = 1155; d1 = 33, d2 = 35 sont les diviseurs milieux de n, car

33 <√n =√1155 = 33, 9 < 35

Alors le nombre k d’étapes pour factoriser un nombre n est d1 + d2 d1 + d2 √

(59)

Le nombre d’étapes nécessaires pour factoriser un

nombre en utilisant la méthode de Fermat

Si n = d1d2, où d1 <√n < d2 sont les diviseurs milieux de n

Exemple: n = 3 · 5 · 7 · 11 = 1155; d1 = 33, d2 = 35 sont les diviseurs milieux de n, car

33 <√n =√1155 = 33, 9 < 35

Alors le nombre k d’étapes pour factoriser un nombre n est

k = d1 + d2 2 − b p d1d2c = d1 + d2 2 − b √ nc

Méthode de Fermat efficace si d2− d1 est petit

(60)

Accélérer la méthode de Fermat

Si n = r × s, alors n1 = uv × n = uv × rs = ur × vs avec possiblement ur <√n1 < vs et vs − ur petit

1974: R.S. Lehman −→ factorise n en moins de n1/3 étapes 1999: J.F. McKee −→ factorise n en moins de n1/4 étapes

(61)

Accélérer la méthode de Fermat

Si n = r × s, alors n1 = uv × n = uv × rs = ur × vs avec possiblement ur <√n1 < vs et vs − ur petit

1974: R.S. Lehman −→ factorise n en moins de n1/3 étapes 1999: J.F. McKee −→ factorise n en moins de n1/4 étapes

(62)

Accélérer la méthode de Fermat

Si n = r × s, alors n1 = uv × n = uv × rs = ur × vs avec possiblement ur <√n1 < vs et vs − ur petit

1974: R.S. Lehman −→ factorise n en moins de n1/3 étapes

(63)

Accélérer la méthode de Fermat

Si n = r × s, alors n1 = uv × n = uv × rs = ur × vs avec possiblement ur <√n1 < vs et vs − ur petit

1974: R.S. Lehman −→ factorise n en moins de n1/3 étapes 1999: J.F. McKee −→ factorise n en moins de n1/4 étapes

(64)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2) Soit n = 1081. On constate que 1272 ≡ 802 (mod n) On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

(65)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2) Soit n = 1081. On constate que 1272 ≡ 802 (mod n) On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

n = 23 × 47

(66)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2)

Soit n = 1081. On constate que 1272 ≡ 802 (mod n) On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

(67)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2) Soit n = 1081. On constate que 1272 ≡ 802 (mod n)

On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

n = 23 × 47

(68)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2) Soit n = 1081. On constate que 1272 ≡ 802 (mod n) On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

(69)

L’approche de Maurice Kraitchik

Au lieu de chercher a et b tels que n = a2− b2, on cherche u et v tels que u2 ≡ v2 (mod n)

Rappelons que u2 ≡ v2 (mod n) veut dire n | (u2− v2) Soit n = 1081. On constate que 1272 ≡ 802 (mod n) On a donc que

n | 1272− 802 = (127 − 80)(127 + 80) = 47 × 207

Comme tout facteur de n est un facteur de 47 ou de 207, et comme 207 = 9 × 23, on conclut que

n = 23 × 47

(70)

L’approche de Maurice Kraitchik

Autre exemple: n = 9701. On pose a = b√nc + 1 = 99 et f (x ) := x2− n

Examinons quelques termes de la suite f (99), f (100), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier est ≤ 5

Le tout premier terme de cette suite donne

f (99) = 992− 9701 = 100 = 22× 52, un carré parfait !

Cette fois, la factorisation de 9701 nous saute aux yeux, puisque (99 − 10)(99 + 10) ≡ 0 (mod 9701), auquel cas 9701 = 89 × 109

(71)

L’approche de Maurice Kraitchik

Autre exemple: n = 9701. On pose a = b√nc + 1 = 99 et f (x ) := x2− n

Examinons quelques termes de la suite f (99), f (100), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier est ≤ 5

Le tout premier terme de cette suite donne

f (99) = 992− 9701 = 100 = 22× 52, un carré parfait !

Cette fois, la factorisation de 9701 nous saute aux yeux, puisque (99 − 10)(99 + 10) ≡ 0 (mod 9701), auquel cas 9701 = 89 × 109

(72)

L’approche de Maurice Kraitchik

Autre exemple: n = 9701. On pose a = b√nc + 1 = 99 et f (x ) := x2− n

Examinons quelques termes de la suite f (99), f (100), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier est ≤ 5

Le tout premier terme de cette suite donne

f (99) = 992− 9701 = 100 = 22× 52, un carré parfait !

Cette fois, la factorisation de 9701 nous saute aux yeux, puisque (99 − 10)(99 + 10) ≡ 0 (mod 9701), auquel cas 9701 = 89 × 109

(73)

L’approche de Maurice Kraitchik

Autre exemple: n = 9701. On pose a = b√nc + 1 = 99 et f (x ) := x2− n

Examinons quelques termes de la suite f (99), f (100), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier est ≤ 5

Le tout premier terme de cette suite donne

f (99) = 992− 9701 = 100 = 22× 52, un carré parfait !

Cette fois, la factorisation de 9701 nous saute aux yeux, puisque (99 − 10)(99 + 10) ≡ 0 (mod 9701), auquel cas 9701 = 89 × 109

(74)

L’approche de Maurice Kraitchik

Autre exemple: n = 9701. On pose a = b√nc + 1 = 99 et f (x ) := x2− n

Examinons quelques termes de la suite f (99), f (100), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier est ≤ 5

Le tout premier terme de cette suite donne

(75)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n On pose a = b√nc + 1 = 106

On examine la suite f (106), f (107), f (108), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

(76)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n On pose a = b√nc + 1 = 106

On examine la suite f (106), f (107), f (108), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

(77)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n On pose a = b√nc + 1 = 106

On examine la suite f (106), f (107), f (108), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

(78)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n

On pose a = b√nc + 1 = 106

On examine la suite f (106), f (107), f (108), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

(79)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n On pose a = b√nc + 1 = 106

On examine la suite f (106), f (107), f (108), . . ., en conservant seulement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

(80)

L’approche de Maurice Kraitchik

Plus généralement, comment fait-on pour trouver u et v tels

u2 ≡ v2 (mod n) ?

Un exemple: n = 11 111

On considère alors le polynôme f (x) := x2− n On pose a = b√nc + 1 = 106

(81)

L’approche de Maurice Kraitchik

Rappelons que n = 11 111 et f (x) = x2− n

La suite f (106), f (107), f (108), . . ., où on conserve exclusivement les nombres f (r ) dont le plus grand facteur premier n’excède par 11 donne r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52 × 112 Aucun carré parfait ! Malheur ?

(82)

L’approche de Maurice Kraitchik

Rappelons que n = 11 111 et f (x) = x2− n

La suite f (106), f (107), f (108), . . ., où on conserve exclusivement les nombres f (r ) dont le plus grand facteur premier n’excède par 11

donne r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52 × 112 Aucun carré parfait ! Malheur ?

(83)

L’approche de Maurice Kraitchik

Rappelons que n = 11 111 et f (x) = x2− n

La suite f (106), f (107), f (108), . . ., où on conserve exclusivement les nombres f (r ) dont le plus grand facteur premier n’excède par 11 donne r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112

Aucun carré parfait ! Malheur ?

(84)

L’approche de Maurice Kraitchik

Rappelons que n = 11 111 et f (x) = x2− n

La suite f (106), f (107), f (108), . . ., où on conserve exclusivement les nombres f (r ) dont le plus grand facteur premier n’excède par 11 donne r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 Malheur ?

(85)

L’approche de Maurice Kraitchik

Rappelons que n = 11 111 et f (x) = x2− n

La suite f (106), f (107), f (108), . . ., où on conserve exclusivement les nombres f (r ) dont le plus grand facteur premier n’excède par 11 donne r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112 Aucun carré parfait ! Malheur ?

(86)

L’approche de Maurice Kraitchik

r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112

On retient seulement les nombres r1, r2, . . . , rk tels que le produit correspondant f (r1)f (r2) · · · f (rk) est un carré parfait, disons v2. En posant u = r1r2· · · rk, on aura alors

u2 = r12r22· · · rk2 ≡ (r12− n)(r22− n) · · · (rk2 − n) = f (r1)f (r2) · · · f (rk) = v2 (mod n)

(87)

L’approche de Maurice Kraitchik

r f (r ) factorisation de f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112

On retient seulement les nombres r1, r2, . . . , rk tels que le produit correspondant f (r1)f (r2) · · · f (rk) est un carré parfait, disons v2. En posant u = r1r2· · · rk, on aura alors

u2 = r12r22· · · rk2 ≡ (r12− n)(r22− n) · · · (rk2 − n) = f (r1)f (r2) · · · f (rk) = v2 (mod n)

(88)

L’approche de Maurice Kraitchik

r f (r ) factorisation of f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112

Le produit des lignes 2, 3 et 4 donne le carré parfait (2 × 5 × 72× 112)2

(89)

L’approche de Maurice Kraitchik

r f (r ) factorisation of f (r ) 106 125 = 53 109 770 = 2 × 5 × 7 × 11 111 1210 = 2 × 5 × 112 122 3773 = 73× 11 131 6050 = 2 × 52× 112 Le produit des lignes 2, 3 et 4 donne le carré parfait (2 × 5 × 72× 112)2

(90)

L’approche de Maurice Kraitchik

En effectuant le produit des lignes 2, 3 et 4, on obtient

(r2× r3× r4)2 ≡ f (r2)f (r3)f (r4) (mod n), (109 × 111 × 122)2 ≡ (2 × 5 × 72× 112)2 (mod n),

94262 ≡ 37352 (mod n), (9426 − 3735) × (9426 + 3735) ≡ 0 (mod n),

5691 × 13161 ≡ 0 (mod n).

Comme pgcd(5691, n) = 271 et pgcd(13161, n) = 41, on conclut que n = 11 111 = 41 × 271

(91)

L’approche de Maurice Kraitchik

En effectuant le produit des lignes 2, 3 et 4, on obtient

(r2× r3× r4)2 ≡ f (r2)f (r3)f (r4) (mod n), (109 × 111 × 122)2 ≡ (2 × 5 × 72× 112)2 (mod n),

94262 ≡ 37352 (mod n), (9426 − 3735) × (9426 + 3735) ≡ 0 (mod n),

5691 × 13161 ≡ 0 (mod n).

Comme pgcd(5691, n) = 271 et pgcd(13161, n) = 41, on conclut que n = 11 111 = 41 × 271

(92)

Le crible quadratique – 1981

(93)

Le crible quadratique – 1981

Carl Pomerance

(94)

Le crible quadratique

Pour factoriser n, au lieu de prendre f (x) = x2− n, on choisit f (x ) = (x + b√nc)2− n

Avantage: pour x petit, f (x) ≈ 2x√n, donc petit

Ce faisant, on arrive à factoriser un nombre n en seulement

e √

log n log log n étapes

(95)

Le crible quadratique

Pour factoriser n, au lieu de prendre f (x) = x2− n, on choisit f (x ) = (x + b√nc)2− n

Avantage: pour x petit, f (x) ≈ 2x√n, donc petit

Ce faisant, on arrive à factoriser un nombre n en seulement

e √

log n log log n étapes

Exemple: n ≈ 1075; on a n1/3≈ 1025 et e√log n log log n < 1013

(96)

Le crible quadratique

Pour factoriser n, au lieu de prendre f (x) = x2− n, on choisit f (x ) = (x + b√nc)2− n

Avantage: pour x petit, f (x) ≈ 2x√n, donc petit

Ce faisant, on arrive à factoriser un nombre n en seulement

e √

log n log log n étapes

(97)

Le crible quadratique

Pour factoriser n, au lieu de prendre f (x) = x2− n, on choisit f (x ) = (x + b√nc)2− n

Avantage: pour x petit, f (x) ≈ 2x√n, donc petit

Ce faisant, on arrive à factoriser un nombre n en seulement

e √

log n log log n étapes

Exemple: n ≈ 1075; on a n1/3≈ 1025 et e√log n log log n < 1013

(98)

Le crible quadratique

Pour factoriser n, au lieu de prendre f (x) = x2− n, on choisit f (x ) = (x + b√nc)2− n

Avantage: pour x petit, f (x) ≈ 2x√n, donc petit

Ce faisant, on arrive à factoriser un nombre n en seulement

e √

(99)

Quels sont les compétiteurs du crible quadratique ?

Il y a essentiellement deux compétiteurs:

La méthode des courbes elliptiques de H.W. Lenstra

La méthode du corps des nombres

(100)

Quels sont les compétiteurs du crible quadratique ?

Il y a essentiellement deux compétiteurs:

La méthode des courbes elliptiques de H.W. Lenstra

(101)

Quels sont les compétiteurs du crible quadratique ?

Il y a essentiellement deux compétiteurs:

La méthode des courbes elliptiques de H.W. Lenstra

La méthode du corps des nombres

(102)

La méthode des courbes elliptiques de Lenstra

Elle provient de la méthode de Pollard p − 1

Or, celle-ci est basée sur le petit théorème de Fermat

Rappelons le petit théorème de Fermat:

p > 2 =⇒ 2p−1 ≡ 1 (mod p)

(103)

La méthode des courbes elliptiques de Lenstra

Elle provient de la méthode de Pollard p − 1

Or, celle-ci est basée sur le petit théorème de Fermat

Rappelons le petit théorème de Fermat:

p > 2 =⇒ 2p−1 ≡ 1 (mod p)

Exemple: avec p = 5, on a bien 25−1≡ 1 (mod 5)

(104)

La méthode des courbes elliptiques de Lenstra

Elle provient de la méthode de Pollard p − 1

Or, celle-ci est basée sur le petit théorème de Fermat

Rappelons le petit théorème de Fermat:

p > 2 =⇒ 2p−1 ≡ 1 (mod p)

(105)

La méthode des courbes elliptiques de Lenstra

Elle provient de la méthode de Pollard p − 1

Or, celle-ci est basée sur le petit théorème de Fermat

Rappelons le petit théorème de Fermat:

p > 2 =⇒ 2p−1 ≡ 1 (mod p)

Exemple: avec p = 5, on a bien 25−1≡ 1 (mod 5)

(106)

La méthode des courbes elliptiques de Lenstra

Elle provient de la méthode de Pollard p − 1

Or, celle-ci est basée sur le petit théorème de Fermat

Rappelons le petit théorème de Fermat:

(107)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu Soit k un entier assez grand pour que p − 1 | k! Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

Soit a la valeur de 2k!− 1 (mod n) Comme p | n et p | a, on a p | pgcd(a, n)

(108)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu

Soit k un entier assez grand pour que p − 1 | k! Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

Soit a la valeur de 2k!− 1 (mod n) Comme p | n et p | a, on a p | pgcd(a, n)

(109)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu Soit k un entier assez grand pour que p − 1 | k!

Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

Soit a la valeur de 2k!− 1 (mod n) Comme p | n et p | a, on a p | pgcd(a, n)

(110)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu Soit k un entier assez grand pour que p − 1 | k! Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

Soit a la valeur de 2k!− 1 (mod n) Comme p | n et p | a, on a p | pgcd(a, n)

(111)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu Soit k un entier assez grand pour que p − 1 | k! Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

Soit a la valeur de 2k!− 1 (mod n)

Comme p | n et p | a, on a p | pgcd(a, n)

(112)

La méthode de Pollard p − 1

Soit n impair composé et soit p | n, où p est inconnu Soit k un entier assez grand pour que p − 1 | k! Dans ce cas, puisque 2p−1 ≡ 1 (mod p), on a

2k! = 2(p−1)p−1k! ≡ 1k!/(p−1)= 1 (mod p)

de sorte que p divise 2k!− 1

(113)

La méthode de Pollard p − 1

Exemple: Factoriser 226

+ 1 = 18 446 744 073 709 551 617 En programmant avec Mathematica, on a

n=2ˆ(2ˆ6)+1;k=100;i=2;q=3;

While[i<=k,{q=PowerMod[q,i,n];i++}];a=q-1;p=GCD[a,n]; Print[p]

ce qui révèle le facteur premier p = 274177. Comme n/p = 67280421310721 est premier, on a obtenu

226 + 1 = 274 177 × 67 280 421 310 721

La méthode fonctionne bien parce que p − 1 = 274176 = 28· 33· 7 · 17

(114)

La méthode de Pollard p − 1

Exemple: Factoriser 226

+ 1 = 18 446 744 073 709 551 617

En programmant avec Mathematica, on a n=2ˆ(2ˆ6)+1;k=100;i=2;q=3;

While[i<=k,{q=PowerMod[q,i,n];i++}];a=q-1;p=GCD[a,n]; Print[p]

ce qui révèle le facteur premier p = 274177. Comme n/p = 67280421310721 est premier, on a obtenu

226 + 1 = 274 177 × 67 280 421 310 721

(115)

La méthode de Pollard p − 1

Exemple: Factoriser 226

+ 1 = 18 446 744 073 709 551 617 En programmant avec Mathematica, on a

n=2ˆ(2ˆ6)+1;k=100;i=2;q=3;

While[i<=k,{q=PowerMod[q,i,n];i++}];a=q-1;p=GCD[a,n]; Print[p]

ce qui révèle le facteur premier p = 274177. Comme n/p = 67280421310721 est premier, on a obtenu

226 + 1 = 274 177 × 67 280 421 310 721

La méthode fonctionne bien parce que p − 1 = 274176 = 28· 33· 7 · 17

(116)

La méthode de Pollard p − 1

Exemple: Factoriser 226

+ 1 = 18 446 744 073 709 551 617 En programmant avec Mathematica, on a

n=2ˆ(2ˆ6)+1;k=100;i=2;q=3;

While[i<=k,{q=PowerMod[q,i,n];i++}];a=q-1;p=GCD[a,n]; Print[p]

ce qui révèle le facteur premier p = 274177. Comme n/p = 67280421310721 est premier, on a obtenu

226 + 1 = 274 177 × 67 280 421 310 721

(117)

La méthode de Pollard p − 1

Exemple: Factoriser 226

+ 1 = 18 446 744 073 709 551 617 En programmant avec Mathematica, on a

n=2ˆ(2ˆ6)+1;k=100;i=2;q=3;

While[i<=k,{q=PowerMod[q,i,n];i++}];a=q-1;p=GCD[a,n]; Print[p]

ce qui révèle le facteur premier p = 274177. Comme n/p = 67280421310721 est premier, on a obtenu

226 + 1 = 274 177 × 67 280 421 310 721

La méthode fonctionne bien parce que p − 1 = 274176 = 28· 33· 7 · 17

(118)

La méthode des courbes elliptiques de Lenstra

(119)

La méthode des courbes elliptiques de Lenstra

Hendrik W. Lenstra

(120)
(121)

La méthode des courbes elliptiques de Lenstra

Soit n un nombre à factoriser

On considère une courbe elliptique E : y2 = x3+ ax + b et les points P = (x, y ) modulo n sur cette courbe On prend un point P sur cette courbe et on calcule

P, 2P, 3P, . . .

jusqu’à ce que kP = O On en déduit un facteur de n

(122)

La méthode des courbes elliptiques de Lenstra

Soit n un nombre à factoriser

On considère une courbe elliptique E : y2 = x3+ ax + b et les points P = (x, y ) modulo n sur cette courbe On prend un point P sur cette courbe et on calcule

P, 2P, 3P, . . .

jusqu’à ce que kP = O On en déduit un facteur de n

(123)

La méthode des courbes elliptiques de Lenstra

Soit n un nombre à factoriser

On considère une courbe elliptique E : y2 = x3+ ax + b et les points P = (x, y ) modulo n sur cette courbe

On prend un point P sur cette courbe et on calcule

P, 2P, 3P, . . .

jusqu’à ce que kP = O On en déduit un facteur de n

(124)

La méthode des courbes elliptiques de Lenstra

Soit n un nombre à factoriser

On considère une courbe elliptique E : y2 = x3+ ax + b et les points P = (x, y ) modulo n sur cette courbe On prend un point P sur cette courbe et on calcule

P, 2P, 3P, . . .

jusqu’à ce que kP = O

(125)

La méthode des courbes elliptiques de Lenstra

Soit n un nombre à factoriser

On considère une courbe elliptique E : y2 = x3+ ax + b et les points P = (x, y ) modulo n sur cette courbe On prend un point P sur cette courbe et on calcule

P, 2P, 3P, . . .

jusqu’à ce que kP = O On en déduit un facteur de n

(126)

De quoi réfléchir. . .

Références

Documents relatifs

3°) Vérifier que tous les nombres de Fermat sont impairs. 6°) Sachant que tout entier admet au moins un facteur premier, déduire de ce qui précède une démonstration de

Avec la méthode utilisée par Euler pour trouver 641, cela correspond à quelle valeur de k ?. 1 Démonstration accessible, elle utilise le petit théorème de Fermat ainsi que

ment loin dans les calculs.) Quel est le plus petit dénominateur commun que vous trouvez pour les cotés d’un triangle rectangle d’aire 7.. Donner trois autres triangles

Les contradictions qui semblaient ´ emailler les descriptions de Fermat sont donc plus apparentes que profondes : Fermat pose et r´ esout une foule de probl` emes d’apparence

Le 29 d´ ecembre 1630, Pierre Fermat conclut avec Ysabeau de La Roche , veuve de Pierre de Carriere , conseiller au parlement de Toulouse et commissaire aux requˆ etes, un pr´

Parallèlement, il est permis, semble-t-il, de penser que tes nombres de llerscnne auraient exclusivement pour exposant nl (forcement premier) un nombre de Fermat ou

— Lorsque Inéquation générale de Fermât admet une solution con- nue, par un changement d'inconnue on pourra toujours rendre celle-ci infinie et par suite se ramener au cas

— On a un théorème semblable au théorème l, a étant impairement pair, quand A est impair et (3 pairement pair y et quand A est pair et [3 impairement pair ( a et A - pre-