DES के विभिन्न घटक निम्नलिखित हैं:
कुंजी परिवर्तन (Key Transformation) - एक प्रारंभिक 64-बिट कुंजी को प्रारंभिक कुंजी के प्रत्येक 8वें बिट को हटाकर 56-बिट कुंजी में बदला जाता है। इसलिए प्रत्येक राउंड के लिए, 56 बिट कुंजी लागू होती है। इस 56-बिट कुंजी से, कुंजी परिवर्तन के रूप में जानी जाने वाली प्रक्रिया का उपयोग करके हर राउंड के दौरान कई 48-बिट सबकी उत्पन्न होती हैं। 56-बिट कुंजी को दो हिस्सों में तोड़ा जाता है, प्रत्येक 28 बिट्स का।
| राउंड | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| शिफ्ट किए गए कुंजी बिट्स की संख्या | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
कुंजी परिवर्तन प्रक्रिया में, इसमें मूल 56-बिट कुंजी से 48-बिट कुंजी का क्रमपरिवर्तन और चयन शामिल है जिसे संपीड़न क्रमपरिवर्तन के रूप में जाना जाता है। संपीड़न क्रमपरिवर्तन तकनीक में, प्रत्येक राउंड में कुंजी बिट्स के कई उपसमुच्चय का उपयोग किया जाता है। यह DES को क्रैक करना आसान नहीं बनाता।
विस्तार क्रमपरिवर्तन (Expansion Permutation) - प्रारंभिक क्रमपरिवर्तन के बाद, इसमें दो 32-बिट प्लेनटेक्स्ट क्षेत्र थे, जिन्हें लेफ्ट प्लेन टेक्स्ट और राइट प्लेन टेक्स्ट के रूप में जाना जाता है। विस्तार क्रमपरिवर्तन के दौरान, RPT को 32 बिट्स से 48 बिट्स तक फैलाया जाता है। 32 से 48 तक बिट आकार बढ़ाते समय, बिट्स को क्रमपरिवर्तित भी किया जाता है जिसे विस्तार क्रमपरिवर्तन के रूप में जाना जाता है।
जैसा कि देखा जा सकता है, पहले कुंजी परिवर्तन प्रक्रिया 56-बिट कुंजी को 48-बिट्स तक संपीड़ित करती है। इसलिए, विस्तार क्रमपरिवर्तन प्रक्रिया 32-बिट RPT को 48-बिट्स तक विकसित करती है।
S-बॉक्स प्रतिस्थापन (S-box Substitution) - S-बॉक्स प्रतिस्थापन एक प्रक्रिया है जो संपीड़ित कुंजी और विस्तारित RPT वाले XOR ऑपरेशन से 48-बिट इनपुट को स्वीकार करती है, और प्रतिस्थापन तकनीक का उपयोग करके 32-बिट आउटपुट विकसित करती है।
प्रतिस्थापन आठ प्रतिस्थापन बॉक्स (जिन्हें S-बॉक्स के रूप में भी जाना जाता है) द्वारा लागू किया जाता है। आठ S-बॉक्स में से प्रत्येक का 6-बिट इनपुट और 4-बिट आउटपुट होता है। 48-बिट इनपुट ब्लॉक को 8 उप-ब्लॉकों में विभाजित किया जाता है (प्रत्येक में 6 बिट्स शामिल), और प्रत्येक उप-ब्लॉक को एक S-बॉक्स को प्रदान किया जाता है।
P-बॉक्स क्रमपरिवर्तन (P-box Permutation) - S-बॉक्स का आउटपुट 32 बिट्स का होता है। इन 32 बिट्स को P-बॉक्स का उपयोग करके क्रमपरिवर्तित किया जाता है। यह सीधा क्रमपरिवर्तन ढांचा सरल क्रमपरिवर्तन रखता है जिसमें Pबॉक्स तालिका में परिभाषित अनुसार प्रत्येक बिट को दूसरे बिट से बदला जाता है, बिना किसी विस्तार या संपीड़न के। इसे P-बॉक्स क्रमपरिवर्तन के रूप में जाना जाता है।
XOR और SWAP - यह 64-बिट मूल प्लेनटेक्स्ट के केवल 32-बिट दाएं आधे हिस्से पर (यानी, RPT पर) इन सभी ऑपरेशनों को लागू कर रहा है। बायां आधा हिस्सा (यानी, LPT) अब तक अप्रभावित था।
इस जंक्शन पर, प्रारंभिक 64-बिट प्लेन-टेक्स्ट ब्लॉक के बाएं आधे हिस्से (यानी, LPT) को P-बॉक्स क्रमपरिवर्तन द्वारा बनाए गए आउटपुट के साथ XOR किया जाता है। इस XOR ऑपरेशन का परिणाम नया दायां आधा (यानी, RPT) बन जाता है। पुराना दायां आधा (यानी, RPT) स्वैपिंग की प्रक्रिया में नया बायां आधा बन जाता है।