डेटा एन्क्रिप्शन स्टैंडर्ड (DES) एक ब्लॉक सिफर एल्गोरिदम है जो 64 बिट्स के ब्लॉकों में प्लेन टेक्स्ट बनाता है और उन्हें 48 बिट्स की कुंजियों का उपयोग करके सिफरटेक्स्ट में बदल देता है। यह एक सममित कुंजी एल्गोरिदम है, जिसका अर्थ है कि समान कुंजी का उपयोग जानकारी को एन्क्रिप्ट और डिक्रिप्ट करने के लिए किया जाता है।
- DES 64-बिट प्लेनटेक्स्ट लेता है और 64-बिट सिफरटेक्स्ट उत्पन्न करता है; डिक्रिप्शन साइट पर, DES 64-बिट सिफरटेक्स्ट लेता है और 64-बिट प्लेनटेक्स्ट ब्लॉक उत्पन्न करता है।
- एन्क्रिप्शन और डिक्रिप्शन दोनों के लिए समान 56-बिट सिफर कुंजी का उपयोग किया जा सकता है।
- DES की प्रमुख विशेषता यह है कि एल्गोरिदम निश्चित है और सार्वजनिक डेटा है। हालांकि, वास्तविक उपयोग की जाने वाली कुंजी एक ट्रांसमिशन के निर्माता और प्राप्तकर्ता के बीच साझा रहस्य है।
- DES में प्रगति में कुंजी को 128 बिट्स तक बढ़ाना और मल्टी-पास DES शामिल है जिसमें आमतौर पर कई कुंजियों का उपयोग करके एन्क्रिप्शन और डिक्रिप्शन के कई पास शामिल होते हैं, आमतौर पर तीन।
इतिहास
- DES इंटरनेशनल बिजनेस मशीन्स (IBM) कॉर्पोरेशन द्वारा देर से 1960 के दशक में स्थापित एक शोध परियोजना का परिणाम था जिसके परिणामस्वरूप LUCIFER नामक एक सिफर बना।
- 1970 के दशक की शुरुआत में LUCIFER को कम करने का निर्णय लिया गया और कई नवाचार पेश किए गए।
कुंजी उत्पादन प्रक्रिया
एल्गोरिदम एन्क्रिप्शन के 16 राउंड लागू करता है और प्रत्येक राउंड के लिए एक अद्वितीय कुंजी उत्पन्न होती है। चरणों को समझने से पहले, यह जानना आवश्यक है कि प्लेनटेक्स्ट में बिट्स को 1 से 64 तक लेबल किया जाता है जहां 1 सबसे महत्वपूर्ण बिट है और 64 सबसे कम महत्वपूर्ण बिट है। कुंजी उत्पन्न करने की प्रक्रिया निम्नानुसार है:
- राउंड कुंजी जनरेटर: 56-बिट सिफर कुंजी से सोलह 48-बिट कुंजियां उत्पन्न करता है। सिफर कुंजी को 64 बिट कुंजी के रूप में प्रदान किया जाता है जिसमें 8 अतिरिक्त बिट्स पैरिटी बिट्स होते हैं, जिन्हें वास्तविक कुंजी उत्पादन प्रक्रिया शुरू होने से पहले हटा दिया जाता है।
- पैरिटी बिट ड्रॉप: पैरिटी बिट्स (बिट 8, 16, 24, 32...64) को 64-बिट कुंजी से हटा दिया जाता है और शेष बिट्स को पूर्व-निर्धारित नियमों के अनुसार परम्यूट किया जाता है जैसा कि नीचे पैरिटी बिट ड्रॉप टेबल में दिखाया गया है।
- शेष 56 बिट्स: आमतौर पर कुंजी उत्पादन के लिए उपयोग किए जाते हैं।
- विभाजन और शिफ्ट: परम्यूटेशन के बाद, कुंजियों को दो 28-बिट भागों में विभाजित किया जाता है। प्रत्येक भाग को राउंड के आधार पर एक या दो बिट्स बाएं शिफ्ट किया जाता है।
- शिफ्ट पैटर्न: राउंड 1, 2, 9, और 16 में शिफ्ट एक बिट है और अन्य राउंड में यह दो बिट्स है। दोनों भागों को 56 बिट भाग बनाने के लिए संयोजित किया जाता है।
- कम्प्रेशन D-बॉक्स: इसे 48 बिट में बदल देता है। इन 48 बिट्स का उपयोग एक राउंड के लिए कुंजी के रूप में किया जाता है।
पैरिटी बिट ड्रॉप टेबल
| 57 | 49 | 41 | 33 | 25 | 17 | 09 | 01 |
| 58 | 50 | 42 | 34 | 26 | 18 | 10 | 02 |
| 59 | 51 | 43 | 35 | 27 | 19 | 11 | 03 |
| 60 | 52 | 44 | 36 | 63 | 55 | 47 | 39 |
| 31 | 23 | 15 | 07 | 62 | 54 | 46 | 38 |
| 30 | 22 | 14 | 06 | 61 | 53 | 45 | 37 |
| 29 | 21 | 13 | 05 | 28 | 20 | 12 | 04 |
