الگوریتم کانتور-زاسنهاوس

از testwiki
نسخهٔ تاریخ ۵ اکتبر ۲۰۱۹، ساعت ۱۱:۳۸ توسط imported>Mojtabakd
(تفاوت) → نسخهٔ قدیمی‌تر | نمایش نسخهٔ فعلی (تفاوت) | نسخهٔ جدیدتر ← (تفاوت)
پرش به ناوبری پرش به جستجو

الگوریتم کانتور-زاسنهاوس در جبر محاسباتی الگوریتم کانتور-زاسنهاوس روش شناخته شده‌ای برای تجزیهٔ چند جمله‌ای‌ها به عوامل محدود است. این الگوریتم عمدتاً شامل محاسبات توانی و چند جمله‌ای ب.م.م می‌شود که توسط D.cantor و Hans Zassenhaus در سال 1981 نوآوری شد. این الگوریتم مسلماً الگوریتم برتری نسبت به راه حل قبلی (Berlekamp's algorithm) در سال 1967 است. و در حال حاضر در بسیاری از سیستم‌های جبر محاسباتی اجرا می‌شود.

بررسی اجمالی

پیش زمینه

الگوریتم کانتور-زاسنهاوس یک چند جمله‌ای با درجهٔ n با ضرایب محدود که چند جمله‌ای‌های تجزیه ناپذیر آن از درجهٔ یکسانی هستند را به عنوان ورودی می‌گیرد(f(x. و در خروجی چند جمله‌ای (g(x را می‌دهد به طوری که تابع خروجی تابع ورودی را تقسیم می‌کند. اگر فرض کنیم(f(x عوامل تجزیه ناپذیر p1(x),p2(x),,ps(x) از درجهٔ d دارد این حلقهٔ عوامل هم ریخت محصول مستقیم حلقهٔ عامل S=i=1s𝔽q[x]pi(x) است. مثلاً اگر:

g(x)g1(x)(modp1(x)),g(x)g2(x)(modp2(x)),  g(x)gs(x)(modps(x)),

باشد، ϕ(g(x)+f(x))=(g1(x)+p1(x),,gs(x)+ps(x)).

نتیجه اصلی

اگر a(x)R یک چند جمله‌ای با شرایط زیر باشد:

a(x)0,±1
ai(x){0,1,1} for i=1,2,,s,

که ai(x) کاهش یافتهٔ باقی‌مانده تقسیم a(x) بر pi(x) باشد و هیچ‌کدام از مجموعه‌های زیر تهی نباشند:

A={i|ai(x)=0},
B={i|ai(x)=1},
C={i|ai(x)=1},

عوامل غیر تهی زیر برای (f(x وجود دارند:

gcd(f(x),a(x))=iApi(x),
gcd(f(x),a(x)1)=iBpi(x),
gcd(f(x),a(x)+1)=iCpi(x).

الگوریتم

الگوریتم کانتور-زاسنهاوس چند جمله‌ای‌های شبیه (a(x در قسمت بالا را با استفاده از همریختی‌های بحث شده در قسمت پیش زمینه محاسبه می‌کند: چند جمله‌ای b(x)R را به صورت تصادفی در نظر می‌گیرد به طوری که b(x)0,±1. همچنین مقدار m=(qd1)/2 را در نظر بگیر و b(x)m را محاسبه کن.

ϕ(b(x)m)=(b1m(x)+p1(x),,bsm(x)+ps(x)).

که هر bi(x)+pi(x) عنصری از زمینه رتبهٔ qd است.

کاربرد ها

یکی از کاربردهای الگوریتم کانتور-زاسنهاوس در محاسبهٔ لگاریتم گسسته روی عوامل با درجهٔ اول است. محاسبهٔ لگاریتم گسسته یکی از مسایل مهم رمزنگاری کلید عمومی است.

منابع

الگو:پانویس الگو:چپ‌چین

  • David G. Cantor and Hans Zassenhaus. "A New Algorithm for Factoring Polynomials Over Finite Fields". Mathematics of Computation, 36:587-592, 1981.

الگو:پایان چپ‌چین