RSA पब्लिक-की एन्क्रिप्शन के लिए एक क्रिप्टोसिस्टम है, और असुरक्षित नेटवर्क (इंटरनेट सहित) पर भेजी जाने वाली संवेदनशील जानकारी को सुरक्षित करने के लिए व्यापक रूप से उपयोग किया जाता है।
RSA एल्गोरिदम सबसे लोकप्रिय असममित कुंजी क्रिप्टोग्राफिक एल्गोरिदम है जो इस गणितीय तथ्य पर निर्भर करता है कि बड़ी अभाज्य संख्याओं को खोजना और गुणा करना आसान है लेकिन उनके गुणनफल को फैक्टर करना जटिल है। इसे निजी और सार्वजनिक दोनों कुंजियों की आवश्यकता होती है।
RSA एल्गोरिदम का उदाहरण
आइए इस प्रक्रिया का एक उदाहरण लेकर अवधारणाओं को सीखें। पढ़ने में आसानी के लिए, एल्गोरिदम चरणों के साथ उदाहरण मान लिखे जा सकते हैं।
दो बड़ी अभाज्य संख्याएँ P और Q चुनें
मान लें P = 7, Q = 17
N = P × Q की गणना करें
हमारे पास, N = 7 × 17 = 119।
पब्लिक की (यानी एन्क्रिप्शन की) E चुनें जैसे कि यह (P-1) × (Q-1) का तत्व न हो
- (7 - 1) × (17 - 1) = 6 × 16 = 96 ज्ञात करें
- 96 के गुणनखंड 2, 2, 2, 2, 2, और 3 हैं (क्योंकि 96 = 2 × 2 × 2 × 2 × 2 × 3)।
- इसलिए, E ऐसा चुनें कि E का कोई भी गुणनखंड 2 और 3 न हो। हम E को 4 (क्योंकि इसका गुणनखंड 2 है), 15 (क्योंकि इसका गुणनखंड 3 है) और 6 (क्योंकि इसके गुणनखंड 2 और 3 दोनों हैं) के रूप में नहीं चुन सकते।
- आइए E को 5 के रूप में चुनें (यह कोई अन्य संख्या हो सकती थी जिसके गुणनखंड 2 और 3 न हों)।
प्राइवेट की (यानी डिक्रिप्शन की) D चुनें जिसमें निम्न समीकरण सत्य हो:
(D × E) mod (P - 1) × (Q - 1) = 1
- समीकरण में E, P, और Q के मान रखें।
- हमारे पास (D × 5) mod (7 - 1) × (17 - 1) = 1 है।
- अर्थात, (D × 5) mod (6) × (16) = 1।
- अर्थात, (D × 5) mod (96) = 1
- कुछ गणनाओं के बाद, मान लें D = 77। तब निम्न सत्य है: (77 × 5) mod (96) = 385 mod 96 = 1 जो हमें चाहिए था।
एन्क्रिप्शन के लिए, प्लेन टेक्स्ट (PT) से सिफर टेक्स्ट (CT) की गणना करें:
CT = PTE mod N
मान लें कि हम प्लेन टेक्स्ट 10 को एन्क्रिप्ट करना चाहते हैं। तब,
CT = 105 mod 119 = 100000 mod 119 = 40।
सिफर टेक्स्ट को रिसीवर को भेजें।
सिफर टेक्स्ट के रूप में 40 भेजें।
डिक्रिप्शन के लिए, सिफर टेक्स्ट (CT) से प्लेन टेक्स्ट (PT) की गणना करें:
PT = CTD mod N
यह निम्न करता है:
PT = CTD mod N
अर्थात,
PT = 4077 mod 119 = 10, जो चरण 5 का मूल प्लेनटेक्स्ट था।