RSA एल्गोरिथम एक सार्वजनिक-कुंजी हस्ताक्षर एल्गोरिथ्म है जिसकी स्थापना रॉन रिवेस्ट, आदि शमीर और लियोनार्ड एडलमैन ने की थी। आरएसए डिजिटल हस्ताक्षर सत्यापन के प्रबंधन के साथ-साथ सुरक्षित रूप से सूचनाओं का आदान-प्रदान करने के लिए सामान्य डेटा को एन्क्रिप्ट और डिक्रिप्ट भी कर सकता है।
RSA एल्गोरिथ्म बड़ी संख्या के गुणनखंड में निहित जटिलता पर आधारित है। RSA एल्गोरिथ्म इस तथ्य पर निर्भर करता है कि बहुत बड़ी संख्या को गुणन करने का कोई प्रभावी तरीका नहीं है। इसलिए, RSA कुंजी निकालने में बहुत समय और संसाधन की शक्ति लगेगी।
RSA एल्गोरिथम असममित क्रिप्टोग्राफी एल्गोरिथम है क्योंकि यह दो अलग-अलग कुंजियों जैसे सार्वजनिक कुंजी और निजी कुंजी पर काम करता है। सार्वजनिक कुंजी सभी के लिए संभावित है, और निजी कुंजी निजी रहती है। सार्वजनिक कुंजी में दो नंबर शामिल होते हैं, जिनमें से एक दो बड़ी अभाज्य संख्याओं का गुणन होता है।
आरएसए एन्क्रिप्शन में, एक कोड के साथ एक संदेश एन्क्रिप्ट किया जाता है जिसे सार्वजनिक कुंजी के रूप में जाना जाता है, जिसे छिपाने की आवश्यकता नहीं होती है। यह आरएसए एल्गोरिथम के गणितीय गुणों पर आधारित है, क्योंकि एक संदेश को सार्वजनिक कुंजी के साथ एन्क्रिप्ट किया गया है, इसे केवल दूसरी कुंजी द्वारा डिक्रिप्ट किया जा सकता है, जिसे निजी कुंजी के रूप में जाना जाता है। इसलिए, ऐसे संदेशों को पढ़ने के लिए कुंजी के एक सेट की आवश्यकता होती है, जो सार्वजनिक और निजी कुंजी हैं।
आरएसए एल्गोरिथम में निम्नलिखित चरण हैं जो इस प्रकार हैं -
- कुंजियां बनाना
-
दो बड़ी अभाज्य संख्याएँ चुनें, जैसे कि P और Q। अभाज्य संख्याओं का बड़ा होना आवश्यक है ताकि किसी को पता लगाने के लिए वे जटिल हों।
-
गणना एन =पी एक्स क्यू
-
सार्वजनिक कुंजी (यानी, एन्क्रिप्शन कुंजी) E चुनें, ताकि यह (P-1) और (Q-1) का कारक न हो।
-
निजी कुंजी (यानी, डिक्रिप्शन कुंजी) डी चुनें, ताकि निम्नलिखित समीकरण सत्य हो -
(डी एक्स ई) मोड (पी -1) एक्स (क्यू -1) =1
-
एन्क्रिप्शन के लिए, सादा पाठ (पीटी) से सिफर टेक्स्ट (सीटी) की गणना निम्नानुसार करें -
सीटी =पीटी ई मॉड एन
-
रिसीवर को सिफर टेक्स्ट के रूप में सीटी भेजें।
-
एन्क्रिप्शन के लिए, सिफर टेक्स्ट (सीटी) से प्लेन टेक्स्ट (पीटी) की गणना निम्नानुसार करें -
पीटी =सीटी डी मॉड एन
-
-
एन्क्रिप्शन/डिक्रिप्शन फ़ंक्शन - एक बार जब यह कुंजी उत्पन्न कर सकता है, और यह संबंधित कुंजी का उपयोग करके सिफरटेक्स्ट और प्लेनटेक्स्ट की गणना करने वाले फ़ंक्शन को पैरामीटर पास कर सकता है।
-
अगर प्लेनटेक्स्ट m है, तो सिफरटेक्स्ट =me mod n.
-
यदि सिफरटेक्स्ट c है, तो प्लेनटेक्स्ट =cd mod n
-
-
उदाहरण के लिए, जहाँ p =17 और q=13। e का मान 5 हो सकता है क्योंकि यह 1
एन =पी * क्यू =91
डी =ई-1 मॉड (पी-1) (क्यू-1) =29
सार्वजनिक कुंजी जोड़ी =(91, 5)
निजी कुंजी जोड़ी =(91, 29)
यदि प्लेनटेक्स्ट (m) का मान 10 है, तो यह फ़ॉर्मूला me mod n =82 का उपयोग करके इसे एन्कोड कर सकता है।
इस सिफरटेक्स्ट(c) को मूल डेटा पर वापस डिक्रिप्ट करने के लिए, इसे सूत्र cd mod n =29 का उपयोग करना चाहिए।