RC4 एन्क्रिप्शन और डिक्रिप्शन
RC4 स्ट्रीम सिफ़र से पुराने (लेगेसी) डेटा को एन्क्रिप्ट या डिक्रिप्ट करें।
आज के मानकों पर RC4 कमज़ोर है — इसे पुराना डेटा पढ़ने के लिए इस्तेमाल करें; नए डेटा के लिए AES या ChaCha20 इस्तेमाल करें। AES पर जाएँ
डिक्रिप्ट करने के लिए यह फिर से चाहिए होगा। आप जो भी लिखते हैं, वह इस पेज से बाहर नहीं जाता।
OpenSSL का डिफ़ॉल्ट 10,000 है। कोई भी संख्या चलेगी: ज़्यादा इटरेशन से पासवर्ड का अंदाज़ा लगाना धीमा होता है; डिक्रिप्ट करने के लिए वही संख्या चाहिए।
openssl enc -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider defaultOpenSSL पासवर्ड पूछता है; टेक्स्ट उसमें पेस्ट करें, या -in और -out फ़ाइलें जोड़ें।
RC4, जिसे ARC4 या ARCFOUR भी कहते हैं, वह स्ट्रीम सिफ़र है जो कभी SSL/TLS और WEP Wi-Fi में इस्तेमाल होता था। इसमें न ब्लॉक हैं, न मोड, न IV: यह कुंजी को बाइट की एक धारा में बदलकर उसे टेक्स्ट के साथ XOR करता है, इसलिए सिफ़रटेक्स्ट ठीक टेक्स्ट जितना लंबा होता है। यह पेज RC4 से टेक्स्ट एन्क्रिप्ट और डिक्रिप्ट करता है, openssl enc -pbkdf2 फ़ॉर्मैट वाले पासवर्ड से या 40 से 2048 बिट की hex कुंजी (डिफ़ॉल्ट 128) से, ताकि आप पुराने सिस्टम का डेटा पढ़ सकें या उनके लिए डेटा बना सकें। RC4 टूट चुका है; नए डेटा के लिए AES या ChaCha20 इस्तेमाल करें। सब कुछ आपके ब्राउज़र में चलता है: टेक्स्ट और कुंजियाँ कभी आपके डिवाइस से बाहर नहीं जाते, और यह मुफ़्त है, साइन-अप की ज़रूरत नहीं।
RC4 टेक्स्ट कैसे डिक्रिप्ट करें
- “डिक्रिप्ट” चुनें और Base64 या hex टेक्स्ट पेस्ट करें — फ़ॉर्मैट अपने-आप पहचाना जाता है — या “एन्क्रिप्ट” चुनें और टेक्स्ट लिखें।
- पासवर्ड डालें, या “कुंजी और IV (hex)” पर जाकर कुंजी डालें; RC4 में IV नहीं होता, इसलिए सिर्फ़ कुंजी का फ़ील्ड है।
- वह कुंजी लंबाई चुनें जिससे डेटा बना था: जब तक कुछ और पता न हो, 128 बिट; एक्सपोर्ट-ग्रेड RC4 के लिए 40।
- नतीजा कॉपी या डाउनलोड करें, या “अदला-बदली” दबाकर उसे इनपुट में ले जाएँ और दिशा उलट दें।
सुविधाएँ
- 40 से 2048 बिट तक 8 बिट के स्टेप में किसी भी कुंजी लंबाई वाला RC4; 40, 128, 256 और 2048 एक क्लिक पर
- न IV, न पैडिंग: सिफ़रटेक्स्ट ठीक टेक्स्ट जितना लंबा होता है
- openssl enc -pbkdf2 फ़ॉर्मैट में पासवर्ड मोड, OpenSSL के legacy provider के लिए rc4 या rc4-40 कमांड के साथ
- सिर्फ़ कुंजी वाला “कुंजी और IV (hex)” मोड, कुंजी टाइप की हुई या जनरेट की हुई
- Base64 या hex में इनपुट और आउटपुट; जो नतीजे टेक्स्ट नहीं हैं, वे hex में दिखते हैं
क्या यह निजी है?
हाँ। RC4 आपके ब्राउज़र के अंदर WebAssembly में चलता है; आप जो डेटा डिक्रिप्ट करते हैं और उसकी कुंजी या पासवर्ड कभी अपलोड या सेव नहीं होते।
अक्सर पूछे जाने वाले सवाल
क्या RC4 सुरक्षित है?
नहीं। इसकी की-स्ट्रीम में सांख्यिकीय झुकाव हैं जिनसे हमलावर डेटा वापस निकाल सकते हैं, इसीलिए RFC 7465 ने 2015 में TLS में RC4 पर रोक लगा दी। इसे सिर्फ़ मौजूदा RC4 डेटा पढ़ने के लिए इस्तेमाल करें, और जो कुछ भी आप रखते हैं उसे AES या ChaCha20 से दोबारा एन्क्रिप्ट करें।
क्या ARC4 और RC4 एक ही हैं?
हाँ। RC4 को Ron Rivest ने 1987 में डिज़ाइन किया था और इसे ट्रेड सीक्रेट रखा गया; 1994 में एल्गोरिद्म लीक होने के बाद दूसरों ने इसे ARC4 या ARCFOUR (“alleged RC4”, यानी “कथित RC4”) नाम से बनाया, क्योंकि RC4 नाम एक ट्रेडमार्क है। सिफ़रटेक्स्ट बिल्कुल एक जैसा होता है।
क्या इसे OpenSSL से डिक्रिप्ट कर सकते हैं?
हाँ, 128-बिट और 40-बिट कुंजियों के लिए: echo 'U2FsdGVkX1…' | openssl enc -d -rc4 -pbkdf2 -iter 10000 -a -A -provider legacy -provider default, या 40-बिट कुंजी के लिए -rc4-40। “कुंजी और IV” मोड में -pbkdf2 -iter की जगह -K <key hex> इस्तेमाल करें, बिना -iv के। openssl enc में RC4 की कोई दूसरी कुंजी लंबाई नहीं है।
क्या RC4 कुंजी दोबारा इस्तेमाल करना सुरक्षित है?
नहीं। एक ही कुंजी से हमेशा एक ही की-स्ट्रीम बनती है, इसलिए एक कुंजी से बने दो आउटपुट को XOR करने पर स्ट्रीम कट जाती है और दोनों टेक्स्ट का XOR सामने आ जाता है। पासवर्ड मोड में ऐसा नहीं होता: रैंडम सॉल्ट हर संदेश को उसकी अपनी कुंजी देता है, और आउटपुट हर बार अलग होता है। “कुंजी और IV” मोड में हर संदेश के लिए नई कुंजी इस्तेमाल करें।
मुझे एरर के बजाय बेमतलब बाइट क्यों मिलते हैं?
क्योंकि RC4 ग़लत कुंजी और सही कुंजी में फ़र्क नहीं कर सकता: ग़लत पासवर्ड, इटरेशन संख्या या कुंजी लंबाई से डिक्रिप्ट करने पर भी बाइट बनते हैं, बस रैंडम, और पेज उन्हें hex में दिखाता है। जाँचें कि हर सेटिंग वही है जिससे एन्क्रिप्ट किया गया था।