security एचएमएसी बनाम सरल एमडी 5 हैश




md5 hmac (3)

क्या कोई यह बता सकता है कि HMАC का उपयोग करने का क्या फायदा है?

उदाहरण के लिए, यदि मेरे पास टेक्स्ट T और एक कुंजी के टेक्स्ट है, तो मैं हस्ताक्षर प्राप्त करने के लिए या तो Md5(T + K) HMAC-MD5 एल्गोरिदम या HMAC-MD5 Md5(T + K) का उपयोग कर सकता हूं।


एचएमएसी पर विकिपीडिया लेख इस बारे में अच्छी व्याख्या देता है।

एक ही लेख के Security खंड में यह कहता है:

एचएमएसी अकेले उनके अंतर्निहित हैशिंग एल्गोरिदम की तुलना में टकराव से काफी कम प्रभावित होते हैं।

तो एक एमडी 5 हैश में एचएमएसी जोड़ने से इंद्रधनुष तालिका के माध्यम से तोड़ना काफी मुश्किल हो जाएगा।


एचएमएसी लंबाई विस्तार हमलों के लिए अतिसंवेदनशील नहीं है।

एमडी 5 (टी + के) अधिकांश उपयोगों के लिए ठीक होना चाहिए जब तक कि आपका विरोधी आपके संदेश से छेड़छाड़ करने के लिए प्रेरित न हो और इसमें बहुत अच्छी कंप्यूटिंग पावर हो। जब तक आप टी को नियंत्रित करते हैं, जन्मदिन के हमले लागू नहीं होते हैं और आपके पास केवल क्रूर-बल हमले होते हैं। लेकिन सीमाओं से अवगत होना अच्छा है। यदि आप इस दृष्टिकोण के साथ जाना चाहते हैं तो आप MD5 के बजाय SHA1 (T + K) का उपयोग करना चाह सकते हैं।

एमडी 5 (टी + के) एमडी 5 (के + टी) से निश्चित रूप से बेहतर है जहां एक हमलावर आपके संदेश में टेक्स्ट जोड़ सकता है और एक और मान्य मैक उत्पन्न कर सकता है।

एमडी 5 (टी + के) के साथ, मुद्दा यह है कि अगर हमलावर टी 2 के साथ टकराव पा सकता है जैसे एमडी 5 (टी) = एमडी 5 (टी 2), तो एमडी 5 (टी + के) = एमडी 5 (टी 2 + के)। लेकिन इसके लिए एक क्रूर बल हमले की आवश्यकता है।

नोट: मैं कहता हूं " जब तक आप टी को नियंत्रित करते हैं ", क्योंकि यदि टी को परिवर्तन किया जा सकता है (इस तरह से यह स्पष्ट नहीं है) कोई 2 संदेश टी 1 और टी 2 उत्पन्न करने का प्रयास कर सकता है जहां टी 1 टी और एमडी 5 के लिए पास हो सकता है (टी 1) = एमडी 5 (टी 2)। अब यह अपेक्षाकृत बहुत आसान है (हम 2 ^ 128 के बजाय 2 ^ 64 बात कर रहे हैं) और कारण तथाकथित जन्मदिन विरोधाभास या जन्मदिन का हमला है।

नोट: एचएमएसी के डिजाइन को इन प्रकार के विस्तार हमलों से बचने के लिए प्रेरित किया गया था। एचएमएसी के खिलाफ कोई ज्ञात हमले नहीं हैं।


मैं बेलारे, कैनेटी और क्रॉस्कीक द्वारा एचएमएसी पेपर पढ़ने की सिफारिश करता हूं।







hmac