2010-07-09 15 views
14

आरएसए के लिए, मैं गुप्त एक्सपोनेंट की गणना कैसे करूं?आरएसए के लिए, मैं गुप्त एक्सपोनेंट की गणना कैसे करूं?

पी और क्यू दो प्राइम, और फाई = (पी -1) (क्यू -1), और सार्वजनिक एक्सपोनेंट (0x10001), मैं गुप्त एक्सपोनेंट 'डी' कैसे प्राप्त करूं?

मैं पढ़ा है मुझे क्या करना है कि: d = ई -1 आधुनिक फ़ाईmodular inversion और euclidean equation का उपयोग कर, लेकिन मैं नहीं समझ सकता कैसे या तो एक -1 ≡ एक्स उपरोक्त सूत्र नक्शे मॉड्यूलर इनवर्जन विकी पेज पर मॉड एम सूत्र, या यह यूक्लिडियन जीसीडी समीकरण के लिए कैसे मानचित्र करता है।

किसी कृपया मेरी मदद कर सकते, चियर्स

+1

यह जावा में कम से कम दिखता है, मुझे बस कुछ चाहिए जैसे डी = (java.math.bigInteger) e.modInverse (phi); – Chris

+0

हाँ, यह करना चाहिए ... शुभकामनाएँ! –

+0

मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह गणित है, प्रोग्रामिंग नहीं। –

उत्तर

17

आप अनुरूपता में d के लिए हल करने के लिए उपयोग कर सकते हैं extended Euclidean algorithm

de = 1 mod phi(m) 

RSA एन्क्रिप्शन के लिए, e एन्क्रिप्शन कुंजी है, डिक्रिप्शन कुंजी है, d और एन्क्रिप्शन और डिक्रिप्शन दोनों एक्सपोनेंटिएशन मोड m द्वारा किए जाते हैं। आप कुंजी e के साथ एक संदेश a एन्क्रिप्ट, और फिर कुंजी d का उपयोग कर इसे डिक्रिप्ट हैं, तो आप की गणना (एक ) एक डी आधुनिक m =। लेकिन de = 1 mod phi(m) के बाद से, Euler's totient theorem हमें बताता है कि एक डी अनुकूल एक आधुनिक मीटर है - दूसरे शब्दों में, आप मूल a वापस मिलता है।

वहाँ कोई ज्ञात कुशल तरीके केवल एन्क्रिप्शन कुंजी e और मापांक m जानने गुणन m = pq, तो RSA एन्क्रिप्शन सुरक्षित माना जाता है जानने के बिना, डिक्रिप्शन कुंजी d प्राप्त करने के लिए कर रहे हैं।

+1

मुझे यहां से कोड के साथ शुभकामनाएं मिलीं: http://en.wikipedia.org/wiki/Extended_Euclidean_algorithm#Recursive_method_2 बस उस फ़ंक्शन में एक = e, b = phi इनपुट करने से मुझे x, y-y को ​​छोड़ दिया जाता है, और एक्स गुप्त एक्सपोनेंट डी है! – Chris

+1

@ क्रिस: यह एक दयालु है यूलर और यूक्लिड पेटेंट राजस्व के अपने हिस्से को इकट्ठा करने के लिए जीवित नहीं रहे। बहुत लंबा, और सभी गणित के लिए धन्यवाद! –

+0

बस पूर्णता के लिए, समान मूल प्रदर्शन के साथ गणना करने का एक और तरीका डी = ई ** (फाई (फाई (एम)) - 1) मॉड फाई (एम) है। –

संबंधित मुद्दे