प्राइवेट की से RSA डिक्रिप्शन

RSA सिफ़रटेक्स्ट (Base64 या hex) को PEM प्राइवेट की से डिक्रिप्ट करें: RSA-OAEP SHA-256, OAEP SHA-1 या PKCS#1 v1.5। गलत की या पैडिंग पर साफ़ त्रुटियाँ।

OAEP सुझाई गई पैडिंग है। MGF1 वही हैश इस्तेमाल करता है, जैसे Web Crypto और openssl pkeyutl -pkeyopt rsa_oaep_md में।

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

RSA डिक्रिप्शन क्या है?

PEM फ़ॉर्मेट की आपकी प्राइवेट की (PKCS#8 BEGIN PRIVATE KEY या PKCS#1 BEGIN RSA PRIVATE KEY) से RSA सिफ़रटेक्स्ट डिक्रिप्ट करता है। यह SHA-256 या SHA-1 के साथ RSA-OAEP और पुरानी PKCS#1 v1.5 पैडिंग सपोर्ट करता है, और OpenSSL, Web Crypto, Java व Node.js के आउटपुट से मेल खाता है।

RSA डिक्रिप्शन का उपयोग कैसे करें

  1. प्राइवेट की (PEM) (बिना पासवर्ड की) पेस्ट करें, या प्रयोग के लिए टेस्ट की पेयर बनाएँ (2048-बिट) पर क्लिक करें।
  2. एन्क्रिप्शन में इस्तेमाल हुई पैडिंग चुनें।
  3. सिफ़रटेक्स्ट पेस्ट करें और उसकी एन्कोडिंग Base64 या Hex चुनें।
  4. डिक्रिप्ट करें पर क्लिक करें; अगर प्लेनटेक्स्ट बाइनरी है (जैसे AES की) तो आउटपुट को Hex करें।

उदाहरण

इनपुट
Ciphertext from Node.js `crypto.publicEncrypt` (RSA-OAEP, oaepHash sha256) of "Hello RSA", with the matching 2048-bit PKCS#8 private key
आउटपुट
Hello RSA

RSA डिक्रिप्शन का उपयोग कब करें

अपने कोड से बने सिफ़रटेक्स्ट को जाँचने, टेस्ट डेटा डिक्रिप्ट करने या प्लेटफ़ॉर्म के बीच इंटरऑपरेबिलिटी सत्यापित करने के लिए इस्तेमाल करें। असली प्रोडक्शन प्राइवेट की ब्राउज़र में पेस्ट करने से बचें; टेस्ट कीज़ इस्तेमाल करें। पासवर्ड से सुरक्षित प्राइवेट की को पहले बिना पासफ़्रेज़ के एक्सपोर्ट करना होगा।

RSA डिक्रिप्शन कैसे काम करता है

प्राइवेट एक्सपोनेंट पैड किया हुआ संदेश m = cᵈ mod n वापस निकालता है (CRT ऑप्टिमाइज़ेशन के साथ), फिर पैडिंग हटाकर जाँची जाती है: OAEP चुने हुए SHA-256 या SHA-1 के लिए MGF1 मास्क और लेबल हैश जाँचता है, PKCS#1 v1.5 00 02 हेडर और सेपरेटर जाँचता है। सिफ़रटेक्स्ट की लंबाई ठीक मॉड्यूलस जितनी होनी चाहिए (2048-बिट कीज़ के लिए 256 बाइट); की, पैडिंग या हैश में कोई भी बेमेल गलत आउटपुट की जगह डिक्रिप्शन त्रुटि देता है।

सामान्य उपयोग मामले

  • सत्यापित करना कि ब्राउज़र-साइड RSA-OAEP आउटपुट आपके सर्वर की की से डिक्रिप्ट होता है
  • हाइब्रिड-एन्क्रिप्शन टेस्ट में RSA से लपेटी AES की डिक्रिप्ट करना
  • Java और Node.js के बीच OAEP SHA-1 बनाम SHA-256 की गड़बड़ी पहचानना
  • पुराने सिस्टम का PKCS#1 v1.5 डेटा डिक्रिप्ट करना

सुरक्षा नोट

कीज़ और संदेश सिर्फ़ आपके ब्राउज़र में प्रोसेस होते हैं। जिस वेबसाइट पर आपका नियंत्रण नहीं है, उस पर प्रोडक्शन प्राइवेट की पेस्ट न करें – इसके बजाय टेस्ट की पेयर बनाएँ।

अक्सर पूछे जाने वाले प्रश्न

“Decryption failed” – क्या गलत है?

आमतौर पर पैडिंग या OAEP हैश मेल नहीं खाता (SHA-1 बनाम SHA-256), सिफ़रटेक्स्ट किसी दूसरी की पेयर का है, या कॉपी करते समय खराब हो गया। पहले दूसरा OAEP हैश आज़माएँ।

मेरी की BEGIN ENCRYPTED PRIVATE KEY से शुरू होती है।

पासवर्ड से सुरक्षित कीज़ समर्थित नहीं हैं। टेस्ट कॉपी को openssl pkey -in key.pem -out plain.pem से बदलें और बिना एन्क्रिप्ट की की को सावधानी से संभालें।

सिफ़रटेक्स्ट की लंबाई वाली त्रुटि कहती है कि यह 256 बाइट होना चाहिए।

RSA सिफ़रटेक्स्ट की लंबाई हमेशा मॉड्यूलस जितनी होती है। जाँचें कि आपने पूरी Base64 स्ट्रिंग पेस्ट की है और सही इनपुट एन्कोडिंग (Base64 बनाम Hex) चुनी है।

और श्रेणियाँ देखें