مرحبا :
مقدمة نظرية عن شفرة playfair والتشفير الابدالي
التشفير الثنائي الابدالي Digraph Substitution Cipher :
وهو احد طرق التشفير القديم الكلاسيكي المسمى بـ(تشفير الورقة والقلم) لامكانية تشفيره يدوياً على عكس التشفير الحديث , ان التشفير الثنائي شبيه بالتشفير الاحادي الابجدية ( شفرة القيصر , الشفرة الماسونية , شفرة الافاين ) لكن في هذه الطريقة يتم وضع احرف الرسالة المراد تشفيرها على شكل ازواج ثنائية (Digraph ) وبالتالي يتم استبداله بزوج اخر ( لذلك تعتبر طريقة ابدالية Substitution ) ويعتبر التشفير الثنائي اقوى من التشفير الاحادي (monoalphabetic cipher ) لعجز(او جعلها معقدة جداً) طريقة تحليل التكرار ( frequency analysis ) على كسر هذا النوع من الشفرات وهذا السبب الرئيسي في اكتشاف الشفرات متعددة الابجدية (polyalphabetic cipher) , مثال على هذا التشفير هو طريقة playfair .
شفرة playfair للتشفير الثنائي :
صممت هذه الشفرة سنة 1854 من قبل جارلس وتستون (Charles Wheatstone) لكنها تحمل اسم اللورد بلافير(Lord Playfair) الذي روج الى استخدامها (اضغط على اسم العالم للانتقال الى صفحته في الموسوعة الحرة )سلاماً عليكم طبتم وطابت الارض التي فيها دفنتم
جارلس ونستون اللورد بلايفير
--------------------------------------------------------------------------------------
استخدمت هذه الشفرة في الاغراض العسكرية من قبل القوات البريطانية في معركة البوير الثانية و الحرب العالمية الاولى ومن قبل البريطانين و الاستراليين في الحرب العالمية الثانية .
طريقة التشفير Encryption :
اولا : يتم رسم مربع بوليبيوس مكون من خمس صفوف وخمس اعمدة ويحتوي العبارة المفتاحية ( key phrase ) بالاضافة الى حروف الابجدية المتبقية (بشرط عدم ورودها في العبارة المفتاحية ) وبما ان احرف اللغة الانكليزية عددها 26 وعدد خلايا المربع 25 خلية فيتم دمج حرفي (i,j) او يتم استبعاد الـ (q) لندرة استخدامها.
ثانيا: نقسم النص الصريح الى ثنائيات ووضع حرفين مع بعضهما وبحسب الشروط :
- اذا كانت الثنائيات مكونة من نفس الحرفين ( او تبقى حرف واحد في النهاية ) فيتم اضافة الحرف (x) بين الحروف المتشابهة او في النهاية
- اذا وقع الحرفين في نفس الصف من المربع فيستبدل كل حرف بالحرف الواقع الى يمينه مباشرة (مع امكانية التدوير لليسار ان استوجب ذلك) .
- اذا وقع الحرفين في نفس العمود من المربع فيستبدل كل حرف بالحرف الواقع اسفله مباشرة (مع امكانية التدوير للاعلى ان استوجب ذلك) .
- ما عدا ذلك فيتم استبدال كل حرف بالحرف الواقع في نفس صفه وعمود الحرف الثاني .
ملاحظة : يفضل استخدام عبارة مفتاحية طويلة للحصول على شفرة اقوى .
طريقة فك التشفير Decryption :
نفس طريقة التشفير كذلك نقوم بتقسيم النص الى ثنائيات والاختلاف في النقطتين ادناه فقط :
- اذا وقع الحرفين في نفس الصف من المربع فيستبدل كل حرف بالحرف الواقع الى يساره مباشرة (مع امكانية التدوير لليمين ان استوجب ذلك) .
- اذا وقع الحرفين في نفس العمود من المربع فيستبدل كل حرف بالحرف الواقع اعلاه مباشرة (مع امكانية التدوير للاسفل ان استوجب ذلك) .
ادناه شرح بالفيديو لكيفية عمل التشفير وفك التشفير في شفرة البلايفير :
الان نأتي الى برمجة الشفرة بلغة VB6 :
لتحميل البرنامج كاملا اضغط هنا
اي شخص يواجه صعوبة بالكود يتفضل يسأل ويدلل
اتمنى لكم الفائدة