Малая теорема Ферма

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

Ма́лая теоре́ма Ферма́ — теорема теории чисел, которая утверждает, что[1]:

Если [math]\displaystyle{ p }[/math]простое число и [math]\displaystyle{ a }[/math]целое число, не делящееся на [math]\displaystyle{ p, }[/math] то [math]\displaystyle{ a^{p-1}-1 }[/math] делится на [math]\displaystyle{ p. }[/math]

На языке теории сравнений: [math]\displaystyle{ a^{p-1} }[/math] сравнимо с 1 по простому модулю [math]\displaystyle{ p }[/math]. Формальная запись: [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math]

К примеру, если [math]\displaystyle{ a = 2; p = 7, }[/math] то [math]\displaystyle{ 2^6 = 64, }[/math] и [math]\displaystyle{ 64-1 = 63 = 7 \cdot 9. }[/math]

Малая теорема Ферма является частным случаем теоремы Эйлера[2], которая, в свою очередь, является частным случаем теоремы Кармайкла и теоремы Лагранжа для групп для конечных циклических групп. Теорему высказал без доказательства Пьер Ферма, первое доказательство дали Леонард Эйлер и Готфрид Вильгельм Лейбниц.

Малая теорема Ферма стала одной из главных теорем для исследований не только в теории целых чисел, но и в более широких областях[3][4].

История

Пьер Ферма

Пьер Ферма сформулировал исходное утверждение теоремы в письме 1640 года к французскому математику Бернару Френиклю[5]:

Каждое простое число эквивалентно [в оригинале: измеряет] степени минус один с любым основанием и показателем, равным данному простому числу минус один… И это утверждение, как правило, справедливо для всех оснований и всех простых чисел. Я бы Вам прислал доказательство, если бы оно не было таким длинным.

Источник: Fermat a Frenicle

В качестве примера Ферма приводит прогрессию 3, 9, 27, 81, 243, 729… и простое число 13. 13 делит 27 − 1 (показатель степени для 27 равен 3, а 3 делит 13 − 1), из чего следует, что 13 также делит 729 − 1 (показатель степени для 729 равен 6 и кратен 3).

Сам Ферма оставил свою теорему без доказательства. Первым математиком, нашедшим доказательство, был Готфрид Вильгельм Лейбниц, из рукописей которого следует, что доказательство ему было известно до 1683 года. Лейбниц не знал о результате Ферма и открыл теорему независимо[6]. Однако работа Лейбница не была опубликована, и доказательство в 1736 году обнародовал Эйлер в статье Theorematum Quorundam ad Numeros Primos Spectantium Demonstratio[7]. В 1806 году шотландский математик Джеймс Айвори опубликовал доказательство, основанное на том, что если [math]\displaystyle{ x }[/math] пробегает полную систему вычетов по модулю [math]\displaystyle{ p }[/math], то для любого [math]\displaystyle{ a, }[/math] не кратного [math]\displaystyle{ p, }[/math] произведение [math]\displaystyle{ ax }[/math] также пробегает полную систему вычетов по модулю [math]\displaystyle{ p; }[/math] эта идея лежит в основе современных доказательств[8].

Число [math]\displaystyle{ \frac{a^{p-1} - 1}{p} }[/math] называется частным Ферма. Русский математик Д. А. Граве предположил, что частное Ферма никогда не делится на [math]\displaystyle{ p. }[/math] Для простых чисел, не превышающих 1000, это действительно так, однако вскоре был обнаружен контрпример: для [math]\displaystyle{ p=1093, a=2 }[/math] частное Ферма делится на 1093[9].

Альтернативная формулировка

Следующая формулировка отличается отсутствием требования, чтобы число [math]\displaystyle{ a }[/math] не делилось на [math]\displaystyle{ p }[/math]:

Если [math]\displaystyle{ p }[/math]простое число и [math]\displaystyle{ a }[/math] — любое целое число, то [math]\displaystyle{ a^p }[/math] сравнимо с [math]\displaystyle{ a }[/math] по модулю [math]\displaystyle{ p }[/math], то есть [math]\displaystyle{ a^p\equiv a \pmod p }[/math] .

К примеру, если [math]\displaystyle{ a = 7; p = 5 }[/math], то [math]\displaystyle{ 7^5 = 16807 = 5 \cdot 3361 + 2, }[/math] и [math]\displaystyle{ 7 = 5 \cdot 1 + 2. }[/math].

Легко показать что эта формулировка сводится к изначальной. Так, если [math]\displaystyle{ a }[/math] делится на [math]\displaystyle{ p }[/math], то [math]\displaystyle{ a\equiv 0 \pmod p }[/math] и [math]\displaystyle{ a^p\equiv 0 \pmod p }[/math], т.е. [math]\displaystyle{ a^p\equiv a \pmod p }[/math]. Если же [math]\displaystyle{ a }[/math] не делится на [math]\displaystyle{ p }[/math], то выражение [math]\displaystyle{ a^{p}\equiv a \pmod p }[/math] эквивалентно выражению [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math][2].

Как основная, так и альтернативная формулировки могут быть использованы для проверки, является ли заданное число простым (см. ниже), однако основная формулировка надёжнее в том смысле, что отбраковывает больше составных чисел. Пример: проверим, является ли [math]\displaystyle{ 6 }[/math] простым числом. Пусть [math]\displaystyle{ a = 4. }[/math] В альтернативной формулировке получается [math]\displaystyle{ 4^6 = 4096 = 682\times 6+4 }[/math], а это сравнимо с 4 mod 6. То есть число 6 не отбраковано, его простота не опровергнута. Если же вернуться к оригинальной теореме: [math]\displaystyle{ a^{p-1}\equiv 1 \pmod p }[/math], то [math]\displaystyle{ 4^{6-1} = 4^5 = 1024 = 170\times 6+4 }[/math], а это не сравнимо с 1 mod 6, как должно быть в случае, если p — простое число. Таким образом, основная формулировка более эффективна при отбраковке составных чисел.

Доказательства

Следствия и обобщения

  • Если [math]\displaystyle{ p }[/math] — простое число, то в поле [math]\displaystyle{ \mathbb Z_p }[/math] выполняется равенство [math]\displaystyle{ a^{-1} = a^{p-2} }[/math][13].
  • Если [math]\displaystyle{ p }[/math] — простое число, отличное от 2 и 5, то число [math]\displaystyle{ 10^{p-1} - 1 }[/math], в десятичной записи которого присутствуют только цифры [math]\displaystyle{ 9 }[/math], делится на [math]\displaystyle{ p }[/math]. Отсюда следует, что для любого целого числа [math]\displaystyle{ N }[/math], которое не делится ни на 2, ни на 5, можно подобрать число, состоящее только из девяток, которое делится на [math]\displaystyle{ N }[/math]. Этот факт используется в теории признаков делимости и периодических дробей[14].
  • Малая теорема Ферма позволяет находить простые делители чисел вида [math]\displaystyle{ a^4+a^3+a^2+a+1 }[/math] и [math]\displaystyle{ a^{2^n}+1 }[/math][15].
  • Обобщением малой теоремы Ферма на алгебраические числа является теорема, сформулированная Шёнеманом[нем.] в 1839 году: пусть [math]\displaystyle{ a_1,\dots,a_d }[/math] — корни нормированного многочлена [math]\displaystyle{ f\in \mathbb Z[x] }[/math] степени d, а p — простое число. Тогда [math]\displaystyle{ a_1^p + a_2^p + \dots + a_d^p \equiv a_1 + \dots + a_d\pmod p }[/math][16].
  • Из малой теоремы Ферма следует теорема Вильсона: Натуральное число [math]\displaystyle{ p\gt 1 }[/math] является простым тогда и только тогда, когда [math]\displaystyle{ (p-1)!+1 }[/math] делится на p.

Приложения

Псевдопростые числа Ферма и тестирование на простоту

Малая теорема Ферма может быть использована для тестирования числа на простоту: если [math]\displaystyle{ (a^p-a) }[/math] не делится на [math]\displaystyle{ p }[/math], то [math]\displaystyle{ p }[/math] — составное число. Однако обращение малой теоремы Ферма в общем случае неверно: если [math]\displaystyle{ a }[/math] и [math]\displaystyle{ p }[/math] — взаимно простые числа и [math]\displaystyle{ a^{p-1} - 1 }[/math] делится на [math]\displaystyle{ p }[/math], то число [math]\displaystyle{ p }[/math] может быть как простым, так и составным. В случае, когда [math]\displaystyle{ p }[/math] является составным, оно называется псевдопростым Ферма по основанию [math]\displaystyle{ a }[/math].

К примеру, китайская гипотеза утверждает, что [math]\displaystyle{ p }[/math] является простым числом тогда и только тогда, когда [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math][18]. Здесь прямое утверждение о том, что если [math]\displaystyle{ p }[/math] простое, то [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math], является частным случаем малой теоремы Ферма. Обратное же утверждение о том, что если [math]\displaystyle{ 2^p \equiv 2 \pmod{p} }[/math], то [math]\displaystyle{ p }[/math] простое, есть частный случай обращения малой теоремы Ферма. Это обращение ложно: Саррус в 1820 году нашёл, что число [math]\displaystyle{ N = 2^{341-1} - 1 }[/math] делится на [math]\displaystyle{ 341 }[/math], так как [math]\displaystyle{ N }[/math] делится на [math]\displaystyle{ 2^{10}-1=3 \cdot 341 }[/math]. Однако [math]\displaystyle{ 341 }[/math] — составное число: [math]\displaystyle{ 341 = 11 \cdot 31 }[/math]. Таким образом, [math]\displaystyle{ 341 }[/math] — псевдопростое число по основанию 2[19].

В общем случае обращение малой теоремы Ферма также не выполняется. Контрпримером в общем случае являются числа Кармайкла: это числа [math]\displaystyle{ p }[/math], являющиеся псевдопростыми по основанию [math]\displaystyle{ a }[/math] для всех [math]\displaystyle{ a }[/math], взаимно простых с [math]\displaystyle{ p }[/math]. Наименьшим из чисел Кармайкла является 561.

Ввиду того, что обращение малой теоремы Ферма неверно, выполнение её условия не гарантирует что [math]\displaystyle{ p }[/math] — простое число. Тем не менее малая теорема Ферма лежит в основе теста Ферма на простоту[20]. Тест Ферма является вероятностным тестом на простоту: если теорема не выполняется, то число точно составное, а если выполняется — то число простое с некоторой вероятностью. Среди других вероятностных методов можно отметить: тест Соловея — Штрассена и тест Миллера — Рабина, последний в некоторой степени опирается на малую теорему Ферма[21]. Также существует и детерминированный алгоритм: Тест Агравала — Каяла — Саксены.

Кроме того, справедливы следующие два утверждения. Если пара [math]\displaystyle{ (2, n) }[/math] удовлетворяют сравнению [math]\displaystyle{ a^{n-1}\equiv1\pmod{n} }[/math], то и пара чисел [math]\displaystyle{ (2, 2^{n}-1) }[/math] также ему удовлетворяют. Для любого простого числа [math]\displaystyle{ n }[/math] и любого [math]\displaystyle{ a \gt 2 }[/math] такого, что [math]\displaystyle{ (a^{2}-1, n)=1 }[/math], значение [math]\displaystyle{ \frac{a^{2n}-1}{a^{2}-1} }[/math] является псевдопростым числом Ферма по основанию [math]\displaystyle{ a }[/math][22].

Алгоритм RSA

Малая теорема Ферма также используется при доказательстве корректности алгоритма шифрования RSA[2].

См. также

Примечания

  1. 1,0 1,1 Винберг, 2008, с. 43.
  2. 2,0 2,1 2,2 Сагалович, 2014, с. 34.
  3. Энциклопедия элементарной математики, Книга 1, Арифметика, Александров П. С., Маркушевич А. И., Хинчин А. Я., 1961.— С. 280
  4. З. И. Боревич, И. Р. Шафаревич. Теория чисел. — М.: Наука, 1972. — 175 с.
  5. Грасиан Э. Простые числа. Долгая дорога к бесконечности. — Де Агостини, 2014. — Т. 3. — С. 45. — 148 с. — (Мир математики). — ISBN 978-5-9774-0637-6.
  6. Данциг, Т. Числа — язык науки, 2008, с. 231—234.
  7. David C. Marshall, Edward Odell, Michael Starbird. Number Theory Through Inquiry Архивная копия от 16 сентября 2012 на Wayback Machine. — 2006. — pp. 62—63.
  8. Джон Дж. О’Коннор и Эдмунд Ф. Робертсон. Sir James Ivory (англ.) — биография в архиве MacTutor.
  9. Виленкин Н. Я., Шибасов Л. П. Шибасова 3. Ф. За страницами учебника математики: Арифметика. Алгебра. Геометрия. — М.: Просвещение, 1996. — С. 30. — 320 с. — ISBN 5-09-006575-6.
  10. Данциг, Т. Числа — язык науки, 2008, с. 231-234.
  11. Винберг, 2008, с. 44.
  12. КВАНТ, 2000, № 1, Сендеров В, Спивак А. Малая теорема Ферма.
  13. Акритас А. Основы компьютерной алгебры с приложениями, стр. 83.
  14. Данциг, Т. Числа — язык науки, 2008, с. 232-234.
  15. КВАНТ, 2000, № 3, Сендеров В, Спивак А Малая теорема Ферма
  16. Винберг, 2008, с. 49.
  17. Данциг, Т. Числа — язык науки, 2008, p. 234-238.
  18. Ribenboim, P. (1996), The New Book of Prime Number Records, New York: Springer-Verlag, pp. 103—105, ISBN 0-387-94457-5.
  19. Weisstein E. W. Fermat Pseudoprime.. — 2005..
  20. Габидулин Э. М., Кшевецкий А. С., Колыбельников А. И. Защита информации: учебное пособие. — М.: МФТИ, 2011. — С. 236-237. — 262 с. с. — ISBN 978-5-7417-0377-9.
  21. Williams H. C. Primality testing on a computer (англ.) // Ars Combin. — 1978. — Vol. Т. 5, no. №. 12. — P. 127-185.
  22. Шитов Ю. А. Теоретико-численные методы в криптографии.

Литература