पावर मॉड्यूलो (a^b mod n) को कुशलतापूर्वक गणना करें। क्रिप्टोग्राफी, संख्या सिद्धांत और कंप्यूटर विज्ञान में उपयोग किए जाने वाले मॉड्यूलर घातांकन के लिए निःशुल्क कैलकुलेटर।
मॉड्यूलर घातांकन, जिसे a^b mod n के रूप में व्यक्त किया जाता है, संख्या सिद्धांत और कम्प्यूटेशनल गणित में एक मौलिक संक्रिया का प्रतिनिधित्व करता है, जहां हम शेषफल की गणना करते हैं जब किसी संख्या को घात तक बढ़ाकर मॉड्यूलस से विभाजित किया जाता है। मानक घातांकन के विपरीत जो खगोलीय रूप से बड़ी संख्याएं उत्पन्न कर सकता है, मॉड्यूलर घातांकन परिणामों को 0 से n-1 तक एक सीमित सीमा तक सीमित करता है, जिससे यह विशाल घातांकों के साथ भी कम्प्यूटेशनल रूप से प्रबंधनीय बन जाता है। यह संक्रिया आधुनिक क्रिप्टोग्राफिक सिस्टम के लिए गणितीय नींव बनाती है जिसमें RSA एन्क्रिप्शन, डिजिटल हस्ताक्षर और सुरक्षित संचार प्रोटोकॉल शामिल हैं जो इंटरनेट लेनदेन, मैसेजिंग ऐप और वित्तीय प्रणालियों की रक्षा करते हैं। पावर मॉड गणना धोखे से सरल लगती है—a^b की गणना करें, फिर n से विभाजित करने पर शेषफल खोजें—लेकिन बड़े मानों के लिए, यह सरल दृष्टिकोण अव्यावहारिक हो जाता है। उदाहरण के लिए, मानक विधियों का उपयोग करके 7^256 mod 13 की गणना करने के लिए मॉड्यूलो लागू करने से पहले पहले 7^256 की गणना करने की आवश्यकता होती है, जो 200 से अधिक अंकों वाली संख्या है। कुशल एल्गोरिदम इस चुनौती को मॉड्यूलर अंकगणित के गुणों के माध्यम से व्यावहारिक गणना में बदल देते हैं।
कई परिष्कृत तकनीकें निषेधात्मक रूप से बड़े मध्यवर्ती मानों की गणना किए बिना कुशल पावर मॉड गणना को सक्षम करती हैं। वर्ग-और-गुणन एल्गोरिदम (बाइनरी घातांकन) बार-बार वर्ग करके और शेषफल लेकर कम्प्यूटेशनल जटिलता को नाटकीय रूप से कम करता है, अंतिम परिणाम को क्रमिक रूप से बनाता है। यह विधि इस गुण का उपयोग करती है कि (a × b) mod n = [(a mod n) × (b mod n)] mod n, जिससे हम प्रत्येक चरण में मध्यवर्ती परिणामों को कम कर सकते हैं। उदाहरण के लिए, 5^13 mod 7 की गणना करने के लिए, हम घातांक को बाइनरी में परिवर्तित करते हैं (13 = 1101₂), फिर 5¹ = 5, 5² = 4 (mod 7), 5⁴ = 2 (mod 7), 5⁸ = 4 (mod 7) की गणना करते हैं, और अंत में बाइनरी प्रतिनिधित्व में 1s के अनुरूप पदों को गुणा करते हैं: 5⁸ × 5⁴ × 5¹ = 4 × 2 × 5 = 5 (mod 7)। उन्नत गणितीय प्रमेय गणनाओं को और अधिक अनुकूलित करते हैं। फर्मा का छोटा प्रमेय बताता है कि यदि p अभाज्य है और a, p से विभाज्य नहीं है, तो a^(p-1) ≡ 1 (mod p), जो घातांक में कमी की अनुमति देता है। यूलर का प्रमेय इसे किसी भी मॉड्यूलस के लिए सामान्यीकृत करता है, जब संख्याएं विशिष्ट शर्तों को पूरा करती हैं तो महत्वपूर्ण कम्प्यूटेशनल शॉर्टकट को सक्षम करता है।
मॉड्यूलर घातांकन के अनुप्रयोग सैद्धांतिक गणित से कहीं आगे वास्तविक दुनिया की महत्वपूर्ण प्रणालियों तक फैले हुए हैं। RSA क्रिप्टोग्राफी में, सुरक्षा असतत लघुगणक खोजने की कम्प्यूटेशनल कठिनाई पर निर्भर करती है—अनिवार्य रूप से मॉड्यूलर घातांकन को उलट देना। जब आप HTTPS वाली वेबसाइट पर जाते हैं, तो आपका ब्राउज़र और सर्वर कुंजी विनिमय का उपयोग करके सुरक्षित कनेक्शन स्थापित करते हैं जिसमें सैकड़ों अंकों की लंबाई वाली संख्याओं के साथ पावर मॉड गणनाएं शामिल होती हैं। क्रिप्टोकरेंसी माइनिंग और ब्लॉकचेन सत्यापन हैशिंग एल्गोरिदम में मॉड्यूलर घातांकन का उपयोग करते हैं जो लेनदेन को सुरक्षित करते हैं। कंप्यूटर सिमुलेशन में स्यूडोरैंडम संख्या जनरेटर वांछनीय सांख्यिकीय गुणों वाले अनुक्रमों का उत्पादन करने के लिए मॉड्यूलर घातांकन का उपयोग करते हैं। डिजिटल हस्ताक्षर योजनाएं पावर मॉड संचालन के माध्यम से संदेश प्रामाणिकता की पुष्टि करती हैं—प्रेषक अपनी निजी कुंजी के साथ हस्ताक्षर करता है, और प्राप्तकर्ता सार्वजनिक कुंजी का उपयोग करके सत्यापित करते हैं, दोनों में मॉड्यूलर घातांकन शामिल है। एल्गोरिथमिक जटिलता का अध्ययन करने वाले कंप्यूटर वैज्ञानिक कम्प्यूटेशनल तकनीकों के लिए बेंचमार्क के रूप में पावर मॉड दक्षता का विश्लेषण करते हैं। यहां तक कि प्रतीत होता है सरल अनुप्रयोग जैसे कि चक्रीय रूप से वस्तुओं को वितरित करना या अनुक्रमों में दोहराए जाने वाले पैटर्न की गणना करना मॉड्यूलर अंकगणित सिद्धांतों का उपयोग करते हैं, यह प्रदर्शित करते हुए कि यह गणितीय संक्रिया उन्नत सुरक्षा प्रणालियों और रोजमर्रा के कम्प्यूटेशनल कार्यों दोनों में कैसे व्याप्त है।
नियमित घातांकन a^b की सीधे गणना करता है, संभावित रूप से विशाल परिणाम उत्पन्न करता है—उदाहरण के लिए, 2^100 एक 31-अंकीय संख्या उत्पन्न करता है। मॉड्यूलर घातांकन (a^b mod n) शेषफल की गणना करता है जब a^b को n से विभाजित किया जाता है, घातांक के आकार की परवाह किए बिना परिणाम को 0 और n-1 के बीच सीमित करता है। मुख्य अंतर केवल अंतिम आउटपुट में नहीं बल्कि कम्प्यूटेशनल दृष्टिकोण में निहित है। जबकि सरल मॉड्यूलर घातांकन पहले a^b की गणना कर सकता है फिर मॉड्यूलो लागू कर सकता है, कुशल विधियां प्रत्येक चरण में मॉड्यूलो में कमी के साथ घातांकन को अंतर्निहित करती हैं, मध्यवर्ती मानों को अनियंत्रित रूप से बढ़ने से रोकती हैं। यह 2^10000 mod 13 की गणना को कम्प्यूटेशनल रूप से संभव बनाता है जबकि 2^10000 को स्वयं हजारों अंकों की आवश्यकता होगी। गणितीय गुण भी भिन्न होते हैं: नियमित घातांकन एकरस है (बड़े घातांक बड़े परिणाम उत्पन्न करते हैं), जबकि मॉड्यूलर घातांकन मानों के माध्यम से चक्र करता है, आवधिक पैटर्न बनाता है। यह चक्रीय व्यवहार क्रिप्टोग्राफिक अनुप्रयोगों को सक्षम करता है जहां संचालन को उलटना (लघुगणक खोजना) कम्प्यूटेशनल रूप से अव्यवहार्य हो जाता है, भले ही आगे की गणना कुशल हो।
फर्मा का छोटा प्रमेय मॉड्यूलर घातांकन के लिए एक शक्तिशाली शॉर्टकट प्रदान करता है जब मॉड्यूलस अभाज्य हो। प्रमेय बताता है कि यदि p अभाज्य है और a, p से विभाज्य नहीं है, तो a^(p-1) ≡ 1 (mod p)। इसका अर्थ है कि a को घात p-1 तक बढ़ाना हमेशा p से विभाजित करने पर शेषफल 1 देता है। परिणामस्वरूप, हम (p-1) मॉड्यूलो में काम करके बड़े घातांकों को कम कर सकते हैं। उदाहरण के लिए, 7^100 mod 11 की गणना करने के लिए, पूर्ण घातांक की गणना करने के बजाय, हम पहचानते हैं कि 11 अभाज्य है, इसलिए फर्मा के प्रमेय द्वारा 7^10 ≡ 1 (mod 11)। फिर हम घातांक को कम करते हैं: 100 = 10 × 10 + 0, जिसका अर्थ है 7^100 = (7^10)^10 ≡ 1^10 = 1 (mod 11)। इस प्रमेय के बिना, गणना कहीं अधिक जटिल होगी। यूलर का प्रमेय यूलर के टोटिएंट फ़ंक्शन φ(n) का उपयोग करके इस सिद्धांत को समग्र मॉड्यूली तक विस्तारित करता है, यह स्थापित करता है कि a^φ(n) ≡ 1 (mod n) जब a और n सहअभाज्य हों। ये प्रमेय अन्यथा असाध्य गणनाओं को सरल अंकगणित में बदल देते हैं, यही कारण है कि वे RSA एन्क्रिप्शन और अन्य क्रिप्टोग्राफिक सिस्टम के लिए मौलिक हैं।
मॉड्यूलर घातांकन सार्वजनिक-कुंजी क्रिप्टोग्राफी सिस्टम की गणितीय रीढ़ बनाता है जो आधुनिक डिजिटल संचार को सुरक्षित करते हैं। इसका महत्व एक महत्वपूर्ण असमानता से उपजा है: तेज़ एल्गोरिदम का उपयोग करके a^b mod n की गणना कुशल है, लेकिन प्रक्रिया को उलटना (a, a^b mod n, और n को देखते हुए b खोजना) उचित रूप से चुने गए बड़े मानों के लिए कम्प्यूटेशनल रूप से अव्यवहार्य है। यह एकतरफा फ़ंक्शन गुण RSA एन्क्रिप्शन को सक्षम करता है, जहां संदेशों को सार्वजनिक घातांकन का उपयोग करके एन्क्रिप्ट किया जाता है और संबंधित लेकिन भिन्न घातांकों के साथ निजी घातांकन का उपयोग करके डिक्रिप्ट किया जाता है। डिफी-हेलमैन कुंजी विनिमय, जो दो पक्षों को असुरक्षित चैनलों पर साझा रहस्य स्थापित करने की अनुमति देता है, g^x mod p और g^y mod p की गणना पर निर्भर करता है—जासूस इन सार्वजनिक मूल्यों से साझा रहस्य g^(xy) mod p को आसानी से निर्धारित नहीं कर सकते। डिजिटल हस्ताक्षर समान सिद्धांतों का उपयोग करते हैं: हस्ताक्षर करने में निजी कुंजी के साथ मॉड्यूलर घातांकन शामिल है, सत्यापन संबंधित सार्वजनिक कुंजी का उपयोग करता है, और हस्ताक्षर जालसाजी के लिए असतत लघुगणक समस्या को हल करने की आवश्यकता होती है—ज्ञात आधार, परिणाम और मॉड्यूलस से घातांक निकालना—जो पर्याप्त रूप से बड़ी संख्याओं के लिए कम्प्यूटेशनल रूप से असाध्य रहता है। क्वांटम कंप्यूटर इन प्रणालियों को खतरे में डालते हैं क्योंकि शोर का एल्गोरिदम शास्त्रीय विधियों की तुलना में असतत लघुगणक समस्याओं को घातीय रूप से तेज़ी से हल कर सकता है, जो पोस्ट-क्वांटम क्रिप्टोग्राफी में अनुसंधान को प्रोत्साहित करता है।
वर्ग-और-गुणन एल्गोरिदम (बाइनरी घातांकन भी कहा जाता है) घातांक b को बाइनरी में प्रस्तुत करके और एक समय में एक बिट संसाधित करके कुशलतापूर्वक a^b mod n की गणना करता है। विधि बार-बार आधार को वर्ग करके और मॉड्यूलो n में कमी करके काम करती है, फिर बाइनरी घातांक में 1-बिट्स के अनुरूप चयनित वर्ग मानों को गुणा करती है। यहां बताया गया है कि यह 3^13 mod 7 के लिए कैसे काम करता है: पहले, 13 को बाइनरी में बदलें: 1101। परिणाम = 1 और आधार = 3 प्रारंभ करें। बाएं से दाएं प्रत्येक बिट को संसाधित करें: (1) पहले '1' के लिए, परिणाम = परिणाम × आधार = 1 × 3 = 3 mod 7। आधार को वर्ग करें: 3² = 9 ≡ 2 (mod 7)। (2) '1' के लिए, परिणाम = 3 × 2 = 6 mod 7। आधार को वर्ग करें: 2² = 4 (mod 7)। (3) '0' के लिए, गुणन छोड़ें। आधार को वर्ग करें: 4² = 16 ≡ 2 (mod 7)। (4) '1' के लिए, परिणाम = 6 × 2 = 12 ≡ 5 (mod 7)। अंतिम उत्तर: 5। इसके लिए केवल log₂(b) गुणन की आवश्यकता होती है b-1 के बजाय, 3^13 को 12 गुणन से घटाकर केवल 4 वर्ग और 3 गुणन कर देता है—एक नाटकीय दक्षता लाभ जो सैकड़ों अंकों की लंबाई वाले घातांकों के साथ क्रिप्टोग्राफिक अनुप्रयोगों के लिए महत्वपूर्ण है।
हां, मॉड्यूलर घातांकन मॉड्यूलर गुणक व्युत्क्रमों की अवधारणा के माध्यम से नकारात्मक घातांकों तक फैला हुआ है। a^(-b) mod n की गणना करने का अर्थ है a^b मॉड्यूलो n का व्युत्क्रम खोजना—एक मान x ऐसा कि (a^b × x) ≡ 1 (mod n)। यदि ऐसा व्युत्क्रम मौजूद है (जिसके लिए gcd(a^b, n) = 1 आवश्यक है), तो a^(-b) ≡ (a^b)^(-1) (mod n)। इसकी गणना करने के लिए, पहले मानक विधियों का उपयोग करके a^b mod n की गणना करें, फिर विस्तारित यूक्लिडियन एल्गोरिदम का उपयोग करके इसका गुणक व्युत्क्रम खोजें। उदाहरण के लिए, 3^(-4) mod 7 की गणना करने के लिए: 3^4 = 81 ≡ 4 (mod 7) की गणना करें, फिर 4 मॉड्यूलो 7 का व्युत्क्रम खोजें, जो 2 है क्योंकि 4 × 2 = 8 ≡ 1 (mod 7)। इसलिए, 3^(-4) ≡ 2 (mod 7)। एक वैकल्पिक दृष्टिकोण फर्मा के छोटे प्रमेय का उपयोग करता है जब n अभाज्य हो: चूंकि a^(n-1) ≡ 1 (mod n), हमारे पास a^(-b) ≡ a^(n-1-b) (mod n) है, नकारात्मक घातांकों को सकारात्मक में परिवर्तित करता है। यह तकनीक क्रिप्टोग्राफिक प्रोटोकॉल में उपयोगी साबित होती है जिसमें मॉड्यूलर विभाजन की आवश्यकता होती है, जिसे मॉड्यूलर व्युत्क्रम द्वारा गुणन के रूप में लागू किया जाता है। सभी आधारों में प्रत्येक मॉड्यूलस के लिए व्युत्क्रम नहीं होते हैं—यदि gcd(a, n) > 1, व्युत्क्रम मौजूद नहीं है, जो सीमित करता है कि नकारात्मक घातांकों की गणना कब की जा सकती है।