شيفرة يوليوس قيصر و الشيفرات الكلاسيكية
الزمان : 500 قبل الميلاد ، المكان: إحدى مدن اليونان. يتحلق الجنود و القادة العسكريون حول عبد يحلق رأسه. تحت شعر العبد تقبع رسالة سرية عن خطة الإمبراطور الفارسي لغزو مدن اليونان. هذه القصة التي أوردها أبو المؤرخين هيرودوت ، تظهر كيف كان البشر ينقلون رسائلهم السرية في العصور القديمة. اعتمد الإنسان حينها على إخفاء الرسالة في مكان يعلمه المتلقي فقط بعيدا ً عن أعين عدوه، فيما يعرف بفن الستيغانوغرافي (Steganography). لكن مع تقدم الحضارة و حتى قبل ظهور الدولة الرومانية ، تبيّن للبشر أنهم بحاجة إلى كتابة رسائلهم بلغةٍ خاصة مبهمة لا يفهمها إلّا المتلقي، لأن إخفاء الرسائل أمرٌ صعب و من الخطورة حيث أنه من الممكن أن تقع الرسالة التي تحوي معلومات سرية في أيدي أعدائك.
هنا ولد علم التشفير و ظهرت خورازميات التشفير الكلاسيكية، و التي ظل الإنسان يستخدمها لتشفير رسائله حتى القرن العشرين.
قبل أن نشرح أسس علم التشفير ، دعونا نتعرف على إحدى أقدم و أبسط الشيفرات الكلاسيكية و هي شيفرة قيصر. تعرف هذه الشيفرة بهذا الإسم لأن المؤرخين يدّعون أن يوليوس قيصر كان يستخدمها في تشفير رسائله الحربية. تأمل معي العبارة التالية :
“بهب بخت بمتخجيه بمنضزايه”.
قد تبدو لك هذه العبارة من لغة غريبة غير مفهومة، ولو كنت تعيش في القرن الأول قبل الميلاد ولا تستطيع القراءة أو الكتابة ، أو تعرف كلمات بسيطة، فستنظر لهذا السطر و تعلن استسلامك. مع أن الجملة بكل بساطة تقول : “أنا أحب الباحثون المصريون” مع تغيير بسيط، فقد استُبدل كل حرف بالحرف التالي له في الترتيب الألفبائي. فالألف أصبحت باء و الباء أصبحت تاء والياء أصبحت ألف و هكذا. كان يوليوس قيصر ينقل كل حرف 3 مواقع ( الألف تصبح ثاء و الجيم تصبح دال مثلاً و الياء تصبح تاء) و كل ما كان يتطلبه الأمر من المتلقي هو أن يرجع كل حرف 3 مواقع إلى الخلف.
من هذا المثال البسيط يظهر لنا أن عملية التشفير تتضمن 4 عناصر :
1- النص الأصلي : و هو هنا عبارة ” أنا أحب الباحثون المصريون”
2- النص المشفّر : و هو النص الناتج من عملية التشفير. و الغرض من عملية التشفير أن يكون النص المشفّر غير مفهوم لأي شخص لا يمتلك مفتاح التشفير
3- مفتاح التشفير : و في مثالنا السابق هو 1 ، فقد استبدلنا كل حرف بالحرف الذي يليه (مثال آخر مفتاح التشفير الذي استخدمه قيصر هو 3)
4- خوارزمية التشفير : و هي الطريقة التي سيتم بها تشفير أو فك تشفير الرسالة، و بمعرفة الخورازمية و معرفة مفتاح التشفير يمكن للمتلقي استعادة النص الأصلي من النص المشفّر.
تفترض كل خوارزميات التشفير القديمة و الحديثة أن النص المشفّر قد يقع في أيدي العدو، فإخفاء النص المشفّر نفسه ليس من اختصاص علم التشفير. بل إن علم التشفير الحديث (غير الكلاسيكي) يفترض أيضاً أن العدو يعلم خوارزمية التشفير ، بل في بعض الأحيان يفترض أن العدو يمتلك جزء من النص الأصلي و جزء من النص المشفّر ، و سنتطرق فيما بعد لهذه المبادئ و أسباب هذا التشدد و التخوف من قبل علماء التشفير في علم التشفير الحديث.
تعتبر شيفرة قيصر مثالاً على شيفرات الاستبدال الأحادية و هي من أبسط طرق التشفير، وفي هذه الطريقة يتم استبدال كل حرف في النص (كل حرف ألف في النص يستبدل بحرف باء مثلاً و كل حرف جيم يستبدل بحرف حاء). لكن لعله من الواضح أن شيفرة قيصر (وكل شيفرات الاستبدال الأحادية) غاية في البساطة. فما عليك إلّا أن تختار كلمة واحدة في النص المشفّر و أن تجرب استبدال حروفها 27 مرة كحدى أقصى (في اللغة العربية) حتى تكشف النص الأصلي. لن يستلزم الأمر منك إلّا دقائق معدودات و بعدها ستعرف مفتاح التشفير و ستتمكن من فك تشفير كل النصوص المشفّرة.
قبل يوليوس قيصر استخدم الإسبارطيون طريقة تشفير أسرع و أقوى (نوعاً ما) عبر أداة تدعى السكيتال (Scytale). يحضر القائد العسكري ورقة رفيعة و يلفها حول أسطوانة بقطر معين و من ثم يقوم بكتابة رسالته بشكل أفقي. بعدها يتم إرسال الورقة (بدون الأسطوانة) ولكن الحروف قد تغيرت أماكنها (ولم تتغير الحروف بذاتها كما حدث في شيفرة قيصر بل تحركت فقط في النص). لاحظ الصورة أدناه : لقد لففنا الورقة حول الإسطوانة بشكل دائري و من ثم قمنا بكتابة رسالتنا السرية بشكل أفقي :
“The Scytale is a Transposition Cipher***” “السكيتال شيفرة تحويلية”
لكن بعد إزالة الأسطوانة و مد الورقة سنكشف النص المشفّر :
“LNO AAIR TRTE TTIH CASP SSOI EIPC HESN T”
بالطبع لن يكون هناك مسافات بين الأحرف في السكيتال الحقيقي لكننا نضرب المثال للتبسيط. إن مفتاح التشفير (أو كلمة السر) في هذه الحالة هو قطر القضيب أو المخروط. و كل ما يتطلبه الأمر من المتلقي هو أن يلف الورقة مرة أخرى حول مخروط مشابه للمخروط الذي استخدم في كتابة النص المشفّر.
تنتمي السكيتال إلى عائلة أخرى من خوارزميات التشفير تدعى الشيفرات التحويلية أو شيفرات الإنتقال، و فيها ينتقل كل حرف في النص الأصلي إلى موضع آخر في النص الجديد (وفق مصفوفة انتقال معينة ، لكن دعونا من التفسير الرياضي للموضوع لتفادي التعقيد). مع ذلك، لا تزال هذه الخوارزمية سهلة الكسر (نسبيا ً) فبإمكانك تتبع كلمة معينة في النص (مثل كلمة Cipher) في ثوانٍ و من خلالها تستطيع معرفة قطر القضيب ( تدريب : هل يمكن فعل ذلك مع النص السابق ؟)
لكن ماذا يحدث إذا تم دمج الشيفرات الإستبدالية مثل شيفرة قيصر ( لإخفاء و تغيير الحروف و الكلمات) و من ثم شيفرة تحويلية ، لتغيير ترتيب الحروف في النص ؟ هل بإمكاننا فك نظام تشفير “معقّد” كهذا.
هذا بالفعل ما قام به الفيلسوف العربي أبو يوسف الكندي، و الذي أنشأ علم تحليل الشيفرات في القرن التاسع الميلادي. و لازالت طرقه التحليلية من أهم أساليب فك الشيفرات حتى يومنا هذا. انتظرونا للمزيد عن عالم التشفير في المقالة التالية.
يتبع
المصادر :
1- The Code Book، Simon Singh ، 2000
2- Code Breakers، David Khan، 1996
3- Applied Cryptography: Algorithms، Protocols and Souce Code in C
*** كلمة Cipher الإنجليزية (تنطق سايفر) مأخوذة من كلمة سيفرا اللاتينية و المأخوذة بدورها من كلمة صفر العربية. لأن الصفر الذي جلبه العرب لأوروبا كان رقما مستغرباً و غير مفهوم لدى الأوروبيين حينها ، فأطلقوا كلمة سايفر على كل نص غير مفهوم و محير (المصدر : https://en.wikipedia.org/wiki/Cipher#Etymology)
إعداد: أحمد حسانين
مراجعة: أمينة فِلّان