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

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


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

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

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

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

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

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

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

एन्क्रिप्शन प्रक्रिया

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

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

डिक्रिप्शन प्रक्रिया

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

ब्लोफिश के लिए मूल एल्गोरिदम निम्नानुसार है:

x को दो 32-बिट हिस्सों में विभाजित करें: xₗ, xᵣ।

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

xₗ = xₗ XOR Pᵢ

xᵣ = F(xₗ) XOR xᵣ

xₗ और xᵣ को स्वैप करें

16वें राउंड के बाद, अंतिम स्वैप को पूर्ववत करने के लिए xₗ और xᵣ को फिर से स्वैप करें।

फिर, सिफरटेक्स्ट = xₗ और xᵣ का संयोजन, xᵣ = xᵣ XOR P17 और xₗ = xₗ XOR P₁₈।


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

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

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

    एल्गोरिदम एक चरण-दर-चरण प्रक्रिया है जो किसी समस्या को हल करने में सहायक होती है। यदि इसे अंग्रेजी जैसे वाक्यों में लिखा जाता है, तो इसे स्यूडो कोड (PSEUDO CODE) कहा जाता है। एल्गोरिदम के गुण एक एल्गोरिदम में निम्नलिखित पांच गुण होने चाहिए: इनपुट (Input) - शून्य या अधिक इनपुट्स आउटपुट (Output) - ए

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

    एल्गोरिदम विश्लेषण (Algorithm Analysis) एल्गोरिदम की दक्षता का विश्लेषण दो अलग-अलग चरणों में किया जा सकता है: कार्यान्वयन से पहले और कार्यान्वयन के बाद, जैसे - ए प्रायोरी विश्लेषण (A Priori Analysis) - यह एल्गोरिदम का सैद्धांतिक विश्लेषण है। एल्गोरिदम की दक्षता को यह मानकर मापा जाता है कि अन्य सभी