डेटा एन्क्रिप्शन स्टैंडर्ड (डीईएस) एक ब्लॉक सिफर एल्गोरिथम है जो 64 बिट्स के ब्लॉक में सादा पाठ बनाता है और 48 बिट्स की कुंजियों का उपयोग करके उन्हें सिफरटेक्स्ट में बदल देता है। यह एक सममित कुंजी एल्गोरिथम है, जो परिभाषित करता है कि जानकारी को एन्क्रिप्ट और डिक्रिप्ट करने के लिए समान कुंजी का उपयोग किया जाता है।
डेस 64-बिट प्लेनटेक्स्ट लेता है और 64-बिट सिफरटेक्स्ट उत्पन्न करता है; डिक्रिप्शन साइट पर, डेस 64-बिट सिफरटेक्स्ट लेता है और प्लेनटेक्स्ट का 64-बिट ब्लॉक तैयार करता है। एन्क्रिप्शन और डिक्रिप्शन दोनों के लिए समान 56-बिट सिफर कुंजी का उपयोग किया जा सकता है।
डीईएस की प्रमुख प्रकृति यह है कि एल्गोरिदम निश्चित है और सार्वजनिक डेटा है। हालांकि, उपयोग की जाने वाली वास्तविक कुंजी को प्रवर्तक और ट्रांसमिशन के रिसीवर के बीच गुप्त साझा किया जाता है।
डीईएस में प्रगति में 128 बिट्स तक एक कुंजी को लंबा करना और बहु-पास डीईएस शामिल है जिसमें कई पास शामिल हैं जो आमतौर पर कई कुंजियों का उपयोग करके एन्क्रिप्शन और डिक्रिप्शन के तीन होते हैं।
डेस 1960 के दशक के अंत में इंटरनेशनल बिजनेस मशीन्स (आईबीएम) कॉर्पोरेशन द्वारा स्थापित एक शोध परियोजना का परिणाम था, जिसके परिणामस्वरूप लूसिफर नामक एक सिफर हुआ। 1970 के दशक की शुरुआत में लूसिफ़ेर को नीचा दिखाने की ठान ली गई थी और कई नवाचारों को पेश किया गया था।
एल्गोरिथम एन्क्रिप्शन के 16 राउंड लागू करता है और प्रत्येक राउंड के लिए, एक अद्वितीय कुंजी का उत्पादन किया जाता है। चरणों में बदलने से पहले, यह समझना आवश्यक है कि प्लेन टेक्स्ट में बिट्स को 1 से 64 तक लेबल किया जाता है जहां 1 सबसे महत्वपूर्ण बिट होता है और 64 सबसे कम महत्वपूर्ण बिट होता है। कुंजियाँ बनाने की प्रक्रिया इस प्रकार है -
-
गोल कुंजी जनरेटर 56-बिट सिफरकी में से सोलह 48-बिट कुंजी उत्पन्न करता है। सिफर कुंजी को 64 बिट कुंजी के रूप में प्रदान किया जाता है जिसमें 8 अतिरिक्त बिट पैरिटीबिट होते हैं, जिन्हें वास्तविक कुंजी पीढ़ी प्रक्रिया शुरू होने से पहले छोड़ दिया जाता है।
-
पैरिटी बिट ड्रॉप प्रक्रिया 64-बिट कुंजी से पैरिटी बिट्स (बिट 8, 16, 24, 32…64) को ड्रॉप करती है और शेष बिट को पूर्व-निर्धारित नियमों के अनुसार नीचे पैरिटी बिट ड्रॉप टेबल में डिस्प्ले के रूप में परमिट करती है।
-
ये शेष 56 बिट आमतौर पर की जनरेशन के लिए उपयोग किए जाते हैं।
-
क्रमपरिवर्तन के बाद, कुंजियों को दो 28 बिट भागों में विभाजित किया जाता है। प्रत्येक भाग बदल जाता है बाएं एक या दो बिट राउंड पर निर्भर होते हैं।
-
राउंड 1, 2, 9, और 16 में शिफ्टिंग एक बिट है और दूसरे राउंड में यह दो बिट्स है। दो भागों को एक 56 बिट भाग बनाने के लिए एकीकृत किया गया है।
-
इस प्रकार संपीड़न डी-बॉक्स इसे 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 |