सममित कुंजी क्रिप्टोग्राफी एक प्रकार की एन्क्रिप्शन योजना है जिसमें संदेशों को एन्क्रिप्ट और डिक्रिप्ट करने के लिए समान कुंजी का उपयोग किया जाता है। पिछले दशकों में सरकारों और सेनाओं के बीच गुप्त संचार को सुविधाजनक बनाने के लिए डेटा को कूटबद्ध करने के इस तरह के दृष्टिकोण का बड़े पैमाने पर उपयोग किया गया है।
सममित-कुंजी क्रिप्टोग्राफी को साझा-कुंजी, गुप्त-कुंजी, एकल-कुंजी, एक-कुंजी और अंततः निजी-कुंजी क्रिप्टोग्राफी कहा जाता है। क्रिप्टोग्राफी के इस रूप के साथ, यह स्पष्ट है कि कुंजी को प्रेषक और प्राप्तकर्ता दोनों को पता होना चाहिए कि साझा किया गया है। इस दृष्टिकोण के साथ जटिलता कुंजी का वितरण है।
सममित कुंजी क्रिप्टोग्राफी योजनाओं को आमतौर पर स्ट्रीम सिफर या ब्लॉक सिफर के रूप में वर्गीकृत किया जाता है। स्ट्रीम सिफर एक समय में एक बिट (बाइट या कंप्यूटर शब्द) पर काम करते हैं और किसी प्रकार की फीडबैक संरचना को निष्पादित करते हैं ताकि कुंजी बार-बार बदली जा सके।
एक ब्लॉक सिफर तथाकथित है क्योंकि यह योजना प्रत्येक ब्लॉक पर एक ही कुंजी का उपयोग करते हुए एक समय में सूचना के एक ब्लॉक को एन्क्रिप्ट करती है। सामान्य तौर पर, एक ही प्लेनटेक्स्ट ब्लॉक एक ही सिफरटेक्स्ट में लगातार एन्क्रिप्ट होगा जब एक ब्लॉक सिफर में समान कुंजी का उपयोग किया जाएगा जबकि एक ही प्लेनटेक्स्ट एक स्ट्रीम सिफर में अलग-अलग सिफरटेक्स्ट को एन्क्रिप्ट करेगा।
ब्लॉक सिफर कई मोड में से एक में काम कर सकते हैं जो इस प्रकार हैं -
-
इलेक्ट्रॉनिक कोडबुक (ईसीबी) मोड सबसे सरल एप्लिकेशन है और साझा कुंजी का उपयोग सिफरटेक्स्ट ब्लॉक बनाने के लिए प्लेनटेक्स्ट ब्लॉक को एन्क्रिप्ट करने के लिए किया जा सकता है। दो समान प्लेन टेक्स्ट ब्लॉक हमेशा एक ही सिफरटेक्स्ट ब्लॉक बनाएंगे। हालांकि यह ब्लॉक सिफर का सबसे आम तरीका है, यह कई क्रूर-बल के हमलों से प्रभावित होता है।
-
सिफर ब्लॉक चेनिंग (सीबीसी) मोड एन्क्रिप्शन योजना में फीडबैक संरचना सम्मिलित करता है। CBC में, प्लेनटेक्स्ट विशेष रूप से-ORed (XORed) होता है, जिसमें एन्क्रिप्शन से पहले का सिफरटेक्स्टब्लॉक होता है। इस मोड में, सादे टेक्स्ट के दो समान ब्लॉक होते हैं जो समान सिफरटेक्स्ट में एन्क्रिप्ट करते हैं।
-
सिफर फीडबैक (सीएफबी) मोड एक ब्लॉक सिफर कार्यान्वयन है जो सेल्फसिंक्रनाइज़िंगस्ट्रीम सिफर के रूप में है। सीएफबी मोड ब्लॉक आकार से कम इकाइयों में डेटा को एन्क्रिप्ट करने में सक्षम बनाता है, जो इंटरएक्टिव टर्मिनल इनपुट को एन्क्रिप्ट करने सहित कुछ अनुप्रयोगों में फायदेमंद हो सकता है। यदि यह 1-बाइट CFB मोड का उपयोग कर रहा है।
प्रत्येक आने वाला वर्ण एक शिफ्ट में स्थित है और ब्लॉक, एन्क्रिप्टेड और प्रेषित ब्लॉक के समान आकार को पंजीकृत करता है। प्राप्तकर्ता पक्ष में, सिफर टेक्स्ट को डिक्रिप्ट किया जाता है और ब्लॉक में अधिक बिट्स को छोड़ दिया जाता है।
-
आउटपुट फीडबैक (ओएफबी) मोड एक सिंक्रोनस स्ट्रीम सिफर के समान अवधारणात्मक रूप से एक ब्लॉक सिफर कार्यान्वयन है। ओएफबी एक आंतरिक फीडबैक संरचना का उपयोग करके समान सिफरटेक्स्ट ब्लॉक को समान सिफरटेक्स्ट ब्लॉक बनाने से बचाता है जो प्लेनटेक्स्ट और सिफरटेक्स्ट बिटस्ट्रीम दोनों से स्वतंत्र है।