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
संदेश प्रमाणीकरण प्रक्रिया:
- Sender अपने Message पर Secret Key K का उपयोग करके MAC बनाता है।
- Receiver उसी Key से प्राप्त Message पर MAC बनाता है।
- यदि दोनों 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)
कार्य सिद्धांत:
- Secret Key को Hash Block Size तक Pad किया जाता है।
- Key को Inner Padding और Message के साथ Hash किया जाता है।
- फिर Outer Padding के साथ Hash किया जाता है।
- अंतिम परिणाम 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 की प्रक्रिया:
- Symmetric Key K का चयन करें।
- Message को Fixed Size Blocks में विभाजित करें।
- प्रत्येक ब्लॉक पर Cipher Function लागू करें।
- अंतिम ब्लॉक पर 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 तुलना:
| मानदंड | MAC | HMAC | CMAC |
|---|---|---|---|
| आधार | Hash या Cipher | Hash Function | Block Cipher |
| कुंजी | Secret Key | Secret Key | Secret Key |
| उपयोग | सामान्य Authentication | Network Security, APIs | Embedded 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
- Introduction to Security Concepts | सुरक्षा अवधारणाओं का परिचय
- The Need for Security | सुरक्षा की आवश्यकता
- Security Approaches | सुरक्षा के दृष्टिकोण
- Principles of Security | सुरक्षा के सिद्धांत
- Types of Security Attacks | सुरक्षा आक्रमणों के प्रकार
- Security Services | सुरक्षा सेवाएँ
- Security Mechanisms | सुरक्षा तंत्र
- A Model for Network Security | नेटवर्क सुरक्षा का मॉडल
- Cryptography Concepts and Techniques | क्रिप्टोग्राफी की अवधारणाएँ और तकनीकें
- Plain Text and Cipher Text Explained in Cryptography | क्रिप्टोग्राफी में साधारण पाठ और कूट पाठ की व्याख्या
- Substitution Techniques in Cryptography Explained in Hindi & English | क्रिप्टोग्राफी में प्रतिस्थापन तकनीकें (Substitution Techniques in Cryptography Notes for Data Science Students)
- Transposition Techniques in Cryptography Explained in Hindi & English | क्रिप्टोग्राफी में स्थानांतरण तकनीकें (Transposition Cipher Notes for Data Science & Information Security Students)
- Encryption and Decryption in Cryptography Explained in Hindi & English | क्रिप्टोग्राफी में एन्क्रिप्शन और डिक्रिप्शन की प्रक्रिया (Complete Notes for Data Science & Information Security Students)
- Symmetric and Asymmetric Key Cryptography Explained in Hindi & English | समान और असमान कुंजी क्रिप्टोग्राफी (Complete Notes for Data Science & Information Security Students)
- Steganography and Its Role in Cryptography Explained in Hindi & English | स्टेग्नोग्राफी और क्रिप्टोग्राफी में इसका महत्व (Complete Notes for Data Science & Information Security Students)
- Key Range and Key Size in Cryptography Explained in Hindi & English | क्रिप्टोग्राफी में कुंजी रेंज और कुंजी आकार (Complete Notes for Data Science & Information Security Students)
- Possible Types of Attacks in Cryptography Explained in Hindi & English | क्रिप्टोग्राफी में संभावित हमलों के प्रकार (Complete Notes for Data Science & Information Security Students)
- Block Cipher Principles in Cryptography Explained in Hindi & English | ब्लॉक सिफर सिद्धांत क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- DES (Data Encryption Standard) Algorithm Explained in Hindi & English | डीईएस एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- AES (Advanced Encryption Standard) Algorithm Explained in Hindi & English | एईएस एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Blowfish Algorithm in Cryptography Explained in Hindi & English | ब्लोफिश एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- RC5 Algorithm in Cryptography Explained in Hindi & English | आरसी5 एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- IDEA (International Data Encryption Algorithm) Explained in Hindi & English | आइडिया एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Block Cipher Modes of Operation Explained in Hindi & English | ब्लॉक सिफर के संचालन मोड क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Stream Ciphers and RC4 Algorithm Explained in Hindi & English | स्ट्रीम सिफर और आरसी4 एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Principles of Public Key Cryptosystems Explained in Hindi & English | सार्वजनिक कुंजी क्रिप्टोसिस्टम के सिद्धांत (Complete Notes for Data Science & Information Security Students)
- RSA Algorithm in Cryptography Explained in Hindi & English | आरएसए एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- ElGamal Cryptography Explained in Hindi & English | एलगामल क्रिप्टोग्राफी (Complete Notes for Data Science & Information Security Students)
- Diffie-Hellman Key Exchange Explained in Hindi & English | डिफी-हेलमैन की एक्सचेंज (Complete Notes for Data Science & Information Security Students)
- Knapsack Algorithm in Cryptography Explained in Hindi & English | नैपसैक एल्गोरिद्म क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Message Authentication in Cryptography Explained in Hindi & English | संदेश प्रमाणीकरण क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Secure Hash Algorithm (SHA-512) in Cryptography Explained in Hindi & English | सिक्योर हैश एल्गोरिद्म (SHA-512) क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Message Authentication Codes (MAC), HMAC & CMAC Explained in Hindi & English | मैसेज ऑथेंटिकेशन कोड्स (MAC), HMAC और CMAC क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Digital Signatures and ElGamal Digital Signature Scheme Explained in Hindi & English | डिजिटल हस्ताक्षर और एलगामल डिजिटल सिग्नेचर स्कीम क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Symmetric Key Distribution using Symmetric & Asymmetric Encryption Explained in Hindi & English | सममित कुंजी वितरण (सिमेट्रिक और असिमेट्रिक एन्क्रिप्शन द्वारा) क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Distribution of Public Keys in Cryptography Explained in Hindi & English | पब्लिक कुंजियों का वितरण क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- Kerberos Authentication System in Cryptography Explained in Hindi & English | केरबरोस प्रमाणीकरण प्रणाली क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)
- X.509 Authentication Service in Cryptography Explained in Hindi & English | एक्स.509 प्रमाणीकरण सेवा क्रिप्टोग्राफी में (Complete Notes for Data Science & Information Security Students)