0Pricing
Cryptology Academy · درس

توسيع مفتاح AES وأحجام المفاتيح

استكشفوا مفاتيح 128 و192 و256 بت وعملية جدول المفاتيح

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

مرحبًا

يوسّع AES مفتاحًا قصيرًا إلى عدة مفاتيح جولات من خلال Key Schedule. ويُعد فهم ذلك ضروريًا لاستيعاب كيفية انتشار المفتاح في كل جولة.

لماذا نوسّع المفتاح؟

يضم AES-128 عشر جولات، إضافةً إلى AddRoundKey ابتدائية. ويتطلب ذلك 11 مفتاح جولة × 16 بايتًا = 176 بايتًا إجمالًا. ويوسّع جدول المفاتيح مفتاحًا رئيسيًا بحجم 16 بايتًا إلى مادة المفتاح الكاملة هذه.

كلمات جدول المفاتيح

يعمل جدول المفاتيح باستخدام كلمات بحجم 4 بايتات. ويبدأ AES-128 بأربع كلمات (W[0..3]) من المفتاح الأصلي. ثم ينشئ W[4..43]، أي 44 كلمة = 176 بايتًا = 11 مفتاح جولة بحجم 128 بت.

SubWord

تطبّق SubWord S-box الخاصة بـ AES على كل بايت من البايتات الأربعة في الكلمة بصورة مستقلة. وهي توفر اللاخطية في توسيع المفتاح، مما يمنع هجمات المفاتيح المرتبطة.

RotWord

تنفّذ RotWord إزاحة دورية إلى اليسار على كلمة مكوّنة من 4 بايتات: [a, b, c, d] → [b, c, d, a] ويضمن ذلك عدم تكرار الكلمة نفسها ذات 32 بت في عملية توسيع المفتاح.

ثوابت الجولة (Rcon)

Rcon[i] = [2^(i-1), 0, 0, 0] in GF(2^8). تُجرى معها عملية XOR في كل كلمة رابعة أثناء توسيع المفتاح. وهذا يجعل كل مفتاح جولة مختلفًا ويمنع هجمات الانزلاق.

صيغة توسيع المفتاح

For i ≥ 4: if i % 4 == 0: W[i] = W[i-4] XOR SubWord(RotWord(W[i-1])) XOR Rcon[i/4] else: W[i] = W[i-4] XOR W[i-1]

جداول AES-192 وAES-256

AES-192: ست كلمات إدخال، وينشئ 52 كلمة (12+1 جولة). AES-256: ثماني كلمات إدخال، وينشئ 60 كلمة (14+1 جولة). ويضيف AES-256 عملية SubWord إضافية في كل كلمة ثامنة.

أمان أحجام المفاتيح

يوفر AES-128 أمانًا قدره 128 بت (2^128 لمحاولة القوة الغاشمة). ويوفر AES-256 أمانًا قدره 256 بت. أما في مواجهة المهاجمين الكميين، فيحافظ AES-256 على أمان قدره 128 بت (إذ تخفض خوارزمية Grover هذا المستوى إلى النصف).

اختيار حجم مفتاح AES

بالنسبة إلى معظم التطبيقات اليوم: يُعد AES-128 كافيًا. أما الأسرار طويلة الأمد والبيانات المصنفة أو السيناريوهات ما بعد الكمّية، فاستخدموا AES-256. ونادرًا ما يُستخدم AES-192 عمليًا.

اشتقاق المفاتيح من كلمات المرور

لا تستخدموا كلمة المرور مباشرةً بوصفها مفتاح AES. استخدموا دالة اشتقاق مفاتيح (KDF): key = PBKDF2(password, salt, 600000, 32, SHA256) أو key = Argon2id(password, salt, mem=65536, t=3, p=4).

اختبار سريع

كم عدد مفاتيح الجولات التي يتطلبها AES-128، بما في ذلك AddRoundKey الأولي؟

مراجعة

لقد أتقنتم توسعة مفتاح AES! بعد ذلك سنجمع كل ما تعلمناه ونشفّر ملفات حقيقية باستخدام AES في Python مع OpenSSL.

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

هل درس «توسيع مفتاح AES وأحجام المفاتيح» مجاني؟

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

ماذا ستتعلم في «توسيع مفتاح AES وأحجام المفاتيح»؟

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

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

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

كم من الوقت يستغرق درس «توسيع مفتاح AES وأحجام المفاتيح»؟

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

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

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

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

  1. مفاهيم التشفير المتماثل
  2. بنية AES: الجولات ومصفوفة الحالة
  3. توسيع مفتاح AES وأحجام المفاتيح
  4. تشفير الملفات باستخدام AES عمليًا
← العودة إلى Cryptology Academy