مولّد تجزئة cSHAKE128
احسب cSHAKE128 باسم الدالة N وسلسلة التخصيص S وأي طول مخرج. متحقَّق منها مقابل عيّنات NIST SP 800-185، وتعمل في متصفحك.
من مضاعفات 8، من 8 إلى 16384 بت.
يُترك فارغًا عادةً. تحجزه NIST للدوال المبنية على cSHAKE.
تسمية اختيارية لفصل النطاق، مثل اسم تطبيقك. السلاسل المختلفة تعطي مخرجات لا علاقة بينها.
يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو مولّد تجزئة cSHAKE128؟
cSHAKE128 هي النسخة القابلة للتخصيص من SHAKE128 المحدّدة في NIST SP 800-185. تضيف اسم دالة N وسلسلة تخصيص S بحيث تعطي الرسالة نفسها المجزّأة لأغراض مختلفة مخرجات لا علاقة بينها. تتيح لك هذه الأداة ضبط N وS وطول المخرج.
كيفية استخدام مولّد تجزئة cSHAKE128
- اكتب مدخلاتك أو الصقها في الحقل النص المراد حساب تجزئته؛ يتحدّث الملخص أثناء الكتابة (الحقل الفارغ يعرض تجزئة مدخل فارغ).
- اختر ترميز الإدخال: الخيار نص (UTF-8) يحسب التجزئة لأحرف النص بترميز UTF-8، أما بايتات ست عشرية أو Base64 فيحسبها للبايتات الخام بعد فك ترميزها.
- اضبط طول الإخراج (بت) (الافتراضي 256).
- املأ اختياريًا اسم الدالة (N) (يكون فارغًا عادةً) وسلسلة التخصيص (S)، مثل اسم تطبيقك أو بروتوكولك.
- اختر تنسيق الإخراج (ست عشري بأحرف صغيرة أو كبيرة أو Base64) ثم اضغط نسخ.
مثال
البيانات 00010203 (**بايتات ست عشرية**)، وN فارغ، وS = "Email Signature"، وطول 256 بت
c1c36925b6409a04f1b504fcbca9d82b4017277cb5ed2b2065fc1d3814d5aaf5
عيّنة cSHAKE رقم #1 من NIST SP 800-185.
متى تستخدم مولّد تجزئة cSHAKE128
استخدم cSHAKE128 حين تحتاج فصل النطاقات: عدة تجزئات مشتقة من البيانات نفسها لأغراض مختلفة (وسوم اشتقاق المفاتيح، ونصوص البروتوكولات، والتجزئات الموسومة). استخدم SHAKE128 العادية إن لم تحتج تخصيصًا، و KMAC128 إن دخل مفتاح سري. N محجوز للدوال التي يعرّفها NIST؛ ويجب أن تستخدم التطبيقات S فقط عادةً.
كيف يعمل مولّد تجزئة cSHAKE128
cSHAKE128 (NIST SP 800-185) هي SHAKE128 مع فصل النطاقات. قبل الرسالة تمتصّ bytepad(encode_string(N) || encode_string(S), 168) — أي اسم الدالة N وسلسلة التخصيص S، كلٌّ منهما مسبوق بطوله بالبتات — ثم تحشو باللاحقة 00 بدلًا من 1111 الخاصة بـ SHAKE. إذا كان N وS كلاهما فارغين فإن cSHAKE128 تساوي SHAKE128 بحكم التعريف. القيم المختلفة لـ N أو S تعطي دوال مستقلة. يُدخَل N وS كنص ويُرمَّزان بـ UTF-8.
حالات الاستخدام الشائعة
- إعادة إنتاج متجهات اختبار cSHAKE من NIST SP 800-185
- اشتقاق قيم منفصلة لسياقات مختلفة من مدخل واحد
- تنفيذ أو تصحيح KMAC وTupleHash وParallelHash المبنية على cSHAKE
- تجزئة رسائل بروتوكول بوسم خاص بالتطبيق
ملاحظة أمنية
توفّر cSHAKE128 أمانًا بطول 128 بت مثل SHAKE128. سلسلة التخصيص علنية وليست مفتاحًا — استخدم KMAC128 للمصادقة. تُحسب كل العمليات محليًا في متصفحك.
الأسئلة الشائعة
ماذا يحدث إذا كان N وS فارغين؟
بحكم التعريف تساوي cSHAKE128 حينها SHAKE128؛ فللنص abc بطول 256 بت تحصل على 5881092dd818bf5c… وهي نفسها SHAKE128.
ما الفرق بين N وS؟
N (اسم الدالة) محجوز للدوال التي يعرّفها NIST مثل "KMAC" أو "TupleHash". أما S فهي سلسلة التخصيص الحرة للتطبيقات. عمليًا تضبط S وتترك N فارغًا.
كيف يُرمَّز N وS؟
كبايتات UTF-8 مسبوقة بطولها بالبتات (left_encode) ثم تُحشى إلى حجم المعدّل كما هو محدد في SP 800-185.