مولّد رمز مصادقة الرسالة KMAC128
احسب رمز مصادقة الرسالة KMAC128 بمفتاحك (نص أو ست عشري) وسلسلة التخصيص وطول المخرج. يطابق عيّنات NIST SP 800-185.
من مضاعفات 8، من 8 إلى 16384 بت.
تسمية اختيارية لفصل النطاق، مثل اسم تطبيقك. السلاسل المختلفة تعطي مخرجات لا علاقة بينها.
المفتاح فارغ. بدون مفتاح سري لا يوفّر KMAC أي مصادقة.
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو مولّد KMAC128؟
KMAC128 هو رمز مصادقة الرسالة المبني على Keccak من NIST SP 800-185، ونظير HMAC في عائلة SHA-3. بمعرفة مفتاح سري وسلسلة تخصيص اختيارية وطول مخرج ينتج وسمًا (tag) لا يستطيع حسابه إلا من يملك المفتاح. تحسب هذه الأداة KMAC128 لنص أو بايتات خام.
كيفية استخدام مولّد KMAC128
- اكتب البيانات في الرسالة؛ واختر بايتات ست عشرية أو Base64 كترميز للإدخال للبيانات الثنائية.
- أدخل المفتاح السري واختر ترميز المفتاح (نص (UTF-8) أو بايتات ست عشرية).
- أدخل اختياريًا سلسلة التخصيص (S) وغيّر طول الإخراج (بت) (الافتراضي 256).
- اختر تنسيق الإخراج ثم اضغط نسخ لاستخدام الوسم.
مثال
الرسالة 00010203 (**بايتات ست عشرية**)، والمفتاح 404142…5E5F (32 بايت، ست عشري)، وS = "My Tagged Application"، وطول 256 بت
3b1fba963cd8b0b59e8c1a6d71888b7143651af8ba0a7070c0979e2811324aa5
عيّنة KMAC رقم 2 من NIST SP 800-185.
متى تستخدم مولّد KMAC128
استخدم KMAC128 لمصادقة الرسائل أو اشتقاق المفاتيح في أنظمة مبنية على SHA-3، أو للتحقق من وسوم KMAC من مواصفة أو تنفيذ آخر. إن كان الطرف الآخر يتوقع HMAC-SHA256 فلن تتوافق KMAC معه — استخدم HMAC هناك. لا تستخدم مفتاحًا فارغًا أو سهل التخمين؛ فقوة MAC من قوة مفتاحها.
كيف يعمل مولّد KMAC128
KMAC128 (NIST SP 800-185) هي cSHAKE128 باسم الدالة "KMAC". تمتصّ bytepad(encode_string(K), 168) — أي المفتاح مُحشوًّا إلى كتلة كاملة — ثم الرسالة، ثم 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) للاختبار
ملاحظة أمنية
توفّر KMAC128 أمانًا يصل إلى 128 بت إذا كان المفتاح عشوائيًا وطوله 16 بايتًا على الأقل. استخدم مفتاحًا سريًا جديدًا وقارن الوسوم بزمن ثابت في شيفرتك. لا تلصق مفاتيح الإنتاج في أدوات لا تثق بها؛ هذه الأداة تعمل محليًا ولا ترسل شيئًا.
الأسئلة الشائعة
كيف تختلف KMAC128 عن HMAC؟
تلفّ HMAC دالة التجزئة مرتين لتفادي مشكلة التمديد (length extension) في SHA-2. أما Keccak فليست عرضة للتمديد، لذا تضع KMAC المفتاح المحشو كبادئة ببساطة. النتائج غير قابلة للتبادل.
لماذا يغيّر تعديل طول المخرج كل البتات؟
لأن طول المخرج L مرمَّز ضمن المدخل، فتكون KMAC بطول 256 و512 بت قيمتين مستقلتين — والأقصر ليست بادئة للأطول.
كيف أدخل مفتاحًا ثنائيًا؟
اضبط ترميز المفتاح على بايتات ست عشرية والصق المفتاح كقيمة ست عشرية (المسافات مسموحة). أما مع نص (UTF-8) فتُستخدم الأحرف نفسها كبايتات للمفتاح.
هل يُرسل مفتاحي إلى أي مكان؟
لا. تتم معالجة المفتاح والرسالة داخل متصفحك فقط.