HMAC क्या है?

HMAC (हैश-आधारित संदेश प्रमाणीकरण कोड) एक क्रिप्टोग्राफिक तकनीक है जो एक गुप्त कुंजी को हैश फ़ंक्शन के साथ जोड़कर एक अद्वितीय प्रमाणीकरण कोड उत्पन्न करती है। सरल हैशिंग के विपरीत, HMAC दोनों डेटा अखंडता और प्रामाणिकता सुनिश्चित करता है—यह जांचता है कि संदेश में छेड़छाड़ नहीं की गई है और प्रेषक की पहचान की पुष्टि करता है।

HMAC एक हैश फ़ंक्शन (जैसे SHA-256) के माध्यम से संदेश को दो बार प्रोसेस करके काम करता है, जिसे एक विशिष्ट तरीके से गुप्त कुंजी के साथ मिश्रित किया जाता है। यह दोहरी हैशिंग दृष्टिकोण इसे लंबाई विस्तार हमलों के प्रति प्रतिरोधी बनाता है जो सामान्य हैश फ़ंक्शन को प्रभावित करते हैं।

HMAC कैसे काम करता है?

HMAC एल्गोरिदम इन चरणों का पालन करता है:

  1. कुंजी तैयारी: यदि गुप्त कुंजी हैश ब्लॉक आकार से लंबी है, तो पहले इसे हैश किया जाता है। यदि छोटी है, तो शून्य से भरा जाता है।
  2. आंतरिक हैश: कुंजी को एक आंतरिक पैडिंग स्थिरांक (ipad) के साथ XOR किया जाता है, फिर संदेश के साथ जोड़ा जाता है और हैश किया जाता है।
  3. बाहरी हैश: कुंजी को एक बाहरी पैडिंग स्थिरांक (opad) के साथ XOR किया जाता है, फिर आंतरिक हैश परिणाम के साथ जोड़ा जाता है और फिर से हैश किया जाता है।

सूत्र है: HMAC(K, m) = H((K ⊕ opad) || H((K ⊕ ipad) || m))

यह निर्माण यह सुनिश्चित करता है कि यदि कोई हमलावर किसी संदेश का हैश जानता है, तो वह गुप्त कुंजी जाने बिना एक वैध HMAC नहीं बना सकता।

HMAC का उपयोग सामान्य हैशिंग के बजाय क्यों करें?

विशेषता सामान्य हैश HMAC
डेटा अखंडता
प्रमाणीकरण
गुप्त कुंजी की आवश्यकता
लंबाई विस्तार से सुरक्षा
API प्रमाणीकरण के लिए उपयुक्त

सामान्य हैश (MD5, SHA-256) केवल यह सत्यापित करते हैं कि डेटा में परिवर्तन नहीं हुआ है। HMAC इसके अलावा यह भी सिद्ध करता है कि संदेश उस व्यक्ति से आया है जो गुप्त कुंजी जानता है, जिससे यह सुरक्षित संचार के लिए महत्वपूर्ण बन जाता है।

(बाकी का अनुवाद जारी रखा जाएगा...)