DES के विभिन्न तत्व निम्नलिखित हैं:
- S-बॉक्स का उपयोग (Use of S-Boxes) - प्रतिस्थापन के लिए उपयोग की जाने वाली टेबल, यानी DES में S-बॉक्स, IBM द्वारा छिपाए रखे गए हैं। IBM का समर्थन है कि उन्हें S-बॉक्स के आंतरिक डिजाइन के साथ आने में 17 व्यक्ति-वर्ष से अधिक समय लगा।
- कुंजी लंबाई (Key Length) - क्रिप्टोग्राफिक सिस्टम के दो महत्वपूर्ण तत्व हैं जिनमें क्रिप्टोग्राफिक एल्गोरिदम और कुंजी शामिल हैं। DES एल्गोरिदम का आंतरिक संचालन आम जनता के लिए पूरी तरह से ज्ञात है। इसलिए, DES की ताकत केवल दूसरे तत्व में निहित है जिसमें इसकी कुंजी शामिल है, जिसे गुप्त रखा जाना चाहिए।
- डिफरेंशियल क्रिप्टएनालिसिस (Differential Cryptanalysis) - डिफरेंशियल क्रिप्टएनालिसिस मुख्य रूप से ब्लॉक सिफर पर लागू होने वाला क्रिप्टएनालिसिस का एक सामान्य डिजाइन है, लेकिन स्ट्रीम सिफर और क्रिप्टोग्राफिक हैश फ़ंक्शन पर भी। व्यापक अर्थ में, यह अध्ययन है कि डेटा इनपुट में अंतर किस तरह आउटपुट में परिणामी अंतर को प्रभावित कर सकता है।
डिफरेंशियल क्रिप्टएनालिसिस का मुख्य उद्देश्य सिफरटेक्स्ट में सांख्यिकीय वितरण और पैटर्न की तलाश करना है ताकि सिफर में उपयोग की गई कुंजी के बारे में तत्व निकाला जा सके।
डिफरेंशियल क्रिप्टएनालिसिस क्रिप्टोग्राफी में अध्ययन का एक विभाजन है जो विश्लेषण करता है कि इनपुट में अंतर एन्क्रिप्टेड आउटपुट में अंतर से कैसे संबंधित हैं। इसका उपयोग मूल रूप से ब्लॉक सिफर के अध्ययन में यह तय करने के लिए किया जाता है कि प्लेनटेक्स्ट में परिवर्तन एन्क्रिप्टेड सिफरटेक्स्ट में किसी गैर-यादृच्छिक परिणाम में परिणाम देते हैं या नहीं।
- रैखिक क्रिप्टएनालिसिस (Linear Cryptanalysis) - रैखिक क्रिप्टएनालिसिस एक ज्ञात-प्लेनटेक्स्ट हमला है। इस दृष्टिकोण में, हमलावर ज्ञात प्लेनटेक्स्ट और सिफरटेक्स्ट के समता बिट्स का निरीक्षण करके छिपी कुंजी के समता बिट के लिए उच्च संभावना अनुमान प्राप्त करता है। सहायक तकनीक सहित कई दृष्टिकोणों के उपयोग से, हमलावर गुप्त कुंजी के उच्च बिट्स की खोज के लिए हमले का विस्तार कर सकता है।
रैखिक क्रिप्टएनालिसिस के आमतौर पर दो तत्व हैं:
- पहला प्लेनटेक्स्ट, सिफरटेक्स्ट और कुंजी बिट्स से संबंधित रैखिक समीकरण बनाना है जिनमें उच्च पूर्वाग्रह है; यानी जिनकी धारण की संभावनाएं 0 या 1 के जितना संभव हो उतना करीब हैं।
- दूसरा तत्व इन रैखिक समीकरणों को ज्ञात प्लेनटेक्स्ट-सिफरटेक्स्ट जोड़े के साथ संयोजन में उपयोग करके कुंजी बिट्स प्राप्त करना है।
- टाइमिंग हमले (Timing Attacks) - एक टाइमिंग हमला एक सुरक्षा शोषण है जो हमलावर को स्थानीय या दूरस्थ प्रणाली में कमजोरियों को खोजने की अनुमति देता है ताकि संबंधित प्रणाली की कई इनपुट के लिए प्रतिक्रिया समय का अवलोकन करके संभावित रूप से संवेदनशील या छिपे हुए डेटा प्राप्त किया जा सके। टाइमिंग हमला साइड-चैनल हमलों के रूप में जाने जाने वाले हमलों के व्यापक वर्ग का एक प्रकार है।
टाइमिंग हमले हमलावर को सुरक्षा प्रणाली में समर्थित रहस्यों को निकालने की अनुमति देते हैं, सिस्टम को कई प्रश्नों का जवाब देने में लगने वाले समय को प्राप्त करके।
उदाहरण के लिए, कोचर ने RSA डिक्रिप्शन के लिए उपयोग की जाने वाली छिपी कुंजियों को उजागर करने के लिए एक टाइमिंग हमला डिजाइन किया। ये हमले केवल हार्डवेयर सुरक्षा टोकन के संदर्भ में उपयोग किए गए थे जिनमें स्मार्टकार्ड शामिल हैं।