Cryptology Academy · درس

شرح عائلة SHA-1 وSHA-2

افهموا نقطة ضعف SHA-1 واختلاف SHA-256 وSHA-512

الدرس 3 من 413 خطوة

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

مرحبًا

يُعد SHA-1 وSHA-2 الخلفَين اللذين صممتهما NSA لـ MD5. وقد أُخرج SHA-1 من الخدمة الآن، بينما يظل SHA-256 وSHA-512 المعيارين الصناعيين لمعظم التطبيقات.

نظرة عامة على SHA-1

ينتج SHA-1 قيمة تجزئة بطول 160 بت (20 بايت). صممته NSA ونُشر عام 1995. مثال: SHA1('hello') = aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

بنية SHA-1

يستخدم SHA-1 عددًا قدره 80 جولة، مجمّعة في 4 مراحل، تضم كل منها 20 جولة. وتستخدم كل مرحلة دوال منطقية مختلفة (Ch وParity وMaj). كما يمدّد 16 كلمة إدخال إلى 80 كلمة باستخدام XOR وعمليات التدوير.

تصادم SHA-1: هجوم SHAttered (2017)

في عام 2017، أنتجت Google وCWI Amsterdam أول تصادم عملي لـ SHA-1 (هجوم SHAttered). كان ملفا PDF يملكان تجزئتي SHA-1 متطابقتين رغم اختلاف محتواهما. التكلفة: نحو 6500 سنة من تشغيل وحدات GPU.

عائلة SHA-2

تتضمن SHA-2 ما يلي: SHA-224 وSHA-256 وSHA-384 وSHA-512 وSHA-512/224 وSHA-512/256. وجميعها تستخدم بنية Merkle-Damgård. ويُعد SHA-256 المتغير الأكثر استخدامًا.

بنية SHA-256

يستخدم SHA-256 عددًا قدره 64 جولة على كتل بحجم 512 بت. ويحافظ على 8 كلمات حالة، يبلغ حجم كل منها 32 بت (a,b,c,d,e,f,g,h). وتمزج كل جولة كلمات الإدخال باستخدام الدوال Ch وMaj وΣ0 وΣ1.

SHA-256 في Python

import hashlib msg = b'hello' digest = hashlib.sha256(msg).hexdigest() print(digest) # 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA-512 في مقابل SHA-256

يستخدم SHA-512 عددًا قدره 80 جولة مع كلمات بحجم 64 بت، وينتج 512 بت. وهو أسرع على العتاد ذي البنية 64-بت، لكنه ينتج قيم تجزئة أكبر. استخدموا SHA-512 عندما تكون هناك حاجة إلى مستوى أمان قدره 256 بت.

SHA-3 (Keccak)

تم توحيد SHA-3 في عام 2015 بوصفه تصميمًا بديلًا. ويستخدم بنية الإسفنجة بدلًا من Merkle-Damgård، مما يجعله محصّنًا ضد هجمات تمديد الطول.

هجمات تمديد الطول على SHA-2

تكون SHA-256(secret || message) عرضة للهجوم؛ إذ يستطيع مهاجم يعرف Hash(message) حساب Hash(message || padding || extra). ولهذا يستخدم HMAC بنية التجزئة المزدوجة.

متى نستخدم كل خوارزمية؟

SHA-256: للاستخدام العام وTLS والشهادات وHMAC. SHA-512: للتطبيقات التي تتطلب هامش أمان أعلى. SHA-3: للبروتوكولات الجديدة التي لا توجد فيها مخاوف من تمديد الطول. لا تستخدموا SHA-1 أو MD5 في التصميمات الجديدة مطلقًا.

اختبار سريع

ما البنية التي يستخدمها SHA-3 وتجعله محصّنًا ضد هجمات تمديد الطول؟

مراجعة

أصبح لديكم فهم لتطور عائلة SHA. سندرس بعد ذلك التطبيقات العملية للتجزئة: المجاميع الاختبارية وHMAC واستخدام Git لـ SHA.
البدء مجانًا

تعلم Cryptology Academy مع معلم ذكاء اصطناعي — مجانًا

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

الدورات
67
الدروس
261

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

هل درس «شرح عائلة SHA-1 وSHA-2» مجاني؟

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

ماذا ستتعلم في «شرح عائلة SHA-1 وSHA-2»؟

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

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

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

كم من الوقت يستغرق درس «شرح عائلة SHA-1 وSHA-2»؟

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

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

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

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

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