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

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

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

Аннотация научной статьи по математике, автор научной работы — Зачёсов Юрий Львович, Салихов Николай Павлович

This work deals with a way of eliminating polynomial equations in a single unknown without integer roots with their right parts known spectrum determined by estimation based on the difference between the polynoms maximum and minimum values in a certain interval. Ideas introduced by Gauss and developed to the case of any prime numbers and any residues were used to elaborate this method. The solutions of congruence in a single variable which demonstrate the elimination method potential are also given. A program in the packet of symbolic calculations is offered for the experimental estimation of the necessary length of the prime numbers list used for equation elimination. The use of a shorter list allows to expect the algorithms time complexity reduction when this elimination is applied.

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

Experimental program estimation for the quantity of prime numbers necessary for elimination of polynomial equations with out integer roots

This work deals with a way of eliminating polynomial equations in a single unknown without integer roots with their right parts known spectrum determined by estimation based on the difference between the polynoms maximum and minimum values in a certain interval. Ideas introduced by Gauss and developed to the case of any prime numbers and any residues were used to elaborate this method. The solutions of congruence in a single variable which demonstrate the elimination method potential are also given. A program in the packet of symbolic calculations is offered for the experimental estimation of the necessary length of the prime numbers list used for equation elimination. The use of a shorter list allows to expect the algorithms time complexity reduction when this elimination is applied.

Текст научной работы на тему «Экспериментальная программная оценка размера списка простых чисел, необходимых для отсева полиномиальных уравнений без целых корней»

№1 ПРИЛОЖЕНИЕ Сентябрь 2009

Секция 6

ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ

УДК 519.61

ЭКСПЕРИМЕНТАЛЬНАЯ ПРОГРАММНАЯ ОЦЕНКА РАЗМЕРА СПИСКА ПРОСТЫХ ЧИСЕЛ, НЕОБХОДИМЫХ ДЛЯ ОТСЕВА ПОЛИНОМИАЛЬНЫХ УРАВНЕНИЙ БЕЗ ЦЕЛЫХ КОРНЕЙ

Ю. Л. Зачёсов, Н. П. Салихов

В [1] для решения сравнения

P(x) = 0 mod N, (1)

где P(x) — многочлен с целыми коэффициентами, N — произведение неизвестных достаточно больших простых чисел, строятся многочлены Qi(x) с целыми коэффициентами и целые числа jmin(i) ^ jmax(i),i = 1,... , т, т — параметр алгоритма, такие, что любое решение Хо сравнения (1) удовлетворяет равенству

Qi(xo)= j • Nh (2)

(где натуральное число h — параметр алгоритма) при некотором неизвестном

j е {jmin(i), . . . , jmax(i)}. В связи с Этим при больших числах Hi = jmin(i) - jmax(i) + 1

актуальна задача: найти те j е {jmin(i),... , jmax(i)}, при которых уравнение (2) не имеет целых корней, не решая уравнение (2).

Один из способов такого быстрого отсева j указан в [1] и основан на применении одной теоремы Гаусса. Рассмотрим некоторое обобщение задачи. Пусть f (x),g(x) — многочлены с целыми коэффициентами, и требуется выяснить, возможно ли равенство

f (x) = j • g(x) (3)

при некотором целом x и некотором целом j е {jmin(i), ... , jmax(i)} (jmin, jmax — целые числа), не решая уравнение (3).

Предложенный далее метод отсева j, при которых уравнение (3) не имеет целых корней, обобщает упомянутый метод из [1]. Для простого числа p определим множество Jp = {у е 0,1,... ,р — 1 : д(у) = 0 mod p}. Пусть для p выполняется условие: | Jp| < p и если | Jp| > 0, то f (у) = 0 mod p для любого у е Jp. В этом случае, если x = vp + у, где v — целое, у е Jp, равенство

f (vp + у) = j • g(vp + у) (4)

невозможно при любом целом j.

Пусть теперь x = vp + у, у е {0,1,... ,p — 1}\Jp, и выполняется равенство (4). Тогда ост^(у)^) = ост^'^) • ост^у)^) mod p, где оет^т^) е {0,1,... ,p — 1} — остаток от деления целого m на p. Так как у е Jp, то ост^у)^) е {1,... ,p — 1}, существует единственное число z е {1,... ,p — 1}, такое, что

z • ост^у)^) = 1 mod p (5)

(z — обратный элемент к элементу ост^у)^) в поле GF(p)).

Отсюда следует, что ост^'^) = ост(z • ост(f (y),p),p). Последнее равенство служит для отсева j, при которых уравнение (3) не имеет целых корней. Пусть сначала um = 0 для m = 0,1,... ,p — 1. Для каждого у е {0,1,... ,p — 1}\Jp найдём z из сравнения (5) и затем число m = ост(z • ост(f (y),p),p); положим um = 1. В результате будет построено множество U(p) тех m = 0,1,...,p — 1, при которых um = 0; |U(p)| = r(p), r(p) е

{|Jp |,...,p — 1}.

Если для заданного целого j выполняются равенства

ост( j, p) = m,um = 0, (6)

то уравнение (3) не имеет целых корней. Заметим, что вместо трудоёмкого алгоритма решения уравнения (3) здесь используются только две операции (6). Для многочленов f (x) степени большей 1 обычно выполняется предположение: величина ост^(у), p) принимает значения 0,1,... ,p—1 с равными вероятностями 1/p, когда у = 0,1,... , p— 1. Естественно предположить, что величина ост^'^) принимает значения 0,1,... ,p — 1 с равными вероятностями 1/p, когда j е {jmin,. . . , jmax}. При этом предположении вероятность не отсеять j с помощью операции (6) равна 1 — (r(p))/p, где r(p) — случайная величина, равная числу пустых ящиков при бросании в p ящиков d(p) = p — | Jp|

дробинок с вероятностью 1/p попадания дробинки в k-й ящик при k = 1,... ,p.

Рассмотрим теперь несколько простых чисел pi,... ,ps, удовлетворяющих условию, и будем отсеивать j с помощью s равенств вида (6), то есть отсеивать j, если (6) выполняется для одного из чисел pi,... ,ps (работаем до первого выполнения (6)).

Будем предполагать, что случайные величины ост^'^),... , ост^'^), а также случайные величины ri = r(pi), i = 1,... , s, независимы. Тогда вероятность не отсеять j с помощью s равенств (6) равна Ps = ПS=i(1 — ri/pi). Пусть H = jmax—jmin — случайное число случайных j. Положим di = d(pi), i = 1,... , s. Если многочлен g(x) фиксирован, а f (x) — случайный многочлен, то можно найти математическое ожидание и дисперсию для числа H0 не отсеянных значений j. Используя формулы (7), (9) из [2] для математического ожидания величин ri,ri(ri — 1), найдём

H П

і=і

1 - ( 1 - — p»

H П

і=1

1 - (1 - — p»

pi

»=і

1 + ( 1 - -p»

2

1 - - | -

p».

di

2 - — p»

1 - -p»

di

- (EHo)2. (7)

Формулы (7) дают возможность ещё до вычисления Гі,... , г8 найти 5, гарантирующее небольшое число не отсеянных і (неравенство в (7) даёт эту возможность даже не зная д(ж)). Был запрограммирован случай, когда д(ж) = ^, f (ж) = фг(ж), р1,... ,р8 — первые простые числа. При этом |/(р^)| = 0,^ = р^. Для ускорения перебора целых і Є {ітіп(ї),... ,ітах(ї)} использовалась китайская теорема об остатках, а именно, перебирались все

»=і

d

Здесь ]* — очередное число, имеющее при делении на р1,... ,рл остатки ^1,..., ^л соответственно, где ^ € {0, 1,. . . ,р4 — 1}\и(р4) для £ = 1,.. . , А, А € {1,. . . , в} — параметр

алгоритма, v — целое число, vQ(j*) = vQ

lin j

Пі=1 Pi

t-J

Vl = Vi(j *).

I Пг=1 рг _

Числа ] * генерируются в А вложенных циклах, в которых постепенно вычисляется сумма вида £Л=1 ^е», а е» находятся с помощью алгоритма Евклида. Каждое из VI — + 1 значений ] вида (8) далее отсеиваются с помощью рл+1,... , Р (при А < в).

Дальнейшее сокращение времени перебора ] достигалось за счёт сортировки опробу-

емых простых чисел pi,

,Ps:

Pi - ri ^ ... ^ рл - Гл ^ min (pi - r),

(Л+Ki^S)

— ^ ... ^ —. (9)

Рл+i Ps

Эти неравенства получены из анализа трудоёмкости алгоритма перебора всех ПЛ=1(Рг — ri) чисел j* по китайской теореме, средней трудоёмкости алгоритма отсева j вида (8) с помощью проверки равенств (6) для p = рл±1,... ,ps. Указанные трудоёмкости алгоритмов минимизируются с помощью теоремы S из [3], что приводит к сортировкам (9). Возможна также минимизация алгоритма по А. В табл. 1 и 2 приведены результаты экспериментов. Тестирование производилось на двух двуядерных процессорах Intel Core(TM) 2 Duo T7200, 2.00 ГГц с 16 Гб оперативной памяти и 64разрядной операционной системой. В качестве средства разработки применялся пакет символьных вычислений фирмы Wolfram Research mathematica 6.

Эксперименты проводились с модулем, размер которого составлял порядка 10229. Здесь ¿lll, ¿у-й, ¿all — времена решения этапа алгоритма LLL, полиномиальных уравнений и общее время решения задачи соответственно.

Таблица 1

Восемь разных примеров при s = 52, Л = 0, EH0 = 7, 7 ■ 10-5

№ ¿LLL ¿у-й ¿ALL HPs H +1 Hq

1 27 3,8 31,5 4,2 ■ 10-11 1,5 ■ 10-5 359401 0

2 20,6 6,8 28 5,4 ■ 10-11 5, 2 1 О 1 Сл 948060 0

3 29,99 30556,5 30584,5 6,8 ■ 10-11 0,31 4,6 ■ 109 0

4 27,3 1,8 ■ 10-11 681,7 w 3,8 ■ 1013

5 308,7 15,95 338,5 3,6 ■ 10-11 8, 9 1 О 1 Сл 2,4 ■ 106 0

6 311,3 3,1 ■ 10-11 28,5 w 9,1 ■ 1011

7 11933,4 2,2 12121,5 9 ■ 10-11 1,1 ■ 10-8 128 0

8 6106 3,5 ■ 10-11 24,5 6,9 ■ 1011

Таблица 2

Один пример при разных Л, в = 52 и 9, для которого ЕН0 = 24662,7

№ A s Время решения уравнений (в с) Ps HPs Н + 1 Но

1 0 9 14,4 0,0146625 13901 948060 13916

2 1 9 11,5 0,0146625 13901 948060 13916

3 2 9 10,4 0,0146625 13901 948060 13916

4 3 9 10,3 0,0146625 13901 948060 13916

5 4 9 9,5 0,0146625 13901 948060 13916

6 5 9 9,7 0,0146625 13901 948060 13916

7 6 9 20,03 0,0146625 13901 948060 13916

8 4 52 2,47 5,4 ■ 10-11 5,2 ■ 10-5 948060 1

9 5 52 2,61 5,4 ■ 10-11 5,2 ■ 10-5 948060 1

Из приведённых таблиц видно, что реальные Н0 и HPs близки. Отсюда можно сделать вывод, что предположения, при которых выведены формулы (7), верны. Для экспериментальной оценки необходимого размера списка простых была написана программа в пакете символьных вычислений mathematica 6, который предоставляет возможность, благодаря использованию функций трехмерной графики, за одно выполнение программы в приемлемое время получить картину поведения сложных математических функций.

ЛИТЕРАТУРА

1. Зачёсов Ю. Л., Салихов Н. П. О методе решения полиномиального сравнения

p(x) = 0 mod N // Обозрение прикладной и промышленной математики. 2008.

Т. 15. Вып. 5. С. 769-784.

2. Колчин В. Ф., Севастьянов Б. А., Чистяков В. П. Случайные размещения. М.: Наука, 1976.

3. Кнут Д. Искусство программирования для ЭВМ. Т. 3. Сортировка и поиск. М.: Мир, 1978. 844 с.

УДК 519.7

ДИСКРЕТНОЕ ЛОГАРИФМИРОВАНИЕ В ПОДГРУППАХ ПРОСТОГО ПОРЯДКА

И. А. Панкратова

Во многих криптосистемах, например в протоколах идентификации Окамото, Шнорра, в протоколе цифровой подписи Шаума — ван-Антверпена, в хэш-функции CvHP, в американском стандарте цифровой подписи DSS и других, вычисления выполняются в некоторой подгруппе (как правило, простого порядка) мультипликативной группы Z*. Соответственно стойкость таких криптосистем полагается на сложность задачи дискретного логарифмирования в подгруппах.

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

Пусть p — простое число, q — простой делитель p — 1, G — циклическая подгруппа порядка q группы Z*, а — порождающий элемент G. Тогда задача дискретного логарифмирования в G заключается в следующем: для данных p, q, а и элемента b £ G требуется найти единственное целое х, 0 ^ x ^ q — 1, такое, что ax = b(modp).

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