شعار العنصر 14

العنصر 14، قناة يوتيوب علميّة عن تكنولوجيا الحاسوب التي نتعامل معها في حياتنا اليوميّة

الآلة التي كادت تغير معادلة الحرب العالمية 2

06/12/2019


تمهيد

قام الجيش الألماني خلال الحرب العالمية الثانية، بتطوير جهاز لتشفير الرسائل يدعى إنجما. استخدمه لإرسال رسائل مشفرة للجنود الألمان خارج ألمانيا. فما هي طبيعة إنجما؟ وماهو تركيبها الداخلي؟ ما هي مشكلة إنجما والتي استغلها العالم الإنجليزي آلان تورنج، ومكنته من فك شيفرة إنجما؟ والتي كانت أحد أسباب انتصار بريطانيا في الحرب العالمية الثانية.

مقدمة

بداية لنأخذ هذا المثال: فلنفرض أن القيادة الألمانية تريد إرسال الرسالة التالية "Happy Holidays" لجنودها في الخارج. أولاً، سنقوم بتشفير الرسالة باستخدام جهاز إنجما. الناتج سيكون عبارة عن رسالة مشفرة غير مفهومة. على الجانب الآخر، سيستقبل الجنود الرسالة المشفرة، وسيستخدمون نسخة من جهاز إنجما مشابهة تماماً للنسخة التي استخدمتها القيادة وبالإعدادات ذاتها حتى يستطيعوا فك الرسالة المشفرة واسترجاع الرسالة الأصلية.

مثالاً عن التشفير

لنأخذ مثالاً بسيطاً عن كيفية التشفير: إذا أردت أن ترسل لصديقك الرسالة التالية: "موعدنا اليوم العصر". لكنك تريد تشفير الرسالة قبل إرسالها. لنأخذ طريقة تشفير بسيطة بأن تقوم باستبدال كل حرف من حروف الرسالة بالحرف الذي يليه بثلاث خانات. فمثلاً: الميم ستصبح واواً، لأنه يوجد لدينا (ميم نون هاء واو). الواو ستصبح باءً، العين ستصبح قافاً، والدال ستصبح زيناً، وهكذا لجميع حروف الرسالة. وبالتالي ستصبح رسالتك من "موعدنا اليوم العصر" لهذه الرسالة غير المفهومة: "وبقزيث ثهتبو ثهقظش".

حتى يستطيع صديقك فك رسالتك المشفرة، يجب أن يكون على معرفةٍ بطريقة فك التشفير وهي المفتاح (key). في مثالنا، المفتاح عبارة عن استبدال الحرف بالحرف الذي قبله بثلاث خانات؛ فالواو ستصبح ميماً، الباء ستصبح واواً، والقاف ستصبح عيناً. وبالتالي سيقوم بجمع الرسالة الأصلية من الرسالة المشفرة.

لنفرض أننا على علمٍ بأن المفتاح هو أنك تبدل الحرف بالحرف الذي قبله بـ x من الخانات. x هو رقم مجهول ونريد معرفته. لنجرب ولنفرض أن قيمة x تساوي صفراً. وبالتالي، سنبدل الحرف بنفسه، فالواو ستصبح واواً. النتيجة؛ الرسالة بعد فك التشفير عبارة عن الرسالة المشفرة نفسها. وبالتالي x = 0 ليس الحل الصحيح. الآن، لنجرب x = 1 بمعنى، أن نبدل كل حرف بالحرف الذي قبله بخانة واحدة. فالواو ستصبح هـاءً، وهكذا لباقي حروف رسالتك. من الواضح أن الرسالة بعد فك التشفير لا تحمل أي معنى وبالتالي x = 1 ليس الحل الصحيح. وهكذا ستستمر بتجربة قيم مختلفة لـ x. لكننا نعلم أن عدد حروف اللغة العربية 28 حرفاً، وبالتالي x يمكن أن تأخذ 28 قيمة فقط؛ أي أن بمقدور أي شخص خلال ساعتين أو ثلاثة، أن يجرب جميع القيم إلى أن يفك التشفير.

إنجما

لنرجع الآن لجهاز إنجما. إنجما: هو جهاز تشفير يستقبل رسالة ما ويُعطي في المقابل رسالة مشفرة. تماماً كالمثال السابق، إلا أنه أكثر تعقيداً. تشبه إنجما من حيث الشكل آلة كاتبة قديمة. يوجد هنا تقريباً شيء يشبه لوحة المفاتيح الذي تستخدمه لكتابة الرسالة.

لنقم بتشفير كلمة (Hello) باستخدام إنجما. قمنا باستخدام موقع اونلاين يحاكي كيفية عمل إنجما. الرابط موجود بالمصادر. هذه هي الرسالة المشفرة: I L B D A سنلاحظ هنا شيئين: الأول؛ أن عدد الحروف متساوٍ في كلتا الرسالتين؛ الرسالة الأصلية والمشفرة، وهو خمسة حروف. تستطيع طرق التشفير حالياً أن تشفر حرف لعدد متغير من الحروف. فمثلاً، تستطيع تشفير حرف H بعشرين حرف أو رقم وبالتالي سيصبح التشفير أعقد. الملاحظة الثانية، أن حرف ال L تم تشفيره لحرفين مختلفين. أول مرة B والثانية D. هذه كانت نقطة قوة في جهاز إنجما. ليتم توضيحها أكثر، لنرجع معاً لطريقة التشفير السهلة. ستلاحظ أن حرف الواو مثلاً يتم تشفيره دائماً لحرف الباء. وهذه نقطة ضعف بأي طريقة تشفير لأنه من الممكن ببضع من الأمثلة أن تفك الشيفرة.

لدى إنجما من الداخل ثلاثة تروس أو عجلات، كل ترس لديه القدرة أن يتحرك 26 حركة بشكل دائري. عندما تضغط على حرف لتشفيره، سيتحرك الترس الأول حركة واحدة. عندما يلف الترس الأول لفة كاملة (26 حركة)، سيتحرك الترس الثاني حركة واحدة. تخيلها كالساعة، تتحرك عقارب الثواني وعندما يكمل العقرب لفة كاملة - عبارة عن 60 ثانية - يتحرك عقرب الدقائق حركة واحدة. فالترس الأول في إنجما مكافئ لعقرب الثواني والترس الثاني لعقرب الدقائق والترس الثالث لعقرب الساعات. إذا ما تحرك أي ترس حركة، سيغير التوصيلات الكهربية من الداخل وبالتالي سيتغير تشفير الحرف.

عدد الطرق لضبط إنجما

لنحسب الآن عدد الطرق التي من الممكن أن نضبط عليها جهاز إنجما. لا تنسى أن مع كل طريقة من هذه الطرق يتغير التشفير. وبالتالي كلما زاد عدد الطرق كلما صعب عليك فك الشيفرة. في مثالنا البسيط أول الحلقة كان لدينا 28 طريقة فقط.

أولاً، يوجد لدينا ثلاثة تروس نريد وضعها في ثلاثة أماكن مختلفة. من الممكن وضع الترس الأول في أيٍ مكان من الأماكن الثلاثة، وبالتالي لدينا ثلاثة خيارات. بعدما نضع الترس الأول في مكانه، فالترس الثاني يمكننا وضعه بأي من المكانين الباقيين، وبالتالي لدينا خيارين. سيبقي للترس الثالث مكاناً واحداً. في المحصلة لدينا ستة خيارات مختلفة لترتيب التروس الثلاثة في أماكنها. تحدثنا أن كل ترس ممكن أن يأخذ 26 قيمة، حيث أنه لدينا ثلاثة تروس فعدد الطرق المختلفة للتروس الثلاثة سوف تكون: 26 * 26 * 26 ويساوي 17576 طريقة. فالعدد الكلي للطرق: 6 طرق لترتيب التروس في أماكنها ضرب 17576 طريقة لترتيب التروس بالقيم التي من الممكن أن تأخذها. الناتج يساوي 105456 طريقة مختلفة لإعداد إنجما، والذي يعتبر رقم كبير في ذلك الوقت.

Plugboard

لم يكتف الألمان بهذا الرقم بل أضافوا مكوناً جديداً لإنجما زاد عدد الطرق التي من الممكن أن تُضبط عليها من 105 ألف إلى رقم مهول بحيث لا يستطيع أحد أن يجرب هذا العدد من الطرق ليكتشف الطريقة التي استخدمت لإرسال الرسالة! Plugboard هو المكون الذي أضافه الألمان. فكرته ببساطة، أنك تقوم بتشبيك الحروف بأزواج، مثلاً تشبك ال w مع a. بمعني آخر، أن تقوم بتبديل الحرفين، فإذا تم الضغط على الحرف a تتم معاملته كأنه الحرف w ولو ضُغط w تتم معاملته كأنه a وهنا لديك الحرية الكاملة لاختيار أي حرفين من الـ26 حرف وتقوم بتشبيكها مع بعضها البعض. فمثلاً: تشبك x مع t وهكذا.

في جهاز إنجما، كان يتم تبديل ستة أزواج من الحروف. عدد طرق تشبيك ستة أزواج من الحروف من 26 حرف باللغة الإنجليزية هي تقريباً 100 مليار طريقة مختلفة. وبالتالي الرقم النهائي من الطرق لإعداد إنجما هو: 100 مليار ضرب ال 105 ألف. لكي يستطيع الطرف الآخر فك الرسالة التي وصلت إليه، يجب أن يكون لديه جهاز إنجما تماماً كالذي بحوزة مرسل الرسالة، كما ويجب أن يكون الجهازان علي الوضعية أو الطريقة نفسها، ( أي إحدى الطرق من الرقم الضخم الذي رأيناه منذ قليل).

كيفية معرفة الوضعية الصحيحة

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

مشكلة إنجما

كانت مشكلة إنجما أن الحرف لا يشفر لنفسه أبداً، مثلاً حرف a لا يشفر لحرف a أبداً وإنما لأي حرف آخر. وهذه كانت نقطة الضعف التي استغلها العالم الإنجليزي الآن تورينج ونجح بفك تشفير جهاز إنجما حيث قام ببناء الآلة الظاهرة أمامكم، والتي كانت قادرة على فك تشفير الرسالة خلال 20 دقيقة.