مولّد تجزئة cSHAKE256

احسب cSHAKE256 باسم الدالة N وسلسلة التخصيص S وأي طول مخرج. متحقَّق منها مقابل عيّنات NIST SP 800-185، وتعمل في متصفحك.

من مضاعفات 8، من 8 إلى 16384 بت.

يُترك فارغًا عادةً. تحجزه NIST للدوال المبنية على cSHAKE.

تسمية اختيارية لفصل النطاق، مثل اسم تطبيقك. السلاسل المختلفة تعطي مخرجات لا علاقة بينها.

cSHAKE256

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو مولّد تجزئة cSHAKE256؟

cSHAKE256 هي النسخة القابلة للتخصيص من SHAKE256 المحدّدة في NIST SP 800-185. تضيف اسم دالة N وسلسلة تخصيص S بحيث تعطي الرسالة نفسها المجزّأة لأغراض مختلفة مخرجات لا علاقة بينها. تتيح لك هذه الأداة ضبط N وS وطول المخرج.

كيفية استخدام مولّد تجزئة cSHAKE256

  1. اكتب مدخلاتك أو الصقها في الحقل النص المراد حساب تجزئته؛ يتحدّث الملخص أثناء الكتابة (الحقل الفارغ يعرض تجزئة مدخل فارغ).
  2. اختر ترميز الإدخال: الخيار نص (UTF-8) يحسب التجزئة لأحرف النص بترميز UTF-8، أما بايتات ست عشرية أو Base64 فيحسبها للبايتات الخام بعد فك ترميزها.
  3. اضبط طول الإخراج (بت) (الافتراضي 512).
  4. املأ اختياريًا اسم الدالة (N) (يكون فارغًا عادةً) وسلسلة التخصيص (S)، مثل اسم تطبيقك أو بروتوكولك.
  5. اختر تنسيق الإخراج (ست عشري بأحرف صغيرة أو كبيرة أو Base64) ثم اضغط نسخ.

مثال

الإدخال
البيانات 00010203 (**بايتات ست عشرية**)، وN فارغ، وS = "Email Signature"، وطول 512 بت
الإخراج
d008828e2b80ac9d2218ffee1d070c48b8e4c87bff32c9699d5b6896eee0edd164020e2be0560858d9c00c037e34a96937c561a74c412bb4c746469527281c8c

عيّنة cSHAKE رقم #3 من NIST SP 800-185.

متى تستخدم مولّد تجزئة cSHAKE256

استخدم cSHAKE256 حين تحتاج فصل النطاقات: عدة تجزئات مشتقة من البيانات نفسها لأغراض مختلفة (وسوم اشتقاق المفاتيح، ونصوص البروتوكولات، والتجزئات الموسومة). استخدم SHAKE256 العادية إن لم تحتج تخصيصًا، و KMAC256 إن دخل مفتاح سري. N محجوز للدوال التي يعرّفها NIST؛ ويجب أن تستخدم التطبيقات S فقط عادةً.

كيف يعمل مولّد تجزئة cSHAKE256

cSHAKE256 (‏NIST SP 800-185) هي SHAKE256 مع فصل النطاقات. قبل الرسالة تمتصّ bytepad(encode_string(N) || encode_string(S), 136) — أي اسم الدالة N وسلسلة التخصيص S، كلٌّ منهما مسبوق بطوله بالبتات — ثم تحشو باللاحقة 00 بدلًا من 1111 الخاصة بـ SHAKE. إذا كان N وS كلاهما فارغين فإن cSHAKE256 تساوي SHAKE256 بحكم التعريف. القيم المختلفة لـ N أو S تعطي دوال مستقلة. يُدخَل N وS كنص ويُرمَّزان بـ UTF-8.

حالات الاستخدام الشائعة

  • إعادة إنتاج متجهات اختبار cSHAKE من NIST SP 800-185
  • اشتقاق قيم منفصلة لسياقات مختلفة من مدخل واحد
  • تنفيذ أو تصحيح KMAC وTupleHash وParallelHash المبنية على cSHAKE
  • تجزئة رسائل بروتوكول بوسم خاص بالتطبيق

ملاحظة أمنية

توفّر cSHAKE256 أمانًا بطول 256 بت مثل SHAKE256. سلسلة التخصيص علنية وليست مفتاحًا — استخدم KMAC256 للمصادقة. تُحسب كل العمليات محليًا في متصفحك.

الأسئلة الشائعة

ماذا يحدث إذا كان N وS فارغين؟

بحكم التعريف تساوي cSHAKE256 حينها SHAKE256؛ فللنص abc بطول 512 بت تحصل على 483366601360a877… وهي نفسها SHAKE256.

ما الفرق بين N وS؟

N (اسم الدالة) محجوز للدوال التي يعرّفها NIST مثل "KMAC" أو "TupleHash". أما S فهي سلسلة التخصيص الحرة للتطبيقات. عمليًا تضبط S وتترك N فارغًا.

كيف يُرمَّز N وS؟

كبايتات UTF-8 مسبوقة بطولها بالبتات (left_encode) ثم تُحشى إلى حجم المعدّل كما هو محدد في SP 800-185.

استكشف المزيد من الفئات