Тест на первичность
-
Определение и свойства простых чисел
- Простое число — это натуральное число, имеющее только два делителя: 1 и само себя.
- Простые числа важны в криптографии и других областях, где требуется проверка чисел на простоту.
-
История и развитие теории простых чисел
- Евклид сформулировал определение простых чисел и доказал, что они являются фундаментальными для арифметики.
- В 1847 году Лежандр предложил метод определения простых чисел, основанный на решето Эратосфена.
- В 1852 году Эйлер предложил метод определения простых чисел, основанный на малой теореме Ферма.
- В 1930 году Кнут предложил метод определения простых чисел, основанный на теореме о простых числах.
-
Тесты на простоту
- Тест Ферма — это вероятностный тест, который проверяет, является ли число простым, основываясь на его делении на 2.
- Тест Миллера-Рабина — это вероятностный тест, который проверяет составность числа, основываясь на его делении на 2 и на других числах.
- Тест Соловея-Штрассена — это вероятностный тест, который проверяет составность числа, основываясь на делении на другие числа.
- Тест Фробениуса — это тест, который проверяет составность числа, основываясь на его делении на другие числа и на его делении на себя.
- Тест Baillie-PSW — это вероятностный тест, который сочетает в себе тесты Ферма и Миллера-Рабина для получения более надежного результата.
-
Другие тесты и их сложность
- Тест Поклингтона — это детерминированный тест, который проверяет простоту числа, основываясь на малой теореме Ферма.
- Тест на циклотомию — это детерминированный тест, который проверяет простоту числа, основываясь на свойствах чисел, связанных с циклотомией.
- Тест на простоту эллиптической кривой — это детерминированный тест, который проверяет простоту числа, основываясь на аналитической теории чисел.
-
Сложность проверки простоты
- Задача проверки простоты чисел находится в классе сложности NP, что означает, что она может быть решена за полиномиальное время с помощью алгоритма, который может быть проверен за полиномиальное время.
- Алгоритмы Соловея-Штрассена и Миллера-Рабина снизили сложность задачи проверки простоты до класса сложности coRP.
- Алгоритм Адлемана-Хуанга и тест на простоту Адлемана-Померанса-Румели поместили задачу проверки простоты в класс сложности QP.
-
Практическое применение
- Тесты на простоту используются в криптографии для проверки ключей и других криптографических операций.
- Алгоритмы проверки простоты могут быть использованы для доказательства того, что число является простым.
- Квантовые компьютеры могут значительно ускорить проверку простоты.
-
Примечания
- В статье упоминаются различные тесты на простоту, включая тесты Ферма, Миллера-Рабина, Соловея-Штрассена, Фробениуса, Baillie-PSW и другие.
- Тесты на простоту различаются по эффективности и сложности, некоторые из них являются детерминированными, а другие — вероятностными.
- В статье также обсуждаются сложности проверки простоты и их связь с классами сложности.
- Пересказана только часть статьи. Для продолжения перейдите к чтению оригинала.
Полный текст статьи: