ट्रिपल डेस

क्रिप्टोग्राफी में, ट्रिपल डेस (3 डेस या टीडेस), आधिकारिक रूप से ट्रिपल डेटा कूटलेखन एल्गोरिदम (टीडीईए या ट्रिपल डीईए) सममित-कुंजी एल्गोरिदम है। सममित-कुंजी ब्लॉक सिफर, जो डेटा कूटलेखन मानक सिफर एल्गोरिदम को प्रत्येक डेटा पर तीन बार लागू करता है। डेटा कूटलेखन स्टैंडर्ड (डेस) 56-बिट कुंजी को आधुनिक क्रिप्ट एनालिटिक विधियों और सुपरकंप्यूटिंग पावर के सामने पर्याप्त नहीं माना जाता है। 2016 में प्रस्तुत किये गए एक सामान्य भेद्यता और खतरे, सीवीई-2016-2183 ने डेस और 3 डेस कूटलेखन एल्गोरिदम में प्रमुख सुरक्षा भेद्यता का विविरण किया। यह सीवीई, डेस और 3 डेस के अपर्याप्त कुंजी आकार के साथ संयुक्त है, एनआईएसटी ने 2017 में 'नए' अनुप्रयोगों के लिए और 2023 के अंत तक 'सभी' अनुप्रयोगों के लिए डेस और 3 डेस को हटा दिया है। इसे अधिक सुरक्षित और अधिक मजबूत उन्नत कूटलेखन मानक से बदल दिया गया है।

जबकि सरकार और उद्योग मानक एल्गोरिथ्म के नाम को टीडेस (ट्रिपल डेस) और टीडीईए (ट्रिपल डेटा कूटलेखन एल्गोरिथम) के रूप में संक्षिप्त करते हैं, RFC 1851 ने इसे उस समय से 3 डेस के रूप में संदर्भित किया, जब इसने पहली बार इस विचार को प्रख्यापित किया था, और तब से यह नाम अधिकांशतः विक्रेताओं, उपयोगकर्ताओं और क्रिप्टोग्राफरों द्वारा व्यापक उपयोग में प्रस्तुत किया गया है।

इतिहास
1978 में, दो 56-बिट कुंजियों के साथ डेस का उपयोग करते हुए ट्रिपल कूटलेखन विधि वाल्टर ट्यूचमैन द्वारा प्रस्तावित की गई थी; 1981 में मेर्कले और हेलमैन ने 112 बिट सुरक्षा के साथ 3डेस का अधिक सुरक्षित ट्रिपल कुंजी संस्करण प्रस्तावित किया।

मानक
ट्रिपल डेटा कूटलेखन एल्गोरिथम को कई मानक दस्तावेज़ों में विभिन्न प्रकार से परिभाषित किया गया है:


 * टिप्पणियों के लिए अनुरोध 1851, ईएसपी ट्रिपल डेस ट्रांसफॉर्म (1995 में स्वीकृत)
 * आन्सI आन्स X9.52-1998 ट्रिपल डेटा कूटलेखन एल्गोरिथम ऑपरेशन के मोड (1998 में स्वीकृत, 2008 में वापस ले लिया गया )
 * संघीय सूचना प्रसंस्करण मानक पब 46-3 डेटा कूटलेखन मानक (डेस) (1999 में स्वीकृत, 2005 में वापस ले लिया गया )
 * एनआईएसटी विशेष प्रकाशन 800-67 संशोधन 2 ट्रिपल डेटा कूटलेखन एल्गोरिदम (टीडीईए) ब्लॉक सिफर के लिए स्वीकृत (2017 में स्वीकृत)
 * अंतरराष्ट्रीय इलेक्ट्रोटेक्नीकल कमीशन 18033-3:2010: पार्ट 3: ब्लॉक सिफर (2005 में स्वीकृत)

एल्गोरिथम
मूल डेस सिफर का 56 बिट्स का मुख्य आकार साधारणतयः पर्याप्त था जब उस एल्गोरिथम को डिजाइन किया गया था, लेकिन बढ़ती कम्प्यूटरीकृत शक्ति की उपलब्धता ने क्रूर-बल के हमलों को संभव बना दिया। ट्रिपल डेस इस तरह के हमलों से बचाने के लिए डेस के प्रमुख आकार को बढ़ाने का एक अपेक्षाकृत सरल विधि प्रदान करता है, यह पूरी तरह से नया ब्लॉक सिफर एल्गोरिथम डिजाइन करने की आवश्यकता के बिना है।

लंबाई में छोटे आकार की कुंजी जैसे डेस के साथ ब्लॉक कूटलेखन एल्गोरिदम की कार्यक्षमता बढ़ाने के लिए इसे सरल दृष्टिकोण के अतिरिक्त दो कुंजियों (K1,K2) का उपयोग करना होगा, और साथ ही प्रत्येक को कूटलेखित करना होगा। ब्लॉक को दो बार:$$E_{K2}(E_{K1}(\textrm{plaintext}))$$ यदि मूल कुंजी की लंबाई $$n$$ बिट्स है, क्या किसी को उम्मीद होगी कि $$2n$$ लंबाई वाली कुंजी के लिए यह योजना इस कुंजी का उपयोग करने के बराबर सुरक्षा प्रदान कर पाएगी। दुर्भाग्यपूर्ण, यह दृष्टिकोण मीट-इन-द-बीच आक्रमण के लिए असुरक्षित है: $$(x, y)$$ के लिए ज्ञात-सरल पाठ आक्रमण के लिए उपयुक्त जोड़ी दी गई है, जो इस प्रकार है कि $$y = E_{K2}(E_{K1}(x))$$, कोई कुंजी जोड़ी पुनर्प्राप्त कर सकता है $$(K1, K2)$$ में $$2^{n+1}$$ चरण, के अतिरिक्त $$2^{2n}$$ एक आदर्श रूप से सुरक्षित एल्गोरिथम से अपेक्षित चरण $$2n$$ कुंजी के टुकड़े हैं। इसलिए, ट्रिपल डेस एक प्रमुख बंडल का उपयोग करता है जिसमें तीन डेस कुंजी (क्रिप्टोग्राफी) सम्मलित हैं, $$K1$$, $$K2$$ तथा $$K3$$, 56 बिट्स में से प्रत्येक (समता बिट्स को छोड़कर) इनकी कूटलेखन एल्गोरिथ्म कुछ इस प्रकार है:
 * $$\textrm{ciphertext} = E_{K3}(D_{K2}(E_{K1}(\textrm{plaintext}))).$$

अर्थात डेस के साथ एन्क्रिप्ट $$K1$$, डेस के साथ डिक्रिप्ट $$K2$$, फिर डेस के साथ $$K3$$ को एन्क्रिप्ट करें.

डिक्रिप्शन का व्युतक्रम है:
 * $$\textrm{plaintext} = D_{K1}(E_{K2}(D_{K3}(\textrm{ciphertext}))).$$

अर्थात $$K3$$ के साथ डिक्रिप्ट करें, और इसके साथ $$K2$$ को एन्क्रिप्ट करें, फिर साथ में $$K1$$ को डिक्रिप्ट करें।

प्रत्येक ट्रिपल कूटलेखन 64 बिट डेटा के ब्लॉक आकार (क्रिप्टोग्राफी) को एन्क्रिप्ट करता है।

प्रत्येक स्थिति में मध्य ऑपरेशन पहले और आखिरी के विपरीत होता है। यह कुंजीयन विकल्प 2 का उपयोग करते समय एल्गोरिथ्म की कार्यक्षमता में सुधार करता है और कुंजीयन विकल्प 3 के साथ डेस के साथ पश्चगामी संगतता प्रदान करता है।

कुंजीयन विकल्प
मानक तीन कुंजीयन विकल्पों को परिभाषित करते हैं:
 * कुंजीयन विकल्प 1
 * तीनों कुंजियाँ स्वतंत्र हैं और कभी-कभी 3टीडीईए या तीन-लंबाई वाली कुंजिया के रूप में जाना जाता है 
 * यह 3 × 56 = 168 स्वतंत्र कुंजी बिट्स के साथ सबसे मजबूत है। यह अभी भी मीट-इन-द-बीच हमले के लिए असुरक्षित है, लेकिन हमले के लिए 2 की आवश्यकता होती है× 56 चरण।


 * कुंजीयन विकल्प 2
 * क1 और के2 स्वतंत्र हैं और के3 = के1. कभी-कभी 2TDEA के रूप में जाना जाता है या डबल-लंबाई वाली चाबियां। : यह 112 बिट्स की एक छोटी कुंजी लंबाई और उपरोक्त के समान चेतावनी के साथ डीईएस और कुंजी विकल्प 1 के बीच एक उचित समझौता प्रदान करता है। यह डबल डेस पर एक सुधार है जिसके आक्रमण करने के लिए केवल 256 चरण की आवश्यकता होती है। एनआईएसटी ने इस विकल्प का बहिष्कार किया है। ; कुंजीयन विकल्प 3
 * तीनों कुंजियाँ एक समान हैं, अर्थात K1 = K2 = K3.
 * यह डेस के साथ पिछड़ा संगत है, क्योंकि दो ऑपरेशन रद्द हो जाते हैं। आईएसओ/आईईसी 18033-3 ने कभी भी इस विकल्प की अनुमति नहीं दी, और एनआईएसटी अब K की अनुमति नहीं होती है,Given1 = K2 या K2 = K3.

प्रत्येक डेस कुंजी 8 बिट समता और विषम-समता बाइट्स है, जिसमें 56 बिट कुंजी और 8 बिट त्रुटि-पहचान है। एक प्रमुख बंडल को विकल्प 1 के लिए 24 बाइट्स, विकल्प 2 के लिए 16 या विकल्प 3 के लिए 8 की आवश्यकता होती है।

एनआईएसटी (और विश्वसनीय प्लेटफॉर्म मॉड्यूल के लिए अनुमोदित एल्गोरिदम का वर्तमान टीसीजी विनिर्देश संस्करण 2.0) किसी भी कुंजी में 64-बिट मानों के बाद 64 में से किसी एक का उपयोग करने की अनुमति नहीं देता है (ध्यान दें कि उनमें से 32 अन्य 32 के बाइनरी पूरक हैं; और वह इन कुंजियों में से 32 अन्य 32 के बाइट्स के रिवर्स क्रमपरिवर्तन भी हैं), यहां हेक्साडेसिमल में सूचीबद्ध हैं (प्रत्येक बाइट में, कम से कम महत्वपूर्ण बिट एक विषम-समता उत्पन्न बिट है, इसे प्रभावी 56-बिट कुंजी बनाते समय छोड़ दिया जाता है) : 01.01.01.01.01.01.01.01, FE.FE.FE.FE.FE.FE.FE.FE, E0.FE.FE.E0.F1.FE.FE.F1, 1F.01.01.1F.0E.01.01। 0E, 01.01.FE.FE.01.01.FE.FE, FE.FE.01.01.FE.FE.01.01, E0.FE.01.1F.F1.FE.01.0E, 1F.01.FE.E0.0E.01। FE.F1, 01.01.E0.E0.01.01.F1.F1, FE.FE.1F.1F.FE.FE.0E.0E, E0.FE.1F.01.F1.FE.0E.01, 1F.01.E0। FE.0E.01.F1.FE, 01.01.1F.1F.01.01.0E.0E, FE.FE.E0.E0.FE.FE.F1.F1, E0.FE.E0.FE.F1.FE.F1.FE, 1F.01.1F.01.0 E.01.0E.01, 01.FE.01.FE.01.FE.01.FE, FE.01.FE.01.FE.01.FE.01, E0.01.FE.1F.F1.01.FE.0E, 1F। FE.01.E0.0E.FE.01.F1, 01.FE.FE.01.01.FE.FE.01, FE.01.01.FE.FE.01.01.FE, E0.01.01.E0.F1.01.01.F1, 1F.FE.FE.1F.0E.FE। FE.0E, 01.FE.E0.1F.01.FE.F1.0E, FE.01.1F.E0.FE.01.0E.F1, E0.01.1F.FE.F1.01.0E.FE, 1F.FE.E0। 01.0E.FE.F1.01, 01.FE.1F.E0.01.FE.0E.F1, FE.01.E0.1F.FE.01.F1.0E, E0.01.E0.01.F1.01.F1.01, 1F। FE.1F.FE.0E.FE.0E.FE, 01.E0.01.E0.01.F1.01.F1, FE.1F.FE.1F.FE.0E.FE.0E, E0.1F.FE.01.F1.0E.FE.01, 1F। E0.01.FE.0E.F1.01.FE, 01.E0.FE.1F.01.F1.FE.0E, FE.1F.01.E0.FE.0E.01.F1, E0.1F.01.FE.F1.0E.01.FE, 1F। E0.FE.01.0E.F1.FE.01, 01.E0.E0.01.01.F1.F1.01, FE.1F.1F.FE.FE.0E.0E.FE, E0.1F.1F.E0.F1.0E.0E.F1, 1F.E0। E0.1F.0E.F1.F1.0E, 01.E0.1F.FE.01.F1.0E.FE, FE.1F.E0.01.FE.0E.F1.01, E0.1F.E0.1F.F1.0E.F1.0E, 1F। E0.1F.E0.0E.F1.0E.F1, 01.1F.01.1F.01.0E.01.0E, FE.E0.FE.E0.FE.F1.FE.F1, E0.E0.FE.FE.F1.F1.FE.FE, 1F.1F.01.01। 0E.0E.01.01, 01.1F.FE.E0.01.0E.FE.F1, FE.E0.01.1F.FE.F1.01.0E, E0.E0.01.01.F1.F1.01.01, 1F.1F.FE.FE.0E। 0E.FE.FE, 01.1F.E0.FE.01.0E.F1.FE, FE.E0.1F.01.FE.F1.0E.01, E0.E0.1F.1F.F1.F1.0E.0E, 1F.1F। E0.E0.0E.0E.F1.F1, 01.1F.1F.01.01.0E.0E.01, FE.E0.E0.FE.FE.F1.F1.FE, E0.E0.E0.E0.F1.F1.F1.F1, 1F.1F.1F .1F.0E.0E.0E.0E, अनुमत कुंजियों पर इन प्रतिबंधों के साथ, ट्रिपल डेस को कुंजीयन विकल्प 1 और 2 के साथ फिर से स्वीकृत किया गया है। साधारणतयः एक मजबूत यादृच्छिक जनरेटर से 24 बाइट लेकर तीन कुंजियां उत्पन्न होती हैं और केवल कुंजीयन विकल्प 1 का उपयोग किया जाना चाहिए (विकल्प 2 को केवल 16 यादृच्छिक बाइट्स की आवश्यकता होती है, लेकिन मजबूत यादृच्छिक जनरेटर को जोर देना कठिन होता है और इसे केवल विकल्प 1 का उपयोग करने के लिए सर्वोत्तम अभ्यास माना जाता है ).

एक से अधिक ब्लॉक का कूटलेखन
जैसा कि सभी ब्लॉक सिफर के साथ होते है, ऑपरेशन के विभिन्न विधियों का उपयोग करके डेटा के कई ब्लॉकों का कूटलेखन और डिक्रिप्शन किया जा सकता है, जिसे साधारणतयः ब्लॉक सिफर एल्गोरिदम से स्वतंत्र रूप से परिभाषित किया जा सकता है। चूंकि, आन्स X9.52 सीधे निर्दिष्ट करता है, और एनआईएसटी SP 800-67 SP 800-38A के माध्यम से निर्दिष्ट करता है कि कुछ मोड्स का उपयोग केवल उन पर कुछ बाधाओं के साथ किया जाएगा जो जरूरी नहीं हैं कि उन मोड्स के सामान्य विनिर्देशों पर लागू हों। उदाहरण के लिए, आन्स X9.52 निर्दिष्ट करता है कि सिफर ब्लॉक चेनिंग के लिए, प्रारंभिक वेक्टर हर बार अलग होगा, जबकि आईएसओ/आईईसी 10116 नहीं करता हैं। एफआईपीएस पब 46-3 और आईएसओ/आईईसी 18033-3 केवल एक ब्लॉक एल्गोरिथ्म को परिभाषित करते हैं, और कई ब्लॉकों के संचालन के विधियों पर कोई प्रतिबंध नहीं लगाते हैं।

सुरक्षा
साधारणतयः, तीन स्वतंत्र कुंजियों (कुंजी विकल्प 1) के साथ ट्रिपल डेस की लंबाई 168 बिट्स (तीन 56-बिट डेस कुंजियां) होती है, लेकिन बीच-बीच में मिलने वाले आक्रमण के कारण, यह जो प्रभावी सुरक्षा प्रदान करता है वह केवल 112 बिट हैं। कुंजीयन विकल्प 2 प्रभावी कुंजी आकार को 112 बिट्स तक कम कर देता है (क्योंकि तीसरी कुंजी पहली कुंजी के समान है)। चूंकि, यह विकल्प कुछ चुने हुए सरल पाठ पर आक्रमण के लिए या ज्ञात किए हुए सरल पाठ पर आक्रमण अतिसंवेदनशील है, और इस प्रकार इसे एनआईएसटी द्वारा केवल 80 बिट सुरक्षा के लिए नामित किया गया है। इसे असुरक्षित माना जा सकता है, और परिणामस्वरूप ट्रिपल डेस को 2017 में एनआईएसटी द्वारा बहिष्कृत कर दिया गया है।

64 बिट्स का छोटा ब्लॉक आकार 3DES को टकराव के हमलों को रोकने के लिए कमजोर बनाता है यदि इसका उपयोग एक ही कुंजी के साथ बड़ी मात्रा में डेटा को एन्क्रिप्ट करने के लिए किया जाता है। Sweet32 अटैक दिखाता है कि TLS और OpenVPN में इसका फायदा कैसे उठाया जा सकता है। टीएलएस में 3डीईएस-आधारित सिफर-सुइट्स पर प्रैक्टिकल स्वीट32 हमले की आवश्यकता है $$2^{36.6}$$ पूर्ण हमले के लिए ब्लॉक (785 जीबी), लेकिन शोधकर्ता भाग्यशाली थे कि उन्हें टक्कर के बाद टक्कर मिली $$2^{20}$$ ब्लॉक, जिसमें केवल 25 मिनट लगे।

"टीडीईए की सुरक्षा एक कुंजी बंडल के साथ संसाधित ब्लॉकों की संख्या से प्रभावित होती है। $2^{20}$ 64-बिट डेटा ब्लॉक से अधिक क्रिप्टोग्राफ़िक सुरक्षा (जैसे, एन्क्रिप्ट) लागू करने के लिए एक कुंजी बंडल का उपयोग नहीं किया जाना चाहिए।" ओपेन एसएसएल संस्करण 1.1.0 (अगस्त 2016) से डिफ़ॉल्ट रूप से 3डेस को सम्मलित नहीं करता है और इसे कमजोर सिफर माना जाता है।

उपयोग
इलेक्ट्रॉनिक भुगतान उद्योग ट्रिपल डेस का उपयोग करता है और इसके आधार पर ईएमवी जैसे मानकों का विकास और प्रचार करना जारी होता है। माइक्रोसाफ्ट OneNote के पुराने संस्करण, माइक्रोसॉफ्ट दृष्टिकोण 2007 और माइक्रोसाफ्ट सिस्टम केंद्र कॉन्फ़िगरेशन प्रबंधक 2012 उपयोगकर्ता सामग्री और सिस्टम डेटा को पासवर्ड-सुरक्षित करने के लिए ट्रिपल डेस का उपयोग करते हैं। चूंकि, दिसंबर 2018 में, माइक्रोसाफ्ट ने अपनी आफिस 365 सेवा में 3डेस की सेवानिवृत्ति की घोषणा की है।

फ़ायर्फ़ॉक्स और मोज़िला थंडरबर्ड मास्टर पासवर्ड का उपयोग करते समय वेबसाइट प्रमाणीकरण लॉगिन क्रेडेंशियल्स को एन्क्रिप्ट करने के लिए ऑपरेशन के ब्लॉक सिफर मोड सिफर ब्लॉक चेनिंग (सीबीसी) में ट्रिपल डेस का उपयोग करें।

कार्यान्वयन
नीचे क्रिप्टो++ग्राफी लाइब्रेरी की सूची दी गई है जो ट्रिपल डेस का समर्थन करती है:


 * बॉटन (प्रोग्रामिंग लाइब्रेरी)
 * बाउंसी कैसल (क्रिप्टोग्राफी)
 * क्रिप्ट लिब
 * क्रिप्टो ++
 * लिबगक्रिप्ट
 * नेटेल (क्रिप्टोग्राफिक लाइब्रेरी)
 * ओपनएसएसएल
 * वूल्फ एसएसएल
 * विश्वसनीय प्लेटफार्म मॉड्यूल (उपनाम टीपीएम, हार्डवेयर कार्यान्वयन)

ऊपर दिए गए कुछ कार्यान्वयनों में बाद के या अधिक हाल के संस्करणों में डिफ़ॉल्ट बिल्ड में 3डेस सम्मलित नहीं हो सकता है।

यह भी देखें

 * डेस-एक्स
 * उन्नत कूटलेखन मानक (एईएस)
 * फिस्टल सिफर
 * वाल्टर तुचमैन

संदर्भ और नोट्स
डी: डेटा कूटलेखन मानक#ट्रिपल-डेस