مولّد رمز مصادقة الرسالة KMAC256
احسب رمز مصادقة الرسالة KMAC256 بمفتاحك (نص أو ست عشري) وسلسلة التخصيص وطول المخرج. يطابق عيّنات NIST SP 800-185.
من مضاعفات 8، من 8 إلى 16384 بت.
تسمية اختيارية لفصل النطاق، مثل اسم تطبيقك. السلاسل المختلفة تعطي مخرجات لا علاقة بينها.
المفتاح فارغ. بدون مفتاح سري لا يوفّر KMAC أي مصادقة.
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو مولّد KMAC256؟
KMAC256 هو رمز مصادقة الرسالة المبني على Keccak من NIST SP 800-185، ونظير HMAC في عائلة SHA-3. بمعرفة مفتاح سري وسلسلة تخصيص اختيارية وطول مخرج ينتج وسمًا (tag) لا يستطيع حسابه إلا من يملك المفتاح. تحسب هذه الأداة KMAC256 لنص أو بايتات خام.
كيفية استخدام مولّد KMAC256
- اكتب البيانات في الرسالة؛ واختر بايتات ست عشرية أو Base64 كترميز للإدخال للبيانات الثنائية.
- أدخل المفتاح السري واختر ترميز المفتاح (نص (UTF-8) أو بايتات ست عشرية).
- أدخل اختياريًا سلسلة التخصيص (S) وغيّر طول الإخراج (بت) (الافتراضي 512).
- اختر تنسيق الإخراج ثم اضغط نسخ لاستخدام الوسم.
مثال
الرسالة 00010203 (**بايتات ست عشرية**)، والمفتاح 404142…5E5F (32 بايت، ست عشري)، وS = "My Tagged Application"، وطول 512 بت
20c570c31346f703c9ac36c61c03cb64c3970d0cfc787e9b79599d273a68d2f7f69d4cc3de9d104a351689f27cf6f5951f0103f33f4f24871024d9c27773a8dd
عيّنة KMAC رقم 4 من NIST SP 800-185.
متى تستخدم مولّد KMAC256
استخدم KMAC256 لمصادقة الرسائل أو اشتقاق المفاتيح في أنظمة مبنية على SHA-3، أو للتحقق من وسوم KMAC من مواصفة أو تنفيذ آخر. إن كان الطرف الآخر يتوقع HMAC-SHA256 فلن تتوافق KMAC معه — استخدم HMAC هناك. لا تستخدم مفتاحًا فارغًا أو سهل التخمين؛ فقوة MAC من قوة مفتاحها.
كيف يعمل مولّد KMAC256
KMAC256 (NIST SP 800-185) هي cSHAKE256 باسم الدالة "KMAC". تمتصّ bytepad(encode_string(K), 136) — أي المفتاح مُحشوًّا إلى كتلة كاملة — ثم الرسالة، ثم right_encode(L) بطول المخرج المطلوب L، وتعصر L بتًا. ولأن L جزء من المدخل فإن KMAC بطول 256 بت وبطول 512 بت للبيانات نفسها قيمتان لا علاقة بينهما (بخلاف SHAKE). يجعل تصميم الإسفنجة بناء «المفتاح كبادئة» البسيط آمنًا، فلا تحتاج KMAC إلى بنية HMAC المتداخلة.
حالات الاستخدام الشائعة
- التحقق من متجهات اختبار KMAC في NIST SP 800-185
- تصحيح تنفيذ KMAC بلغة أخرى
- توليد وسم مصادقة لواجهة API أو رسالة في بروتوكول مبني على SHA-3
- اشتقاق مفتاح باستخدام KMAC كدالة KDF (على نمط SP 800-108) للاختبار
ملاحظة أمنية
توفّر KMAC256 أمانًا يصل إلى 256 بت إذا كان المفتاح عشوائيًا وطوله 32 بايتًا على الأقل. استخدم مفتاحًا سريًا جديدًا وقارن الوسوم بزمن ثابت في شيفرتك. لا تلصق مفاتيح الإنتاج في أدوات لا تثق بها؛ هذه الأداة تعمل محليًا ولا ترسل شيئًا.
الأسئلة الشائعة
كيف تختلف KMAC256 عن HMAC؟
تلفّ HMAC دالة التجزئة مرتين لتفادي مشكلة التمديد (length extension) في SHA-2. أما Keccak فليست عرضة للتمديد، لذا تضع KMAC المفتاح المحشو كبادئة ببساطة. النتائج غير قابلة للتبادل.
لماذا يغيّر تعديل طول المخرج كل البتات؟
لأن طول المخرج L مرمَّز ضمن المدخل، فتكون KMAC بطول 256 و512 بت قيمتين مستقلتين — والأقصر ليست بادئة للأطول.
كيف أدخل مفتاحًا ثنائيًا؟
اضبط ترميز المفتاح على بايتات ست عشرية والصق المفتاح كقيمة ست عشرية (المسافات مسموحة). أما مع نص (UTF-8) فتُستخدم الأحرف نفسها كبايتات للمفتاح.
هل يُرسل مفتاحي إلى أي مكان؟
لا. تتم معالجة المفتاح والرسالة داخل متصفحك فقط.