DES (Data Encryption Standard) 16 राउंड का उपयोग करता है। प्रत्येक 16 राउंड में निम्नलिखित प्रमुख चरण शामिल होते हैं:
1. कुंजी परिवर्तन (Key Transformation)
प्रारंभिक 64-बिट कुंजी को प्रारंभिक कुंजी के प्रत्येक 8वें बिट को हटाकर 56-बिट कुंजी में बदला जाता है। इस प्रकार प्रत्येक राउंड के लिए 56-बिट कुंजी उपलब्ध होती है। इस 56-बिट कुंजी से, कुंजी परिवर्तन के रूप में जानी जाने वाली प्रक्रिया का उपयोग करके प्रत्येक राउंड के दौरान एक अलग 48-बिट सबकी उत्पन्न की जाती है।
56-बिट कुंजी को दो हिस्सों में विभाजित किया जाता है, प्रत्येक 28 बिट का। ये हिस्से राउंड के आधार पर एक या दो स्थितियों द्वारा बाएं परिपत्र रूप से स्थानांतरित किए जाते हैं।
उदाहरण के लिए, यदि राउंड संख्या 1, 2, 9 या 16 है, तो शिफ्ट केवल एक स्थिति द्वारा पूरी की जाती है। अन्य राउंड के लिए, परिपत्र शिफ्ट दो स्थितियों द्वारा पूरी की जाती है। प्रति राउंड शिफ्ट किए गए कुंजी बिट्स की संख्या तालिका में प्रदर्शित है।
| राउंड | 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 |
प्रति राउंड शिफ्ट किए गए कुंजी बिट्स की संख्या
2. विस्तार क्रमपरिवर्तन (Expansion Permutation)
प्रारंभिक क्रमपरिवर्तन के बाद, दो 32-बिट प्लेनटेक्स्ट क्षेत्र होते हैं, जिन्हें लेफ्ट प्लेन टेक्स्ट (LPT) और राइट प्लेन टेक्स्ट (RPT) के रूप में जाना जाता है। विस्तार क्रमपरिवर्तन के दौरान, RPT को 32 बिट्स से 48 बिट्स तक फैलाया जाता है। 32 से 48 तक बिट आकार बढ़ाते समय, बिट्स को क्रमपरिवर्तित भी किया जाता है, जिसे विस्तार क्रमपरिवर्तन के रूप में जाना जाता है।
3. S-बॉक्स प्रतिस्थापन (S-box Substitution)
S-बॉक्स प्रतिस्थापन एक प्रक्रिया है जो संपीड़ित कुंजी और विस्तारित RPT वाले XOR ऑपरेशन से 48-बिट इनपुट को स्वीकार करती है, और प्रतिस्थापन तकनीक का उपयोग करके 32-बिट आउटपुट बनाती है।
4. P-बॉक्स क्रमपरिवर्तन (P-box Permutation)
S-बॉक्स का आउटपुट 32 बिट्स का होता है। इन 32 बिट्स को P-बॉक्स का उपयोग करके क्रमपरिवर्तित किया जाता है। यह सीधा क्रमपरिवर्तन ढांचा सरल क्रमपरिवर्तन रखता है जिसमें P-बॉक्स तालिका में परिभाषित अनुसार प्रत्येक बिट को दूसरे बिट से बदला जाता है, बिना किसी विस्तार या संपीड़न के। इसे P-बॉक्स क्रमपरिवर्तन के रूप में जाना जाता है।
P-बॉक्स तालिका में प्रदर्शित है। उदाहरण के लिए, पहले ब्लॉक में 16 दर्शाता है कि मूल इनपुट के स्थान 16 पर बिट आउटपुट में स्थान 1 पर बिट बन जाता है और ब्लॉक नंबर 16 में 10 दर्शाता है कि मूल इनपुट के स्थान 10 पर बिट आउटपुट में स्थान 16 पर बिट बन जाता है।
| 16 | 7 | 20 | 21 | 29 | 12 | 28 | 17 | 1 | 15 | 23 | 26 | 5 | 18 | 31 | 10 |
| 2 | 8 | 24 | 14 | 32 | 27 | 3 | 9 | 19 | 13 | 30 | 6 | 22 | 11 | 4 | 25 |
5. XOR और स्वैप (XOR and Swap)
ये सभी ऑपरेशन मूल 64-बिट प्लेनटेक्स्ट के 32-बिट दाएं आधे हिस्से पर ही लागू किए जाते हैं। बायां आधा हिस्सा अब तक अप्रभावित था। इस बिंदु पर, प्रारंभिक 64-बिट प्लेनटेक्स्ट ब्लॉक के बाएं आधे हिस्से को P-बॉक्स क्रमपरिवर्तन द्वारा बनाए गए आउटपुट के साथ XOR किया जाता है।