Message Authentication Codes (MAC), HMAC & CMAC Explained in Hindi & English | मैसेज ऑथेंटिकेशन कोड्स (MAC), HMAC और CMAC क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)


मैसेज ऑथेंटिकेशन कोड्स (MAC), HMAC और CMAC क्रिप्टोग्राफी में

परिचय:

Message Authentication Code (MAC) क्रिप्टोग्राफी का एक प्रमुख घटक है जो यह सुनिश्चित करता है कि कोई संदेश न केवल सही स्रोत से आया है बल्कि उसे ट्रांसमिशन के दौरान बदला नहीं गया है।

MAC एक प्रकार का छोटा डेटा ब्लॉक होता है जो गुप्त कुंजी (Secret Key) और संदेश (Message) से उत्पन्न होता है। Receiver उसी कुंजी से इसे Verify करता है, ताकि यह सुनिश्चित हो सके कि संदेश में कोई छेड़छाड़ नहीं हुई है।

MAC की आवश्यकता:

  • संदेश की अखंडता (Integrity) और सत्यता (Authenticity) की पुष्टि करना।
  • Replay और Forgery हमलों से सुरक्षा प्रदान करना।
  • संचार में छेड़छाड़ का पता लगाना।
  • Sender की पहचान सत्यापित करना।

MAC की संरचना:

MAC का सामान्य रूप निम्नलिखित होता है:

MAC = F(K, M)
जहाँ,
K = Secret Key,
M = Message,
F = Cryptographic Function

संदेश प्रमाणीकरण प्रक्रिया:

  1. Sender अपने Message पर Secret Key K का उपयोग करके MAC बनाता है।
  2. Receiver उसी Key से प्राप्त Message पर MAC बनाता है।
  3. यदि दोनों MAC समान हैं, तो संदेश Authentic और सुरक्षित है।

Authentication Requirements (प्रमाणीकरण आवश्यकताएँ):

किसी भी Authentication सिस्टम के लिए निम्नलिखित आवश्यकताएँ होती हैं:

  • Source Authentication: संदेश वास्तविक स्रोत से आया है।
  • Message Integrity: ट्रांसमिशन के दौरान डेटा में बदलाव नहीं हुआ।
  • Non-Repudiation: Sender बाद में संदेश भेजने से इनकार न कर सके।
  • Replay Attack Protection: पुराने संदेश का पुनः उपयोग न हो सके।

MAC के प्रकार:

  • HMAC (Hash-based Message Authentication Code)
  • CMAC (Cipher-based Message Authentication Code)

1️⃣ HMAC (Hash-based Message Authentication Code):

HMAC एक Hash आधारित MAC तकनीक है जो किसी Hash Function (जैसे SHA-256, SHA-512) के साथ Secret Key का उपयोग करती है।

इसका उद्देश्य Hash Function को Authentication के लिए और अधिक सुरक्षित बनाना है।

HMAC की प्रक्रिया:

HMAC(K, M) = H((K ⊕ opad) || H((K ⊕ ipad) || M))

जहाँ, H = Hash Function K = Secret Key M = Message opad = Outer Padding (0x5C repeated) ipad = Inner Padding (0x36 repeated)

कार्य सिद्धांत:

  1. Secret Key को Hash Block Size तक Pad किया जाता है।
  2. Key को Inner Padding और Message के साथ Hash किया जाता है।
  3. फिर Outer Padding के साथ Hash किया जाता है।
  4. अंतिम परिणाम HMAC के रूप में प्राप्त होता है।

HMAC के लाभ:

  • Hash Function की Security और Secret Key दोनों का उपयोग।
  • Collision और Forgery के प्रति उच्च प्रतिरोध।
  • व्यापक उपयोग: SSL/TLS, API Authentication, Blockchain Systems।

HMAC का उदाहरण:

इनपुट:

Message = “HELLO”
Key = “12345”
Algorithm = HMAC-SHA256
Result = b1946ac92492d2347c6235b4d2611184

2️⃣ CMAC (Cipher-based Message Authentication Code):

CMAC एक ब्लॉक सिफर आधारित MAC तकनीक है जो AES जैसे Symmetric Encryption Algorithm पर आधारित होती है।

यह HMAC की तरह Hash पर नहीं बल्कि Cipher ब्लॉकों पर आधारित होती है, जिससे यह उच्च सुरक्षा और प्रदर्शन देती है।

CMAC की प्रक्रिया:

  1. Symmetric Key K का चयन करें।
  2. Message को Fixed Size Blocks में विभाजित करें।
  3. प्रत्येक ब्लॉक पर Cipher Function लागू करें।
  4. अंतिम ब्लॉक पर XOR और Key Mixing करके अंतिम Tag (MAC) प्राप्त करें।

CMAC का गणितीय रूप:

T = Cn = AES_K(Mn ⊕ Cn−1)

CMAC के लाभ:

  • Block Cipher की सुरक्षा पर आधारित।
  • Key Management सरल।
  • High Performance और Hardware Friendly।

MAC बनाम HMAC बनाम CMAC तुलना:

मानदंडMACHMACCMAC
आधारHash या CipherHash FunctionBlock Cipher
कुंजीSecret KeySecret KeySecret Key
उपयोगसामान्य AuthenticationNetwork Security, APIsEmbedded Systems, AES
गतितेज़मध्यमउच्च
सुरक्षा स्तरमध्यमउच्चबहुत उच्च

वास्तविक जीवन उपयोग:

  • HMAC – HTTPS, SSL/TLS, VPNs, OAuth Tokens
  • CMAC – IoT Devices, AES-based Authentication, Smart Cards
  • MAC – Secure Messaging, Data Transfer Validation

निष्कर्ष:

Message Authentication Codes (MACs) आधुनिक क्रिप्टोग्राफी में डेटा सत्यता और पहचान सुनिश्चित करने का सबसे प्रभावी तरीका हैं। HMAC और CMAC दोनों अपने-अपने क्षेत्रों में अत्यधिक सुरक्षित हैं और नेटवर्क, क्लाउड तथा ब्लॉकचेन सुरक्षा का आधार हैं।

Related Post