मैसेज की पुष्टि करने वाला कोड (MAC)

MAC प्रिमिटिव आपको यह पुष्टि करने देता है कि कोई भी आपके डेटा के साथ छेड़छाड़ नहीं करता है. जिस व्यक्ति को ईमेल भेजने वाले व्यक्ति ने उसके साथ सिमेट्रिक कुंजी शेयर की है वह दिए गए मैसेज के लिए, पुष्टि करने वाले टैग का इस्तेमाल कर सकता है. इससे पाने वाला व्यक्ति यह पुष्टि कर सकता है कि मैसेज सही व्यक्ति ने भेजा है और उसमें कोई बदलाव नहीं किया गया है.

MAC में ये प्रॉपर्टी शामिल हैं:

  • प्रामाणिकता: कुंजी को जानना, पुष्टि किया जा सकने वाला MAC टैग बनाने का एकमात्र तरीका है.
  • सिमेट्रिक: टैग की गिनती और पुष्टि करने के लिए, एक ही कुंजी की ज़रूरत होती है.

एल्गोरिदम के आधार पर, MAC, तय करने वाला या बिना किसी क्रम के हो सकता है. फ़िलहाल, Tink में ऐसे एमएसी एल्गोरिदम को लागू नहीं किया जा सकता जो तय न हों. आपको MAC का इस्तेमाल सिर्फ़ मैसेज की पुष्टि करने के लिए करना चाहिए, न कि दूसरे कामों के लिए, जैसे कि बदली हुई बाइट (इसके लिए, PRF देखें).

अगर आपको बहुत छोटे अक्षरों की ज़रूरत है, तो डिजिटल हस्ताक्षर देखें.

कोई कुंजी टाइप चुनें

हमारा सुझाव है कि ज़्यादातर मामलों में, HMAC_SHA256 का इस्तेमाल किया जाए, लेकिन अन्य विकल्प भी हैं.

आम तौर पर, नीचे दी गई बातें सही होती हैं:

  • HMAC_SHA512 तेज़ हो भी सकता है और नहीं भी. यह इस बात पर निर्भर करता है कि आपके मैसेज का साइज़ क्या है और इस्तेमाल किए जाने वाले हार्डवेयर की जानकारी क्या है.
  • HMAC_SHA512 सबसे कंज़र्वेटिव मोड है, जिसका इस्तेमाल असल में अनलिमिटेड मैसेज के लिए किया जा सकता है.
  • AES256_CMAC उन सिस्टम पर सबसे तेज़ है जो AES-NI हार्डवेयर की रफ़्तार बढ़ाने की सुविधा के साथ काम करते हैं.

सुरक्षा की कम से कम गारंटी

  • पुष्टि करने की कम से कम 80-बिट की क्षमता
  • चुने गए सादे टेक्स्ट हमले के तहत, अस्तित्व में होने वाली जालसाज़ी से सुरक्षित
  • कुंजी वापस पाने के हमलों के लिए कम से कम 128-बिट वाली सुरक्षा. इसके अलावा, कई उपयोगकर्ताओं वाली स्थितियों में भी (जब कोई हमलावर किसी खास कुंजी को टारगेट नहीं करता, बल्कि 232 कुंजियों तक के सेट में से किसी भी कुंजी को टारगेट करता हो)

इस्तेमाल के उदाहरण

मुझे डेटा से छेड़छाड़ करने से बचाना है देखें.