Triple DES (3DES) एन्क्रिप्शन
Triple DES (DES-EDE3) से टेक्स्ट एन्क्रिप्ट करें: OpenSSL des-ede3-cbc फ़ॉर्मेट का पासफ़्रेज़ या 16/24 बाइट की hex की और IV। CBC, CFB, OFB और ECB मोड।
आउटपुट Base64 में OpenSSL "Salted__" फ़ॉर्मेट में है: 8 बाइट का रैंडम सॉल्ट और उसके बाद सिफ़रटेक्स्ट। की और IV पासफ़्रेज़ व सॉल्ट से बनते हैं, इसलिए एक ही टेक्स्ट हर बार अलग परिणाम देता है। समकक्ष कमांड:
openssl enc -des-ede3-cbc -md md5 -a -A -k '…'पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।
Triple DES एन्क्रिप्शन क्या है?
Triple DES से डेटा एन्क्रिप्ट करता है, जो DES को तीन बार (एन्क्रिप्ट–डिक्रिप्ट–एन्क्रिप्ट) दो या तीन स्वतंत्र कीज़ के साथ लगाता है। यह अब भी पेमेंट सिस्टम, पुराने VPN और एंटरप्राइज़ सॉफ़्टवेयर में मिलता है, इसलिए यह टूल संगत डेटा बनाने में मदद करता है।
Triple DES एन्क्रिप्शन का उपयोग कैसे करें
- की का स्रोत में पासफ़्रेज़ (OpenSSL-संगत) रहने दें और पासफ़्रेज़ लिखें, या रॉ की + IV (hex) चुनकर hex में सटीक की और IV दर्ज करें।
- मोड और पैडिंग चुनें (OpenSSL का डिफ़ॉल्ट PKCS#7 के साथ CBC है)।
- प्लेनटेक्स्ट लिखें या पेस्ट करें (बाइनरी डेटा के लिए इनपुट एन्कोडिंग को Hex करें)।
- एन्क्रिप्ट करें पर क्लिक करें, आउटपुट एन्कोडिंग में Base64 या Hex चुनें और सिफ़रटेक्स्ट कॉपी करें।
उदाहरण
Raw key 0123456789abcdeffedcba987654321089abcdef01234567, IV 1234567890abcdef, CBC, PKCS#7, plaintext "Triple DES test message"
w46mmLXKZ7SF3YdvRaW9PUPLk/6OeJll
Base64 आउटपुट; OpenSSL/Node के des-ede3-cbc जैसा ही।
Triple DES एन्क्रिप्शन का उपयोग कब करें
इसे तब इस्तेमाल करें जब कोई पार्टनर सिस्टम या स्टैंडर्ड अब भी 3DES अनिवार्य करता हो (कुछ EMV/पेमेंट HSM वर्कफ़्लो, पुरानी SOAP सेवाएँ) या टेस्ट वेक्टर बनाने हों। नए डिज़ाइन के लिए AES-GCM चुनें।
Triple DES एन्क्रिप्शन कैसे काम करता है
3DES हर 8 बाइट के ब्लॉक को E(K3, D(K2, E(K1, block))) से एन्क्रिप्ट करता है। 24 बाइट की की तीन स्वतंत्र कीज़ देती है (कीइंग ऑप्शन 1); 16 बाइट की की में K3 = K1 होता है (टू-की 3DES)। पासफ़्रेज़ मोड 24 बाइट की की और 8 बाइट का IV निकालता है और OpenSSL Salted__ फ़ॉर्मेट लिखता है, जो openssl enc -des-ede3-cbc और CryptoJS.TripleDES.encrypt के साथ संगत है। रॉ मोड आपकी hex की और IV इस्तेमाल करता है; CBC/ECB में PKCS#7 पैडिंग लगती है।
सामान्य उपयोग मामले
- ऐसे पुराने सिस्टम के लिए डेटा बनाना जो सिर्फ़ 3DES-CBC स्वीकार करता है
-
CryptoJS.TripleDES.encrypt(text, passphrase)का आउटपुट दोहराना - 2-की या 3-की 3DES टेस्ट वेक्टर बनाना
- अपने इम्प्लीमेंटेशन की तुलना OpenSSL के des-ede3-cbc से करना
सुरक्षा नोट
Triple DES अप्रचलित है: NIST ने 2023 के बाद एन्क्रिप्शन के लिए इसकी अनुमति वापस ले ली और इसका 64-बिट ब्लॉक लंबे सेशन को Sweet32 बर्थडे हमलों के प्रति कमज़ोर बनाता है। इसे सिर्फ़ संगतता के लिए इस्तेमाल करें।
अक्सर पूछे जाने वाले प्रश्न
16 बाइट की या 24 बाइट की?
24 बाइट तीन स्वतंत्र DES कीज़ देते हैं (लगभग 112 बिट की प्रभावी सुरक्षा)। 16 बाइट की टू-की 3DES है, जिसमें तीसरी की पहली के बराबर होती है (लगभग 80 बिट)।
क्या आउटपुट OpenSSL के साथ संगत है?
हाँ। पासफ़्रेज़ मोड में नतीजा ठीक वही है जो openssl enc -des-ede3-cbc -md md5 -a -A -k <passphrase> बनाता है (MD5 के साथ EVP_BytesToKey), या PBKDF2-HMAC-SHA256 चुनने पर -pbkdf2 -iter N। डिक्रिप्ट करने के लिए -d जोड़ें। पेज पासफ़्रेज़ फ़ील्ड के नीचे उसी से मेल खाता कमांड दिखाता है।
क्या Triple DES अब भी सुरक्षित है?
यह पूरी तरह टूटा नहीं है, लेकिन धीमा है, इसका ब्लॉक 64-बिट है (Sweet32) और NIST ने इसे वापस ले लिया है। इसे सिर्फ़ पुराने सिस्टम के लिए मानें।