KMAC128 मैसेज ऑथेंटिकेशन कोड जनरेटर

अपनी कुंजी (टेक्स्ट या हेक्स), कस्टमाइज़ेशन स्ट्रिंग और आउटपुट लंबाई के साथ KMAC128 मैसेज ऑथेंटिकेशन कोड निकालें। NIST SP 800-185 नमूनों से मेल खाता है।

8 का गुणज, 8 से 16384 बिट तक।

डोमेन अलग करने के लिए वैकल्पिक लेबल, जैसे आपके ऐप का नाम। अलग स्ट्रिंग से बिल्कुल असंबंधित आउटपुट मिलता है।

कुंजी खाली है। गुप्त कुंजी के बिना KMAC कुछ भी प्रमाणित नहीं करता।

KMAC128

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

KMAC128 जनरेटर क्या है?

KMAC128, NIST SP 800-185 का Keccak-आधारित मैसेज ऑथेंटिकेशन कोड है, जो HMAC का SHA-3 रूप है। गुप्त कुंजी, वैकल्पिक कस्टमाइज़ेशन स्ट्रिंग और आउटपुट लंबाई देने पर यह ऐसा टैग बनाता है जिसे केवल कुंजी रखने वाले ही निकाल सकते हैं। यह टूल टेक्स्ट या रॉ बाइट का KMAC128 निकालता है।

KMAC128 जनरेटर का उपयोग कैसे करें

  1. डेटा संदेश में लिखें; बाइनरी डेटा के लिए इनपुट एन्कोडिंग में हेक्स बाइट्स या Base64 चुनें।
  2. गुप्त कुंजी दर्ज करें और उसकी कुंजी एन्कोडिंग चुनें (टेक्स्ट (UTF-8) या हेक्स बाइट्स)।
  3. चाहें तो कस्टमाइज़ेशन स्ट्रिंग (S) दर्ज करें और आउटपुट लंबाई (बिट) बदलें (डिफ़ॉल्ट 256)।
  4. आउटपुट फ़ॉर्मैट चुनें और टैग इस्तेमाल करने के लिए कॉपी करें दबाएँ।

उदाहरण

इनपुट
Message 00010203 (Hex bytes), key 404142…5E5F (32 bytes, hex), S = "My Tagged Application", 256 bits
आउटपुट
3b1fba963cd8b0b59e8c1a6d71888b7143651af8ba0a7070c0979e2811324aa5

NIST SP 800-185 KMAC नमूना #2.

KMAC128 जनरेटर का उपयोग कब करें

SHA-3 पर बने सिस्टम में संदेशों को ऑथेंटिकेट करने या कुंजियाँ निकालने के लिए, या किसी स्पेसिफ़िकेशन या दूसरे इम्प्लीमेंटेशन के KMAC टैग जाँचने के लिए KMAC128 का उपयोग करें। अगर दूसरा पक्ष HMAC-SHA256 की उम्मीद करता है, तो KMAC साथ नहीं चलेगा; वहाँ HMAC इस्तेमाल करें। खाली या आसानी से अनुमान लगने वाली कुंजी का उपयोग न करें; MAC उतना ही मज़बूत है जितनी उसकी कुंजी।

KMAC128 जनरेटर कैसे काम करता है

KMAC128 (NIST SP 800-185) फ़ंक्शन नाम "KMAC" वाला cSHAKE128 है। यह bytepad(encode_string(K), 168) एब्ज़ॉर्ब करता है, यानी पूरे ब्लॉक तक पैड की गई कुंजी, फिर संदेश, फिर माँगी गई आउटपुट लंबाई L के साथ right_encode(L), और L बिट स्क्वीज़ करता है। क्योंकि L इनपुट का हिस्सा है, इसलिए एक ही डेटा का 256-बिट और 512-बिट KMAC आपस में असंबंधित होते हैं (SHAKE के उलट)। स्पंज डिज़ाइन के कारण सीधा की-प्रीफ़िक्स तरीका सुरक्षित है, इसलिए KMAC को HMAC जैसी नेस्टेड संरचना नहीं चाहिए।

सामान्य उपयोग मामले

  • NIST SP 800-185 के KMAC टेस्ट वेक्टर जाँचें
  • किसी दूसरी भाषा में KMAC इम्प्लीमेंटेशन डीबग करें
  • SHA-3 आधारित प्रोटोकॉल में किसी API या संदेश के लिए ऑथेंटिकेशन टैग बनाएँ
  • टेस्टिंग के लिए KMAC को KDF (SP 800-108 शैली) की तरह इस्तेमाल करके कुंजी निकालें

सुरक्षा नोट

जब कुंजी यादृच्छिक हो और कम से कम 16 बाइट लंबी हो, तब KMAC128 128-बिट तक की सुरक्षा देता है। ताज़ा, गुप्त कुंजी इस्तेमाल करें और अपने कोड में टैग की तुलना constant time में करें। प्रोडक्शन कुंजियाँ ऐसे टूल में कभी पेस्ट न करें जिन पर आपको भरोसा नहीं; यह टूल स्थानीय रूप से चलता है और कुछ नहीं भेजता।

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

KMAC128, HMAC से कैसे अलग है?

HMAC, SHA-2 की लेंथ-एक्सटेंशन समस्याओं से बचने के लिए हैश को दो बार लपेटता है। Keccak लेंथ एक्सटेंशन के प्रति संवेदनशील नहीं है, इसलिए KMAC सीधे पैड की गई कुंजी को आगे जोड़ देता है। नतीजे एक-दूसरे की जगह इस्तेमाल नहीं हो सकते।

आउटपुट लंबाई बदलने पर सारे बिट क्यों बदल जाते हैं?

आउटपुट लंबाई L इनपुट में एन्कोड होती है, इसलिए 256 और 512 बिट वाले KMAC स्वतंत्र मान हैं; छोटा मान लंबे मान का उपसर्ग नहीं होता।

बाइनरी कुंजी कैसे दर्ज करूँ?

कुंजी एन्कोडिंग को हेक्स बाइट्स पर सेट करें और कुंजी हेक्स में पेस्ट करें (स्पेस चलते हैं)। टेक्स्ट (UTF-8) में अक्षर खुद कुंजी के बाइट के रूप में इस्तेमाल होते हैं।

क्या मेरी कुंजी कहीं भेजी जाती है?

नहीं। कुंजी और संदेश केवल आपके ब्राउज़र में प्रोसेस होते हैं।

और श्रेणियाँ देखें