0Pricing
Cryptology Academy · درس

ECB مقابل CBC: الأنماط والمتجهات الابتدائية

وضّح هجوم بطريق ECB ولماذا يلزم استخدام CBC مع IV عشوائي

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

مرحبًا

يُعد ECB وCBC نمطين من أنماط شفرات الكتل. يشتهر ECB بعدم أمانه بسبب كشف الأنماط، بينما يكون CBC مع IV عشوائي أقوى بكثير. دعونا نفهم كلا النمطين بعمق.

نمط ECB: دفتر الشفرات الإلكتروني

يشفّر ECB كل كتلة بشكل مستقل: Ci = AES(K, Pi). وتؤدي كتلة النص الصريح نفسها إلى كتلة النص المشفر نفسها في كل مرة. وتكون الكتل في الرسالة الواحدة أو عبر رسائل متعددة متطابقة إذا تطابق المحتوى.

بطريق ECB

يُعد 'بطريق ECB' عرضًا توضيحيًا كلاسيكيًا: شفّر صورة PNG لبطريق Tux، بطريق Linux، باستخدام AES-ECB. وسيظل الناتج يبدو كالبطريق؛ إذ تُشفَّر المناطق ذات الألوان نفسها إلى الأنماط نفسها.

ثغرة ECB: إعادة تشغيل الكتل

في نمط ECB، يستطيع المهاجم إعادة ترتيب كتل النص المشفر من دون معرفة المفتاح: - الكتل مستقلة - إعادة ترتيب الكتل → إعادة ترتيب النص الصريح المفكوك - تكرار الكتل → تكرار المحتوى - حذف الكتل → حذف المحتوى

نمط CBC: ربط كتل التشفير

يطبّق CBC عملية XOR على كل كتلة من النص الصريح مع كتلة النص المشفر السابقة قبل التشفير: C0 = AES(K, P0 XOR IV) Ci = AES(K, Pi XOR C(i-1)) يؤدي النص الصريح نفسه في مواضع مختلفة إلى نص مشفر مختلف.

متجه التهيئة (IV)

إن IV هو قيمة 'C(-1)' للكتلة الأولى. ويجب أن يكون: - عشوائيًا وفريدًا لكل رسالة - غير سري (يُنقل مع النص المشفر) - لا يُعاد استخدامه مطلقًا مع المفتاح نفسه يؤدي IV القابل للتنبؤ إلى إضعاف أمان CBC.

فك تشفير CBC

Pi = AES_Dec(K, Ci) XOR C(i-1) P0 = AES_Dec(K, C0) XOR IV ملاحظة: لا يتطلب فك تشفير الكتلة i سوى Ci وC(i-1). ويمكن فك تشفير الكتل بالتوازي، بخلاف التشفير.

هجوم قلب البتات في CBC

يؤدي قلب البت i في الكتلة Ci إلى: (1) تشويش Pi، و(2) قلب متوقع للبت i في P(i+1). ومن دون المصادقة، يستطيع المهاجم تعديل بتات محددة من النص الصريح مع معرفة مواضعها.

هجوم BEAST على TLS 1.0‏ (2011)

استغل BEAST استخدام TLS 1.0 لنمط CBC مع IVs قابلة للتنبؤ. فقد استُخدمت الكتلة الأخيرة من سجل واحد بوصفها IV للسجل التالي. وقد أثبت Rizzo وDuong الهجوم، مما أجبر المتصفحات على الترقية إلى TLS 1.1 أو أحدث.

سبب حاجة CBC إلى المصادقة

يتيح تشفير CBC من دون MAC هجمات قلب البتات وهجمات قناة الحشو. اجمع CBC دائمًا مع HMAC (التشفير ثم MAC)، أو انتقل إلى AES-GCM الذي يوفّر AEAD مضمّنًا.

تطبيق CBC عمليًا في Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os iv = os.urandom(16) key = os.urandom(32) cipher = Cipher(algorithms.AES(key), modes.CBC(iv)) enc = cipher.encryptor() ciphertext = enc.update(padded_plaintext) + enc.finalize()

تحقّق سريعًا

لماذا يكشف نمط ECB معلومات عن بنية النص الصريح؟

مراجعة

يُعد ECB خطيرًا، أما CBC فهو أفضل لكنه يحتاج إلى المصادقة. سندرس بعد ذلك نمط CTR، الذي يحوّل AES إلى شفرة تدفق.

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

هل درس «ECB مقابل CBC: الأنماط والمتجهات الابتدائية» مجاني؟

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

ماذا ستتعلم في «ECB مقابل CBC: الأنماط والمتجهات الابتدائية»؟

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

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

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

كم من الوقت يستغرق درس «ECB مقابل CBC: الأنماط والمتجهات الابتدائية»؟

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

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

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

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

  1. أساسيات تشفير الكتل والحشو
  2. ECB مقابل CBC: الأنماط والمتجهات الابتدائية
  3. نمط CTR وسلوك تشفير التدفق
  4. GCM والتشفير الموثَّق
← العودة إلى Cryptology Academy