2009-06-13 11 views

उत्तर

77

एसएचए एन्क्रिप्शन नहीं है, यह एक तरफा हैश फ़ंक्शन है। एईएस (Advanced_Encryption_Standard) एक सममित एन्क्रिप्शन मानक है। जबकि एईएस उन्नत एन्क्रिप्शन मानक के लिए खड़ा है

AES Reference

5

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

67

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

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

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

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

4

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

44

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

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

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

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

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

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

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

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

2

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

+1

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

+0

यह गलत है। आपको एईएस का उपयोग करने के लिए प्रारंभिक वेक्टर (IV) की आवश्यकता नहीं है। एईएस के लिए संचालन के कुछ तरीकों में एक चतुर्थ (जो पूरी तरह से अलग है) की आवश्यकता होती है। –

संबंधित मुद्दे