DES एन्क्रिप्शन (पुराना)

पुराने DES से टेक्स्ट एन्क्रिप्ट करें – CBC, CFB, OFB या ECB, OpenSSL des-cbc पासफ़्रेज़ या 8 बाइट की hex की से। सिर्फ़ संगतता के लिए; DES असुरक्षित है।

DES असुरक्षित है: इसकी 56-बिट की को कुछ घंटों में ब्रूट-फ़ोर्स से तोड़ा जा सकता है। इसे सिर्फ़ पुराना डेटा पढ़ने के लिए इस्तेमाल करें, नए डेटा की सुरक्षा के लिए कभी नहीं। AES इस्तेमाल करें।

आउटपुट Base64 में OpenSSL "Salted__" फ़ॉर्मेट में है: 8 बाइट का रैंडम सॉल्ट और उसके बाद सिफ़रटेक्स्ट। की और IV पासफ़्रेज़ व सॉल्ट से बनते हैं, इसलिए एक ही टेक्स्ट हर बार अलग परिणाम देता है। समकक्ष कमांड:

openssl enc -des-cbc -md md5 -a -A -provider legacy -provider default -k '…'

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

DES एन्क्रिप्शन क्या है?

डेटा को Data Encryption Standard से एन्क्रिप्ट करता है, जो 1977 का ब्लॉक सिफ़र है और जिसमें 64-बिट ब्लॉक व प्रभावी 56-बिट की होती है। यह यहाँ पुराने सिस्टम (बैंकिंग, स्मार्ट कार्ड, पुरानी फ़ाइलें) को दोहराने या उनके साथ काम करने के लिए है – किसी चीज़ की सुरक्षा के लिए नहीं।

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

  1. की का स्रोत में पासफ़्रेज़ (OpenSSL-संगत) रहने दें और पासफ़्रेज़ लिखें, या रॉ की + IV (hex) चुनकर hex में सटीक की और IV दर्ज करें।
  2. मोड और पैडिंग चुनें (OpenSSL का डिफ़ॉल्ट PKCS#7 के साथ CBC है)।
  3. प्लेनटेक्स्ट लिखें या पेस्ट करें (बाइनरी डेटा के लिए इनपुट एन्कोडिंग को Hex करें)।
  4. एन्क्रिप्ट करें पर क्लिक करें, आउटपुट एन्कोडिंग में Base64 या Hex चुनें और सिफ़रटेक्स्ट कॉपी करें।

उदाहरण

इनपुट
Raw key 133457799bbcdff1, mode ECB, padding None, hex plaintext 0123456789abcdef
आउटपुट
85e813540f0ab405

क्लासिक DES known-answer टेस्ट, आउटपुट एन्कोडिंग Hex।

DES एन्क्रिप्शन का उपयोग कब करें

इसे तभी इस्तेमाल करें जब कोई पुराना प्रोटोकॉल या फ़ाइल फ़ॉर्मेट DES माँगता हो, या known-answer टेस्ट वेक्टर बनाने हों। किसी भी नई चीज़ के लिए AES चुनें। Triple DES भी अप्रचलित है।

DES एन्क्रिप्शन कैसे काम करता है

DES 8 बाइट के ब्लॉक पर 16 Feistel राउंड चलाता है। पासफ़्रेज़ मोड में आपके पासफ़्रेज़ और रैंडम सॉल्ट से 8 बाइट की की और IV निकलते हैं (EVP_BytesToKey MD5 या PBKDF2-SHA256) और नतीजा OpenSSL Salted__ फ़ॉर्मेट में होता है, जो openssl enc -des-cbc -provider legacy के साथ संगत है। रॉ मोड में आप 8 बाइट की की (16 hex अक्षर; पैरिटी बिट अनदेखे रहते हैं) और 8 बाइट का IV देते हैं। CBC/ECB में डिफ़ॉल्ट रूप से PKCS#7 पैडिंग लगती है; CFB और OFB 64-बिट स्ट्रीम मोड हैं।

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

  • DES टेस्ट वेक्टर दोहराना, जैसे की 133457799BBCDFF1 / प्लेनटेक्स्ट 0123456789ABCDEF
  • पुराने पेमेंट या स्मार्ट-कार्ड सिस्टम के लिए टेस्ट डेटा बनाना
  • एक क्लासिक उदाहरण से ब्लॉक सिफ़र और मोड समझाना
  • ऐसे पुराने एप्लिकेशन के लिए डेटा एन्क्रिप्ट करना जो सिर्फ़ DES सपोर्ट करता है

सुरक्षा नोट

DES की 56-बिट की साधारण हार्डवेयर पर कुछ घंटों में ब्रूट-फ़ोर्स से तोड़ी जा सकती है। इस टूल को सिर्फ़ पुराना डेटा पढ़ने या दोहराने के लिए इस्तेमाल करें; नया डेटा कभी DES से एन्क्रिप्ट न करें।

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

क्या DES सुरक्षित है?

नहीं। इसकी 56-बिट की 1998 में सार्वजनिक रूप से ब्रूट-फ़ोर्स से तोड़ी गई थी (EFF DES Cracker) और आज इसमें कुछ घंटे लगते हैं। असली डेटा के लिए AES इस्तेमाल करें।

OpenSSL 3 सिफ़र को असमर्थित क्यों बताता है?

OpenSSL 3 ने DES को legacy प्रोवाइडर में डाल दिया है। कमांड में -provider legacy -provider default जोड़ें, जैसे openssl enc -des-cbc -md md5 -a -A -provider legacy -provider default -k …।

की कितनी लंबी होनी चाहिए?

ठीक 8 बाइट (16 hex अक्षर)। हर बाइट का सबसे निचला बिट पैरिटी बिट है जिसे DES अनदेखा करता है, इसलिए जो कीज़ सिर्फ़ इन बिट में अलग हों वे समतुल्य हैं।

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