شبكات Feistel: لبنات بناء الشفرات الحديثة
افهم بنية Feistel التي يقوم عليها DES والعديد من شفرات الكتل الحديثة
شبكات Feistel: لبنات بناء الشفرات الحديثة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
رؤية Horst Feistel في IBM
في أوائل سبعينيات القرن العشرين، كان Horst Feistel يعمل في IBM Research على شيفرة Lucifer عندما توصّل إلى فكرة أساسية: يمكن بناء شيفرة قابلة للعكس باستخدام دالة جولة غير قابلة للعكس.
كان ذلك ثوريًا، لأن تصميم دوال قابلة للعكس وآمنة في الوقت نفسه أمر صعب. وتتجاوز بنية Feistel هذا الشرط تمامًا، مما يتيح استخدام دوال جولة أحادية الاتجاه ومعقدة كيفما كان.
بنية التقسيم والخلط
في شيفرة Feistel، تُقسَّم كتلة الإدخال إلى نصفين متساويين: L، وهو النصف الأيسر، وR، وهو النصف الأيمن. وتطبّق كل جولة دالة الجولة F على R، ثم تُجري XOR للناتج مع L، وبعد ذلك تبدّل النصفين.
بعد n جولة، يُعاد دمج النصفين لإنتاج النص المشفر. ويضمن التبديل معالجة النصفين في جولات متناوبة، مما يخلطهما بصورة شاملة.
دالة الجولة F
تأخذ دالة الجولة F في شبكة Feistel النصف الأيمن ومفتاح الجولة الفرعي مدخلين، ثم تنتج ناتجًا يُجرى له XOR مع النصف الأيسر. والأهم أن F لا تحتاج إلى أن تكون قابلة للعكس.
يمكن أن تكون F معقدة كيفما كان، إذ قد تجمع أي توليفة من عمليات الاستبدال والتبديل وXOR والحساب المعياري. وكلما زاد تعقيد F ولاخطيتها، ازدادت قوة الشيفرة، لأن فك التشفير لا يحتاج أبدًا إلى عكس F.
كيف يعمل فك التشفير في Feistel
يستخدم فك التشفير في شيفرة Feistel البنية نفسها تمامًا المستخدمة في التشفير، لكنه يطبّق مفاتيح الجولات الفرعية بترتيب عكسي. وهذا ممكن لأن XOR معكوس ذاتيًا: إذا كان A XOR B = C، فإن C XOR B = A.
وبما أن فك التشفير لا يستدعي أبدًا F^-1، أي معكوس F، فيمكن أن تكون دالة الجولة تجزئة غير قابلة للعكس أو جدول بحث أو أي عملية معقدة، من دون أن يؤثر ذلك في قابلية الشيفرة للعكس.
لماذا يسهل عكس شبكات Feistel
تكمن الأناقة الرياضية لشبكات Feistel في أن بنية XOR تضمن قابلية العكس بغض النظر عما تفعله F. وحتى إذا كانت F دالة أحادية الاتجاه مثل SHA-256، تظل شيفرة Feistel الكلية قابلة للعكس.
يجعل ذلك شفرات Feistel مرنة للغاية. إذ يستطيع علماء التشفير التركيز بالكامل على جعل F مربكة وناشرة بأكبر قدر ممكن، مع العلم بأن بنية الشبكة نفسها تتولى ضمان قابلية العكس.
DES بوصفه شيفرة Feistel من 16 جولة
معيار تشفير البيانات (DES)، المنشور عام 1977، هو شيفرة Feistel من 16 جولة تعمل على كتل بحجم 64 بت باستخدام مفتاح بحجم 56 بت. وتستخدم كل جولة مفتاحًا فرعيًا مختلفًا بحجم 48 بت، مشتقًا من المفتاح الرئيسي.
تتضمن دالة الجولة في DES تبديل التوسعة، وإجراء XOR مع المفتاح الفرعي، وثمانية S-boxes توفر اللاخطية، وتبديلًا باستخدام P-box. ويوفر هذا المزيج كلًا من الإرباك والانتشار، وفقًا لمبادئ Shannon في تصميم الشفرات.
Blowfish وTwofish
صمّم Bruce Schneier شيفرة Blowfish عام 1993، وهي شيفرة Feistel ذات طول مفتاح متغير من 32 إلى 448 بتًا وتتكون من 16 جولة. وتستخدم S-boxes تعتمد على المفتاح، مما يجعل الهجمات التي تعتمد على حسابات مسبقة غير عملية.
أما Twofish، وهو أحد المتأهلين للتصفيات النهائية في مسابقة AES، فيطوّر أفكار Blowfish باستخدام كتل بحجم 128 بت و16 جولة. ولا تزال كلتا الشيفرتين دون كسر، وتُستخدمان في تطبيقات مثل تجزئة كلمات المرور bcrypt، التي تستخدم إصدارًا معدلًا من Blowfish.
Feistel متوازن مقابل غير متوازن
تقسّم شيفرة Feistel المتوازنة الكتلة إلى نصفين متساويين. أما Feistel غير المتوازنة فتستخدم نصفين غير متساويين، مثل تقسيم بنسبة 3/4 و1/4.
يمكن لشبكات Feistel غير المتوازنة أن توفر مزايا أمنية في سياقات معينة، وتُستخدم في بعض الشفرات المتخصصة. وتستخدم عائلة شفرات CAST بنية Feistel متوازنة بكتل حجمها 64 بت.
مبرهنة Luby-Rackoff
أثبت Michael Luby وCharles Rackoff عام 1988 أن شبكة Feistel من 3 جولات تستخدم دوال جولة شبه عشوائية تُعد تبديلًا شبه عشوائيًا آمنًا (PRP)، وأن إصدارًا من 4 جولات يُعد PRP قويًا.
منحت هذه النتيجة النظرية شبكات Feistel أساسًا متينًا للأمان القابل للإثبات، بدلًا من الاعتماد على الثقة التجريبية وحدها. وأكدت أن بنية Feistel نفسها تسهم في الأمان، وليس فقط دالة الجولة.
Feistel مقابل SPN: لماذا يستخدم AES بنية SPN
تطبّق شبكة الاستبدال والتبديل (SPN) المستخدمة في AES الاستبدال والتبديل على الكتلة بأكملها في الوقت نفسه، بدلًا من تطبيقهما على نصف الكتلة في كل جولة. ويوفر ذلك انتشارًا أسرع.
يحقق AES انتشارًا كاملًا في 4 جولات فقط، بينما تحتاج بنية Feistel في DES إلى جولات أكثر لتحقيق انتشار مماثل. كما تتوافق بنية SPN في AES بصورة أفضل مع معماريات المعالجات الحديثة التي تتضمن تعليمات SIMD.
براهين الأمان ونموذج العرّافة العشوائية
تتعامل مبرهنة Luby-Rackoff مع دالة الجولة F بوصفها دالة عشوائية حقيقية. أما عمليًا، فإن F هي دالة شبه عشوائية، مثل شيفرة أو تجزئة تعتمد على مفتاح، وليست عرّافة عشوائية حقيقية.
تُعد الفجوة بين البراهين النظرية والتطبيقات العملية موضوعًا متكررًا في علم التشفير. فالبراهين توفر الثقة، لكنها تعتمد على نماذج مثالية. ويعتمد الأمان في العالم الحقيقي أيضًا على تطبيقات آمنة خالية من ثغرات القنوات الجانبية.
اختبار بنية Feistel
اختبروا فهمكم لتصميم شبكة Feistel.
أهم النقاط: شبكات Feistel
شبكات Feistel هي بنيات لشفرات الكتل تستخدم دالة جولة لا تحتاج إلى أن تكون قابلة للعكس. ويعمل فك التشفير بتشغيل البنية نفسها بالعكس، مع استخدام المفاتيح الفرعية بترتيب معكوس.
تُعد DES وBlowfish وTwofish جميعها شفرات Feistel. وتوفر مبرهنة Luby-Rackoff ضمانات نظرية للأمان. أما AES فيستخدم بنية SPN بدلًا من ذلك، مما يوفر انتشارًا أفضل في كل جولة.
الأسئلة الشائعة
هل درس «شبكات Feistel: لبنات بناء الشفرات الحديثة» مجاني؟
نعم — نص درس «شبكات Feistel: لبنات بناء الشفرات الحديثة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.
ماذا ستتعلم في «شبكات Feistel: لبنات بناء الشفرات الحديثة»؟
افهم بنية Feistel التي يقوم عليها DES والعديد من شفرات الكتل الحديثة تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟
لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «شبكات Feistel: لبنات بناء الشفرات الحديثة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟
نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- تشفير Playfair
- ADFGVX والتجزئة
- تشفيرا Beaufort ومفتاح الجريان
- شبكات Feistel: لبنات بناء الشفرات الحديثة