अण्डाकार घटता पर जोड़
अस्वीकरण: यह अण्डाकार वक्रों के समृद्ध विषय पर कोई न्याय नहीं करता है। यह बहुत सरल है। जैसा कि अण्डाकार वक्रों ने हाल ही में एन्क्रिप्शन के संदर्भ में बहुत अधिक मीडिया का ध्यान आकर्षित किया है, मैं कुछ छोटी अंतर्दृष्टि प्रदान करना चाहता था कि एक अण्डाकार वक्र पर "गणना" वास्तव में कैसे काम करती है।
परिचय
अण्डाकार वक्र रूप (x,y)
के विमान में बिंदुओं के समूह हैं y^2 = x^3+Ax+B
। (इसके अतिरिक्त, 4A^3+27B^2 ≠ 0
गंदा विलक्षणताओं से बचने के लिए।) आप किसी भी क्षेत्र में इन वक्रों पर विचार कर सकते हैं। यदि आप वास्तविक संख्याओं के क्षेत्र का उपयोग करते हैं, तो वक्रों की कल्पना की जा सकती है और वे इस तरह दिखते हैं:
इन घटता के बारे में खास बात यह है कि वे एक है में बनाया गणित आपरेशन के अलावा के अनुरूप है। आप अंक जोड़ सकते हैं और घटा सकते हैं, और यह ऑपरेशन सहयोगी और कम्यूटेटिव (एक एबेलियन समूह) दोनों है।
कैसे काम करता है?
नोट: अण्डाकार वक्रों पर बिंदुओं को जोड़ना सहज नहीं है। इस तरह के जोड़ को इस तरह परिभाषित किया गया है क्योंकि इसमें कुछ अच्छे गुण हैं। यह अजीब है, लेकिन यह काम करता है।
जैसा कि अण्डाकार घटता एक समूह बनाता है, एक योज्य पहचान होती है जो 0. के बराबर होती है। अर्थात, 0
किसी भी बिंदु पर जोड़ने से परिणाम नहीं बदलेगा। यह योगात्मक पहचान अनंत पर "बिंदु" है। विमान की सभी लाइनों में अनंतता पर यह बिंदु शामिल है, इसलिए इसे जोड़ने से कोई फर्क नहीं पड़ता है।
मान लीजिए कि कोई भी दी गई रेखा वक्र को तीन बिंदुओं पर काटती है, जो हो सकता है 0
, और यह कि इन तीन बिंदुओं का योग है 0
। इसे ध्यान में रखते हुए, इस छवि को देखें।
अब, स्वाभाविक प्रश्न है, क्या है P+Q
? ठीक है, अगर P+Q+R = 0
, तो P+Q = -R
(वैकल्पिक रूप से लिखा गया है R'
)। कहाँ है -R
? वह कहाँ है R + (-R) = 0
, जिसमें से x- अक्ष के दूसरे पक्ष पर है R
, ताकि उन के माध्यम से लाइन खड़ी है अन्तर्विभाजक केवल R
, -R
, और 0
। आप इसे इस छवि के पहले भाग में देख सकते हैं:
इन छवियों में आप देख सकते हैं एक और बात यह है कि एक बिंदु का योग का मतलब है कि रेखा वक्र के स्पर्शरेखा है।
कैसे लाइनों और अण्डाकार घटता के चौराहों को खोजने के लिए
दो अलग-अलग बिंदुओं के मामले में
आम तौर पर दो बिंदुओं के माध्यम से एक पंक्ति होती है P=(x0,y0), Q=(x1,y1)
। यह मानते हुए कि यह लंबवत नहीं है और दो बिंदु अलग हैं, हम इसे लिख सकते हैं y = m*x+q
। जब हम अण्डाकार वक्र के साथ प्रतिच्छेदन के बिंदुओं को खोजना चाहते हैं तो हम लिख सकते हैं
0 = x^3+Ax+B-y^2 = x^3+Ax+B-(m*x+q)^2
जो एक तीसरी डिग्री बहुपद है। ये आम तौर पर हल करने के लिए उतना आसान नहीं हैं, लेकिन हम पहले से ही इस बहुपद के दो शून्य जानते हैं: हम जिन दो बिंदुओं को जोड़ना चाहते हैं उनके दो- x
निर्देशांक x0, x1
!
इस तरह से हम रैखिक कारकों को बाहर निकालते हैं (x-x0)
और (x-x1)
एक तीसरे रैखिक कारक के साथ छोड़ दिया जाता है जिसका मूल बिंदु के x
-coordinate है R
। ( -R
। भी समरूपता की वजह से ध्यान दें कि यदि R = (x2,y2)
उसके बाद -R = (x2,-y2)
। -
समूह से है, यह एक vectorial शून्य से नहीं है।)
P
अपने आप में एक बिंदु जोड़ने के मामले में
इस मामले में हमें वक्र की स्पर्शरेखा की गणना करनी होगी P=(x0,y0)
। हम सीधे m
और q
इसके संदर्भ में लिख सकते हैं A,B,x0,y0
:
3*x0^2 + A
m = ------------
2*y0
-x0^3 + A*x0 + 2*B
q = --------------------
2*y0
हम समीकरण प्राप्त करते हैं y = m*x+q
और ऊपर के पैराग्राफ में उसी तरह आगे बढ़ सकते हैं।
एक पूरा मामला पेड़
यह उन सभी मामलों को संभालने की एक पूरी सूची है:
P,Q
आज्ञाचक्र वक्र ("अनंत" बिंदु सहित 0
) पर अंक दें
- यदि
P = 0
याQ = 0
, फिरP+Q = Q
याP+Q = P
, क्रमशः - वरना
P ≠ 0
औरQ ≠ 0
, इसलिएP = (x0,y0)
औरQ = (x1,y1)
:- अगर
P = -Q
(मतलब )x0 = x1
औरy0 = -y1
तबP+Q = 0
- अन्य
P ≠ -Q
- यदि
x0 = x1
हमारे पास हैP=Q
और हम प्राप्त करने के लिए स्पर्शरेखा (ऊपर अनुभाग देखें) की गणना करते हैंR
। फिरP+Q = P+P = 2P = -R
y = m*x+y
गणना : हम गणना करने के लिए उन दो बिंदुओं (ऊपर अनुभाग देखें) के माध्यम से प्रपत्र की एक पंक्ति का निर्माण कर सकते हैंR
। फिरP+Q=-R
- यदि
- अगर
परिमित खेत
इस चुनौती के लिए हम केवल उन क्षेत्रों के आकार पर विचार करेंगे p
जहाँ p
प्रधान है (और कुछ विवरणों के कारण p ≠ 2, p ≠ 3
)। इसका लाभ यह है कि आप आसानी से गणना कर सकते हैं mod p
। अन्य क्षेत्रों में अंकगणित बहुत अधिक जटिल है।
इस उदाहरण में हम सेट करते हैं p = 5
और यहां सभी समानताएं बधाई हैं mod 5
।
2+4 ≡ 6 ≡ 1
2-4 ≡ -2 ≡ 3
2*4 ≡ 8 ≡ 3
2/4 ≡ 2*4 ≡ 3 because 4*4 ≡ 16 ≡ 1, therefore 1/4 ≡ 4
चुनौती
A,B
एक अण्डाकार वक्र के मापदंडों को देखते हुए , एक प्रमुख क्षेत्र की विशेषता p
और P,Q
अण्डाकार वक्र पर दो बिंदु , उनकी राशि लौटाते हैं।
- आप मान सकते हैं कि पैरामीटर
A,B
वास्तव में एक अण्डाकार वक्र का वर्णन करते हैं, इसका मतलब है कि4A^3+27B^2 ≠ 0
। - आप मान सकते हैं कि
P,Q
वास्तव में दीर्घवृत्त वक्र या बिंदु पर बिंदु हैं0
। - आप मान सकते हैं कि
p ≠ 2,3
यह प्रमुख है।
परीक्षण के मामलों
मैंने MATLAB / ऑक्टेव में एक (बहुत सुरुचिपूर्ण नहीं) कार्यान्वयन किया, जिसे आप अपने स्वयं के परीक्षण मामलों के लिए उपयोग कर सकते हैं: ideone.com मुझे आशा है कि यह सही है। इसने कम से कम कुछ गणनाएँ कीं जो मैंने हाथ से कीं।
उन सभी वक्रों के लिए काम करने वाले तुच्छ परीक्षण मामलों पर ध्यान दें, जिन पर हम यहाँ विचार करते हैं:
शून्य जोड़ना: P+0 = P
व्युत्क्रम जोड़ना:(x,y) + (x,-y) = 0
के लिए p = 7, A = 0, B = 5
दो अंक P = (3,2)
और Q = (6,2)
अण्डाकार वक्र पर हैं। फिर निम्नलिखित का पालन करें:
2*Q = Q+Q = P
2*P = P+P = (5,2)
3*P = P+P+P = (5,2)+P = (6,5)
4*P = P+P+P+P = (5,2)+(5,2) = (6,5)+(5,2) = Q
अण्डाकार वक्र पर सभी संकेत हैं (3,2),(5,2),(6,2),(3,5),(5,5),(6,5),0
हमारे p = 13, A = 3, B = 8
लिए
(1,8)+(9,7) = (2,10)
(2,3)+(12,11) = (9,7)
2*(9,6) = (9,7)
3*(9,6) = 0
के लिए p = 17, A = 2, B = 2
और P=(5,1)
हम प्राप्त करते हैं
2*P = (6,3)
3*P = (10,6)
4*P = (3,1)
5*P = (9,16)
6*P = (16,13)
7*P = (0,6)
8*P = (13,7)
9*P = (7,6)
10*P = (7,11)
यदि आप वास्तव में महत्वाकांक्षी हैं, तो लें
p = 1550031797834347859248576414813139942411
A = 1009296542191532464076260367525816293976
x0 = 1317953763239595888465524145589872695690
y0 = 434829348619031278460656303481105428081
x1 = 1247392211317907151303247721489640699240
y1 = 207534858442090452193999571026315995117
और एक प्राकृतिक संख्या खोजने की कोशिश n
ऐसा है कि n*(x0,y0) = (x1,y1)
। अधिक जानकारी यहाँ।
अनुबंध
मेरे मसौदे की समीक्षा और संपादन के लिए सबसे पहले आप @ El'endiaStarman पर धन्यवाद!
अण्डाकार वक्र क्यों?
अच्छी तरह से यह किसी प्रकार के मनमाने समीकरण की तरह दिखाई दे सकता है, लेकिन यह नहीं है, यह काफी सामान्य है: आम तौर पर हम अनुमानी विमान में उन ज्यामितीय "आकृतियों" पर विचार करते हैं (यहीं से "अनन्तता" आ रही है। वहां हम सभी सजातीय मानते हैं। तीसरी डिग्री के बहुपद । (निम्न या उच्च डिग्री वालों के लिए परीक्षा करना बहुत कठिन या तुच्छ होगा।) हम चाहते हैं कि अच्छे गुण प्राप्त करने के लिए कुछ प्रतिबंधों को लागू करने के बाद, और उन बहुपद के dehomogenizing के बाद (तीन चक्कर विमानों में से एक में पेश करना)। ) हम जैसे समीकरणों के साथ समाप्त होते हैंy^2+a*x*y+b*y = x^3+c*x^2+d*x+e
यह लंबे वीयरस्ट्रैस रूप में एक अण्डाकार वक्र है। ये मूल रूप से वही वक्र हैं जो हमने माना था, लेकिन बस कुछ हद तक तिरछा। एक रेखीय समन्वय परिवर्तन के साथ, आप आसानी से उस से बाहर एक छोटा Weierstras समीकरण बना सकते हैं। उदाहरण , जो अभी भी सभी दिलचस्प गुणों को धारण करते हैं।
हमने बाहर क्यों किया p=2,3
?
यह इस तथ्य के साथ करना है कि लघु वेइरास्ट्रास फॉर्म के लिए हमें 4A^3+27B^2 ≠ 0
विलक्षणताओं से बचने के लिए प्रतिबंध की आवश्यकता है (उस पर अधिक)। विशेषता 2 के एक क्षेत्र में हमारे पास है 4 = 0
और हमारे पास विशेषता 3 के एक क्षेत्र में 27 = 0
, इस प्रकार के क्षेत्रों के लिए लघु वेइरास्ट्रास रूप में घटता होना असंभव है।
विलक्षणताएं क्या हैं?
यदि समीकरण 4A^3+27B^2=0
रखता है, तो हमारे पास निम्नलिखित जैसी विलक्षणताएं हैं: जैसा कि आप उन बिंदुओं पर देखते हैं जिन्हें आप व्युत्पन्न नहीं पाते हैं और इसलिए कोई स्पर्शरेखा नहीं है, जो ऑपरेशन को "मारता है"। आप समीकरणों को देख सकते हैं y^2 = x^3
याy^2 = x^3-3*x+2
उन्हें वैसे भी अण्डाकार वक्र क्यों कहा जाता है?
इसका कारण यह है कि इस आकार के समीकरण अण्डाकार इंटीग्रल्स में पॉप अप करते हैं, उदाहरण के लिए, जो कि आपको तब मिलते हैं जब आप उदाहरण के लिए एक दीर्घवृत्त के आरेख को caclulate करना चाहते हैं। नाम की उत्पत्ति के बारे में एक छोटा स्लाइड शो।
क्रिप्टोग्राफी के साथ उन्हें क्या करना है?
nP = P+P+...+P
बहुत कुशलता से गणना करने के तरीके हैं । इसका उपयोग डिफी हेलमैन कुंजी विनिमय में उदाहरण के लिए किया जा सकता है । मॉड्यूलर अंकगणित को मरोड़ उपसमूहों पर जोड़कर बदला जा सकता है, ये केवल वक्र पर बिंदु हैं जिनके पास परिमित आदेश है। (इसका मतलब है कि mP = 0
कुछ के लिए m
, जो मूल रूप से सिर्फ गणना कर रहा है mod m
)।
y^2 = x^3 + x
एक वैध दीर्घवृत्तीय वक्र है और वक्र(0,0) ≠ 0
पर एक बिंदु है!)