Toolonit
  1. होम
  2. एन्क्रिप्शन
  3. एन्क्रिप्ट / डिक्रिप्ट
  4. DES

DES एन्क्रिप्शन और डिक्रिप्शन

सिंगल DES से पुराने (लेगेसी) डेटा को डिक्रिप्ट या एन्क्रिप्ट करें।

आज के मानकों पर DES कमज़ोर है — इसे पुराना डेटा पढ़ने के लिए इस्तेमाल करें; नए डेटा के लिए AES या ChaCha20 इस्तेमाल करें। AES पर जाएँ

किससे एन्क्रिप्ट करें

डिक्रिप्ट करने के लिए यह फिर से चाहिए होगा। आप जो भी लिखते हैं, वह इस पेज से बाहर नहीं जाता।

PBKDF2 इटरेशन

OpenSSL का डिफ़ॉल्ट 10,000 है। कोई भी संख्या चलेगी: ज़्यादा इटरेशन से पासवर्ड का अंदाज़ा लगाना धीमा होता है; डिक्रिप्ट करने के लिए वही संख्या चाहिए।

मोड

OpenSSL के साथ आम चुनाव। IV चाहिए; पूरे ब्लॉक तक पैडिंग करता है।

आउटपुट फ़ॉर्मैट
OpenSSL में यही
openssl enc -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default

OpenSSL पासवर्ड पूछता है; टेक्स्ट उसमें पेस्ट करें, या -in और -out फ़ाइलें जोड़ें।

DES, यानी 1977 का Data Encryption Standard, 8 बाइट के ब्लॉक को 64-बिट कुंजी से एन्क्रिप्ट करता है, जिसमें से सिर्फ़ 56 बिट गिने जाते हैं; बाकी 8 पैरिटी बिट हैं। इसे बहुत पहले ब्रूट फ़ोर्स से तोड़ा जा चुका है, फिर भी पुरानी फ़ाइलों, कॉन्फ़िगरेशन और डेटाबेस में DES से एन्क्रिप्ट की गई वैल्यू मिलती हैं, और यह पेज उन्हें पढ़ता और लिखता है: डिफ़ॉल्ट रूप से CBC मोड में, या ECB, CFB, OFB या CTR में, openssl enc -pbkdf2 फ़ॉर्मैट वाले पासवर्ड से या 16 अंकों की hex कुंजी और IV से। इससे पुराना डेटा वापस पाएँ, फिर उसे AES से दोबारा एन्क्रिप्ट करें। सब कुछ आपके ब्राउज़र में चलता है: डेटा और उसकी कुंजी कभी आपके डिवाइस से बाहर नहीं जाते, और यह मुफ़्त है, साइन-अप की ज़रूरत नहीं।

DES से एन्क्रिप्ट किया टेक्स्ट कैसे डिक्रिप्ट करें

  1. “डिक्रिप्ट” चुनें और Base64 या hex टेक्स्ट पेस्ट करें — फ़ॉर्मैट अपने-आप पहचाना जाता है — या “एन्क्रिप्ट” चुनें और टेक्स्ट लिखें।
  2. पासवर्ड डालें, या “कुंजी और IV (hex)” पर जाकर 16 अंकों की कुंजी और 16 अंकों का IV डालें (ECB में IV नहीं होता)।
  3. वह मोड चुनें जिससे डेटा बना था — आमतौर पर CBC या ECB। “पैडिंग नहीं” सिर्फ़ तभी चालू करें जब डेटा PKCS#7 पैडिंग के बिना एन्क्रिप्ट किया गया हो।
  4. नतीजा कॉपी या डाउनलोड करें; जो बाइट टेक्स्ट नहीं हैं, वे hex में दिखते हैं।

सुविधाएँ

  • 64-बिट कुंजी वाला सिंगल DES: 56 कुंजी बिट और 8 पैरिटी बिट
  • CBC, ECB, CFB, OFB और CTR मोड; PKCS#7 पैडिंग या बिना पैडिंग
  • openssl enc -pbkdf2 फ़ॉर्मैट में पासवर्ड मोड, कोई भी PBKDF2 इटरेशन संख्या
  • 16 अंकों की hex कुंजी और IV के साथ “कुंजी और IV” मोड, टाइप किए हुए या जनरेट किए हुए
  • यही काम करने वाला openssl कमांड, OpenSSL 3 के legacy provider के साथ
  • Base64 या hex इनपुट अपने-आप पहचाना जाता है; जो नतीजे टेक्स्ट नहीं हैं, वे hex में दिखते हैं और बाइट के रूप में डाउनलोड हो सकते हैं

क्या यह निजी है?

हाँ। DES आपके ब्राउज़र के अंदर WebAssembly में चलता है, इसलिए आप जो पुराना डेटा डिक्रिप्ट करते हैं और उसकी कुंजी या पासवर्ड कभी अपलोड या कहीं सेव नहीं होते।

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

क्या DES एन्क्रिप्शन सुरक्षित है?

नहीं। 56-बिट कुंजी हर संभावना आज़माकर ढूँढी जा सकती है: 1998 में इसी काम के लिए बनाई गई एक मशीन ने यही किया था, और आज यह कहीं सस्ता है। DES सिर्फ़ पहले से DES में एन्क्रिप्ट डेटा पढ़ने के लिए इस्तेमाल करें, फिर उसे AES या ChaCha20 से दोबारा एन्क्रिप्ट करें।

OpenSSL “Error setting cipher DES-CBC” क्यों कहता है?

क्योंकि OpenSSL 3 ने DES को अपने legacy provider में डाल दिया है, जो डिफ़ॉल्ट रूप से लोड नहीं होता। उसे जोड़ें: echo 'U2FsdGVkX1…' | openssl enc -d -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default। उन मोड के लिए -des-ecb, -des-cfb या -des-ofb इस्तेमाल करें (OpenSSL में DES का CTR नहीं है), और “कुंजी और IV” मोड में -pbkdf2 -iter की जगह -K <16 hex अंक> -iv <16 hex अंक>।

DES कुंजी कैसी दिखती है?

8 बाइट, जो 16 hex अंकों में लिखे जाते हैं। हर बाइट का सबसे निचला बिट पैरिटी बिट है जिसे DES नज़रअंदाज़ करता है, इसलिए जो कुंजियाँ सिर्फ़ इन बिट में अलग हैं, वे एक ही तरह डिक्रिप्ट करती हैं। IV भी 8 बाइट का होता है; ECB कोई IV इस्तेमाल नहीं करता। पासवर्ड मोड में दोनों पासवर्ड से बनते हैं, इसलिए आपको इनमें से किसी की ज़रूरत नहीं।

DES और Triple DES में क्या फ़र्क है?

Triple DES, DES को तीन कुंजियों से तीन बार चलाता है — 192-बिट कुंजी, लगभग 112 बिट की असली मज़बूती — इसीलिए वह DES के बाद भी चलता रहा। सिंगल DES में एक 56-बिट कुंजी होती है और उसे ब्रूट फ़ोर्स से तोड़ा जा सकता है। अगर आपकी कुंजी 16 या 24 बाइट लंबी है, तो डेटा Triple DES का है: Triple DES पेज इस्तेमाल करें।

मुझे बेमतलब टेक्स्ट क्यों मिलता है?

क्योंकि कोई सेटिंग एन्क्रिप्शन से अलग है: पासवर्ड या कुंजी, इटरेशन संख्या, मोड या पैडिंग। CFB, OFB और CTR के साथ DES बेमेल को पकड़ नहीं सकता और रैंडम बाइट लौटाता है, जिन्हें पेज hex में दिखाता है; CBC और ECB के साथ बेमेल होने पर आमतौर पर एरर आता है।

संबंधित टूल