على ضوءِ التّقدّم الحاصل في تفكيكِ الشِفرات البسيطة، هناك حاجة لإيجاد "مفتاحٍ" من شأنه أن يعقّد الأمور قليلًا. أسرار التشفير: المقال الثالث في السِّلسلة.

هذا المقال الثالث في سلسلة المقالات التي تتناول عالم التشفير، لكنّها قائمة بحدّ ذاتها. لقراءة المقال الأوّل، المقال الثاني

بدايةً، كانت إزاحة قيصر قائمةً في السنة 100 قبل الميلاد. وتُعتبر طريقة تشفيرٍ بسيطة تعتمد على تبادل أحاديّ القيمة للحروف، وهو مصطلحٌ رياضيّ يصف نوعًا خاصًّا للتوافق بين الأعضاء في مجموعتين: كلّ عضو في إحدى المجموعات مطابق لعضوٍ واحد في المجموعة الثانية. أي أنّ كلّ حرف في النّص الأصليّ في إزاحة قيصر، سيتمّ استبدالها دائمًا بنفس الحرف في كتابة الشِفرة. لا يمكن تشفير الحرف "أ" مرّة واحدة كحرف "ب" ومرّة كحرف "ت". تسمّى هذا الشِفرة تعمية الاستبدال أحاديّة الأبجديّة. 


وصف دالّة استبدال الحروف لإزاحة قيصر 1 

 

تكمن المشكلة في في شِفرات الاستبدال البسيطة أنّها ليست سهلةَ الاستعمال فحسب، بل تفكيكها يعتبر سهلًا للغاية. حسب طريقة تحليل التردّدات، فإنّ كلّ شخص متمرّس في علم الشِفرات، يستطيع أن يعتمد على عِلمه المسبق بما يخصّ نسبة تكرار الحروف في الّلغة، من أجل التخمين باحتماليّةٍ عالية رمزًا معيّنًا في النّص المشفّر، وما يرمز له من النّص الأصليّ. لذلك احتاج مطوّرو الشِفرات إلى شِفراتٍ جديدة، من أجل نقل المعلومات بشكل آمن. تمّ اقتراح الحلّ لأوّل مرّة في القرن السادس عشر، من قِبَل عالِم الشِفرات الإيطاليّ جيوفان باتيستا بيلاسو (Bellaso)، الذي طوّر الشِفرة المعروفة باسم شِفرة فيجينير. تمّت تسمية الشِفرة على اسم الدبلوماسيّ والكيميائيّ الفرنسي بليز دو فيجينير (Vigenère)، الذي عَمِلَ أيضًا في مجال التشفير ونُسبِ إليه الاسم بِالخطأ. 

تُعتبر شِفرة فيجينير شِفرةً متعدّدة الأبجديّة. على عكس أحاديّة الأبجديّة، ففي هذه الشِفرة كلّ حرفٍ يمكن استبداله برمزٍ آخرٍ في كلّ مرّة. بالطبع، هناك حاجة لتحديد العمليّة مُسبقًا من أجل أن تكون قابلة للعكس، وتمكّن متلقي الرسالةَ من فكّها. 

מכונת הצפנה שבה השתמשו מדינות הדרום במהלך מלחמת האזרחים בארצות הברית בשנים 1865-1861 והתבססה על צופן ויז'נר | Library of Congress, Science Photo Library
آلة تشفير استخدمتها الولايات الجنوبيّة خلال الحرب الأهليّة الأمريكيّة في السنوات 1861-1865م، واعتمدت على شِفرة فيجينير | Library of Congress, Science Photo Library 

 

الشِّفرة

تُنتجُ شِفرة فيجينير شِفرةً جديدة، يُشفَّر فيها كلّ حرفٍ حسب إزاحة قيصر مختلفة. أوّلًا، يجب التعرّف على "مربع فيجينير"- وهو أداة مساعدة مرئيّة، مثل الجدول المكوّن من عمودَينِ المستخدم في شِفرة قيصر البسيطة. يمثّل كلّ سطرٍ في المربّع إزاحة قيصر المناسبة له بالمقارنة مع الأبجديّة الأصليّة (الرماديّة).  ومن ثمّ اختيار كلمة دالّة وتُكتب مرارًا وتكرارًا فوق حروف النّص. ما تبقّى الآن هو المرور على النصّ حرفًا بعد حرف وتشفير كل واحدٍ منها حسب السطر في مربّع فيجينير الذي يبدأ بحرف الكلمة الدّالة. 

هل الأمر محيّر؟ لنوضّح ذلك. لنبدأ بإعداد مربّع فيجينير: 

لنفترض أنّنا نريد تشفير النّص "قطّة بيتنا".

يجب علينا اختيار كلمة دالّة حسب الخطوة الثّانية في الخوارزميّة. نختار الكلمة "سلام" ككلمة دالّة على سبيل المثال:

سنبدأ بفكّ الشِفرة الآن. فوق الحرف "ق" يتواجد الحرف الأوّل من الكلمة الدّالّة وهو حرف "س". لذلك نتوجّه للسطر رقم 11، الذي يتواجد به الحرف الأول "س". عمليًا هذه هي إزاحة قيصر 11. لذلك سيشفّر حرف "ق" لِلحرف "ج". الحرف التالي هو "ط"، والحرف الدّال "ل" الذي فوقه يوجّهنا للسطر 22. لذلك الحرف "ط" سيشفّر للحرف "ز". وهكذا نكمل حرفًا حرفًا، وسنكتشفُ بسبب الإزاحة المختلفة، أنّ الحرف "ق" الذي في آخر كلمة "طارق" سيشفّر للحرف "ك" على غرار الحرف الأوّل في كلمة "قطّة" الذي شفّر إلى الحرف "ج". سيكون إذًا النّص المشفّر النهائيّ:

جزو سسجك

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

 

فكّ الشِفرة

لنفترض أنّنا متلقّو الرّسالة المشفّرة في المثال الآتي. كيف سنفكّكها؟ إنّ الشرط المسبق في فكّ شِفرة فيجينير أنّ طرفيّ المراسلة، المُرسِل والمُرسَل إليه، يعلمون الكلمة الدّالّة. سنكتب الكلمة الدّالّة مرةً أخرى فوق الرّسالة المشفّرة كما فعلنا في مرحلة التشفير. 

لِننظر الآن إلى جميع الحروف، وسنجد لكلّ حرف سطر الحرف الدّال له، في هذا السطر سنجد الحرف في الرسالة ونعرف الحرف الذي تمّ تشفيره. على سبيل المثال، إن حرف الدالّ لِلحرف الأوّل من رسالتنا المشفّرة "أ" هو "س". في السطر الذي فيه الحرف الأوّل هو "س" سنجد الحرف "أ"، وكما يبدو أنّها بدّلت الحرف "ق". ونستمرّ على هذا النّحو حتى نهاية التشفير، وإذا لم نتخطَّ أيّ حرفٍ- فعندها سنضمن انتهاء عمليّة التشفير بنجاح. 

 

تحدٍّ للقرّاء

0 تعليقات