RSA एन्क्रिप्ट और डिक्रिप्ट

मुफ़्त ऑनलाइन RSA एन्क्रिप्ट और डिक्रिप्ट टूल। 100% स्थानीय प्रसंस्करण — आपका डेटा कभी आपके डिवाइस से नहीं जाता।

National Standards
Other
आउटपुट

परिणाम यहां प्रदर्शित होगा...

इनपुट एन्क्रिप्ट

Usage Guide

RSA के बारे में

RSA (Rivest–Shamir–Adleman) सबसे व्यापक रूप से उपयोग किया जाने वाला असममित एन्क्रिप्शन एल्गोरिदम है, जिसे 1977 में आविष्कार किया गया था। यह गणितीय रूप से जुड़ी एक कुंजी जोड़ी का उपयोग करता है: एन्क्रिप्शन के लिए एक सार्वजनिक कुंजी और डिक्रिप्शन के लिए एक निजी कुंजी। सुरक्षा बड़े पूर्णांकों को गुणनखंड करने की गणनात्मक कठिनाई पर आधारित है। RSA आधुनिक सुरक्षित संचार की नींव है — SSL/TLS प्रमाणपत्र, HTTPS, SSH, PGP और डिजिटल हस्ताक्षर सभी RSA या इसके वेरिएंट पर निर्भर करते हैं।

असममित एन्क्रिप्शन: सममित एल्गोरिदम (जैसे AES) के विपरीत, RSA एन्क्रिप्शन और डिक्रिप्शन के लिए अलग-अलग कुंजियों का उपयोग करता है। आप सार्वजनिक कुंजी स्वतंत्र रूप से साझा कर सकते हैं — केवल निजी कुंजी का धारक ही उससे एन्क्रिप्ट किए गए संदेशों को डिक्रिप्ट कर सकता है।

उपयोग के चरण

यह टूल RSA कुंजी जोड़ी निर्माण, एन्क्रिप्शन और डिक्रिप्शन का समर्थन करता है:

1. कुंजी आकार चुनेंकुंजी आकार चुनें (2048 की अनुशंसा; उच्च सुरक्षा के लिए 4096)। बड़ी कुंजियां अधिक सुरक्षित होती हैं लेकिन धीमी होती हैं।
2. कुंजी जोड़ी बनाएंसार्वजनिक/निजी कुंजी जोड़ी बनाने के लिए 'कुंजी जोड़ी बनाएं' पर क्लिक करें। दोनों कुंजियां PEM प्रारूप में निर्यात की जाती हैं।
3. कुंजियां सहेजेंदोनों कुंजियों की प्रतिलिपि बनाएं और सुरक्षित रूप से सहेजें। निजी कुंजी को गुप्त रखना आवश्यक है — खोने का अर्थ है डिक्रिप्ट करने में स्थायी अक्षमता।
4. एन्क्रिप्ट करेंसार्वजनिक कुंजी पेस्ट करें, सादा टेक्स्ट संदेश दर्ज करें, 'एन्क्रिप्ट करें' पर क्लिक करें। आउटपुट एक Base64-एन्कोडेड सिफरटेक्स्ट है।
5. डिक्रिप्ट करेंनिजी कुंजी पेस्ट करें, Base64 सिफरटेक्स्ट को इनपुट फ़ील्ड में पेस्ट करें, सादा टेक्स्ट पुनर्प्राप्त करने के लिए 'डिक्रिप्ट करें' पर क्लिक करें।
गोपनीयता सुरक्षा: सभी कुंजी निर्माण और क्रिप्टोग्राफ़िक ऑपरेशन पूरी तरह से आपके ब्राउज़र में चलते हैं। कोई भी कुंजी या सादा टेक्स्ट कभी भी किसी सर्वर पर नहीं भेजा जाता।

पैडिंग योजनाएं

RSA को सुरक्षित होने के लिए एक पैडिंग योजना की आवश्यकता होती है। यह टूल दो विकल्पों का समर्थन करता है:

OAEP (अनुशंसित)SHA-256 के साथ Optimal Asymmetric Encryption Padding। आधुनिक मानक — प्रायिकतावादी, शब्दार्थ रूप से सुरक्षित, और chosen-ciphertext हमलों के प्रति प्रतिरोधी। सभी नई परियोजनाओं के लिए OAEP का उपयोग करें।
PKCS1v15 (विरासत)PKCS #1 v1.5 पैडिंग। पुराने सिस्टम में व्यापक रूप से समर्थित लेकिन Bleichenbacher के अनुकूली chosen-ciphertext हमले के प्रति संवेदनशील। केवल विरासत प्रणालियों के साथ संगतता के लिए उपयोग करें।
सुरक्षा चेतावनी: नई कार्यान्वयनों के लिए हमेशा OAEP पैडिंग को प्राथमिकता दें। PKCS1v15 को विरासत माना जाता है और Bleichenbacher हमले के प्रति संवेदनशील है।

कुंजी आकार मार्गदर्शिका

सही RSA कुंजी आकार चुनना सुरक्षा और प्रदर्शन के बीच एक संतुलन है:

1024-बिट (कमजोर)अब सुरक्षित नहीं माना जाता। आधुनिक कंप्यूटिंग संसाधनों से तोड़ा जा सकता है। किसी भी नए सिस्टम के लिए उपयोग न करें।
2048-बिट (न्यूनतम)NIST और प्रमुख CAs द्वारा अनुशंसित वर्तमान उद्योग न्यूनतम। ~2030 तक अधिकांश अनुप्रयोगों के लिए पर्याप्त।
3072-बिट (मजबूत)2030 से परे सुरक्षा की आवश्यकता वाले सिस्टम के लिए अनुशंसित। AES-128 के सुरक्षा स्तर से मेल खाता है।
4096-बिट (उच्च सुरक्षा)AES-192 सुरक्षा स्तर से मेल खाता है। दीर्घकालिक कुंजियों के लिए उपयुक्त (जैसे, root CA प्रमाणपत्र) लेकिन काफी धीमा।
व्यावहारिक अनुशंसा: दैनिक उपयोग और अल्पकालिक कुंजियों के लिए 2048-बिट का उपयोग करें। Root प्रमाणपत्र प्राधिकरणों या कई वर्षों तक वैध रहने के इरादे वाली कुंजियों के लिए 4096-बिट का उपयोग करें।

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 द्वारा उपयोग किया जाने वाला पैटर्न है।

Recommended Configuration:
  • ✅ AES कुंजी एन्क्रिप्ट करने के लिए RSA-OAEP (SHA-256)
  • ✅ डेटा एन्क्रिप्ट करने के लिए AES-256-GCM
  • ✅ न्यूनतम 2048-बिट RSA; दीर्घकालिक कुंजियों के लिए 4096-बिट
  • ❌ RSA से सीधे बड़े डेटा एन्क्रिप्ट न करें
अनुशंसित: सुरक्षित रहस्य संचरण

RSA अविश्वसनीय चैनलों पर छोटे रहस्यों — पासवर्ड, टोकन, सममित कुंजियां — संचारित करने के लिए उपयुक्त है। OAEP पैडिंग और कम से कम 2048-बिट कुंजी का उपयोग करें।

Recommended Configuration:
  • ✅ OAEP-SHA256 पैडिंग (अनुशंसित)
  • ✅ 2048-बिट या 4096-बिट कुंजी आकार
  • ✅ सार्वजनिक कुंजी की प्रामाणिकता सत्यापित करें (प्रमाणपत्र या फिंगरप्रिंट)
  • 💡 2048-बिट OAEP-SHA256 के लिए रहस्यों को 190 बाइट्स से कम रखें
अनुशंसित: SSL/TLS कुंजी विनिमय (सूचनात्मक)

TLS 1.2 ने कुंजी विनिमय के लिए RSA का उपयोग किया। TLS 1.3 ने forward secrecy के लिए RSA कुंजी विनिमय को ECDHE से बदल दिया, लेकिन RSA प्रमाणपत्र अभी भी सर्वर प्रमाणीकरण के लिए उपयोग किए जाते हैं।

Recommended Configuration:
  • ✅ TLS प्रमाणपत्रों के लिए न्यूनतम 2048-बिट
  • ✅ Root CA प्रमाणपत्रों के लिए 4096-बिट
  • ✅ TLS 1.3 पसंदीदा (ECDHE का उपयोग करता है, RSA कुंजी विनिमय नहीं)
  • 💡 TLS 1.3 में RSA केवल प्रमाणीकरण के लिए उपयोग किया जाता है, कुंजी विनिमय के लिए नहीं
अनुशंसित: डिजिटल हस्ताक्षर (मुख्य अवधारणा)

RSA निजी कुंजियां डेटा पर हस्ताक्षर कर सकती हैं, और संबंधित सार्वजनिक कुंजी हस्ताक्षर सत्यापित करती है। नई कार्यान्वयनों के लिए RSA-PSS का उपयोग करें; PKCS1v15 हस्ताक्षर विरासत है लेकिन अभी भी व्यापक रूप से समर्थित है।

Recommended Configuration:
  • ✅ RSA-PSS (आधुनिक, हस्ताक्षरों के लिए अनुशंसित)
  • ✅ PKCS1v15 हस्ताक्षर (विरासत, व्यापक रूप से संगत)
  • ✅ पहले संदेश को हैश करें (SHA-256 या मजबूत)
  • 💡 हस्ताक्षर हस्ताक्षर करने के लिए निजी कुंजी और सत्यापन के लिए सार्वजनिक कुंजी का उपयोग करते हैं (एन्क्रिप्शन के विपरीत)
अनुशंसित नहीं: बड़ी फ़ाइल एन्क्रिप्शन

RSA सीधे ~190 बाइट्स से बड़े डेटा को एन्क्रिप्ट नहीं कर सकता (2048-बिट, OAEP-SHA256)। बड़े पैमाने पर डेटा के लिए हमेशा AES का उपयोग करें और RSA केवल AES कुंजी की सुरक्षा के लिए।

Recommended Configuration:
  • ❌ RSA से सीधे फ़ाइलें या बड़े पेलोड एन्क्रिप्ट न करें
  • ✅ डेटा के लिए AES-256-GCM का उपयोग करें
  • ✅ केवल AES कुंजी एन्क्रिप्ट करने के लिए RSA-OAEP का उपयोग करें
  • 💡 यह हाइब्रिड पैटर्न हर प्रमुख सुरक्षित प्रोटोकॉल द्वारा उपयोग किया जाता है
अनुशंसित नहीं: सममित-शैली डेटा एन्क्रिप्शन

RSA सममित एन्क्रिप्शन की तुलना में काफी धीमा (100–1000x) है और इसकी सादा टेक्स्ट आकार सीमा सख्त है। किसी भी बड़े पैमाने पर एन्क्रिप्शन के लिए, हमेशा AES चुनें।

Recommended Configuration:
  • ❌ उच्च-आवृत्ति या उच्च-मात्रा एन्क्रिप्शन के लिए 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 को प्राथमिकता दें।

चर्चा और प्रतिक्रिया

0 टिप्पणियां
मैं