المعلوماتية > عام
كيف يمكن للهندسة العكسية أن تنقذ أرواحاً، والاختراق الذي أنهى الحرب العالمية!
ما ستقرؤه الآن هو قصة ملحمية رائعة تُظهر كيف لعلماء الحاسوب والرياضيات أن ينقذوا الأرواح، وكيف استطاع عالِم الحاسوب والرياضيات البريطاني «ألان تورنغ» عن طريق آلته المسماة باسمه «آلة تورنغ» أن يكسرَ شيفرات الجيش الألماني «غير القابلة للكسر».
الحرب لا زالت مشتعلة، والفيالق العسكرية تشق طرقها إلى أوروبا والعالم، متلقية تعليماتها من القيادات العسكرية لكل من دول الحلفاء و المحور.
بالطبع لم تكن التعليمات تُنقل عبر هواتف تعمل بأنظمة IOS أو آندرويد، لم يكن هتلر يرسل التعليمات لجنوده عبر WhatsApp، بالطبع لم يكن السبب أنها لشركات أمريكية...
حتى لو كانت هذه التقنيات موجودة، طبعاً لم تكن الدول لتستخدمها لضعف الأمان المستخدَم في تشفير الرسائل المرسلة بواسطتها، وبذلك يمكن لأيٍّ كان في حال حصوله على الرسالة أن يقوم بفك تشفيرها والاطلاع على معلومات قد تكون غاية في السرية.
لهذا السبب، استخدمت ألمانيا آلة تشفير تُسمّى إنيغما "Enigma"، وهي آلة تشفير شديدة القوة مكّنت الألمان من التواصل مع جنودهم بمنتهى السرية، كما تقوم بعملية فكّ التشفير عند إدخال الرسالة المشفرة إليها مجدداً!
أين اللغز في ذلك؟
قبل أن نتحدث عن لغز آلة الإنيغما، سنتحدث عن فنِّ التشفير. التشفير ببساطة أن تقومَ بمعالجة الرسالة المطلوب إرسالها عن طريق تابع أو علاقة تقوم بتحويل كل محرف إلى محرف آخر، ما يجعل عملية قراءة الرسالة أصعب لمن لا يملك مفتاح التشفير (التابع أو العلاقة الرياضية المعاكسة التي ترجع كل محرف إلى أصله).
مثلاً يمكن اعتبار F(t) = t + 1 تابع تشفير يحول HELLO إلى IFMMP، ربما لاحظت أن الكلمة الثانية أصعب للفهم من الأولى، و يكون المفتاح K(t) = t – 1 لتعود إلى الرسالة الأصلية.
في حال عدم معرفتك لمفتاح التشفير، ستحتاج إلى التجربة لمعرفة الرسالة الأصلية، ما يجعل عملية كسر التشفير مرهونة بالوقت فقط، أي أن كل تشفير يمكنُ كسره إن امتلكت الوقت الكافي لذلك، ويكون التحدي أكبر كلما امتلكت وقتاً أقلّ وكانت عملية التشفير أكثر تعقيداً.
كما نلاحظ في عملية التشفير السابقة، كلّ حرف L يصبح M، وبذلك فإن كل العودة دائماً من M تكون إلى L. الإنيغما كانت تحوّل الحروف عن طريق علاقة غير تابعية (كل قيمة يمكن أن تتحول إلى مجموعة من القيم)، وبذلك فإن M يمكن أن تصبح N أو Y أو H أو أي حرف آخر، أي أن M في الرسالة المشفرة يمكن أن تكون X أو K أو غيرها. ما يزيد الطين بلّة أنه كل مرة تدخل الرسالة التي ترغب بتشفيرها ستخرج لك رسالة مشفّرة جديدة، مما يجعل عملية العودة للرسالة الأصلية صعب للغاية.
كيف تعمل الأنيغما؟
الأنيغما لم تكن آلة مجهزة بمعالجات عالية التعقيد، بل إنها لم تكن آلة إلكترونية حتى، كانت عبارة عن آلة كاتبة عادية ولوحة حروف مضيئة في الأعلى، أي أن كل ما فيها من كهربائيات هو مصابيح تُستخدم لتضيء مكان الحرف المطلوب (لرسالة الشيفرة أو للرسالة الأصلية) وأسلاك كهربائية بالإضافة إلى ثلاثة تروس مرقّمة كل ترس يحتوي شبكة توصيلات ترتبط بالتوصيلات الداخلية للإنيغما. و لفك التشفير، عليك أن تُدخل الأرقام التي كانت على التروس عند تشفير الحرف الأول من الرسالة.
عظيم! هذا يعني أن كل من يملك أنيغما يمكنه حل التشفير! هل كان الحلفاء بهذا الغباء حقاً؟
في الواقع كلا، الإنيغما لم تكن المشكلة، فالحلفاء استطاعوا الحصول على عدد من هذه الأجهزة أثناء الحرب، لكن المعضلة الحقيقية كانت في الإعداداتِ الخاصة بها، فالتروس موجودة ضمن صندوق مكوّن من خمسة تروس (كل ترس يملك توصيلات داخلية مختلفة عن الآخر، أي خمسة أنماط من التروس)، وعليك اختيار ثلاثة تروس من أصل خمسة (احتمال من عشرة)، ثم وضعها بالترتيب الصحيح (احتمال من ستة)، ثم وضع كل ترس على الرقم الصحيح (رقم من أصل 26 )، وإن كنت تعتقد أن الأمور سيئة حقاً فانتظر حتى تسمع بالإنيغما الخاصة بالاستخدام العسكري التي كانت تمتلك ميزة إضافية (Plug board)، وهي عبارة عن لوحة توصيلات مكوّنة من عشر أزواج في الوجه الأمامي للإنيغما، يقومُ كل زوج بوصل كل حرفين معاً للتبديل بينهما أثناء التشفير (إذا وصلت A و Z فإن الإنيغما ستقوم بتحويل A إلى Z في كل تشفير أو فك تشفير)، و يتبقى ستة حروف غير موصولة (و تكون احتمالات الأزواج حوالي 159 * 10^12 زوجاً).
كل هذه الإعدادات كانت تتغير عند نهاية كل يوم (منتصف الليل)، و تصل الرسالة الأولى في السادسة صباحاً تقريباً، ما يعني أن لديك مدة أقل من 18 ساعة فقط لكسر هذه الشيفرة المستحيلة.
أما عن أرقام التروس، فكانت تصل في بداية الرسالة بشيفرة مختلفة يتوجب كسرها أيضاً. أضف إلى ذلك أن الرسالة الأصلية مكتوبة بالألمانية!
آلية العمل الداخلية للإنيغما بسيطة، تضغط على الحرف فتنتقل الإشارة من الزر إلى الوصلة المقابلة له في زوج التوصيلات، ثم الترس الأول، ثم الثاني فالثالث، ثم ترتد لتعود من الترس الثالث إلى الثاني إلى الأول إلى الزوج الموصل، و يضيء المصباح المقابل للحرف المشفر.
لكن، كيف كان الألمان يعرفون ما هي الإعدادات؟
ببساطة، كانت هذه الإعدادات تطبع على أوراق شهرية و توزع لفرق التشفير، أي أنه حتى لو سقطت الورقة في أيدي العدو فسيتمكنون من الفهم لمدة أقصاها شهر واحد أو ربما يغير الألمان الجدول عند سقوطه بيد العدو. ما يزيد الوضع سوءاً أن الأوراق كانت تُكتب بحبر قابل للمحي في الماء، أي أن إسقاط الورقة في الماء عند غرق السفينة أو أن يقوم جندي ألماني بصب كأس من الماء عليها قبل استسلامه يعني ضياع الفرصة الوحيدة للاختراق.
ما الذي بمكنُ فعله لاختراق هذه المعجزة؟
التجربة، عليك أن تجرب كل الإمكانيات المتاحة، أن تختار التروس من الصندوق وترتيب التروس ورقم كل ترس والأزواج الممكنة لكل حرف (ممكن أن يتصل بأي حرف أو يمكن أن يكون غير متصل على الإطلاق). في حال احتجت لثانية واحدة لتجربة كل إمكانية فإنك بحاجة لحوالي 5 * 10 ^ 12 سنة، مع الأخذ بعين الاعتبار أن الإعدادات تتغير بشكل يومي.
ما هي الثغرة ؟
ببساطة، كانت الثغرة أنه نتيجة للتوصيلات الداخلية للإنيغما فإن الحرف المشفّر لا يمكن أن يطابق الحرف الأصلي، وبوجود كلمتين فقط (heil hitler) كختام لكل رسالة. وامتلاك رسالة النشرة الجوية التي تصدر كأول رسالة (الساعة السادسة) كلمة Wetterbericht (النشرة الجوية).
بالتجربة كلّ حالة، يمكن التوقف عند الحاجة لتوصيل الحرف الواحد مع حرفين مختلفين (بما أن الوصلات مكونة من أزواج، فلا يمكن وصل الحرف الواحد إلا بحرف واحد أو عدم وصله على الإطلاق). كما أن اكتشاف خطأ بطريقة توصيل يلغي جميع طرق التوصيل الفرعية التابعة لها (إذا افترضت وصل A مع H، ووصل M مع N، ثم احتجت وصل N مع H، فإن الوصلات الثلاث لا يمكن أن تكون صحيحة)، كما أن عبقرية تورنغ أن جعل الآلة للمرة الأولى تقوم بالتجربة بدلاً من المجهود البشري. ثغرة كهذه قلصت الزمن اللازم للتجربة إلى حوالي 20 دقيقة بدلاً من السنوات الطويلة المطلوبة لحلِّ معضلة الإنيغما.
ثغرة الأنيغما بقيت سرية للغاية كي لا يقوم الألمان بتغيير طرق التواصل فيما بينهم، فظهرت الحاجة إلى تقديم تضحيات كبيرة لإبقاء الاعتقاد أن شيفرة الأنيغما كانت سرية، و بالرغم من هذه التضحيات، يقدر علماء التأريخ أن كسر شيفرة الأنيغما قلّص مدة الحرب لعامين على الأقل، منقذاً حياة أكثر من 14 مليون نسمة، كما أن الأبحاث التي أُجريت لاحقاً على الآلة التي استخدمها تورنغ لكسر الشيفرة أدت للوصول إلى ما يعرف بآلة تورنغ التي كانت نواةً لأبحاث لاحقة أدت في نهاية المطاف للوصول إلى ما نطلق عليه اليوم تسمية الحواسيب.
لم يتم الكشف عن كسر تشفير الإنيغما حتى السبعينات من القرن العشرين في حال اندلاع صراع جديد (من منطلق امتلاك كسر شيفرة يعتقد الجميع أنها غير قابلة للكسر).
باسمي و باسم JMXQOENYKCKLQXSFU، يسرني أن أقول لك:
TPGNRNHVLAZHVXMOTYSBVHTMXKYFQLTESSFPQLDONFICVNKPIGCQYQZVMJPQ
المراجع:
كتاب Enigma : The battle for the Code لمؤلفه Hugh Sebag-Montefiore
للمزيد كتاب Alan Turing: The Enigma
الموقع المستخدَم لتشفير الجملة الموجودة في نهاية المقال (يمكن استخدامه لفك التشفير):