डीईएस में, यह राष्ट्रीय मानक और प्रौद्योगिकी संस्थान (एनआईएसटी) द्वारा पेश किया गया एक सममित-कुंजी ब्लॉक सिफर है। DES को जनवरी 1977 में फेडरल रजिस्टर में FIPS 46 के रूप में पेश किया गया था।
NIST अवर्गीकृत सॉफ़्टवेयर में उपयोग के लिए मानक के रूप में DES का प्रतिनिधित्व कर सकता है। इसके प्रकाशन के कारण डेस सबसे व्यापक रूप से इस्तेमाल किया जाने वाला सममित-कुंजी ब्लॉक सिफर रहा है। NIST ने बाद में एक नया मानक (FIPS 46-3) जारी किया जो भविष्य के सॉफ़्टवेयर के लिए ट्रिपल DES (दोहराया DES सिफर) के उपयोग की पुष्टि करता है।
डीईएस में 64-बिट ब्लॉक आकार है और कार्यान्वयन के दौरान 56-बिट कुंजी की आवश्यकता है (8 समता बिट्स पूर्ण 64 बिट कुंजी से वंचित हैं)। डीईएस एक सममित क्रिप्टोसिस्टम है, विशेष रूप से एक 16-राउंड फिस्टल सिफर।
एक ब्लॉक को एनक्रिप्ट किया जाता है जो प्रारंभिक क्रमपरिवर्तन आईपी के अधीन होता है और इस प्रकार एक जटिल कुंजी-निर्भर गणना के लिए और अंत में एक क्रमपरिवर्तन के लिए होता है जो प्रारंभिक क्रमपरिवर्तन आईपी −1 के विपरीत होता है। ।
क्रमपरिवर्तन एक फ़ंक्शन द्वारा कार्यान्वित एक ऑपरेशन है, जो एक तत्व को j स्थान पर k स्थान पर बदलता है। की-डिपेंडेंट कंप्यूटेशन को केवल एक फंक्शन-एफ के संदर्भ में दर्शाया जा सकता है जिसे सिफर फंक्शन के रूप में जाना जाता है, और एक फंक्शन केएस को की शेड्यूल के रूप में जाना जाता है।
फ़ंक्शन F में S-बॉक्स की भूमिका यह है कि प्रतिस्थापन में आठ S-बॉक्स का एक समूह शामिल होता है। जिनमें से प्रत्येक इनपुट के रूप में 6 बिट लेता है और निम्नानुसार 4 बिट्स बनाता है - बॉक्स Si में इनपुट के पहले और अंतिम बिट्स, Si के लिए तालिका में चार पंक्तियों द्वारा दर्शाए गए चार प्रतिस्थापनों में से एक को चुनने के लिए 2-बिट बाइनरी नंबर बनाते हैं।
मध्य चार बिट सोलह स्तंभों में से एक का चयन करते हैं। पंक्ति और कॉलम द्वारा चुने गए सेल में दशमलव मान को आउटपुट बनाने के लिए इसके 4-बिट विवरण में बदल दिया जाता है। उदाहरण के लिए, S1 में, इनपुट 011001 के लिए, पंक्ति 01 है और कॉलम 1100 है। पंक्ति 1 में मान, कॉलम 12 9 है, इसलिए आउटपुट 1001 है।
एस-बॉक्स का सिद्धांत इस प्रकार है -
-
प्रत्येक एस-बॉक्स में छह बिट इनपुट और चार बिट आउटपुट होना चाहिए।
-
एस-बॉक्स का कोई आउटपुट बिट इनपुट बिट्स के रैखिक फ़ंक्शन के बहुत करीब नहीं होना चाहिए। (एस-बॉक्स डीईएस का एकमात्र गैर-रेखीय तत्व हैं और उनकी गैर-रैखिकता एल्गोरिदम की ताकत है।)
-
एस-बॉक्स की प्रत्येक "पंक्ति" में सभी संभावित आउटपुट शामिल होने चाहिए। (यह आउटपुट को रैंडमाइज करता है।)
-
यदि एस-बॉक्स में दो इनपुट वास्तव में एक बिट में भिन्न होते हैं, तो उनका आउटपुट न्यूनतम दो बिट्स में भिन्न होना चाहिए।
-
यदि एस-बॉक्स में दो इनपुट विशेष रूप से मध्य दो बिट्स में भिन्न होते हैं और उनके आउटपुट कम से कम दो बिट्स से भिन्न होना चाहिए।
-
यदि एस-बॉक्स में दो इनपुट अपने पहले दो बिट्स में भिन्न होते हैं और उनके अंतिम दो पर सहमत होते हैं, तो दो आउटपुट अलग-अलग होने चाहिए।