Псевдопросты́е чи́сла Ферма́ — составные числа, проходящие тест Ферма. Названы в честь французского математика Пьера Ферма. В теории чисел псевдопростые числа Ферма составляют важнейший класс псевдопростых чисел.
Составное число называется псевдопростым, если оно удовлетворяет некоторому необходимому (но не достаточному) условию простоты числа, то есть если оно обладает некоторыми свойствами простого числа.
Малая теорема Ферма гласит, что если n — простое число, то для каждого числа a взаимно простого с n справедливо сравнение a n − 1 ≡ 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}} .
Составное число n называется псевдопростым числом Ферма по основанию a (взаимно простому с n), если выполнено сравнение a n − 1 ≡ 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}} . Иными словами, составное число называют псевдопростым, если оно проходит тест Ферма по основанию a[1]. Число, являющееся псевдопростым Ферма по каждому взаимно простому с ним основанию, называется числом Кармайкла.
Существуют некоторые вариации определения:
Существует бесконечно много псевдопростых чисел по данному основанию (более того существует бесконечно много сильных псевдопростых[4] и бесконечно много чисел Кармайкла[5]), но они довольно редки[6]. Есть только три псевдопростых Ферма по основанию 2 меньше 1000, 245 меньше одного миллиона, и только 21 853 меньше, чем 25 миллиардов[4].
Наименьшие псевдопростые Ферма для каждого основания a ≤ 200 приведены в таблице ниже; цвета различают числа по количеству различных простых делителей[7].
Псевдопростые Ферма по основанию 2 называют числами Пуле, по имени бельгийского математика Пола Пуле[англ.][8]. Разложение на множители шестидесяти первых чисел Пуле, в том числе тринадцати чисел Кармайкла (выделены жирным шрифтом), ниже в таблице.
Число Пуле, все делители d которого делят также число 2d − 2, называется суперчислом Пуле. Существует бесконечно много чисел Пуле, не являющихся суперчислами Пуле[9].
Более подробная информация о псевдопростых числах Ферма по основаниям 31 — 100 представлена в статьях A020159 — A020228 Энциклопедии целочисленных последовательностей[10].
Ниже приведена таблица всех оснований b< n, для которых n — псевдопростое число Ферма (все составные числа являются псевдопростыми по основанию 1, а для b > n решение просто сдвигается на k * n, где k > 0), если составное число n не указано в таблице, то оно является псевдопростым только по основанию 1, или по основаниям, которые сравнимы с 1 (mod n), то есть число оснований b равно 1. Таблица составлена для n < 180[11].
Нужно отметить, что если p — простое, то p2 есть псевдопростое Ферма по основанию b тогда и только тогда, когда p — простое число Вифериха по основанию b. Например, 10932 = 1 194 649 — псевдопростое Ферма по основанию 2.
Количество оснований b для n (для простых n, число оснований b должно быть равно n-1, так как все b удовлетворяют малой теореме Ферма):
Наименьшее основание b > 1, для которого n — псевдопростое (или простое):
Составное число n, для которого справедливо сравнение bn = b (mod n), называется слабым псевдопростым числом Ферма по основанию b (здесь b не обязано быть взаимно простым с n)[13]. Наименьшие слабые псевдопростые по основанию b:
Если требуется, чтобы n > b, тогда:
Благодаря своей редкости, такие псевдопростые числа имеют важные практические применения. Например, для криптографических алгоритмов с открытым ключом, таких как RSA, требуется возможность быстро находить большие простые числа[14]. Обычный алгоритм для генерации простых чисел должен генерировать случайные нечётные числа и проверять их на простоту. Тем не менее детерминированные тесты простоты работают медленно. Если мы готовы допустить сколь угодно малую вероятность того, что найденное число не простое, но псевдопростое, можно использовать гораздо более быстрый и простой тест Ферма.