Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

DES में S-बॉक्स की भूमिका

DES (Data Encryption Standard) NIST (नेशनल इंस्टीट्यूट ऑफ स्टैंडर्ड्स एंड टेक्नोलॉजी) द्वारा प्रस्तुत एक सममित-कुंजी ब्लॉक सिफर है। DES को जनवरी 1977 में फेडरल रजिस्टर में FIPS 46 के रूप में प्रस्तुत किया गया था।

  • NIST DES को असंग्रहीत सॉफ्टवेयर में उपयोग के लिए मानक के रूप में प्रस्तुत करता है।
  • DES अपने प्रकाशन के बाद से सबसे व्यापक रूप से उपयोग किया जाने वाला सममित-कुंजी ब्लॉक सिफर रहा है।
  • बाद में NIST ने एक नया मानक (FIPS 46-3) जारी किया जो भविष्य के सॉफ्टवेयर के लिए ट्रिपल DES (DES सिफर को तीन बार दोहराना) के उपयोग की पुष्टि करता है।
  • DES का 64-बिट ब्लॉक आकार है और कार्यान्वयन के दौरान 56-बिट कुंजी की आवश्यकता होती है (पूर्ण 64 बिट कुंजी से 8 पैरिटी बिट्स हटा दिए जाते हैं)।
  • DES एक सममित क्रिप्टोसिस्टम है, विशेष रूप से एक 16-राउंड फेस्टल सिफर।

DES प्रक्रिया

एन्क्रिप्ट किए जाने वाले ब्लॉक को एक प्रारंभिक परम्यूटेशन IP के अधीन किया जाता है और फिर एक जटिल कुंजी-निर्भर गणना के लिए और अंततः एक परम्यूटेशन के लिए जो प्रारंभिक परम्यूटेशन IP⁻¹ का व्युत्क्रम है।

  • परम्यूटेशन एक फंक्शन द्वारा कार्यान्वित एक ऑपरेशन है, जो स्थान j पर एक तत्व को स्थान k पर बदलता है।
  • कुंजी-निर्भर गणना को फंक्शन f के संदर्भ में सरलता से दर्शाया जा सकता है जिसे सिफर फंक्शन (Cipher Function) के रूप में जाना जाता है, और एक फंक्शन KS जिसे की शेड्यूल (Key Schedule) के रूप में जाना जाता है।

फंक्शन F में S-बॉक्स की भूमिका

सब्स्टीट्यूशन में आठ S-बॉक्स का एक समूह शामिल है। प्रत्येक 6 बिट्स को इनपुट के रूप में लेता है और 4 बिट्स उत्पन्न करता है, निम्नानुसार:

  • बॉक्स Sᵢ के इनपुट का पहला और अंतिम बिट एक 2-बिट बाइनरी नंबर बनाते हैं जो Sᵢ के लिए तालिका में दर्शाए गए चार सब्स्टीट्यूशन में से एक को चुनने के लिए पंक्ति का चयन करता है।
  • मध्य चार बिट्स सोलह कॉलम में से एक का चयन करते हैं।
  • पंक्ति और कॉलम द्वारा चुने गए सेल में दशमलव मान को फिर इसके 4-बिट प्रतिनिधित्व में परिवर्तित किया जाता है ताकि आउटपुट बनाया जा सके।

उदाहरण: S1 में, इनपुट 011001 के लिए, पंक्ति 01 है और कॉलम 1100 है। पंक्ति 1, कॉलम 12 में मान 9 है, इसलिए आउटपुट 1001 है।

S-बॉक्स के डिजाइन सिद्धांत

  • प्रत्येक S-बॉक्स में इनपुट के छह बिट्स और आउटपुट के चार बिट्स होने चाहिए।
  • S-बॉक्स का कोई आउटपुट बिट इनपुट बिट्स के रैखिक फंक्शन के बहुत करीब नहीं होना चाहिए। (S-बॉक्स DES का एकमात्र नॉन-लीनियर तत्व हैं और उनकी नॉन-लीनियरिटी एल्गोरिदम की ताकत है।)
  • S-बॉक्स की प्रत्येक "पंक्ति" में सभी संभावित आउटपुट शामिल होने चाहिए। (यह आउटपुट को रैंडमाइज़ करता है।)
  • यदि S-बॉक्स के दो इनपुट वास्तव में एक बिट में भिन्न हैं, तो उनके आउटपुट कम से कम दो बिट्स में भिन्न होने चाहिए।
  • यदि S-बॉक्स के दो इनपुट विशेष रूप से मध्य दो बिट्स में भिन्न हैं, तो उनके आउटपुट कम से कम दो बिट्स से भिन्न होने चाहिए।
  • यदि S-बॉक्स के दो इनपुट अपने पहले दो बिट्स में भिन्न हैं और अपने अंतिम दो पर सहमत हैं, तो दो आउटपुट असमान होने चाहिए।
  1. सूचना सुरक्षा में DES की कुंजी उत्पादन के चरण सूचना सुरक्षा में DES की कुंजी उत्पादन के चरण

    डेटा एन्क्रिप्शन स्टैंडर्ड (DES) एक ब्लॉक सिफर एल्गोरिदम है जो 64 बिट्स के ब्लॉकों में प्लेन टेक्स्ट बनाता है और उन्हें 48 बिट्स की कुंजियों का उपयोग करके सिफरटेक्स्ट में बदल देता है। यह एक सममित कुंजी एल्गोरिदम है, जिसका अर्थ है कि समान कुंजी का उपयोग जानकारी को एन्क्रिप्ट और डिक्रिप्ट करने के लिए

  1. DES के रूपांतर क्या हैं? DES के रूपांतर क्या हैं?

    डेटा एन्क्रिप्शन स्टैंडर्ड के दो मुख्य रूपांतर निम्नलिखित हैं: डबल DES (Double DES) - डबल DES एक एन्क्रिप्शन दृष्टिकोण है जिसे समान प्लेन टेक्स्ट पर DES के दो उदाहरणों की आवश्यकता होती है। दोनों उदाहरणों में यह प्लेन टेक्स्ट को एन्क्रिप्ट करने के लिए कई कुंजियों का उपयोग करता है। डिक्रिप्शन के समय

  1. - C# में कमेंट्स क्या हैं

    कमेंट्स कोड समझाने के लिए उपयोग किए जाते हैं। कंपाइलर कमेंट एंट्रीज़ को इग्नोर करता है। C# प्रोग्राम्स में मल्टीलाइन कमेंट्स /* से शुरू होते हैं और */ कैरेक्टर्स से समाप्त होते हैं। मल्टी-लाइन कमेंट्स /* The following is a mult-line comment In C# /* /*...*/ को कंपाइलर इग्नोर करता है और इसे प्रोग्राम