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