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