स्ट्रीम सिफर बनाम ब्लॉक सिफर | स्टेट सिफर बनाम ब्लॉक सिफर
क्रिप्टोग्राफी में, स्ट्रीम सिफर और ब्लॉक सिफर दो एन्क्रिप्शन/डिक्रिप्शन एल्गोरिदम हैं जो सममित कुंजी सिफर के परिवार से संबंधित हैं। आम तौर पर एक सिफर इनपुट के रूप में एक सादा-पाठ लेता है और आउटपुट के रूप में एक सिफरटेक्स्ट उत्पन्न करता है। ब्लॉक सिफर एक अपरिवर्तनीय परिवर्तन का उपयोग करके बिट्स के निश्चित-लंबाई वाले ब्लॉक को एन्क्रिप्ट करता है। स्ट्रीम सिफर अलग-अलग लंबाई के बिट्स की धाराओं को एन्क्रिप्ट करते हैं और प्रत्येक बिट पर अलग-अलग परिवर्तन का उपयोग करते हैं।
स्ट्रीम सिफर क्या है?
स्ट्रीम सिफर सममित कुंजी सिफर के परिवार से संबंधित है। स्ट्रीम सिफर XOR (अनन्य-या) ऑपरेशन के उपयोग के साथ सादे-पाठ बिट्स को छद्म यादृच्छिक सिफर बिट्स स्ट्रीम के साथ जोड़ते हैं।स्ट्रीम सिफर लगातार अंकों के लिए अलग-अलग परिवर्तनों के साथ सादे-पाठ अंकों को एक बार में एन्क्रिप्ट करते हैं। क्योंकि प्रत्येक अंक का एन्क्रिप्शन सिफर इंजन की वर्तमान स्थिति पर निर्भर करता है, स्ट्रीम सिफर को स्टेट सिफर के रूप में भी जाना जाता है। आमतौर पर, सिंगल बिट्स/बाइट्स का इस्तेमाल सिंगल डिजिट के रूप में किया जाता है। सुरक्षा चिंताओं से बचने के लिए, यह सुनिश्चित किया जाना चाहिए कि एक ही प्रारंभिक अवस्था का उपयोग एक से अधिक बार न किया जाए। सबसे व्यापक रूप से इस्तेमाल किया जाने वाला स्ट्रीम सिफर RC4 है।
ब्लॉक सिफर क्या है?
एक ब्लॉक सिफर एक और सममित कुंजी सिफर है। ब्लॉक सिफर निश्चित-लंबाई वाले ब्लॉक (बिट्स के समूह) पर काम करते हैं। ब्लॉक सिफर ब्लॉक में सभी अंकों के लिए एक निश्चित (अपरिवर्तनीय) परिवर्तन का उपयोग करते हैं। उदाहरण के लिए, जब एक x-बिट ब्लॉक सादा-पाठ (एक गुप्त कुंजी के साथ) ब्लॉक सिफर इंजन के इनपुट के रूप में प्रदान किया जाता है, तो यह सिफरटेक्स्ट के संबंधित x-बिट ब्लॉक का उत्पादन करता है। वास्तविक परिवर्तन गुप्त कुंजी पर निर्भर है। इसी तरह, डिक्रिप्शन एल्गोरिथ्म सिफरटेक्स्ट के एक्स-बिट ब्लॉक और इनपुट के रूप में उपरोक्त गुप्त कुंजी का उपयोग करके प्लेनटेक्स्ट के मूल एक्स-बिट ब्लॉक को पुनर्प्राप्त करता है।यदि इनपुट संदेश ब्लॉक के आकार की तुलना में बहुत लंबा है, तो इसे ब्लॉक में तोड़ दिया जाएगा और इन ब्लॉकों को उसी कुंजी का उपयोग करके (व्यक्तिगत रूप से) एन्क्रिप्ट किया जाएगा। हालाँकि, क्योंकि एक ही कुंजी का उपयोग किया जाता है, सादा-पाठ में प्रत्येक दोहराया अनुक्रम सिफर-पाठ में समान दोहराया अनुक्रम बन जाता है, और इससे सुरक्षा संबंधी चिंताएँ हो सकती हैं। लोकप्रिय ब्लॉक सिफर डीईएस (डेटा एन्क्रिप्शन स्टैंडर्ड) और एईएस (उन्नत एन्क्रिप्शन स्टैंडर्ड) हैं।
स्ट्रीम सिफर और ब्लॉक सिफर में क्या अंतर है?
यद्यपि स्ट्रीम सिफर और ब्लॉक सिफर दोनों ही सिमेट्रिक एन्क्रिप्शन सिफर के परिवार से संबंधित हैं, लेकिन कुछ प्रमुख अंतर हैं। ब्लॉक सिफर बिट्स की निश्चित लंबाई के ब्लॉक को एन्क्रिप्ट करते हैं, जबकि स्ट्रीम सिफर सादा-पाठ बिट्स को छद्म यादृच्छिक सिफर बिट्स स्ट्रीम के साथ XOR ऑपरेशन का उपयोग करके जोड़ते हैं। भले ही ब्लॉक सिफर एक ही ट्रांसफॉर्मेशन का उपयोग करते हैं, स्ट्रीम सिफर इंजन की स्थिति के आधार पर अलग-अलग ट्रांसफॉर्मेशन का उपयोग करते हैं। स्ट्रीम सिफर आमतौर पर ब्लॉक सिफर की तुलना में तेजी से निष्पादित होते हैं।हार्डवेयर जटिलता के संदर्भ में, स्ट्रीम सिफर अपेक्षाकृत कम जटिल होते हैं। जब प्लेन-टेक्स्ट अलग-अलग मात्रा में उपलब्ध होता है (उदाहरण के लिए एक सुरक्षित वाईफाई कनेक्शन), तो स्ट्रीम सिफर ब्लॉक सिफर पर विशिष्ट प्राथमिकता होती है, क्योंकि ब्लॉक सिफर सीधे ब्लॉक आकार से छोटे ब्लॉक पर काम नहीं कर सकता है। लेकिन कभी-कभी, स्ट्रीम सिफर और ब्लॉक सिफर के बीच का अंतर बहुत स्पष्ट नहीं होता है। इसका कारण यह है कि, संचालन के कुछ तरीकों का उपयोग करते समय, एक ब्लॉक सिफर को उपलब्ध डेटा की सबसे छोटी इकाई को एन्क्रिप्ट करने की अनुमति देकर स्ट्रीम सिफर के रूप में कार्य करने के लिए उपयोग किया जा सकता है।