Научная статья на тему 'О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ ИЗВЛЕЧЕНИЯ КВАДРАТНОГО КОРНЯ ПО ПРОСТОМУ МОДУЛЮ'

О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ ИЗВЛЕЧЕНИЯ КВАДРАТНОГО КОРНЯ ПО ПРОСТОМУ МОДУЛЮ Текст научной статьи по специальности «Математика»

CC BY
9
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
генерическая сложность / квадратный корень по простому модулю / generic complexity / square root modulo prime

Аннотация научной статьи по математике, автор научной работы — Рыбалов Александр Николаевич

Изучается генерическая сложность проблемы извлечения квадратного корня по простому модулю. Вопрос о вычислительной сложности этой проблемы до сих пор открыт. Однако известны алгоритмы (например, алгоритм Чиполлы), которые являются полиномиальными при условии истинности расширенной гипотезы Римана. Доказывается, что проблема является генерически разрешимой за полиномиальное время. Фактически это означает, что алгоритм Чиполлы работает за полиномиальное время для «почти всех» входов. Понятие «почти все» формализуется введением асимптотической плотности на множестве входных данных.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON THE GENERIC COMPLEXITY OF THE SQUARE ROOT MODULO PRIME PROBLEM

We study the generic complexity of the problem of finding a square root modulo a prime number. The question about the computational complexity of this problem is still open. However, there are known algorithms (e.g. Cipolla’s algorithm) which are polynomial if the extended Riemann hypothesis holds. We prove that this problem is generically decidable in polynomial time. In fact, this means that Cipolla’s algorithm runs in polynomial time for “almost all” inputs. The notion “almost all” is formalized by introducing the asymptotic density on a set of input data.

Текст научной работы на тему «О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ ИЗВЛЕЧЕНИЯ КВАДРАТНОГО КОРНЯ ПО ПРОСТОМУ МОДУЛЮ»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2023 Математические основы информатики и программирования № 62

МАТЕМАТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ

УДК 510.52 DOI 10.17223/20710410/62/9

О ГЕНЕРИЧЕСКОЙ СЛОЖНОСТИ ПРОБЛЕМЫ ИЗВЛЕЧЕНИЯ КВАДРАТНОГО КОРНЯ ПО ПРОСТОМУ МОДУЛЮ1

А. Н. Рыбалов

Институт математики им. С. Л. Соболева СО РАН, г. Ом,ск, Россия E-mail: alexander.rvbalov@gmail.com

Изучается генерическая сложность проблемы извлечения квадратного корня по простому модулю. Вопрос о вычислительной сложности этой проблемы до сих пор открыт. Однако известны алгоритмы (например, алгоритм Чиполлы), которые являются полиномиальными при условии истинности расширенной гипотезы Римана. Доказывается, что проблема является генерически разрешимой за полиномиальное время. Фактически это означает, что алгоритм Чиполлы работает за полиномиальное время для «почти всех» входов. Понятие «почти все» формализуется введением асимптотической плотности на множестве входных данных.

Ключевые слова: генерическая сложность, квадратный корень по прост,ом,у модулю.

ON THE GENERIC COMPLEXITY OF THE SQUARE ROOT MODULO PRIME PROBLEM

A. N. Rybalov

Sobolev Institute of Mathematics, Omsk, Russia

We study the generic complexity of the problem of finding a square root modulo a prime number. The question about the computational complexity of this problem is still open. However, there are known algorithms (e.g. Cipolla's algorithm) which are polynomial if the extended Riemann hypothesis holds. We prove that this problem is generically decidable in polynomial time. In fact, this means that Cipolla's algorithm runs in polynomial time for "almost all" inputs. The notion "almost all" is formalized by introducing the asymptotic density on a set of input data.

Keywords: generic complexity, square root modulo prime.

Введение

Проблема нахождения квадратного корня по простому модулю является классической алгоритмической проблемой теории чисел, восходящей ещё к Эйлеру и Гауссу. В отличие от других классических проблем, таких, как проблема факторизации целых

1Работа поддержана грантом Российского научного фонда №22-11-20019.

чисел или проблема дискретного логарифма, известны алгоритмы, которые решают её за полиномиальное время при условии истинности некоторых гипотез теории чисел. Например, алгоритм Чиполлы [1] является полиномиальным при условии истинности расширенной гипотезы Римана [2]. Проблема распознавания существования квадратного корня по простому модулю значительно проще — для неё известен эффективный критерий Эйлера,

Генерический подход [3] — это один из подходов к изучению алгоритмических проблем для «почти всех» входов, В рамках этого подхода алгоритмическая проблема рассматривается не на всём множестве входов, а на некотором подмножестве «почти всех» входов. Такие входы образуют так называемое генерическое множество. Понятие «почти все» формализуется введением естественной меры на множестве входных данных, С точки зрения практики алгоритмы, решающие быстро проблему на генери-ческом множестве, так же хороши, как и быстрые алгоритмы для всех входов,

В данной работе изучается генерическая сложность проблемы извлечения квадратного корня по простому модулю. Доказывается, что эта проблема генеричееки разрешима за полиномиальное время. Отметим, что для составного модуля неизвестно полиномиального алгоритма даже для распознавания существования квадратного корня [4]. Для данной проблемы получен результат об отсутствии полиномиальных генеричееких алгоритмов [5].

1. Предварительные сведения

Пусть р — простое число. Натуральное число a < р называется квадратичным вычетом, если существует такое натуральное x < р, что x2 = a (mod р), В противном a

ки, является ли натуральное число квадратичным вычетом по простому модулю.

Теорема 1 (Эйлер), Пусть р — нечётное простое число. Натуральное число a является квадратичным вычетом по модулю р тогда и только тогда, когда

a(p-1)/2 = 1 (mod р).

Из этой теоремы следует, что проблема распознавания квадратичных вычетов по простому модулю разрешима за полиномиальное время.

Проблема извлечения квадратного корня по простому модулю состоит в следующем, Даны простое число р и натуральное число a < р, записанные в двоичной

x < р x2 = a (mod р)

это возможно, либо выдать ответ —1,

В отличие от проблемы распознавания квадратичных вычетов, для извлечения квадратного корня не доказана разрешимость за полиномиальное время [4]. Однако существует алгоритм Чиполлы [1], который решает эту задачу за полиномиальное время при условии знания какого-нибудь квадратичного невычета 6 по модулю р.

Алгоритм Чиполлы:

1) Вход: р, a и квадратичный невычет b,

х ( r\ (р+1)/2

2) Квадратный корень получается вычислением по формуле x = (a + vb]

в поле Fp2 = Wp(Vb) — квадратичном расширении поля Fp,

Обозначим через п(р) наименьший квадратичный невычет по модулю р. Н, Анкени доказал [2], что в предположении истинности расширенной гипотезы Римана существует константа C, такая, что для любого простого р имеет место п(р) < C(logр)2. Здесь

и далее под logp понимается логарифм по основанию 2, Таким образом, в предположении истинности расширенной гипотезы Римана квадратичный невычет может быть найден за полиномиальное время и алгоритм Чиполлы становится полиномиальным,

2. Основной результат

Определение генернческого полиномиального алгоритма можно найти в [3, 5]. Множество входов проблемы извлечения квадратного корня по простому модулю есть

I = {(p, а) : p простое, 0 < а < p}.

Под размером входа (p, а) будем понимать длину двоичной записи числа p. Таким образом, множество входов размера n есть

In = {(p, а) : (p, а) Е I, 2n <p< 2n+1}.

Для конечного множества A через |A| обозначается число его элементов; функция п(х) задаёт количество простых чисел, не превосходящих x,

n

22n 22(n+i)

- < |In| < -.

nn

Доказательство. Заметим, что

|In| = Е p,

2n<p<2n+1

где суммирование идёт по простым числам. Отсюда

2n(n(2n+1) - n(2n)) < |I«| < 2n+1(n(2n+1) - n(2n)).

(1)

Из асимптотического закона распределения простых чисел следует, что для достаточно больших п имеет место

0,9 ■ 2П 1,1 ■ 2П

< п(2п) <

а также

Поэтому

n ln 2

0,9 ■ 2n+1 (n + 1)ln2

< n(2n+1) <

n ln 2

1,1 ■ 2n+1 (n + 1)ln2.

0 9 . 2n+1 1 1 • 2n 11- 2n+1 0 9 • 2n

0 , 9 2 1 Д 2 < n(2n+1) - n(2n) < 1 ,1 2 0 , 9 2

(n + 1) ln 2 n ln 2

Отсюда получаем

2

— < n(2n+1) - n(2n) <

(n + 1) ln 2 n ln 2

2«.+!

n

n

что вместе с (1) даёт нужную оценку, ■

Рассмотрим следующее множество входов проблемы извлечения корня:

5 = |(р,а) : (р, а) € I, п(р) > 21^р}.

Лемма 2. Для достаточно больших n имеет место

|£П la\ 1

|1n|

< -. n

Доказательство. П. Эрдеш доказал [6], что существует константа C, 3 < C < 4, такая, что

Е n(p)

lim = с.

fc^ro n(k)

Здесь суммирование берётся по простым р. Отсюда следует, что для достаточно больших k имеет место

3n(k) < Е n(p) < 4n(k).

pKk

Используя это неравенство, оценим сумму

Е n(p) = Е n(p) - Е n(p)

2n<p<2n+! p<2n+! p<2n

следующим образом:

3п(2га+1) - 4п(2п) < Е п(Р) < 4п(2га+1) - 3п(2п). 2п<р<2п+1

Используя асимптотический закон распределения простых чисел, для достаточно больших п получаем

2га+1 . . 10 ■ 2П < Е П(Р) <

2п<р<2п+1

n

n

Из этих неравенств следует, что

20 • 22n

Е n(p) р< 2n+1 Е n(p) <-.

2n<p<2n+1 2n<p<2n+1 n

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(2)

Допустим теперь, что лемма неверна, то есть существуют сколь угодно большие n,

|sn in| > i

|1n| n'

то есть

Заметим, что

|sn /п| > ^.

n

|sn /га| = Е р.

2n <p<2n + 1, n(p)>21n

Тогда

Е п(р) р = Е n(p) р + Е n(p) р >

2n<p<2n+1 2n <p<2n+1, 2n <p<2n+1,

2n+ n(p)>21n

n(p)^21n

^ |1П| , , 21 ■ 22п ^ 21п Е Р> 21п — = 21|/„| >-.

2П <р<2п + 1, П П п(р)>21п

Последняя оценка следует из леммы 1, Но это противоречит оценке сверху (2),

Теорема 2. Проблема извлечения квадратного корня по простому модулю гене-рически разрешима за полиномиальное время.

Доказательство. Полиномиальный генерический алгоритм работает на входе (p, а) n

а

по модулю p. Если те является, выдаёт -1, Иначе переходит к следующему шагу,

21n

Эйлера,

3) Если квадратичный невычет не найден, то выдаёт ответ «НЕ ЗНАЮ»,

4) Если найден квадратичный невычет, то с его помощью по алгоритму Чиполлы находится квадратный корень из а по модулю p.

Генеричность этого алгоритма следует из того, что множество входов, на которых алгоритм выдаёт ответ «НЕ ЗНАЮ», является пренебрежимым, согласно лемме 2, ■

ЛИТЕРАТУРА

1. Cipolla М. Un metodo per la risoluzione della congruenza di secondo grado // Rendiconto dell' Accademia delle Scienze Fisiche e Matematiche. Napoli, 1904. V. 10. No.3. P. 144-150. (in Italian)

2. Ankeny N. C. The least quadratic non residue // Ann. Math. 1952. V. 55. P. 65-72.

3. KapovichL, Miasnikov A., Schupp P., and Shpilrain V. Generic-case complexity, decision problems in group theory and random walks //J. Algebra. 2003. V. 264. No. 2. P. 665-694.

4. Adleman L. M. and McCurley K. S. Open problems in number theoretic complexity, II // LNCS. 1994. V. 877. P. 291-322.

5. Рыболов A. H. О генерической сложности проблемы распознавания квадратичных вычетов // Прикладная дискретная математика. 2015. №2(28). С. 54-58.

6. Erdos P. Remarks on number theory I // Mat. Lapok. 1961. V. 12. P. 10-17.

REFERENCES

1. Cipolla M. Un metodo per la risoluzione della congruenza di secondo grado. Rendiconto dell' Accademia delle Scienze Fisiche e Matematiche. Napoli, 1904, vol. 10, no. 3, pp. 144-150. (in Italian)

2. Ankeny N. C. The least quadratic non residue. Ann. Math., 1952, vol. 55, pp. 65-72.

3. KapovichL, Miasnikov A., Schupp P., and Shpilrain V. Generic-case complexity, decision problems in group theory and random walks. J. Algebra, 2003, vol.264, no. 2, pp. 665-694.

4. Adleman L. M. and McCurley K. S. Open problems in number theoretic complexity, II. LNCS, 1994, vol.877, pp. 291-322.

5. Rybalov A. N. О genericheskov slozhnosti problemv raspoznavaniva kvadratichnvkh vvchetov [On generic complexity of the quadratic residuositv problem]. Prikladnava Diskretnava Matematika, 2015, no. 2(28), pp. 54-58. (in Russian)

6. Erdos P. Remarks on number theory I. Mat. Lapok., 1961, vol. 12, pp. 10-17.

i Надоели баннеры? Вы всегда можете отключить рекламу.