2010-05-14 24 views
46

हैश और मैक (संदेश प्रमाणीकरण कोड) के बीच क्या अंतर है?हैश और मैक (संदेश प्रमाणीकरण कोड) के बीच क्या अंतर है?

उनकी परिभाषा से वे एक ही समारोह की सेवा के लिए लग रहे हैं।

कोई व्याख्या कर सकते हैं कि क्या अंतर है?

उत्तर

45

मुख्य अंतर यह वैचारिक है: जबकि हैश डेटा की शुद्धता, एक मैक की गारंटी देता है अखंडता और प्रमाणीकरण की गारंटी करने के लिए उपयोग किया जाता।

इसका मतलब है कि किसी भी प्रकार के बाहरी इनपुट के बिना संदेश से हैशकोड अंधाधुंध उत्पन्न होता है: जो कुछ आप प्राप्त करते हैं वह यह है कि यह देखने के लिए कि संदेश को अपनी यात्रा के दौरान कोई बदलाव आया है या नहीं।

एक मैक इसके बजाय कोड बनाने के दौरान उपयोग किए जाने वाले हैश फ़ंक्शन के बीज के रूप में एक निजी कुंजी का उपयोग करता है: यह रिसीवर को आश्वस्त करना चाहिए कि न केवल संदेश को संशोधित किया गया है, बल्कि यह भी भेजा गया है कि हम क्या हैं उम्मीद कर रहे थे: अन्यथा हमलावर कोड उत्पन्न करने के लिए उपयोग की जाने वाली निजी कुंजी नहीं जान सका।

मैक कार्यों क्रिप्टोग्राफिक हैश कार्यों के समान हैं, वहीं वे विभिन्न सुरक्षा आवश्यकताओं के अधिकारी:

विकिपीडिया के अनुसार आपको लगता है कि है। सुरक्षित माना जाने के लिए, एक मैक फ़ंक्शन को चयनित-सादे टेक्स्ट हमलों के तहत अस्तित्व में जाली का विरोध करना चाहिए। इसका मतलब यह है कि एक हमलावर एक दैवज्ञ जो हमलावर को चुनने के संदेशों के लिए गुप्त कुंजी के पास और उत्पन्न करता है MACs की पहुंच है, भले ही, हमलावर मैक अन्य संदेशों के लिए गणना के अव्यवहार्य मात्रा में बिना प्रदर्शन लगता है कि नहीं कर सकते।

बेशक

, हालांकि उनकी समानताएं हैं, वे एक अलग तरीके से लागू किया जाता है: आम तौर पर एक मैक पीढ़ी एल्गोरिथ्म विस्तार है कि एक निजी कुंजी का उपयोग कर के बारे में परवाह करता है के साथ एक हैश कोड पीढ़ी एल्गोरिथ्म पर आधारित है।

+3

मुझे खेद है, इसका क्या अर्थ है कि 'अगर हमलावर के पास एक ऑरैकल तक पहुंच है, जिसमें गुप्त कुंजी है और हमलावर के चयन के संदेशों के लिए मैक उत्पन्न करता है, ** हमलावर अन्य संदेशों के लिए मैक का अनुमान नहीं लगा सकता ** '? अगर किसी हमलावर के पास एक ऑरैकल तक पहुंच होती है जिसमें गुप्त कुंजी होती है तो वह अन्य संदेशों के लिए मैक उत्पन्न कर सकता है, उन्हें ऑरैकल में इनपुट के रूप में भेज सकता है, है ना? – tonix

+0

@tonix यह वाक्य केवल एक सुरक्षित मैक फ़ंक्शन को परिभाषित करने के लिए उपयोग किया जाता है। यह काल्पनिक परिदृश्य एक और यथार्थवादी परिदृश्य का सबसे बुरा मामला है, जिसमें हमलावर कई सादे टेक्स्ट-मैक जोड़े देख सकता है, और उसके बाद हमलावर भेजने वाले संदेश के मैक को फोर्ज/अनुमान लगाने का प्रयास करता है। – ZillGate

+0

कुछ अन्य लोगों ने अब इन परिभाषाओं को बदल दिया है: एक हैश फ़ंक्शन अखंडता प्रदान नहीं करता है, जबकि प्रमाणीकरण वह है जिसे हम अब अखंडता कहते हैं (cf. crypto.stanford.edu/~dabo/cryptobook)। यह परिवर्तन सबसे अच्छा आईएमओ –

15

एक हैश एक समारोह है कि एक संदेश से एक डाइजेस्ट उत्पादन होता है। एक क्रिप्टोग्राफिक रूप से सुरक्षित हैश जिसके लिए यह किसी दिए गए पाचन के साथ संदेश उत्पन्न करने के लिए कम्प्यूटेशनल रूप से अक्षम है। अपने संदेश पर एक हैश किसी दिए गए संदेश के प्रेषक के बारे में कोई जानकारी नहीं देता है। यदि आप किसी संदेश के हैश को सुरक्षित रूप से संवाद कर सकते हैं तो इसका उपयोग यह सत्यापित करने के लिए किया जा सकता है कि एक असुरक्षित परिवहन पर एक बड़ा संदेश सही ढंग से प्राप्त हुआ है।

एक संदेश प्रमाणीकरण कोड एक संदेश के साथ साझा गुप्त कुंजी को संयोजित करने का एक तरीका है ताकि संदेश प्राप्तकर्ता प्रमाणित कर सके कि संदेश के प्रेषक के पास साझा गुप्त कुंजी है और कोई भी नहीं जो पता है कि गुप्त कुंजी संदेश भेज या बदल सकती थी।

एक HMAC एक हैश आधारित संदेश प्रमाणीकरण कोड है। आमतौर पर इसमें साझा रहस्य और संदेश के किसी प्रकार के संयोजन के लिए एक हां फ़ंक्शन को एक या अधिक बार लागू करना शामिल है। एचएमएसी आमतौर पर आरएफसी 2104 या FIPS-198 में प्रलेखित एल्गोरिदम को संदर्भित करता है।

एक मैक संदेश एन्क्रिप्ट नहीं करता तो संदेश सादे पाठ में है। यह गुप्त कुंजी प्रकट नहीं करता है इसलिए कुंजी को समझौता करने के साथ खुले चैनल पर एक मैक भेजा जा सकता है।

-6
  1. हैश फ़ंक्शन असममित क्रिप्टोग्राफी का उपयोग करते हैं, जबकि मैक सममित क्रिप्टोग्राफी का उपयोग करते हैं।
  2. क्रिप्टोग्राफिक हैश फ़ंक्शन हमेशा मैक नहीं होते हैं, लेकिन मैक एक क्रिप्टोग्राफ़िक हैश फ़ंक्शन (कुंजी हैश फ़ंक्शन) हो सकता है।
  3. हैश कार्यों ग़ैर-अस्वीकरण जहां मैक कोई गैर पुनः
+3

(1) हैश फ़ंक्शंस जरूरी नहीं कि चाबियाँ का उपयोग करें, अकेले सममित या असममित हैं। (3) अधूरा और सामने है। -1 – EJP

3

मूल रूप से मुख्य अंतर यह है मैक एक निजी कुंजी का उपयोग करता है और हैश किसी भी कुंजी का उपयोग नहीं करता है प्रदान करते हैं प्रदान करते हैं। उस मैक के कारण हमें प्रमाणीकरण प्राप्त करने की अनुमति मिलती है।

2

हैश फ़ंक्शन: एक फ़ंक्शन जो किसी भी लंबाई के किसी संदेश को एक निश्चित लंबाई हैश मान में मैप करता है, जो प्रमाणीकरणकर्ता के रूप में कार्य करता है।

मैक: संदेश का एक कार्य और एक गुप्त कुंजी जो एक निश्चित लंबाई मान उत्पन्न करती है जो प्रमाणीकरणकर्ता के रूप में कार्य करती है।

+0

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

8

इसे किसी अन्य मंच से बिंदु के उत्तर में मिला।

वफ़ादारी:: प्राप्तकर्ता आश्वस्त हैं कि संदेश नहीं है हो सकता है

क्रिप्टोग्राफिक आदिम के इन प्रकार के सुरक्षा के लक्ष्यों को वे पूरा ("संदेश को जोड़कर" के सरल प्रोटोकॉल में) द्वारा प्रतिष्ठित किया जा सकता गलती से संशोधित किया गया है?

प्रमाणीकरण: क्या प्राप्तकर्ता को भरोसा हो सकता है कि संदेश प्रेषक से निकलता है?

गैर-अस्वीकरण: यदि प्राप्तकर्ता संदेश और सबूत को किसी तीसरे पक्ष को पास करता है, तो क्या तीसरे पक्ष को भरोसा हो सकता है कि संदेश प्रेषक से निकला है? (कृपया ध्यान दें कि मैं क्रिप्टोग्राफिक अर्थ में ग़ैर-अस्वीकरण के बारे में बात कर रहा हूँ, कानूनी अर्थ में नहीं।) यह भी महत्वपूर्ण इस सवाल यह है:

कुंजी: करता आदिम एक साझा रहस्य कुंजी, या सार्वजनिक-निजी की आवश्यकता होती है keypairs? मुझे लगता है कि संक्षिप्त उत्तर तालिका के साथ सबसे अच्छा समझाया गया है:

Cryptographic primitive | Hash | MAC | Digital 
Security Goal   |  |   | signature 
------------------------+------+-----------+------------- 
Integrity    | Yes | Yes | Yes 
Authentication   | No | Yes | Yes 
Non-repudiation   | No | No  | Yes 
------------------------+------+-----------+------------- 
Kind of keys   | none | symmetric | asymmetric 
         |  | keys | keys 

कृपया याद रखें कि उपयोग की जाने वाली चाबियों में आत्मविश्वास के बिना प्रमाणीकरण बेकार है। डिजिटल हस्ताक्षर के लिए, एक प्राप्तकर्ता को भरोसा होना चाहिए कि सत्यापन कुंजी वास्तव में प्रेषक से संबंधित है। मैक के लिए, एक प्राप्तकर्ता को भरोसा होना चाहिए कि साझा सममित कुंजी केवल प्रेषक के साथ साझा की गई है। के रूप में यह मैन-इन-मध्यम हमले के लिए अतिसंवेदनशील है

Click here for more info

+0

कुछ अन्य लोगों ने अब इन परिभाषाओं को बदल दिया है: एक हैश फ़ंक्शन अखंडता प्रदान नहीं करता है, जबकि प्रमाणीकरण वह है जिसे हम अब अखंडता कहते हैं (सीएफ। Https://crypto.stanford.edu/~dabo/cryptobook/)। यह परिवर्तन सबसे अच्छा आईएमओ –

2

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

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

+0

संदेश और मैक संदेश के दौरान साझा किया जाता है, लेकिन साझा कुंजी को मैक को पुन: उत्पन्न करने के लिए साझा किया जाता है? यदि कुंजी मैसेजिंग के माध्यम से साझा की जाती है तो क्या संदेश परिवर्तन प्राप्त करने और रिसीवर को पास करने के लिए मध्य व्यक्ति कुंजी और मैक जेनरेटर का उपयोग नहीं कर सकता है? – Bsienn

+0

@Bsienn, साझा कुंजी सार्वजनिक कुंजी क्रिप्टोग्राफ़ी का उपयोग करके उत्पन्न होती है, और उपयोगकर्ताओं द्वारा सीधे (सादा संदेश के माध्यम से) साझा नहीं की जाती है। –

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