Cryptology Academy · पाठ

CMAC और Poly1305: ब्लॉक-सिफ़र MAC

CMAC और Poly1305 की तुलना hash-आधारित MAC के विकल्पों के रूप में करें।

पाठ 4, कुल 4 में से13 चरण

CMAC और Poly1305: ब्लॉक-सिफ़र MAC, CoddyKit पर Cryptology Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Cryptology Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

MAC क्या है?

संदेश प्रमाणीकरण कोड (MAC) एक कुंजी और संदेश लेकर एक टैग बनाता है। यह टैग प्रमाणित करता है कि संदेश के साथ छेड़छाड़ नहीं की गई है और उसे कुंजी रखने वाले किसी व्यक्ति ने बनाया है।

HMAC बनाम ब्लॉक-साइफ़र MACs

HMAC अपने मूल साधन के रूप में हैश फ़ंक्शन का उपयोग करता है। इसके बजाय CMAC और Poly1305 ब्लॉक साइफ़र या बहुपद अंकगणित का उपयोग करते हैं। ब्लॉक-साइफ़र MACs हैश-फ़ंक्शन पर निर्भरता से बचते हैं और AES हार्डवेयर के साथ स्वाभाविक रूप से एकीकृत हो जाते हैं।

CMAC की संरचना

CMAC (Cipher-based MAC) NIST SP 800-38B में परिभाषित है। यह संदेश को ब्लॉक सीमा तक पैड करता है, साइफ़र से दो उपकुंजियाँ K1/K2 बनाता है, उन्हें अंतिम ब्लॉक में XOR करता है, फिर बीच के साइफ़रटेक्स्ट को संग्रहीत किए बिना CBC मोड चलाता है।

CMAC उपकुंजी व्युत्पत्ति

K1 = AES_K(0^128) को 1 बिट बाईं ओर खिसकाया गया, और यदि MSB 1 था तो एक नियतांक के साथ XOR किया गया। K2 को इसी प्रकार खिसकाया जाता है। ये उपकुंजियाँ लंबाई-विस्तार के विरुद्ध अंतिम आंशिक ब्लॉक को सुरक्षित रूप से बाँधती हैं।

Poly1305 का परिचय

Poly1305 Daniel Bernstein द्वारा डिज़ाइन किया गया एक बार उपयोग होने वाला प्रमाणीकरणकर्ता है। यह अभाज्य संख्या 2^130-5 पर एक बहुपद का मूल्यांकन करता है, संदेश को बहुपद के गुणांकों के रूप में देखता है और एक बार उपयोग होने वाली कुंजी-युग्म (r, s) का उपयोग करता है।

Poly1305 का गणित

Tag = (sum of (m_i * r^i) mod 2^130-5) + s mod 2^128। टाइमिंग हमलों को रोकने के लिए कुंजी r को 22 विशिष्ट बिट तक सीमित किया जाता है। s एक 16-बाइट का एक बार उपयोग होने वाला जोड़ मास्क है।

ChaCha20-Poly1305

Poly1305 को लगभग हमेशा ChaCha20 के साथ जोड़ा जाता है। ChaCha20 स्ट्रीम साइफ़र की की-स्ट्रीम से एक बार उपयोग होने वाला (r, s) बनाता है, जिससे संयुक्त AEAD योजना प्रमाणित रूप से सुरक्षित और ARM/मोबाइल CPU पर अत्यंत तेज़ हो जाती है।

AES-GCM बनाम AES-CMAC

AES-GCM GHASH का उपयोग करके प्रमाणीकरण करता है, जो GF(2^128) पर आधारित बहुपदीय MAC है। AES-CMAC अधिक सरल है और IEEE 802.11i (WPA2) तथा TLS 1.2 साइफ़र सुइट्स में उपयोग किया जाता है। GCM एक ही चरण में एन्क्रिप्शन और प्रमाणीकरण, दोनों प्रदान करता है।

प्रदर्शन तुलना

ARM Cortex-A पर Poly1305 NEON इंट्रिन्सिक्स का उपयोग करके लगभग 1 चक्र/बाइट की गति प्राप्त करता है। AES-CMAC को प्रत्येक 16-बाइट ब्लॉक के लिए एक AES ब्लॉक ऑपरेशन चाहिए। बड़े डेटा के लिए, AES-NI रहित हार्डवेयर पर Poly1305, CMAC से बेहतर प्रदर्शन करता है।

सुरक्षा गुण

यह मानते हुए कि AES एक छद्म-यादृच्छिक क्रमचय है, चुने गए संदेश वाले हमले के अंतर्गत CMAC को अस्तित्वगत रूप से जाली बनाना असंभव है। वास्तव में यादृच्छिक एक-बार उपयोग वाली कुंजी मिलने पर Poly1305 सूचना-सैद्धांतिक रूप से सुरक्षित है—जालसाज़ी की प्रायिकता अधिकतम 8*ceil(L/16)/2^106 है।

उपयोग के मामले

CMAC: WPA2, S/MIME, फ़ाइल प्रणाली की अखंडता। Poly1305: ChaCha20-Poly1305 के माध्यम से TLS 1.3, WireGuard VPN, Signal Protocol, Noise Protocol Framework। दोनों का उच्च-सुरक्षा वाली आधुनिक प्रणालियों में व्यापक रूप से उपयोग किया जाता है।

त्वरित जाँच

ChaCha20-Poly1305 AEAD में किस MAC का उपयोग किया जाता है?

पुनरावलोकन

आपने CMAC की CBC-आधारित संरचना और Poly1305 का बहुपदीय अंकगणित सीखा है। दोनों स्थिर-समय वाले सुरक्षित MAC हैं, जिनका वास्तविक प्रणालियों में उपयोग होता है। अगला विषय: TLS/HTTPS और इन सभी मूलभूत साधनों की संरचना।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Cryptology Academy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
67
पाठ
261

अक्सर पूछे जाने वाले प्रश्न

क्या “CMAC और Poly1305: ब्लॉक-सिफ़र MAC” पाठ निःशुल्क है?

हाँ—“CMAC और Poly1305: ब्लॉक-सिफ़र MAC” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Cryptology Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Cryptology Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“CMAC और Poly1305: ब्लॉक-सिफ़र MAC” में मैं क्या सीखूँगा?

CMAC और Poly1305 की तुलना hash-आधारित MAC के विकल्पों के रूप में करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Cryptology Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Cryptology Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Cryptology Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“CMAC और Poly1305: ब्लॉक-सिफ़र MAC” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Cryptology Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Cryptology Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. MAC की अवधारणाएँ और length-extension हमले
  2. HMAC संरचना और सुरक्षा प्रमाण
  3. API में HMAC: अनुरोध पर हस्ताक्षर
  4. CMAC और Poly1305: ब्लॉक-सिफ़र MAC
← Cryptology Academy पर वापस जाएँ