SHA और AES एन्क्रिप्शन में क्या अंतर है? [बन्द है]


91

SHA और AES एन्क्रिप्शन में क्या अंतर है?


1

जवाबों:


120

SHA एन्क्रिप्शन नहीं है, यह एक तरफ़ा हैश फ़ंक्शन है। AES (Advanced_Enc एन्क्रिप्शन_Standard) एक सममित एन्क्रिप्शन मानक है।

एईएस संदर्भ


85

SHA "सिक्योर हैश एल्गोरिदम" का एक परिवार है जिसे राष्ट्रीय सुरक्षा एजेंसी द्वारा विकसित किया गया है। वर्तमान में दर्जनों विकल्पों में से एक प्रतियोगिता है कि कौन SHA-3 बनेगा, 2012 के लिए नया हैश एल्गोरिथ्म।

आप एक बड़े दस्तावेज़ को लेने के लिए SHA फ़ंक्शंस का उपयोग करते हैं और इनपुट के एक "डाइजेस्ट" (जिसे "हैश" भी कहा जाता है) की गणना करते हैं। यह महसूस करना महत्वपूर्ण है कि यह एक तरफ़ा प्रक्रिया है। आप पचा नहीं सकते हैं और मूल दस्तावेज को पुनर्प्राप्त कर सकते हैं।

एईएस , उन्नत एन्क्रिप्शन स्टैंडर्ड एक सममित ब्लॉक एल्गोरिथ्म है। इसका मतलब है कि यह 16 बाइट ब्लॉक लेता है और उन्हें एन्क्रिप्ट करता है। यह "सममित" है क्योंकि कुंजी एन्क्रिप्शन और डिक्रिप्शन दोनों के लिए अनुमति देती है।

अद्यतन: केकेक को 2 अक्टूबर 2012 को SHA-3 विजेता घोषित किया गया था।


64

SHA और AES विभिन्न उद्देश्यों की पूर्ति करते हैं। SHA का उपयोग डेटा के हैश उत्पन्न करने के लिए किया जाता है और डेटा को एन्क्रिप्ट करने के लिए AES का उपयोग किया जाता है।

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

जैसा कि आप देख सकते हैं कि इस मामले में SHA का उपयोग उन डेटा को मान्य करने के लिए किया गया है जो दूषित नहीं थे। आईएसओ में डेटा देखने का आपको हर अधिकार है।

दूसरी ओर, एईएस का उपयोग डेटा को एन्क्रिप्ट करने के लिए किया जाता है, या लोगों को कुछ रहस्य जानने के साथ उस डेटा को देखने से रोकता है।

एईएस एक साझा कुंजी का उपयोग करता है जिसका अर्थ है कि डेटा को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली डेटा को एन्क्रिप्ट करने के लिए उसी कुंजी (या संबंधित कुंजी) का उपयोग किया जाता है। उदाहरण के लिए यदि मैंने एईएस का उपयोग करके एक ईमेल एन्क्रिप्ट किया है और मैंने आपको वह ईमेल भेजा है तो आपको और मुझे दोनों को ईमेल को एन्क्रिप्ट और डिक्रिप्ट करने के लिए उपयोग की जाने वाली साझा कुंजी को जानना होगा। यह एल्गोरिदम से अलग है जो एक सार्वजनिक कुंजी जैसे पीजीपी या एसएसएल का उपयोग करता है।

यदि आप उन्हें एक साथ रखना चाहते हैं तो आप एईएस का उपयोग करके एक संदेश को एन्क्रिप्ट कर सकते हैं और फिर अनएन्क्रिप्टेड संदेश के SHA1 हैश के साथ भेज सकते हैं ताकि जब संदेश डिक्रिप्ट किया गया तो वे डेटा को मान्य करने में सक्षम थे। यह कुछ हद तक विरोधाभासी उदाहरण है।

यदि आप इन कुछ विकिपीडिया खोज शब्दों (AES और SHA से परे) के बारे में अधिक जानना चाहते हैं, तो आप शामिल करना चाहते हैं:

सममित-कुंजी एल्गोरिथ्म (एईएस के लिए) क्रिप्टोग्राफ़िक हैश फ़ंक्शन (SHA के लिए) सार्वजनिक-कुंजी क्रिप्टोग्राफ़ी (PGP और SSL के लिए)


आप समझते हैं कि जब आप डीवीडी शब्द देखते हैं तो यह उत्तर कितना पुराना होता है ...
केल्सुन

9

SHA एक हैश फ़ंक्शन है और AES एक एन्क्रिप्शन मानक है। एक इनपुट को देखते हुए आप SHA का उपयोग आउटपुट के उत्पादन के लिए कर सकते हैं जो कि किसी अन्य इनपुट से उत्पन्न होने की संभावना नहीं है। साथ ही, फ़ंक्शन को लागू करते समय कुछ जानकारी खो जाती है, भले ही आपको पता था कि एक ही आउटपुट को इनपुट करने का उत्पादन कैसे किया जाता है, यह इनपुट संभवतः एक ही नहीं होगा जो पहले स्थान पर उपयोग किया जाता है। दूसरी ओर एईएस का मतलब तीसरे पक्ष को खुलासे से बचाना है। दोनों पक्षों के बीच भेजे गए किसी भी डेटा को एक ही एन्क्रिप्शन कुंजी साझा करना है। इसका मतलब है कि एक बार जब आप एन्क्रिप्शन कुंजी और आउटपुट (और IV ...) जानते हैं, तो आप मूल इनपुट पर मूल रूप से वापस आ सकते हैं। कृपया ध्यान दें कि SHA को किसी चीज़ के लिए आवेदन करने की आवश्यकता नहीं होती है, जबकि AES को कम से कम 3 thins की आवश्यकता होती है: जो आप एन्क्रिप्ट / डिक्रिप्ट कर रहे हैं, एक एन्क्रिप्शन कुंजी और इनिशियलाइज़ेशन वेक्टर (IV)।


7

SHA सुरक्षित हैश एल्गोरिथम के लिए है जबकि AES उन्नत एन्क्रिप्शन स्टैंडर्ड के लिए है। तो SHA हैशिंग एल्गोरिदम का एक सूट है। दूसरी ओर एईएस एक सिफर है जिसका उपयोग एन्क्रिप्ट करने के लिए किया जाता है। SHA एल्गोरिदम (SHA-1, SHA-256 आदि ...) एक इनपुट लेगा और एक डाइजेस्ट (हैश) का उत्पादन करेगा, यह आमतौर पर एक डिजिटल हस्ताक्षर प्रक्रिया में उपयोग किया जाता है (कुछ बाइट्स का एक हैश और एक निजी कुंजी के साथ हस्ताक्षर) ।


3

SHA को किसी चीज की आवश्यकता नहीं होती है, लेकिन एक इनपुट लागू करना पड़ता है, जबकि AES को कम से कम 3 चीजों की आवश्यकता होती है - आप जो एन्क्रिप्ट / डिक्रिप्ट कर रहे हैं, एक एन्क्रिप्शन कुंजी और इनिशियलाइज़ेशन वेक्टर।


1
[यह एक पुराने प्रश्न के एक देर से उत्तर के रूप में चिह्नित किया गया था, एक नए उपयोगकर्ता द्वारा प्रदान किया गया। मेरी टिप्पणी उस संदर्भ में है।] यह इस सवाल के अन्य उत्तरों में पहले से ही प्रदान की गई किसी भी जानकारी को जोड़ने के लिए प्रकट नहीं होता है।
danfuzz

यह गलत है। आपको एईएस का उपयोग करने के लिए एक आरंभीकरण वेक्टर (IV) की आवश्यकता नहीं है। एईएस के संचालन के कुछ तरीकों के लिए एक IV की आवश्यकता होती है (जो पूरी तरह से अलग है)।
हिल्डर विटोर लीमा परेरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.