2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение29.07.2013, 06:38 
Аватара пользователя


29/07/13
4
Всем доброго времени суток.

Передо мною сейчас стоит такая практическая задача: необходимо строить многочлены над кольцами вычетов $\mathbb{Z}_{NM}$, где M и N — простые числа бит эдак от 256. Желаемая "на глазок" степень таких многочленов около 32. Впрочем, и степень, и мощность кольца можно увеличивать. Однако, к этим многочленам есть несколько требований разной степени критичности.

  1. Их должно быть трудно факторизовать. Грубо говоря, их факторизация должна иметь примерно ту же трудоемкость, что и факторизация 1024-битных чисел.
  2. Очень хочется, чтобы построенный полином был приводим над полем $\mathbb{Z}_N$ и неприводим — над кольцом $\mathbb{Z}_{NM}$.

Собственно, вопросов у меня несколько.

Во-первых, я был бы благодарен за ссылки на актуальные методы факторизации полиномов над кольцами вычетов, с учетом достаточно большой степени полиномов и мощности кольца. Насколько я в курсе, это сейчас делается исключительно путем разложения кольца $\mathbb{Z}_{NM}$ в $\mathbb{Z}_N \times \mathbb{Z}_M$, решением над каждым из этих полей и восстановлением окончательного решения по китайской теореме об остатках. Первая сложность на этом пути — это факторизация числа $MN$, что уже неплохо. Это приводит к двум подвопросам: насколько эффективные существуют алгоритмы решения полиномиальных уравнений над конечными полями вида $\mathbb{Z}_N$, и насколько сложно восстановить итоговое решение? Теория мне более-менее понятна, но практика вызывает вопросы...

Во-вторых, как строить полиномы, удовлетворяющие второму требованию? Тут у меня вообще внятных идей нет, может быть посоветуете направление поиска?

UPD. И да, хотелось бы, чтобы генерация таких полиномов была достаточно быстрой :)

UPD2. По второй проблеме единственное, что приходит в голову — строить полиномы, приводимые над $\mathbb{Z}_N$ и неприводимые над $\mathbb{Z}_M$, тогда они будут удовлетворять основному требованию. Но опять же, как это сделать, я не имею представления.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение30.07.2013, 19:18 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Первый вопрос, который у меня возник - зачем факторизовать полиномы, которые заведомо неприводимы?

По поводу построения и факторизации.
Неприводимые полиномы над полем вычетов $\mathbb{F}_p$ обычно генерируют так: берут случайный полином и проверяют его неприводимость. Вероятность получить приводимый полином достаточно хорошо падает с ростом степени. Неприводимость проверяется путем нахождения НОД с полиномами вида $x^{p^k} - x$, которые имеют в качестве корней вссе точки поля $\mathbb{F}_{p^k}$.
Приводимые полиномы генерировать еще легче - надо взять два случайных полинома и перемножить.
Для факторизации полиномов над $\mathbb{F}_p$ есть алгоритмы Берлекэмпа и Кантора-Цассенхауса. Они достаточно быстрые, факторизация полиномов 32 степени над 256-битным простым проблемой не является. Так что если у Вас $MN$ факторизуют, то считайте уже все.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение31.07.2013, 08:30 
Аватара пользователя


29/07/13
4
Xaositect, спасибо за ответ.

Если в кратце о том, для чего это нужно — это некоторый эксперимент из области криптографии.

Как построить просто полином приводимый или неприводимый в некотором поле я знаю. Но мне нужно построить такой полином, чтобы для двух заранее заданных колец $\mathbb{Z}_N$ и $\mathbb{Z}_{NM}$ он был приводим над первым и неприводим — над вторым. Один и тот же полином. У меня есть большие сомнения, что вероятностный алгоритм будет достаточно эффективен для таких условий.

За ссылки на алгоритмы спасибо, я изучу их. Быть может, удастся исхитриться, чтобы сделать их менее эффективными... Хотя, конечно, основная надежда на сложность факторизации NM.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение31.07.2013, 13:45 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Alek$ в сообщении #750685 писал(а):
Как построить просто полином приводимый или неприводимый в некотором поле я знаю. Но мне нужно построить такой полином, чтобы для двух заранее заданных колец $\mathbb{Z}_N$ и $\mathbb{Z}_{NM}$ он был приводим над первым и неприводим — над вторым. Один и тот же полином. У меня есть большие сомнения, что вероятностный алгоритм будет достаточно эффективен для таких условий.
"Один и тот же полином" - это когда один и тот же полином рассматривается по модулю $N$ и по модулю $NM$? В этом случае можно просто взять полином неприводимый по модулю $M$ и другой полином, приводимый по модулю $N$, и склеить их по китайской теореме.
А если хочется, чтобы это был совсем один и тот же полином, в смысле у него должны быть коэффициенты меньше $N$, то по-моему случайная генерация все равно будет работать Берем два полинома половинной степени, перемножаем их над $\mathbb{Z}_N$ и проверяем результат на неприводимость над $\mathbb{Z}_M$. По идее, почти всегда какие-то коэффициенты в произведении будут вылезать за $N$ и в этом случае я не вижу причин для полинома часто быть приводимым по другому простому модулю. Но вероятность я не не представляю как считать. Можно проверить экспериментально.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение01.08.2013, 07:32 
Аватара пользователя


29/07/13
4
Xaositect в сообщении #750746 писал(а):
"Один и тот же полином" - это когда один и тот же полином рассматривается по модулю $$N$$ и по модулю $$NM$$?

Именно так.

Xaositect в сообщении #750746 писал(а):
В этом случае можно просто взять полином неприводимый по модулю $$M$$ и другой полином, приводимый по модулю $$N$$, и склеить их по китайской теореме.

Я думал об этом, но пока я не очень понимаю один момент. Для применения китайской теоремы необходимо взять два взаимно простых многочлена $u_1(x)$ и $u_2(x)$, по модулю которых будут рассматриваться исходные многочлены. Вопрос состоит в том, исходя из каких соображений их выбирать, и могут ли они на что-то повлиять... Очевидно, что результат применения теоремы будет разный в зависимости от выбора.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение01.08.2013, 14:39 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Alek$ в сообщении #750888 писал(а):
Я думал об этом, но пока я не очень понимаю один момент. Для применения китайской теоремы необходимо взять два взаимно простых многочлена $u_1(x)$ и $u_2(x)$, по модулю которых будут рассматриваться исходные многочлены. Вопрос состоит в том, исходя из каких соображений их выбирать, и могут ли они на что-то повлиять... Очевидно, что результат применения теоремы будет разный в зависимости от выбора.
Под "склеить по китайской теореме" я имел в виду склеить каждый коэффициент.

 Профиль  
                  
 
 Re: Факторизация полиномов над кольцами вычетов высокой мощности
Сообщение02.08.2013, 11:31 
Аватара пользователя


29/07/13
4
Понятно, спасибо. Теперь буду экспериментировать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group