ضفدع

في علم التشفير ، يُعدّ FROG خوارزمية تشفير كتلية من ابتكار جورجوديس وليرو وشافيز. تعمل هذه الخوارزمية مع أي حجم كتلة يتراوح بين 8 و128 بايت ، وتدعم أحجام مفاتيح تتراوح بين 5 و125 بايت. تتكون الخوارزمية من 8 جولات، وتتميز بجدول مفاتيح معقد للغاية .

قُدِّمَتْ خوارزمية FROG عام 1998 من قِبَل شركة TecApro، وهي شركة برمجيات كوستاريكية، إلى مسابقة معيار التشفير المتقدم (AES) كمرشحة لتصبح المعيار . ووجد واغنر وآخرون (1999) عددًا من فئات المفاتيح الضعيفة في FROG. وشملت المشاكل الأخرى بطء إعداد المفاتيح وبطء التشفير نسبيًا. ولم تُختر FROG ضمن القائمة النهائية.

فلسفة التصميم

عادةً ما تُطبّق خوارزمية التشفير الكتلي سلسلة ثابتة من العمليات الرياضية أو المنطقية الأساسية (مثل الجمع، وعمليات XOR ، وما إلى ذلك) على النص الأصلي والمفتاح السري لإنتاج النص المشفر . يستغل المهاجم هذه المعلومات للبحث عن نقاط ضعف في الخوارزمية قد تُتيح له استعادة النص الأصلي.

تعتمد فلسفة تصميم خوارزمية FROG على إخفاء التسلسل الدقيق للعمليات الأساسية حتى مع معرفة الشفرة نفسها. فبينما تستخدم الخوارزميات الأخرى المفتاح السري كبيانات فقط (يتم دمجها مع النص الأصلي لإنتاج النص المشفر)، تستخدم FROG المفتاح كبيانات وكتعليمات لكيفية دمج هذه البيانات. في الواقع، تستخدم FROG نسخة موسعة من المفتاح كبرنامج. وتعمل FROG نفسها كمترجم يُطبق هذا البرنامج المعتمد على المفتاح على النص الأصلي لإنتاج النص المشفر. ويتم فك التشفير بتطبيق البرنامج نفسه بشكل عكسي على النص المشفر.

وصف

نظرة عامة على FROG

يبلغ طول جدول مفاتيح FROG (أو المفتاح الداخلي) 2304 بايت. ويتم إنتاجه بشكل متكرر من خلال تطبيق FROG بشكل متكرر على نص عادي فارغ. تُعالج الكتلة الناتجة لإنتاج مفتاح داخلي مُنسق جيدًا يحتوي على 8 سجلات. تتكون FROG من 8 جولات، وتُرمز عمليات كل جولة بسجل واحد في المفتاح الداخلي. جميع العمليات تتم على مستوى البايت وتتكون من عمليات XOR واستبدال. [ 1 ]

يُعدّ تطبيق خوارزمية FROG سهلاً للغاية (يحتوي الإصدار المرجعي المكتوب بلغة C على حوالي 150 سطرًا برمجيًا فقط). يُستخدم جزء كبير من الكود اللازم لتطبيق FROG في توليد المفتاح الداخلي السري؛ أما الشفرة الداخلية نفسها فهي عبارة عن جزء قصير جدًا من الكود. من الممكن كتابة روتين تجميعي يتكون من 22 تعليمة آلية فقط لتنفيذ تشفير وفك تشفير FROG بالكامل. يعمل التطبيق بكفاءة على معالجات 8 بت لأنه يستخدم تعليمات على مستوى البايت فقط، دون استخدام أي عمليات خاصة بالبتات. بمجرد حساب المفتاح الداخلي، تصبح الخوارزمية سريعة نسبيًا: إذ يحقق إصدار مُنفذ باستخدام مُجمِّع 8086 سرعات معالجة تتجاوز 2.2 ميجابايت في الثانية عند تشغيله على جهاز كمبيوتر بنتيوم بسرعة 200  ميجاهرتز.

حماية

تهدف فلسفة تصميم FROG إلى الحماية من أنواع الهجمات غير المتوقعة أو غير المعروفة. ومع ذلك، فإن استخدام المفتاح كبرنامج تشفير يعني أن بعض المفاتيح قد تتوافق مع برامج تشفير ضعيفة . وقد وجد ديفيد واغنر وزملاؤه أن 2-33 من هذه المفاتيح ضعيفة، وأنه في هذه الحالات يمكن كسر المفتاح باستخدام 258 نصًا عاديًا مختارًا .

من عيوب خوارزمية FROG الأخرى أن عملية فك التشفير أبطأ بكثير من عملية التشفير. في هذه الحالة، تكون 2 ^29 من المفاتيح ضعيفة ويمكن اختراقها باستخدام 2 ^36 نصًا مشفرًا مختارًا.

ملحوظات

  1. يمكن العثور على وصف مفصل للشيفرة هنا .

مراجع

  • ديفيد واغنر، نيلز فيرغسون وبروس شناير، تحليل تشفير FROG، في وقائع المؤتمر الثاني لمرشحي AES، الصفحات 175-181 ، المعهد الوطني للمعايير والتكنولوجيا، 1999.
  • ديانلوس جورجوديس، داميان ليروكس وبيلي سيمون تشافيز، خوارزمية تشفير FROG، 15 يونيو 1998.