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