RSA एन्क्रिप्ट और डिक्रिप्ट
मुफ़्त ऑनलाइन RSA एन्क्रिप्ट और डिक्रिप्ट टूल। 100% स्थानीय प्रसंस्करण — आपका डेटा कभी आपके डिवाइस से नहीं जाता।
परिणाम यहां प्रदर्शित होगा...
इनपुट → एन्क्रिप्ट
Usage Guide
RSA के बारे में
RSA (Rivest–Shamir–Adleman) सबसे व्यापक रूप से उपयोग किया जाने वाला असममित एन्क्रिप्शन एल्गोरिदम है, जिसे 1977 में आविष्कार किया गया था। यह गणितीय रूप से जुड़ी एक कुंजी जोड़ी का उपयोग करता है: एन्क्रिप्शन के लिए एक सार्वजनिक कुंजी और डिक्रिप्शन के लिए एक निजी कुंजी। सुरक्षा बड़े पूर्णांकों को गुणनखंड करने की गणनात्मक कठिनाई पर आधारित है। RSA आधुनिक सुरक्षित संचार की नींव है — SSL/TLS प्रमाणपत्र, HTTPS, SSH, PGP और डिजिटल हस्ताक्षर सभी RSA या इसके वेरिएंट पर निर्भर करते हैं।
उपयोग के चरण
यह टूल RSA कुंजी जोड़ी निर्माण, एन्क्रिप्शन और डिक्रिप्शन का समर्थन करता है:
पैडिंग योजनाएं
RSA को सुरक्षित होने के लिए एक पैडिंग योजना की आवश्यकता होती है। यह टूल दो विकल्पों का समर्थन करता है:
कुंजी आकार मार्गदर्शिका
सही RSA कुंजी आकार चुनना सुरक्षा और प्रदर्शन के बीच एक संतुलन है:
FAQ
Q: RSA बड़ी फ़ाइलों को सीधे एन्क्रिप्ट क्यों नहीं कर सकता?
A: RSA केवल उन डेटा को एन्क्रिप्ट कर सकता है जो इसके कुंजी आकार से पैडिंग ओवरहेड घटाकर छोटे हों। OAEP-SHA256 के साथ 2048-बिट कुंजी के लिए, अधिकतम सादा टेक्स्ट केवल 190 बाइट्स है। बड़े डेटा के लिए, हाइब्रिड एन्क्रिप्शन का उपयोग करें: एक यादृच्छिक AES कुंजी बनाएं, AES से डेटा एन्क्रिप्ट करें, फिर केवल AES कुंजी को RSA से एन्क्रिप्ट करें।
Q: RSA एन्क्रिप्शन और RSA डिजिटल हस्ताक्षर में क्या अंतर है?
A: RSA एन्क्रिप्शन: प्राप्तकर्ता की सार्वजनिक कुंजी से एन्क्रिप्ट करें; केवल निजी कुंजी डिक्रिप्ट कर सकती है। गोपनीयता की गारंटी देता है। RSA डिजिटल हस्ताक्षर: अपनी निजी कुंजी से हस्ताक्षर करें; सार्वजनिक कुंजी वाला कोई भी सत्यापित कर सकता है। प्रामाणिकता और गैर-अस्वीकार्यता की गारंटी देता है।
Q: कुंजियां किस प्रारूप में निर्यात की जाती हैं?
A: यह टूल मानक PEM प्रारूप में कुंजियां निर्यात करता है:
निजी कुंजी: PKCS#8 (-----BEGIN PRIVATE KEY-----)
सार्वजनिक कुंजी: SPKI (-----BEGIN PUBLIC KEY-----)
ये प्रारूप OpenSSL, Node.js crypto, Python cryptography, Java और अधिकांश अन्य प्लेटफ़ॉर्म द्वारा सीधे आयात किए जा सकते हैं।
Q: क्या सार्वजनिक कुंजी को सार्वजनिक रूप से साझा करना सुरक्षित है?
A: हां — असममित क्रिप्टोग्राफी का यही उद्देश्य है। सार्वजनिक कुंजी को स्वतंत्र रूप से वितरित करने के लिए डिज़ाइन किया गया है। हालांकि: 1) निजी कुंजी कभी साझा न करें। 2) Man-in-the-middle प्रतिस्थापन को रोकने के लिए एक विश्वसनीय चैनल के माध्यम से सार्वजनिक कुंजी की प्रामाणिकता सत्यापित करें। 3) समय-समय पर कुंजी जोड़ियों को rotate करें।
Q: मुझे RSA बनाम AES का उपयोग कब करना चाहिए?
A: RSA कुंजी विनिमय और छोटे रहस्यों के लिए है: धीमा, सादा टेक्स्ट आकार में सीमित। AES बड़े पैमाने पर डेटा एन्क्रिप्शन के लिए है: तेज, किसी भी आकार को संभालता है। उन्हें एक साथ उपयोग करें — AES कुंजी संचारित करने के लिए RSA, डेटा एन्क्रिप्ट करने के लिए AES।
Q: Bleichenbacher हमला क्या है और यह क्यों महत्वपूर्ण है?
A: Bleichenbacher हमला (1998) PKCS1v15 पैडिंग के खिलाफ एक अनुकूली chosen-ciphertext हमला है। एक हमलावर अंततः निजी कुंजी के बिना सादा टेक्स्ट पुनर्प्राप्त कर सकता है। कई वास्तविक TLS कार्यान्वयन इस हमले के वेरिएंट के प्रति संवेदनशील रहे हैं (ROBOT हमला, 2017)। OAEP पैडिंग इस वर्ग के हमले के खिलाफ साबित रूप से सुरक्षित है।
Use Cases
अनुशंसित: AES के साथ हाइब्रिड एन्क्रिप्शन
एक यादृच्छिक AES-256-GCM कुंजी बनाएं, AES से पेलोड एन्क्रिप्ट करें, फिर AES कुंजी को प्राप्तकर्ता की RSA सार्वजनिक कुंजी से एन्क्रिप्ट करें। यह TLS, PGP और S/MIME द्वारा उपयोग किया जाने वाला पैटर्न है।
- ✅ AES कुंजी एन्क्रिप्ट करने के लिए RSA-OAEP (SHA-256)
- ✅ डेटा एन्क्रिप्ट करने के लिए AES-256-GCM
- ✅ न्यूनतम 2048-बिट RSA; दीर्घकालिक कुंजियों के लिए 4096-बिट
- ❌ RSA से सीधे बड़े डेटा एन्क्रिप्ट न करें
अनुशंसित: सुरक्षित रहस्य संचरण
RSA अविश्वसनीय चैनलों पर छोटे रहस्यों — पासवर्ड, टोकन, सममित कुंजियां — संचारित करने के लिए उपयुक्त है। OAEP पैडिंग और कम से कम 2048-बिट कुंजी का उपयोग करें।
- ✅ OAEP-SHA256 पैडिंग (अनुशंसित)
- ✅ 2048-बिट या 4096-बिट कुंजी आकार
- ✅ सार्वजनिक कुंजी की प्रामाणिकता सत्यापित करें (प्रमाणपत्र या फिंगरप्रिंट)
- 💡 2048-बिट OAEP-SHA256 के लिए रहस्यों को 190 बाइट्स से कम रखें
अनुशंसित: SSL/TLS कुंजी विनिमय (सूचनात्मक)
TLS 1.2 ने कुंजी विनिमय के लिए RSA का उपयोग किया। TLS 1.3 ने forward secrecy के लिए RSA कुंजी विनिमय को ECDHE से बदल दिया, लेकिन RSA प्रमाणपत्र अभी भी सर्वर प्रमाणीकरण के लिए उपयोग किए जाते हैं।
- ✅ TLS प्रमाणपत्रों के लिए न्यूनतम 2048-बिट
- ✅ Root CA प्रमाणपत्रों के लिए 4096-बिट
- ✅ TLS 1.3 पसंदीदा (ECDHE का उपयोग करता है, RSA कुंजी विनिमय नहीं)
- 💡 TLS 1.3 में RSA केवल प्रमाणीकरण के लिए उपयोग किया जाता है, कुंजी विनिमय के लिए नहीं
अनुशंसित: डिजिटल हस्ताक्षर (मुख्य अवधारणा)
RSA निजी कुंजियां डेटा पर हस्ताक्षर कर सकती हैं, और संबंधित सार्वजनिक कुंजी हस्ताक्षर सत्यापित करती है। नई कार्यान्वयनों के लिए RSA-PSS का उपयोग करें; PKCS1v15 हस्ताक्षर विरासत है लेकिन अभी भी व्यापक रूप से समर्थित है।
- ✅ RSA-PSS (आधुनिक, हस्ताक्षरों के लिए अनुशंसित)
- ✅ PKCS1v15 हस्ताक्षर (विरासत, व्यापक रूप से संगत)
- ✅ पहले संदेश को हैश करें (SHA-256 या मजबूत)
- 💡 हस्ताक्षर हस्ताक्षर करने के लिए निजी कुंजी और सत्यापन के लिए सार्वजनिक कुंजी का उपयोग करते हैं (एन्क्रिप्शन के विपरीत)
अनुशंसित नहीं: बड़ी फ़ाइल एन्क्रिप्शन
RSA सीधे ~190 बाइट्स से बड़े डेटा को एन्क्रिप्ट नहीं कर सकता (2048-बिट, OAEP-SHA256)। बड़े पैमाने पर डेटा के लिए हमेशा AES का उपयोग करें और RSA केवल AES कुंजी की सुरक्षा के लिए।
- ❌ RSA से सीधे फ़ाइलें या बड़े पेलोड एन्क्रिप्ट न करें
- ✅ डेटा के लिए AES-256-GCM का उपयोग करें
- ✅ केवल AES कुंजी एन्क्रिप्ट करने के लिए RSA-OAEP का उपयोग करें
- 💡 यह हाइब्रिड पैटर्न हर प्रमुख सुरक्षित प्रोटोकॉल द्वारा उपयोग किया जाता है
अनुशंसित नहीं: सममित-शैली डेटा एन्क्रिप्शन
RSA सममित एन्क्रिप्शन की तुलना में काफी धीमा (100–1000x) है और इसकी सादा टेक्स्ट आकार सीमा सख्त है। किसी भी बड़े पैमाने पर एन्क्रिप्शन के लिए, हमेशा AES चुनें।
- ❌ उच्च-आवृत्ति या उच्च-मात्रा एन्क्रिप्शन के लिए RSA का उपयोग न करें
- ✅ तेज, प्रमाणित बड़े पैमाने पर एन्क्रिप्शन के लिए AES-256-GCM
- ✅ केवल कुंजी विनिमय या छोटे रहस्यों के लिए RSA का उपयोग करें
- 💡 दोनों दुनियाओं के सर्वश्रेष्ठ के लिए RSA + AES मिलाएं
सर्वोत्तम अभ्यास अनुशंसाएं
- नई RSA एन्क्रिप्शन कार्यान्वयनों के लिए हमेशा OAEP-SHA256 पैडिंग का उपयोग करें। PKCS1v15 विरासत है और Bleichenbacher-शैली हमलों के प्रति संवेदनशील है।
- न्यूनतम 2048-बिट कुंजियों का उपयोग करें; 2030 से परे वैध रहने के इरादे वाले प्रमाणपत्रों या कुंजियों के लिए 4096-बिट को प्राथमिकता दें।
- RSA ~190 बाइट्स (2048-बिट, OAEP-SHA256) से बड़े डेटा को एन्क्रिप्ट नहीं कर सकता। बड़े डेटा के लिए, हाइब्रिड एन्क्रिप्शन का उपयोग करें: डेटा के लिए AES, AES कुंजी के लिए RSA।
- निजी कुंजी को गुप्त रखें और सुरक्षित रूप से संग्रहीत करें। निजी कुंजी से समझौता करने से संबंधित सार्वजनिक कुंजी से कभी भी एन्क्रिप्ट किए गए सभी संदेश उजागर हो जाते हैं।
- डिजिटल हस्ताक्षरों के लिए, PKCS1v15 हस्ताक्षर की तुलना में RSA-PSS को प्राथमिकता दें।