تحليل منحنى لينسترا الإهليلجي

تُعدّ طريقة تحليل المنحنيات الإهليلجية ( ECM ) خوارزمية سريعة ذات زمن تشغيل شبه أسي لتحليل الأعداد الصحيحة، وتستخدم المنحنيات الإهليلجية . وتُصنّف ECM كثالث أسرع طريقة تحليل معروفة للأغراض العامة . تليها في السرعة طريقة غربال كثيرات الحدود التربيعية المتعددة ، ثم غربال حقل الأعداد العام . سُمّيت طريقة تحليل المنحنيات الإهليلجية نسبةً إلى هندريك لينسترا ، وهي خوارزمية تحليل تعتمد على الزمر الجبرية .

من الناحية العملية، يُعتبر ECM خوارزمية تحليل عوامل ذات غرض خاص، حيث إنها الأنسب لإيجاد العوامل الصغيرة. حاليًالا تزال هذه الخوارزمية الأفضل للقواسم التي لا تتجاوز 50 إلى 60 رقمًا ، إذ يهيمن حجم أصغر عامل p على وقت تشغيلها أكثر من حجم العدد n المراد تحليله. غالبًا ما تُستخدم خوارزمية ECM لإزالة العوامل الصغيرة من عدد صحيح كبير جدًا ذي عوامل متعددة؛ فإذا كان العدد المتبقي لا يزال عددًا مركبًا، فإنه يحتوي فقط على عوامل كبيرة ويُحلل باستخدام تقنيات عامة. أكبر عامل تم اكتشافه باستخدام خوارزمية ECM حتى الآن يتكون من 83 رقمًا عشريًا، وقد اكتشفه ر. بروبر في 7 سبتمبر 2013. [ 1 ] زيادة عدد المنحنيات المختبرة تُحسّن فرص إيجاد عامل، لكنها لا تتناسب خطيًا مع زيادة عدد الأرقام.

الخوارزمية

خلفية

تستخدم طريقة لينسترا لتحليل المنحنيات الإهليلجية منحنى إهليلجيًا بتردد n (أي العدد المراد تحليله) وتضرب نقطة عشوائية P عليه. يعتمد الضرب على ضرب نقاط المنحنيات الإهليلجية ، وهو بدوره مجرد جمع متكرر لنقاط المنحنيات الإهليلجية، كما هو موضح في مقال المنحنيات الإهليلجية . يشكل هذا الجمع زمرة في الحالة غير النمطية وفي حالة كون n عددًا أوليًا، لأنZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }(الأعداد الصحيحة moduloن{\displaystyle n}) يشكل مجموعة عندما يكون n عددًا أوليًا.

عند استخدام الأعداد النمطية بدلاً من النطاق الكامل للأعداد الصحيحة، فإن جمع نقطتين على نفس المنحنى الإهليلجي سيتضمن أخذ الميل النمطي لوتر يربط بينهماP{\displaystyle P}وسؤال{\displaystyle Q}وبالتالي التقسيم بين فئات البقايا moduloن{\displaystyle n}، يتم إجراؤها باستخدام خوارزمية إقليدس الموسعة . على وجه الخصوص، القسمة على عدد ماvتعديلن{\displaystyle v{\bmod {n}}}يشمل ذلك حسابالقاسم المشترك الأكبر(v،ن){\displaystyle \gcd(v,n)}بافتراض أننا نحسب ميلًا على النحو التاليu/v{\displaystyle u/v}معالقاسم المشترك الأكبر(u،v)=1{\displaystyle \gcd(u,v)=1}إذاًv=0تعديلن{\displaystyle v=0{\bmod {n}}}ستكون نتيجة جمع النقاط هي{\displaystyle \infty }، النقطة "عند اللانهاية" التي تتوافق مع تقاطع الخط "العمودي" الذي يربطP(x،y)،P(x،-y){\displaystyle P(x,y),P'(x,-y)}والمنحنى. ومع ذلك، إذاالقاسم المشترك الأكبر(v،ن)1،ن{\displaystyle \gcd(v,n)\neq 1,n}إذاً، لن ينتج عن إضافة النقاط نقطة ذات معنى على المنحنى؛ ولكن الأهم من ذلك،القاسم المشترك الأكبر(v،ن){\displaystyle \gcd(v,n)}وهو عامل غير تافه فين{\displaystyle n}وهذا يعني أننا نجحنا في تحليل العدد إلى عوامله الأولية.

لا تزال طرق الضرب المعتادة، مثل الضرب بالمضاعفة، قابلة للتطبيق. ولا حاجة إلى الجمع المتتالي البسيط.

عملية

طريقة لينسترا لتحليل المنحنى الإهليلجي لإيجاد عامل لعدد طبيعي معينن{\displaystyle n}يعمل على النحو التالي:

  1. اختر منحنى إهليلجيًا عشوائيًا فوقZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }(الأعداد الصحيحة moduloن{\displaystyle n}), مع معادلة من الشكلy2=x3+أx+ب(تعديلن){\displaystyle y^{2}=x^{3}+ax+b{\pmod {n}}}بالإضافة إلى نقطة غير تافهةP(x0،y0){\displaystyle P(x_{0},y_{0})}على ذلك.
    يمكن القيام بذلك عن طريق اختيار عشوائي أولاًx0،y0،أZ/نZ{\displaystyle x_{0},y_{0},a\in \mathbb {Z} /n\mathbb {Z} }ثم ضبطب=y02-x03-أx0(تعديلن){\displaystyle b=y_{0}^{2}-x_{0}^{3}-ax_{0}{\pmod {n}}}لضمان أن تكون النقطة على المنحنى.
  2. كما ذكرنا سابقًا، عرّفنا عمليتي الجمع والضرب لنقطة على المنحنى. وبتكرار عمليات الجمع عدة مرات، يُمكننا إحداث خطأ في عملية الجمع، وبالتالي إيجاد عامل. ونتيجةً لذلك، نحسب[ك]P{\displaystyle [k]P}على المنحنى الإهليلجي (تعديلن{\displaystyle {\bmod {n}}})، أينك{\displaystyle k}هو نتاج أعداد صغيرة كثيرة.
    • يمكن أن يكون k ناتج ضرب أعداد أولية صغيرة مرفوعة إلى قوى صغيرة، كما في خوارزمية p-1 ، أو مضروب العدد.ب!{\displaystyle B!}بالنسبة لبعض الأحجام غير الكبيرة جدًاب{\displaystyle B}يمكن القيام بذلك بكفاءة، عامل صغير تلو الآخر. على سبيل المثال، للحصول على[ب!]P{\displaystyle [B!]P}، أولاً احسب[2]P{\displaystyle [2]P}، ثم[3]([2]P){\displaystyle [3]([2]P)}، ثم[4]([3!]P){\displaystyle [4]([3!]P)}وهكذا دواليك.ب{\displaystyle B}يتم اختيارها لتكون صغيرة بما يكفي بحيثب{\displaystyle B}يمكن إجراء عملية جمع النقاط على مستوى النقطة في وقت معقول.
  3. تحقق من نتيجة عملية الجمع.
    • إذا انتهينا من جميع الحسابات المذكورة أعلاه دون مواجهة عناصر غير قابلة للعكس (تعديلن{\displaystyle {\bmod {n}}}وهذا يعني أن ترتيب المنحنيات الإهليلجية (modulo primes) ليس سلسًا بما فيه الكفاية، لذلك نحتاج إلى المحاولة مرة أخرى بمنحنى مختلف ونقطة بداية مختلفة.
    • إذا واجهناص=القاسم المشترك الأكبر(v،ن)1{\displaystyle p=\gcd(v,n)\neq 1}انتهينا: إنه عامل غير تافه منن{\displaystyle n}.

يعتمد التعقيد الزمني على حجم أصغر عامل أولي للعدد، ويمكن تمثيله بالصيغة exp[( 2  + o (1)) ln p ln ln p ]      ، حيث p هو أصغر عامل للعدد n ، أولص[12،2]{\displaystyle L_{p}\left[{\frac {1}{2}},{\sqrt {2}}\right]}، في تدوين L.

توضيح

إذا كان p و q قاسمين أوليين للعدد n ، فإن المعادلة = + ax    + b (mod n ) تستلزم نفس المعادلة بتردد p و بتردد q . هاتان المنحنيتان الإهليلجيتان الأصغر حجمًا مع      {\displaystyle \boxplus }تُعدّ مجموعات الجمع الآن مجموعات حقيقية . إذا احتوت هذه المجموعات على Np و Nq عنصرًا على التوالي، فإنه لأي نقطة P على المنحنى الأصلي، وبحسب نظرية لاغرانج ، يكون k > 0 هو أصغر عدد صحيح موجب بحيث  كP={\displaystyle kP=\infty }على المنحنى modulo p يعني أن k يقسم N p ؛ علاوة على ذلك،شمالصP={\displaystyle N_{p}P=\infty }ينطبق البيان المماثل على المنحنى بتردد q . عند اختيار المنحنى الإهليلجي عشوائيًا، فإن Np و Nq عددان عشوائيان قريبان من p + 1 و q + 1 على التوالي (انظر أدناه). لذا ، من غير المرجح أن تكون معظم العوامل الأولية لـ Np و Nq متطابقة ، ومن المرجح جدًا أنه أثناء حساب eP ، سنصادف kP يكون بتردد p ولكنه ليس بتردد q ، أو العكس. في هذه الحالة، لا يوجد kP على المنحنى الأصلي، وفي الحسابات وجدنا v بحيث يكون القاسم المشترك الأكبر لـ v و p إما p أو q ، ولكن ليس كليهما . أي أن القاسم المشترك الأكبر لـ v و n يعطي عاملًا غير تافه هو n .             

تُعدّ خوارزمية ECM في جوهرها تحسينًا لخوارزمية p 1 القديمة   . تجد خوارزمية p 1   العوامل الأولية p بحيث يكون p 1   سلسًا من الدرجة b لقيم b الصغيرة . لأي عدد e ، وهو مضاعف لـ p    وأي عدد a أولي نسبيًا مع p ، وبحسب نظرية فيرما الصغرى ، لدينا a e 1 ( mod p )   . عندئذٍ، من المرجح أن ينتج عن gcd ( a e 1, n )    عاملًا من n . مع ذلك، تفشل الخوارزمية عندما يكون لـ p  1 عوامل أولية كبيرة، كما هو الحال بالنسبة للأعداد التي تحتوي على أعداد أولية قوية ، على سبيل المثال.

يتغلب ECM على هذه العقبة من خلال النظر في مجموعة منحنى إهليلجي عشوائي على الحقل المنتهي Z p ، بدلاً من النظر في المجموعة الضربية لـ Z p التي لها دائمًا رتبة p 1.   

يتغير ترتيب زمرة منحنى إهليلجي على Z p (بشكل عشوائي تقريبًا) بين p  +  1 2 p   و p  +  1  +  2 p وفقًا لنظرية هاس ، ومن المرجح أن يكون أملسًا لبعض المنحنيات الإهليلجية. على الرغم من عدم وجود دليل قاطع على إمكانية إيجاد ترتيب زمرة أملس في فترة هاس، إلا أنه باستخدام الطرق الاحتمالية الاستدلالية ، ونظرية كانفيلد-إردوش-بوميرانس مع اختيارات مُحسَّنة للمعاملات، ورمز L ، يُمكننا توقع تجربة L [ √2 / 2 , √2 ] من المنحنيات قبل الحصول على ترتيب زمرة أملس. هذا التقدير الاستدلالي موثوق للغاية عمليًا.

مثال على الاستخدام

المثال التالي مأخوذ من كتاب Trappe & Washington (2006) ، مع إضافة بعض التفاصيل.

نريد أن نأخذ في الاعتبارن=455839{\displaystyle n=455839}لنختر المنحنى الإهليلجيy2=x3+5x-5{\displaystyle y^{2}=x^{3}+5x-5}، مع النقطةP=(1،1){\displaystyle P=(1,1)}لنبدأ، ولنحاول حساب النقطة(10!)P{\displaystyle (10!)P}.

ميل الخط المماس عند نقطة ماأ=(x،y){\displaystyle A=(x,y)}على المنحنىλ=3x2+52y (مoد ن){\displaystyle \lambda ={\frac {3x^{2}+5}{2y}}\ (\mathrm {mod} \ n)}. استخدامλ{\displaystyle \lambda }يمكننا حساب النقطة2أ{\displaystyle 2A}إذا كانت قيمةλ{\displaystyle \lambda }غير موجود، نتيجة لـy{\displaystyle y}إذا لم يكن له معكوس معياري ،القاسم المشترك الأكبر(ن،y){\displaystyle \gcd(n,y)}وهو عامل غير تافه فين{\displaystyle n}.

أولاً، نقوم بالحساب2!P{\displaystyle 2!P}باستخدام مضاعفة النقاط ، لديناλ(P)=λ(1،1)=4{\displaystyle \lambda (P)=\lambda (1,1)=4}إذن، إحداثيات النقطة2P=(x،y){\displaystyle 2P=(x',y')}نكون

x=42-2(1)=14{\displaystyle x'=4^{2}-2(1)=14}
y=4(1-14)-1=-53{\displaystyle y'=4(1-14)-1=-53}

التنازل عن النقطة2P=(14،-53){\displaystyle 2P=(14,-53)}.

بعد ذلك، نقوم بالحساب3!P{\displaystyle 3!P}لديناλ(2P)=λ(14،-53)=-593/106 (مoد ن){\displaystyle \lambda (2P)=\lambda (14,-53)=-593/106\ (\mathrm {mod} \ n)}. منذالقاسم المشترك الأكبر(106،455839)=1{\displaystyle \gcd(106,455839)=1}يوجد معكوس معياري للعدد 106. باستخدام خوارزمية إقليدس الموسعة ، يمكننا الحصول على ذلك.λ=-593/106=322522 (مoد 455839){\displaystyle \lambda =-593/106=322522\ (\mathrm {mod} \ 455839)}.

وبناءً على ذلك، يمكننا حساب إحداثيات2(2P){\displaystyle 2(2P)}تمامًا كما فعلنا أعلاه. إحداثيات النقطة4P=(x،y){\displaystyle 4P=(x',y')}نكون

x=3225222-2(14)=259851(تعديل455839){\displaystyle x'=322522^{2}-2(14)=259851{\pmod {455839}}}
y=322522(14-259851)-(-53)=116255(تعديل455839){\displaystyle y'=322522(14-259851)-(-53)=116255{\pmod {455839}}}

وهذا ينتج عنه4P=(259851،116255){\displaystyle 4P=(259851,116255)}.

بعد ذلك، يمكننا الحساب3(2P)=4P+2P{\displaystyle 3(2P)=4P+2P}باستخدام جمع النقاط . الخط الواصل4P{\displaystyle 4P}و2P{\displaystyle 2P}له ميلλ=116308/259837=206097 (مoد ن){\displaystyle \lambda =116308/259837=206097\ (\mathrm {mod} \ n)}إذن، إحداثيات6P=(x،y){\displaystyle 6P=(x',y')}نكون

x=2060972-14-259851=179685(تعديل455839){\displaystyle x'=206097^{2}-14-259851=179685{\pmod {455839}}}
y=206097(14-179685)-(-53)=427131(تعديل455839){\displaystyle y'=206097(14-179685)-(-53)=427131{\pmod {455839}}}

التنازل عن النقطة6P=(179685،427131){\displaystyle 6P=(179685,427131)}

يمكننا بالمثل حساب النقاط4!P{\displaystyle 4!P}،5!P{\displaystyle 5!P}وهكذا دواليك، ولكن الحوسبة8!P{\displaystyle 8!P}يتطلب ذلك عكس 599 (mod 455839) ، وهو أمر غير ممكن لأنالقاسم المشترك الأكبر(599،455839)=5991{\displaystyle \gcd(599,455839)=599\neq 1}وبالتالي فإن 599 هو قاسم للعدد 455839. بعد عملية قسمة سريعة، نحصل على 455839 = 599 × 761 .

يكمن سبب نجاح هذه الطريقة في أن المنحنى (mod 599) يحتوي على 640 = 27.5 نقطة ، بينما يحتوي (mod 761) على 777 = 3.7.37 نقطة. علاوة على ذلك، فإن 640 و777 هما أصغر عددين صحيحين موجبين k بحيث يكون kP = على المنحنى (mod 599) و (mod 761) على التوالي. وبما أن 8! مضاعف للعدد 640 ولكنه ليس مضاعفًا للعدد 777، فإن 8! P = على المنحنى (mod 599)، ولكن ليس على المنحنى (mod 761)، وبالتالي فشلت عملية الجمع المتكرر هنا، مما أدى إلى التحليل إلى عوامل.

الخوارزمية، مع الإحداثيات الإسقاطية

قبل النظر في المستوى الإسقاطي فوق(Z/نZ)/،{\displaystyle (\mathbb {Z} /n\mathbb {Z} )/\sim ,}لنفترض أولاً فضاءً إسقاطياً "عادياً" فوقR{\displaystyle \mathbb {R} }بدلاً من النقاط، تُدرس الخطوط المارة بنقطة الأصل. ويمكن تمثيل الخط بنقطة غير صفرية.(x،y،z){\displaystyle (x,y,z)}، في ظل علاقة تكافؤ ~ معطاة بواسطة:(x،y،z)(x،y،z){\displaystyle (x,y,z)\sim (x',y',z')}⇔ يوجد عدد صحيح c ≠ 0 بحيث يكون x' = c x و y' = c y و z' = c z . وبموجب علاقة التكافؤ هذه، يُطلق على الفضاء اسم المستوى الإسقاطي.P2{\displaystyle \mathbb {P} ^{2}}النقاط، المشار إليها بـ(x:y:z){\displaystyle (x:y:z)}، تُقابل خطوطًا في فضاء ثلاثي الأبعاد تمر عبر نقطة الأصل. لاحظ أن النقطة(0:0:0){\displaystyle (0:0:0)}لا يوجد في هذا الفضاء لأنه لرسم خط في أي اتجاه ممكن يتطلب على الأقل واحداً من x' أو y' أو z' ≠ 0. لاحظ الآن أن جميع الخطوط تقريبًا تمر عبر أي مستوى مرجعي معين - مثل المستوى ( X , Y , 1)، بينما تحدد الخطوط الموازية تمامًا لهذا المستوى، والتي لها إحداثيات ( X, Y , 0)، اتجاهات بشكل فريد، كـ "نقاط في اللانهاية" تُستخدم في المستوى الأفيني ( X, Y ) الذي يقع فوقه.

الإحداثيات (x:y:z){\displaystyle (x:y:z)}يتوافق مع (x/z:y/z){\displaystyle (x/z:y/z)}في الفضاء الأفيني. [ 2 ]

في الخوارزمية، يتم فقط تحديد بنية المجموعة لمنحنى إهليلجي فوق الحقلR{\displaystyle \mathbb {R} }يتم استخدامه. بما أننا لسنا بحاجة بالضرورة إلى الحقلR{\displaystyle \mathbb {R} }كما يوفر الحقل المنتهي بنية زمرة على منحنى إهليلجي. ومع ذلك، عند النظر إلى المنحنى نفسه والعملية عليه(Z/نZ)/{\displaystyle (\mathbb {Z} /n\mathbb {Z} )/\sim }لا يُنتج العدد n غير الأولي زمرة. وتستفيد طريقة المنحنى الإهليلجي من حالات فشل قانون الجمع.

نعرض الآن الخوارزمية في الإحداثيات الإسقاطية. ويُعطى العنصر المحايد حينها بالنقطة عند اللانهاية.(0:1:0){\displaystyle (0:1:0)}. ليكن n عددًا صحيحًا (موجبًا) يتم تحليله إلى عوامله الأولية، ولنعتبر المنحنى الإهليلجي (مجموعة من النقاط ذات بنية معينة عليه).هـ(Z/نZ)={(x:y:z)P2 | y2z=x3+أxz2+بz3}{\displaystyle E(\mathbb {Z} /n\mathbb {Z} )=\{(x:y:z)\in \mathbb {P} ^{2}\ |\ y^{2}z=x^{3}+axz^{2}+bz^{3}\}}.

  1. يختارxP،yP،أZ/نZ{\displaystyle x_{P},y_{P},a\in \mathbb {Z} /n\mathbb {Z} }مع 0.
  2. احسبب=yP2-xP3-أxP{\displaystyle b=y_{P}^{2}-x_{P}^{3}-ax_{P}}يكون المنحنى الإهليلجي E حينها في صيغة فايرشتراس المعطاة بواسطةy2=x3+أx+ب{\displaystyle y^{2}=x^{3}+ax+b}وباستخدام الإحداثيات الإسقاطية، يُعطى المنحنى الإهليلجي بالمعادلة المتجانسةZY2=X3+أZ2X+بZ3{\displaystyle ZY^{2}=X^{3}+aZ^{2}X+bZ^{3}}هذا صحيح.P=(xP:yP:1){\displaystyle P=(x_{P}:y_{P}:1)}.
  3. اختر حدًا أعلىبZ{\displaystyle B\in \mathbb {Z} }بالنسبة لهذا المنحنى الإهليلجي.
    • ملاحظة: لن تجد العوامل p إلا إذا كانت رتبة المجموعة g للمنحنى الإهليلجي E علىZ/صZ{\displaystyle \mathbb {Z} /p\mathbb {Z} }(يرمز إليه بـ8هـ(Z/صZ){\displaystyle \#E(\mathbb {Z} /p\mathbb {Z} )}) سلسة من النوع B ، مما يعني أن جميع العوامل الأولية لـن{\displaystyle n}يجب أن تكون أقل من أو تساوي B.
  4. احسبك=لجم(1،...،ب){\displaystyle k={\rm {lcm}}(1,\dots ,B)}.
  5. احسبكP:=P+P++P{\displaystyle kP:=P+P+\cdots +P}(الضرب هو جمع متكرر) في الحلقةهـ(Z/نZ){\displaystyle E(\mathbb {Z} /n\mathbb {Z} )}.
    • إذا نجحت العملية الحسابيةكP=(0:1:0){\displaystyle kP=(0:1:0)}هذا يعني أن الدالة g ليست سلسة من النوع B أو أن n عدد أولي. ارجع إلى الخطوة 2 لاختيار منحنى آخر.
    • إذا فشلت العملية الحسابية في مرحلة ما، فهذا يعني إمكانية إيجاد قاسم غير تافه. قد تفشل العملية لأن الجمع والضرب غير مُعرّفين جيدًا إذا لم يكن n عددًا أوليًا، ولكن هذا يحدث فقط عند محاولة إيجاد معكوس باقي قسمة معين v . في هذه الحالة، يُوجد العامل على النحو التالي:القاسم المشترك الأكبر(v،ن){\displaystyle \gcd(v,n)}كما سبق.

يذكر في النقطة 5 أنه في ظل ظروف معينة، يمكن إيجاد قاسم غير تافه. وكما أشير في مقال لينسترا (تحليل الأعداد الصحيحة باستخدام المنحنيات الإهليلجية)، فإن عملية الجمع تتطلب افتراضًا.القاسم المشترك الأكبر(x1-x2،ن)=1{\displaystyle \gcd(x_{1}-x_{2},n)=1}. لوP،سؤال{\displaystyle P,Q}ليست(0:1:0){\displaystyle (0:1:0)}وإذا كانت القيم متميزة (وإلا فإن عملية الجمع تعمل بشكل مشابه، ولكنها تختلف قليلاً)، فإن عملية الجمع تعمل على النحو التالي:

  • لحساب:R=P+سؤال؛{\displaystyle R=P+Q;}P=(x1:y1:1)،سؤال=(x2:y2:1){\displaystyle P=(x_{1}:y_{1}:1),Q=(x_{2}:y_{2}:1)}،
  • λ=(y1-y2)(x1-x2)-1{\displaystyle \lambda =(y_{1}-y_{2})(x_{1}-x_{2})^{-1}}،
  • x3=λ2-x1-x2{\displaystyle x_{3}=\lambda ^{2}-x_{1}-x_{2}}،
  • y3=λ(x1-x3)-y1{\displaystyle y_{3}=\lambda (x_{1}-x_{3})-y_{1}}،
  • R=P+سؤال=(x3:y3:1){\displaystyle R=P+Q=(x_{3}:y_{3}:1)}.

إذا فشلت عملية الجمع، فسيكون ذلك بسبب خطأ في الحساب.λ.{\displaystyle \lambda .}على وجه الخصوص، لأن(x1-x2)-1{\displaystyle (x_{1}-x_{2})^{-1}}لا يمكن حسابها دائمًا إذا لم يكن n عددًا أوليًا (وبالتاليZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }(ليس حقلاً). دون الاستفادة منZ/نZ{\displaystyle \mathbb {Z} /n\mathbb {Z} }وباعتباره حقلاً، يمكن للمرء أن يحسب:

  • λ=y1-y2{\displaystyle \lambda '=y_{1}-y_{2}}،
  • x3=λ2-x1(x1-x2)2-x2(x1-x2)2{\displaystyle x_{3}'={\lambda '}^{2}-x_{1}(x_{1}-x_{2})^{2}-x_{2}(x_{1}-x_{2})^{2}}،
  • y3=λ(x1(x1-x2)2-x3)-y1(x1-x2)3{\displaystyle y_{3}'=\lambda '(x_{1}(x_{1}-x_{2})^{2}-x_{3}')-y_{1}(x_{1}-x_{2})^{3}}،
  • R=P+سؤال=(x3(x1-x2):y3:(x1-x2)3){\displaystyle R=P+Q=(x_{3}'(x_{1}-x_{2}):y_{3}':(x_{1}-x_{2})^{3})}، وبسطها إن أمكن.

هذا الحساب قانوني دائمًا، وإذا كان القاسم المشترك الأكبر للإحداثي Z مع n ≠ (1 أو n )، لذلك عندما يفشل التبسيط، يتم العثور على قاسم غير تافه لـ n .

متغير ذو مرحلتين

على غرار النسخة ثنائية المراحل من خوارزمية بولارد p − 1 ، يمكن أيضًا تنفيذ خوارزمية لينسترا ECM على مرحلتين. وهذا يسمح بتوفير عامل زمني قدره O(log p ). [ 2 ]

خوارزمية ECM ثنائية المراحل. [ 2 ]

  • المدخلات: العدد المراد تحليله n ، حدود عددية صحيحةب1ب2{\displaystyle B_{1}\leq B_{2}}.
  • الناتج: عامل n أو الفشل.

تحضير.

  1. اختر منحنى إهليلجي عشوائي E mod n .
  2. اختر نقطةP=(x0:y0:z0){\displaystyle P=(x_{0}:y_{0}:z_{0})}على المنحنى.

(يُعد مطعم سوياما خيارًا مناسبًا)σ{\displaystyle \sigma }(المعايرة، والتي لا تتطلب سوى سحب رقم عشوائي واحد.)

مراحل.

  1. احسب نقطةسؤال:=صب1صسجلب1/سجلصP{\textstyle Q:=\prod _{p\leq B_{1}}p^{\left\lfloor \log B_{1}/\log p\right\rfloor }P}على E. يعني هذا الناتج أن المرء يمر على كل عدد أوليصب1{\displaystyle p\leq B_{1}}فهي تؤدي نفس الدور الذي تؤديه الكبيرةك{\displaystyle k}كما هو موضح في الخوارزميات أعلاه.
    • باستخدام حاصل ضرب جميع القوى الأولية الأقل منب1{\displaystyle B_{1}}بدلاً منب1!{\displaystyle B_{1}!}يقلل من التعقيد التقاربي عن طريقيا(سجلب1){\displaystyle O(\log B_{1})}[ 3 ]
  2. لكل عدد أولي p ،ب1صب2{\displaystyle B_{1}\leq p\leq B_{2}}،
    • احسب نقطة(xص:yص:zص)=صسؤال{\displaystyle (x_{p}:y_{p}:z_{p})=pQ}واحد .
    • الحوسبةز:=القاسم المشترك الأكبر(ن،zص){\displaystyle g:=\operatorname {gcd} \left(n,z_{p}\right)}. لوز1{\displaystyle g\neq 1}، المخرجاتز{\displaystyle g}ثم الخروج.
  3. إذا تم تجربة جميع الأعداد الأولية في النطاق دون إنتاج عامل، فأبلغ عن الفشل.

من الممكن أن تؤدي المرحلة 1 إلى عامل كما تمت مناقشته سابقًا: المقام غير القابل للعكس يعني وجود عامل.ب1{\displaystyle B_{1}}وهو عملياً نفس الشيءب{\displaystyle B}من النسخة القياسية، لذا يحدث ذلك أيضًا عندما تكون رتبة المجموعة g سلسة من النوع B. بعبارة أخرى، يبحث المرء عن قاسم أولي p بحيثsP{\displaystyle sP}هو العنصر المحايد لـهـ(Z/صZ){\displaystyle E(\mathbb {Z} /p\mathbb {Z} )}في المرحلة 1.

المرحلة الثانية مشابهة جدًا للمرحلة الثانية من p-1 و p+1. وهي امتداد للعمل في المرحلة الأولى، ويمكن وصفها باستخدام مصطلحات رياضية متشابهة جدًا. وهي تُخفف الشرط بحيث يمكن إيجاد عامل عندما تكون g(ب1،ب2){\displaystyle (B_{1},B_{2})}- سلس، أو بعبارة أخرى، أكبر عامل أولي للعدد g هو على الأكثرب2{\displaystyle B_{2}}أما ثاني أصغرها فهو على الأكثرب1{\displaystyle B_{1}}.

لتحقيق المرحلة الثانية، يأمل المرء أن يكون هناك عدد أولي p بينب1{\displaystyle B_{1}}وب2{\displaystyle B_{2}}بحيثصسؤال=(0:1:0)تعديلص{\displaystyle pQ=(0:1:0)\mod p}إن البحث عن قلب فاشل سينتجه بعد إيجاد القاسم المشترك الأكبر. وبالمثل، نبحث عن قاسم أولي q بحيثsP{\displaystyle sP}لديه ترتيب أولي صغير فيهـ(Z/qZ){\displaystyle E(\mathbb {Z} /q\mathbb {Z} )}التحقق من طلبية صغيرة منsP{\displaystyle sP}يتم ذلك في المرحلة الثانية عن طريق الحساب(لs)P{\displaystyle (ls)P}modulo n لكل عدد أولي l . [ 2 ]

يصف ما سبق النهج "البسيط"، الذي يُمكن تحسينه باستخدام تقنية اقتران الأعداد الأولية وتوسيع برنت-سوياما. مع ذلك، تتوفر أيضًا مرحلة ضرب متعددة الحدود الثانية الأسرع بكثير، والمُقدمة في أطروحة بيتر مونتغمري عام 1992. [ 2 ] يُستخدم هذا النهج الجديد في برنامجي GMP-ECM وPrime95. [ 4 ] وقد تم توسيع هذا النهج لاحقًا ليشمل p-1 وp+1 (مونتغمري وكروپا، 2008). [ 5 ]

منحنيات إدواردز الملتوية

يتطلب استخدام منحنيات إدواردز عمليات ضرب نمطية أقل ووقتًا أقصر مقارنةً باستخدام منحنيات مونتغمري أو منحنيات فايرشتراس (وهي طرق أخرى مستخدمة). كما يُمكنك باستخدام منحنيات إدواردز إيجاد عدد أكبر من الأعداد الأولية.

التعريف. ليكنك{\displaystyle k}أن يكون مجالًا20{\displaystyle 2\neq 0}ودعأ،دك{0}{\displaystyle a,d\in k\setminus \{0\}}معأد{\displaystyle a\neq d}ثم منحنى إدواردز الملتويهـهـ،أ،د{\displaystyle E_{E,a,d}}يُعطى بواسطةأx2+y2=1+دx2y2.{\displaystyle ax^{2}+y^{2}=1+dx^{2}y^{2}.}منحنى إدواردز هو منحنى إدواردز ملتوٍ حيثأ=1{\displaystyle a=1}.

هناك خمس طرق معروفة لبناء مجموعة من النقاط على منحنى إدواردز: مجموعة النقاط الأفينية، ومجموعة النقاط الإسقاطية، ومجموعة النقاط المعكوسة، ومجموعة النقاط الممتدة، ومجموعة النقاط المكتملة.

مجموعة النقاط الأفينية معطاة بالصيغة التالية:

{(x،y)أ2:أx2+y2=1+دx2y2}{\displaystyle \{(x,y)\in \mathbb {A} ^{2}:ax^{2}+y^{2}=1+dx^{2}y^{2}\}}.

قانون الجمع معطى بالصيغة التالية

(هـ،و)،(ز،ح)(هـح+وز1+دهـزوح،وح-أهـز1-دهـزوح).{\displaystyle (e,f),(g,h)\mapsto \left({\frac {eh+fg}{1+degfh}},{\frac {fh-aeg}{1-degfh}}\right).}

النقطة (0,1) هي عنصرها المحايد ومعكوسها(هـ،و){\displaystyle (e,f)}يكون(-هـ،و){\displaystyle (-e,f)}.

يتم تعريف التمثيلات الأخرى بشكل مشابه لكيفية اشتقاق منحنى وييرشتراس الإسقاطي من الخط الأفيني.

أي منحنى إهليلجي في صيغة إدواردز له نقطة من الرتبة 4. لذا فإن مجموعة الالتواء لمنحنى إدواردز فوقسؤال{\displaystyle \mathbb {Q} }متماثل مع إماZ/4Z،Z/8Z،Z/12Z،Z/2Z×Z/4Z{\displaystyle \mathbb {Z} /4\mathbb {Z} ,\mathbb {Z} /8\mathbb {Z} ,\mathbb {Z} /12\mathbb {Z} ,\mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /4\mathbb {Z} }أوZ/2Z×Z/8Z{\displaystyle \mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /8\mathbb {Z} }.

أكثر الحالات إثارة للاهتمام في مجال إدارة المحتوى الإلكتروني هيZ/12Z{\displaystyle \mathbb {Z} /12\mathbb {Z} }وZ/2Z×Z/8Z{\displaystyle \mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /8\mathbb {Z} }لأنها تجبر رتب المجموعة للمنحنى، بتردد الأعداد الأولية، على أن تكون قابلة للقسمة على 12 و16 على التوالي. المنحنيات التالية لها مجموعة التواء متماثلة معZ/12Z{\displaystyle \mathbb {Z} /12\mathbb {Z} }:

  • x2+y2=1+دx2y2{\displaystyle x^{2}+y^{2}=1+dx^{2}y^{2}}مع نقطة(أ،ب){\displaystyle (a,b)}أينب{-2،-1/2،0،±1}،أ2=-(ب2+2ب){\displaystyle b\notin \{-2,-1/2,0,\pm 1\},a^{2}=-(b^{2}+2b)}ود=-(2ب+1)/(أ2ب2){\displaystyle d=-(2b+1)/(a^{2}b^{2})}
  • x2+y2=1+دx2y2{\displaystyle x^{2}+y^{2}=1+dx^{2}y^{2}}مع نقطة(أ،ب){\displaystyle (a,b)}أينأ=u2-1u2+1،ب=-(u-1)2u2+1{\displaystyle a={\frac {u^{2}-1}{u^{2}+1}},b=-{\frac {(u-1)^{2}}{u^{2}+1}}}ود=(u2+1)3(u2-4u+1)(u-1)6(u+1)2،u{0،±1}.{\displaystyle d={\frac {(u^{2}+1)^{3}(u^{2}-4u+1)}{(u-1)^{6}(u+1)^{2}}},u\notin \{0,\pm 1\}.}

يمكن كتابة كل منحنى إدواردز بنقطة من الرتبة 3 بالطرق الموضحة أعلاه. المنحنيات ذات مجموعة الالتواء المتماثلة معZ/2Z×Z/8Z{\displaystyle \mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /8\mathbb {Z} }وZ/2Z×Z/4Z{\displaystyle \mathbb {Z} /2\mathbb {Z} \times \mathbb {Z} /4\mathbb {Z} }قد يكون أكثر كفاءة في إيجاد الأعداد الأولية. [ 6 ]

تطبيقات البرمجيات

GMP-ECM من تطوير بول زيمرمان هو تطبيق عام لخوارزمية لينسترا، يعتمد على مكتبة GNU للحسابات متعددة الدقة . وقد تم تحديثه باستمرار، حيث كان أحدث إصدار له هو 7.0.6 (سبتمبر 2025) من يوليو 2024. يدعم هذا التطبيق منحنيات مونتغمري، وويرستراس، وهيسيان (الملتوية). ويمكنه تشغيل المرحلة الأولى لمجموعة فرعية من منحنيات مونتغمري على وحدة معالجة رسومية CUDA ، حيث تم استبدال التطبيق السابق الذي طوره سيريل بوفير عام 2012 بتطبيق أحدث من سيث ترويسي عام 2021. يتضمن الإصدار 7.0.6 أيضًا تطبيقًا لطريقة HECM (الموصوفة أدناه)، وطريقتي p-1 و p+1، وإثبات أولية الأعداد باستخدام APRCL. [ 7 ] يُستخدم GMP-ECM في SageMath .

نشر دانيال ج. بيرنشتاين وزملاؤه سلسلة من التطبيقات القائمة على منحنيات إدواردز الإهليلجية الملتوية بين عامي 2008 و2010. وتزعم جميعها تفوقها على النسخة المعاصرة من GMP-ECM، وأحدثها EECM-MPFQ الصادر عام 2008. كما يتوفر تطبيقان لوحدة معالجة الرسومات (GPU) من بيرنشتاين، أحدثهما وأسرعهما هو CUDA-EECM الصادر عام 2009. [ 6 ] [ 8 ]

يتضمن برنامج Prime95 تطبيقًا لخوارزمية Lenstra ECM لمنحنيات Montgomery وEdwards. يُستخدم هذا التطبيق في مشروع ECM الفرعي ضمن مشروع البحث عن أعداد Mersenne الأولية على الإنترنت ، والذي يهدف إلى تحليل أعداد Mersenne المركبة التي لا يقل حجمها عن 2^ 1213 . [ 9 ] يستطيع البرنامج إنتاج مخرجات المرحلة الأولى المتوافقة مع GMP-ECM، بالإضافة إلى استهلاك مخرجات المرحلة الأولى من GMP-ECM. [ 10 ] وهو أسرع من GMP-ECM في المرحلة الأولى. [ 11 ]

نشر جون ولوكا وزملاؤه في عام 2020 برنامج ecmongpu، وهو تطبيق للمرحلتين الأولى والثانية من خوارزمية Lenstra ECM القائمة على منحنيات إدواردز الإهليلجية الملتوية. وتتناول ورقتهم البحثية أداء تحليل المعاملات التي يصل طولها إلى 448 بت (بين 2447 و 2448 - 1). [ 12 ]

جميع البرامج المذكورة أعلاه مفتوحة المصدر. بالإضافة إلى ذلك، يحتوي كل من برنامج PARI/GP مفتوح المصدر وبرنامج Magma (نظام الجبر الحاسوبي) الخاص على "تطبيقات جيدة لخوارزمية ECM" وفقًا لبول زيمرمان. [ 11 ] وهناك تطبيق برمجي سابق ذو 16 بت [ 13 ] وهو giantint من تطوير ريتشارد كراندال. [ 11 ]

طريقة المنحنى الإهليلجي الفائق (HECM)

هناك تطورات حديثة في استخدام المنحنيات الإهليلجية الفائقة لتحليل الأعداد الصحيحة. يُبين كوسيت في مقالته (المنشورة عام 2010) أنه يمكن إنشاء منحنى إهليلجي فائق من النوع الثاني (أي منحنىy2=و(x){\displaystyle y^{2}=f(x)}باستخدام دالة من الدرجة  الخامسة (f)، نحصل على نفس نتيجة استخدام منحنيين إهليلجيين "عاديين" في آن واحد. وباستخدام سطح كومر، تصبح الحسابات أكثر كفاءة. وتُعوَّض عيوب المنحنى الإهليلجي الفائق (مقارنةً بالمنحنى الإهليلجي) بهذه الطريقة البديلة للحساب. لذا، يزعم كوسيت تقريبًا أن استخدام المنحنيات الإهليلجية الفائقة في التحليل ليس أسوأ من استخدام المنحنيات الإهليلجية.

النسخة الكمومية (GEECM)

يقترح كل من بيرنشتاين وهينينجر ولو وفالينتا خوارزمية GEECM، وهي نسخة كمومية من خوارزمية ECM مع منحنيات إدواردز. [ 14 ] تستخدم هذه الخوارزمية خوارزمية جروفر لمضاعفة طول الأعداد الأولية التي تم العثور عليها تقريبًا مقارنةً بخوارزمية EECM القياسية، بافتراض وجود حاسوب كمومي مزود بعدد كافٍ من الكيوبتات وبسرعة مماثلة للحاسوب الكلاسيكي الذي يشغل خوارزمية EECM.

مراجع

  1. أكبر 50 عاملاً تم العثور عليها بواسطة ECM .
  2. 1 2 3 4 5 زيمرمان، بول؛ دودسون، بروس (2006). "20 عامًا من ECM" (ملف PDF) . نظرية الأعداد الخوارزمية . سلسلة محاضرات في علوم الحاسوب. المجلد  4076. الصفحات 525-542 . doi : 10.1007/11792086_37 . ISBN  978-3-540-36075-9.هال
  3. غالبريث، ستيفن ( 2012). "اختبار الأعداد الأولية وتحليل الأعداد الصحيحة باستخدام الزمر الجبرية". رياضيات التشفير بالمفتاح العام (ملف PDF) . مطبعة جامعة كامبريدج. الصفحات 261-268 . تاريخ الاسترجاع: 16 أغسطس 2025 . 
  4. https://www.mersenne.org/download/whatsnew_3019b11.txt "المرحلة الثانية من ECM تستخدم ضرب كثيرات الحدود السريع، على غرار برنامج GMP-ECM. إذا توفرت ذاكرة كبيرة للمرحلة الثانية، فسيكون هذا التنفيذ أسرع بكثير."
  5. مونتغمري، بيتر ل.؛ كروبا، ألكسندر (2008). "خوارزميات محسّنة لتحليل الأعداد من المرحلة الثانية إلى P ± 1" (ملف PDF) . نظرية الأعداد الخوارزمية . سلسلة محاضرات في علوم الحاسوب. المجلد 5011. الصفحات 180-195 . doi : 10.1007/978-3-540-79456-1_12 . ISBN   978-3-540-79455-4.
  6. 1 2 بيرستين، دانيال ج.؛ بيركنر، بيتر؛ لانج, طنجة ; بيترز ، كريستيان (9 يناير 2008). “ECM باستخدام منحنيات إدواردز” (PDF) . أرشيف الطباعة الإلكترونية لعلم التشفير .(انظر أعلى الصفحة 30 للاطلاع على أمثلة لهذه المنحنيات)
  7. "ZIMMERMANN Paul / ecm · GitLab" . GitLab .
  8. "EECM: ECM باستخدام منحنيات إدواردز" .
  9. ^ "تقدم GIMPS ECM - PrimeNet" . www.mersenne.org .
  10. undoc.txt و ECMSTAGE2=
  11. 1 2 3 زيمرمان، بول. "برمجيات إدارة المحتوى المؤسسي" .
  12. ولوكا، جوناس؛ ريختر-بروكمان، يان؛ شتالكي، كولين؛ كلاينجونج، ثورستن؛ بريبلاتا، كريستين؛ جونيسو، تيم (2020). إعادة النظر في التشفير الكهرومغناطيسي على وحدات معالجة الرسومات . المؤتمر الدولي التاسع عشر حول علم التشفير وأمن الشبكات. المجلد 12579. الصفحات 299-319 . doi : 10.1007/978-3-030-65411-5_15 .  
  13. ^ بيرنشتاين، دي جي. "العملاق" .
  14. بيرنشتاين دي جيه، هينينجر إن، لو بي، فالينتا إل (2017) RSA ما بعد الكم . في: لانج تي، تاكاجي تي (محرران)، التشفير ما بعد الكم . PQCrypto 2017. سلسلة محاضرات في علوم الحاسوب، المجلد 10346. سبرينغر، تشام
  • التحليل باستخدام طريقة المنحنى الإهليلجي ، وهو تطبيق WebAssembly يستخدم ECM ويتحول إلى الغربال التربيعي ذاتي التهيئة عندما يكون أسرع.
  • تمت أرشفة GMP-ECM في 12-09-2009 على Wayback Machine ، وهو تطبيق فعال لـ ECM.
  • ECMNet ، وهو تطبيق سهل للعميل والخادم يعمل مع العديد من مشاريع التحليل.
  • pyecm ، وهو تطبيق بايثون لـ ECM.
  • مشروع الحوسبة الموزعة yoyo@Home المشروع الفرعي ECM هو برنامج لتحليل المنحنى الإهليلجي والذي يستخدم لإيجاد عوامل لأنواع مختلفة من الأرقام.
  • شفرة المصدر لخوارزمية تحليل المنحنى الإهليلجي Lenstra، شفرة المصدر لخوارزمية تحليل المنحنى الإهليلجي بلغة C البسيطة و GMP.
  • EECM-MPFQ هو تطبيق لـ ECM باستخدام منحنيات إدواردز مكتوب باستخدام مكتبة MPFQ للحقول المحدودة.