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

ब्लोफिश एल्गोरिथम में डेटा एन्क्रिप्शन और डिक्रिप्शन क्या है?

<घंटा/>

ब्लोफिश दिसंबर 1993 में ब्रूट श्नेयर द्वारा आविष्कार किया गया एक सममित ब्लॉक सिफर एल्गोरिथ्म है। ब्लोफिश एल्गोरिथ्म के कई फायदे हैं। यह हार्डवेयर कार्यान्वयन के लिए लागू और कुशल है और किसी लाइसेंस की आवश्यकता नहीं है। ब्लोफिश एल्गोरिथम के प्राथमिक ऑपरेटरों में टेबल लुकअप, जोड़ और एक्सओआर शामिल हैं। तालिका में चार एस-बॉक्स और एक पी-सरणी है।

ब्लोफिश एक सिफर है जो फिस्टल राउंड पर निर्भर करता है, और एफ-फ़ंक्शन के डिज़ाइन का उपयोग डीईएस में उपयोग किए गए सिद्धांतों के सरलीकरण के लिए किया जाता है ताकि सॉफ़्टवेयर में उच्च गति और प्रभावशीलता के साथ समान सुरक्षा का समर्थन किया जा सके।

ब्लोफिश एक 64-बिट सममित ब्लॉक सिफर है जिसे 32 से 448-बिट्स (14 बाइट्स) तक एक चर-लंबाई कुंजी की आवश्यकता होती है। एल्गोरिथम को 64-बिट्स प्लेनटेक्स्ट को प्रभावी ढंग से और सुरक्षित रूप से 64-बिट्स सिफर टेक्स्ट में एन्क्रिप्ट करने के लिए तैयार किया गया था।

एल्गोरिथम के लिए चुने गए ऑपरेशन टेबल लुकअप, मॉड्यूलस, एडिशन और बिटवाइज एक्सक्लूसिव थे-या 32-बिट प्रोसेसर पर जानकारी को एन्क्रिप्ट और डिक्रिप्ट करने के लिए आवश्यक समय को कम करने के लिए।

डेस के साथ, ब्लोफिश में एन्क्रिप्शन और डिक्रिप्शन के लिए 16 राउंड फिस्टल नेटवर्क शामिल है। लेकिन ब्लोफिश के हर दौर के दौरान, बाएँ और दाएँ 32-बिट डेटा को DES के विपरीत बदल दिया जाता है, जो अगले राउंड के 32-बिट्स में विकसित होने के लिए केवल दाएँ 32-बिट्स को बदलता है।

ब्लोफिश में बिटवाइज़ एक्सक्लूसिव-या ऑपरेशन शामिल है जिसे F फ़ंक्शन द्वारा परिवर्तित किए जाने से पहले 32-बिट्स के बाईं ओर कार्यान्वित किया जाना है या अगले राउंड के लिए दाईं ओर 32-बिट्स में प्रचारित किया जाना है।

ब्लोफिश में दो एक्सक्लूसिव-या ऑपरेशन भी शामिल हैं जिन्हें 16 राउंड और एक स्वैप ऑपरेशन के बाद लागू किया जाना है। यह ऑपरेशन DES में लागू किए गए क्रमपरिवर्तन फ़ंक्शन से अलग है।

एन्क्रिप्शन प्रक्रिया - एन्क्रिप्शन प्रक्रिया की दो खबरें हैं, जिनमें सादा पाठ के रूप में सूचना छवि और एन्क्रिप्शन कुंजी शामिल हैं। इस पद्धति में, मूल छवि डेटा बिट स्ट्रीम को ब्लोफिश एल्गोरिथम की ब्लॉक लंबाई में विभाजित किया जाता है।

छवि शीर्षलेख एन्क्रिप्ट करने के लिए अनधिकृत है और बिटमैप पिक्सेल या सरणी की शुरुआत फ़ाइल के शीर्षलेख के ठीक बाद शुरू होती है। सरणी के बाइट घटक को बाएं से दाएं पंक्ति क्रम में सहेजा जाता है, प्रत्येक पंक्ति छवि की एक स्कैन लाइन को परिभाषित करती है और छवि की पंक्तियों को ऊपर से नीचे तक एन्क्रिप्ट किया जाता है।

डिक्रिप्शन प्रक्रिया - एन्क्रिप्ट की गई छवि को ऊपर से नीचे तक ब्लोफिश एल्गोरिथम के बराबर ब्लॉक लंबाई में विभाजित किया गया है। पहला ब्लॉक डिक्रिप्शन फ़ंक्शन में दर्ज किया जाता है और समकक्ष एन्क्रिप्शन कुंजी का उपयोग छवि को डिक्रिप्ट करने के लिए किया जा सकता है लेकिन उप कुंजियों का अनुप्रयोग उलट जाता है। डिक्रिप्शन की प्रक्रिया ऊपर से नीचे तक छवि के विभिन्न ब्लॉकों के साथ विस्तारित होती है।

ब्लोफिश के लिए मूल एल्गोरिथम इस प्रकार है -

x को दो 32-बिट हिस्सों में विभाजित करें:xL , एक्स<उप>आर

फिर, i =1 से 16 के लिए;

x<उप>एल =x<उप>एल एक्सओआर पाई

x<उप>आर =एफ(एक्स<उप>एल ) एक्सओआर एक्स<उप>आर

स्वैप xL और xR

16 वें . के बाद राउंड, स्वैप xL और xR पिछले स्वैप को फिर से पूर्ववत करने के लिए।

फिर, सिफरटेक्स्ट =xL . का संयोजन और xR , एक्स<उप>आर =x<उप>आर XOR P17 और xL =x<उप>एल एक्सओआर पी<उप>18


  1. सूचना सुरक्षा में एईएस एन्क्रिप्शन और डिक्रिप्शन क्या है?

    एईएस एन्क्रिप्शन उन्नत एन्क्रिप्शन स्टैंडर्ड (एईएस) से स्वीकृत 128-बिट, 192-बिट, या 256-बिट सममित एन्क्रिप्शन एल्गोरिथ्म का उपयोग करके इलेक्ट्रॉनिक जानकारी को छिपाने के चरण को परिभाषित करता है, जिसे FIPS 197 भी कहा जाता है। 1990 के दशक में, अमेरिकी सरकार को एक क्रिप्टोग्राफ़िक एल्गोरिथम को मानकीकृत

  1. C भाषा में एल्गोरिथम और फ़्लोचार्ट क्या है?

    एल्गोरिथम एक चरण-दर-चरण प्रक्रिया है जो किसी समस्या को हल करने में सहायक होती है। यदि, इसे अंग्रेजी में वाक्यों की तरह लिखा जाता है, तो इसे छद्म कोड कहा जाता है। एल्गोरिदम के गुण एक एल्गोरिथ्म में निम्नलिखित पाँच गुण होने चाहिए - इनपुट आउटपुट परिमितता निश्चितता प्रभावकारिता उदाहरण तीन संख्याओं क

  1. डेटा संरचना में समय और स्थान की जटिलता

    एल्गोरिदम विश्लेषण एक एल्गोरिथ्म की दक्षता का विश्लेषण दो अलग-अलग चरणों में किया जा सकता है, कार्यान्वयन से पहले और कार्यान्वयन के बाद, जैसा कि एक प्राथमिक विश्लेषण - इसे एक एल्गोरिथ्म के सैद्धांतिक विश्लेषण के रूप में परिभाषित किया गया है। एल्गोरिथ्म की दक्षता को यह मानकर मापा जाता है कि अन्य सभी