0Pricing
Cryptology Academy · درس

نمط CTR وسلوك تشفير التدفق

استخدم نمط العداد لتحويل تشفير الكتل إلى مولّد لسلسلة مفاتيح

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

مرحبًا

يحوّل نمط العداد (CTR) أي شفرة كتل إلى شفرة تدفق. ويمكن تنفيذه بالتوازي، ولا يتطلب حشوًا، ويشكّل أساس AES-GCM. دعونا نتقنه.

مفهوم نمط CTR

أنشئ سلسلة مفاتيح بتشفير قيم عداد متتالية: Keystream[i] = AES(K, Nonce || Counter_i) Ciphertext = Plaintext XOR Keystream يزداد العداد مع كل كتلة. ويكون فك التشفير مطابقًا للتشفير.

CTR مقابل CBC

CBC: تشفير متسلسل، إذ تعتمد كل كتلة على الكتلة السابقة. أما CTR فهو قابل للتنفيذ بالتوازي بالكامل، إذ تكون كل كتلة مستقلة. بالنسبة إلى ملف حجمه 1 GB، يمكن لـ CTR استخدام جميع أنوية وحدة المعالجة المركزية، بينما لا يستطيع CBC ذلك.

لا حاجة إلى الحشو

ينشئ CTR تدفق مفاتيح بأي طول. وتُجرى عملية XOR مع النص الصريح بايتًا تلو الآخر. تستخدم رسالة حجمها 100 بايت 100 بايت من تدفق المفاتيح، لذلك لا حاجة إلى الحشو. وهذا مناسب جدًا للبيانات المتدفقة.

بنية nonce والعدّاد

التقسيم الشائع لكتلة AES بحجم 128 بت: - nonce عشوائي بحجم 64 بت، وفريد لكل رسالة - عدّاد بحجم 64 بت، يزداد مع كل كتلة أو nonce بحجم 96 بت وعدّاد بحجم 32 بت، وفق معيار GCM. تفرّد nonce أمر بالغ الأهمية، فلا تعِد استخدام زوج (nonce، key) مطلقًا.

هجوم إعادة استخدام nonce في CTR

ينتج CTR تدفق المفاتيح نفسه عند استخدام (key، nonce) نفسه. عند تشفير رسالتين مختلفتين: C1 XOR C2 = P1 XOR P2. وهذا يشبه تمامًا هجوم لوحة الاستخدام المتعدد. ويؤدي إلى تسريب كارثي للمعلومات.

الوصول العشوائي في CTR

يتيح CTR الوصول العشوائي: لفك تشفير الكتلة 1000، احسب AES(K, Nonce || 1000) مباشرة. لا حاجة إلى فك تشفير الكتل السابقة. وهذا مثالي لقواعد البيانات وتشفير الأقراص، عند دمجه مع أوضاع أخرى.

CTR في Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os nonce = os.urandom(16) # Used as counter start cipher = Cipher(algorithms.AES(key), modes.CTR(nonce)) enc = cipher.encryptor() ciphertext = enc.update(plaintext) + enc.finalize()

CTR وانتشار الأخطاء

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

وضع SIV لمقاومة إساءة استخدام nonce

يتميز AES-SIV (Synthetic IV) بمقاومته لإساءة استخدام nonce: حتى عند إعادة استخدام nonce، لا يُكشف سوى تساوي النصوص الصريحة، وليس النصوص الصريحة كاملة. ويُستخدم في الحالات التي يصعب فيها ضمان تفرّد nonce.

من CTR إلى GCM

‏AES-GCM = AES-CTR + مصادقة GHASH. يتولى وضع العدّاد التشفير، بينما تحسب GHASH وسم مصادقة باستخدام الضرب في حقل غالوا. والنتيجة معًا هي تشفير موثّق.

اختبار سريع

ما الميزة الرئيسية لوضع CTR مقارنة بوضع CBC عند تشفير كميات كبيرة من البيانات؟

مراجعة

أتقنت وضع CTR! سنجمعه بعد ذلك مع المصادقة في AES-GCM لتحقيق التشفير الموثّق.

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

هل درس «نمط CTR وسلوك تشفير التدفق» مجاني؟

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

ماذا ستتعلم في «نمط CTR وسلوك تشفير التدفق»؟

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

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

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

كم من الوقت يستغرق درس «نمط CTR وسلوك تشفير التدفق»؟

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

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

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

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

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