0Pricing
Cryptology Academy · درس

ما الذي يجعل دالة التجزئة جيدة

استكشفوا مقاومة ما قبل الصورة ومقاومة التصادم وتأثير الانهيار الجليدي

ما الذي يجعل دالة التجزئة جيدة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

مرحبًا

تحوّل دالة التجزئة التشفيرية أي مُدخل إلى قيمة ملخص ثابتة الطول. في هذا الدرس سندرس الخصائص التي تجعل دالة التجزئة آمنة تشفيريًا.

الإخراج الحتمي

ينتج Hash(M) دائمًا الإخراج نفسه للمدخل نفسه. تكون SHA-256('hello') دائمًا aabb...، بصرف النظر عن مكان أو وقت حسابها.

طول الإخراج الثابت

تُخرج SHA-256 دائمًا 256 بتًا (32 بايت = 64 محرفًا سداسيًا عشريًا). وتُخرج SHA-512 دائمًا 512 بتًا. قد يكون الإدخال بطول 0 بايت أو 10 GB، لكن حجم الإخراج لا يتغير مطلقًا.

مقاومة الصورة السابقة

بالنظر إلى التجزئة h، يجب أن يكون العثور على أي رسالة M تحقق Hash(M) = h غير ممكن عمليًا من الناحية الحسابية. إنها خاصية أحادية الاتجاه: لا يمكنك عكس التجزئة.

مقاومة الصورة السابقة الثانية

بالنظر إلى M1، يجب أن يكون العثور على M2 ≠ M1 بحيث Hash(M1) = Hash(M2) غير ممكن عمليًا. ويمنع ذلك المهاجم من استبدال رسالة بأخرى لها التجزئة نفسها.

مقاومة التصادم

يجب أن يكون العثور على أي رسالتين M1 ≠ M2 تحققان Hash(M1) = Hash(M2) غير ممكن عمليًا. وهذا أصعب من الصورة السابقة الثانية، لكنه أضعف مما يبدو — إذ يضمن مبدأ الحمام وجود تصادمات.

تأثير الانهيار الجليدي

ينبغي أن يؤدي قلب بت واحد في الإدخال إلى تغيير نحو 50% من بتات الإخراج. تختلف SHA-256('hello') وSHA-256('hellp') في نحو 128 بتًا. وتمنع هذه الحساسية هجمات البحث التدريجي.

بنية Merkle-Damgård

تستخدم MD5 وSHA-1 وSHA-2 بنية Merkle-Damgård: تقسّم الإدخال إلى كتل وتربطها عبر دالة ضغط. وتكون قيمة السلسلة النهائية هي التجزئة. ويكون هذا التصميم عرضة لهجمات تمديد الطول.

بنية الإسفنجة

تستخدم SHA-3 (Keccak) بنية الإسفنجة: تمتص الإدخال في حالة، ثم تعصر الإخراج منها. تقاوم بنى الإسفنجة هجمات تمديد الطول، وهي أكثر تنوعًا من Merkle-Damgård.

حد عيد الميلاد

يعثر هجوم عيد الميلاد على التصادمات في 2^(n/2) عملية، وليس 2^n. ناتج SHA-256 طوله 256 بتًا، لذا تبلغ مقاومة التصادم نحو 2^128. أما SHA-1 (بطول 160 بتًا) فتبلغ نحو 2^80، وقد كُسرت عمليًا الآن.

التجزئة مقابل MAC مقابل التوقيع

التجزئة: لا تستخدم مفتاحًا، وتوفر السلامة فقط. MAC (HMAC): تجزئة تستخدم مفتاحًا، وتوفر السلامة + الأصالة. التوقيع الرقمي: يستخدم مفتاحًا غير متماثل، ويوفر السلامة + الأصالة + عدم التنصل.

تحقق سريع

ما الخاصية التي تضمن استحالة العثور عمليًا على أي إدخال ينتج إخراج تجزئة معينًا؟

مراجعة

أصبحت الآن تفهم خصائص الأمان في دوال التجزئة. سندرس بعد ذلك MD5، التي كانت معيارًا في السابق وأصبحت الآن مكسورة تمامًا.

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

هل درس «ما الذي يجعل دالة التجزئة جيدة» مجاني؟

نعم — نص درس «ما الذي يجعل دالة التجزئة جيدة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «ما الذي يجعل دالة التجزئة جيدة»؟

استكشفوا مقاومة ما قبل الصورة ومقاومة التصادم وتأثير الانهيار الجليدي تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «ما الذي يجعل دالة التجزئة جيدة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما الذي يجعل دالة التجزئة جيدة
  2. ‏MD5: تاريخه واستخداماته وسبب كسره
  3. شرح عائلة SHA-1 وSHA-2
  4. تطبيقات التجزئة: المجاميع الاختبارية وHMAC وGit
← العودة إلى Cryptology Academy