فاکتورگیری خم بیضوی لنسترا
فاکتورگیری خم بیضوی لنسترا (Lenstra elliptic-curve factorization) یا روش فاکتورگیری خم بیضوی (ECM) یک الگوریتم سریع (سرعت اجرای زیرنمایی) برای عاملگیری عدد صحیح در خم بیضوی است. در حال حاضر هنوز بهترین الگوریتم برای تقسیمکنندهها است که بیش از ۲۰ تا ۲۵ رقم (۶۴ تا ۸۳ بیت) نیستند، زیرا زمان اجرای آن تحت تأثیر اندازه کوچکترین عامل p قرار میگیرد و نه عدد n که فاکتورگیری میشود.
اغلب، ECM برای حذف عوامل کوچک از عدد صحیح بسیار زیاد که عوامل بسیار دارد استفاده میشود. بزرگترین عددی که تاکنون با استفاده از ECM فاکتورگیری شده دارای ۸۳ رقم است و در ۷ سپتامبر ۲۰۱۳ توسط R. Propper کشف شد. افزایش تعداد منحنیهای آزمایش شده، شانس یافتن عامل را بهبود میبخشد، اما نسبت این افزایش تعداد خطی نیست.
فاکتورگیری خم بیضوی لنسترا
روش یافتن عوامل عدد n به صورت زیر است:
۱- خم بیضوی تصادفی در را با معادله فرم y را با یک نقطه غیر بدیهی بر روی آن انتخاب کنید.
اینکار را میتوان با انتخاب تصادفی و سپس محاسبه انجام داد.
2-جمع P و Q بر روی خم که به عنوان گروه عملیاتی P ⊕ Q تعریف میشوند. برای جمع به روش زیر عمل میکنیم:
.
.
نکته: اگر خواستیم یک نقطه را با خودش جمع کنیم(P ⊕ P). آنگاه
3-محاسبه eP بر روی خم بیضوی (mod n).
مثال
این مثال از Trappe & Washington (2006) با کمی توضیحات آورده شدهاست.
ما می خواهیم به عامل بپردازیم. خم بیضوی را با نقطه P = (1، 1) بر روی آن انتخاب میکنیم و سعی میکنیم (10!)P را محاسبه کنیم.
ابتدا 2P=P ⊕ P را محا سبه میکنیم:
پس
خواهد بود یعنی
.
.
فقط برای بررسی اینکه این 2P در واقع بر روی خم است:
سپس 4P=2P ⊕ 2P را محا سبه میکنیم:
به همان روش بالا
منابع
Lenstra elliptic-curve factorization. (2018). En.wikipedia.org. Retrieved 2 March 2018, from en:Lenstra elliptic-curve factorization