هناك حاجة إلى طريقةٍ آمنة لنقل مفاتيح التّشفير من حاسوب إلى آخر لِتسهيل عمليّة الاتّصال الآمن. أسرار التّشفير: المقال السّادس في السّلسلة
هذا هو المقال السّادس في سلسلة المقالات الّتي تتناول عالم التّشفير، وإن كان كلٌّ منها قائمًا بحدّ ذاته. المقالات السّابقة: شِفرة قيصر، تحليل التردّدات، شِفرة فيجينر، طريقة كاسيسكي، آلة إِنِجما.
تحدّثنا في المقال السّابق عن آلة إِنِجما، وهي آلة التّشفير الّتي استخدمها الألمان في الحرب العالميّة الثّانية. يتضمّن استخدامُها تحديدَ الحالة الأوليّة أو المفتاح (التشكيلة) الّتي يجب على كلٍّ من المشفّر ومُفكّك الشِّفرة معرفتها مسبقًا؛ كي يتمكّنا من التّواصل فيما بينهما. من أجل إتمام ذلك الأمر؛ وزّع الجيش والبحريّة الألمانيّة كلّ شهر على جميع الوحدات الميدانيّة كتابًا تضمّنَ جميع الإعدادات الأوليّة لذلك الشّهر- وهي عمليّة توزيع هائلة.
لنتقدّم مع الزّمن إلى سنوات السّبعين. أدّى تطوّرُ شبكات الحاسوب المبكّرة، الّتي ستتطوّر من خلالها شبكة الإنترنت المستقبليّة، إلى مشكلة كبيرة في تأمين البيانات. أراد المستخدمون، الّذين كانوا بالأساس تابعين إلى منظمّات حكوميّة مثل جيش الولايات المتّحدة الأمريكيّة ومؤسّسات بحثيّة في العالم الغربيّ، الحفاظ على خصوصيّتهم وسريّة رسائلهم، ولم تكن هناك أيّة طريقة عمليّة لتوزيع كتب تحمل المفاتيح الشهريّة للجميع. ركّز روّاد عِلم التّشفير المُحَوْسَب في تلك السّنوات على مشكلة توزيع المفاتيح. انتَبِهوا، ستواجهون القليل من الرياضيّات التطبيقيّة، الّتي تستحقّ منّا التعمّق فيها.
استلزم تطوير شبكات الحاسوب والانترنت فيما بعد، إنشاء طرق لتأمين البيانات. تأمين المعلومات في شبكة الحواسيب | مصدر: tadamichi, Shutterstock
مشكلة توزيع المفاتيح
كان يُعتقَد حتّى ذلك الوقت أنّه من أجل التّواصل بطريقةٍ مشفّرة، فإنّه يجب على مُرسِل الرّسالة ومُتلقّيها أن يكون بينهما سرٌّ مشترك. يمكن أن يكون هذا السّر هو الإزاحة في شِفرة قيصر، الكلمة الدّالة في شِفرة فيجينر، أو التشكيلة الأوليّة للإنِجما وما إلى ذلك. لكن لنفحص التّجربة الفكريّة التّالية:
-
تريد فاطمة إرسال مكتوب سريّ إلى أخيها فادي. ستضعه في صندوق، وتُغلقه بقفلٍ خاصّ ثمّ ترسل الصّندوق المقفل إلى فادي.
-
بعد استلام الصّندوق، يقوم فادي بإغلاقه مجدّدًا بقفلٍ آخر ويُعيده مرّةً أخرى إلى فاطمة.
-
عند استلام فاطمة للصّندوق، تُزيل القفل الّذي وضعته، وترسله مرّة أخرى إلى فادي.
-
يستطيع فادي الآن إزالة قفله المتبقّي، ثمّ فتح الصّندوق وقراءة المكتوب السرّي دون صعوبة.
هذه إحدى الطّرق للتّواصل مع بعضنا البعض دون مشاركة أيّ سرّ مشتركٍ. كان أوّل من وجد طريقة بسيطة من أجل تشفير معلومات كهذه وإرسالها في قناةٍ مفتوحة غير محميّة خبيرَي التّشفير ويتفيلد ديفي (Diffie) ومارتن هيلمان (Hellman). فقد طوّرا ذلك في سنة 1976م، بإلهامٍ من عملٍ سابق لعالِم الحاسوب رالف ميركل (Merkle)، من خلال بحث في معادلات خاصّة تسمّى دوالّ وحيدة الاتّجاه.
وجد خبراء التّشفير طريقة لتشفير المعلومات بحيث يمكن نقلها عبر قناة مفتوحة. ويتفيلد ديفي، مارتن هيلمان، ورالف ميركل (من اليمين إلى اليسار) في سنة 1977م | مصدر: Chuck Painter, Stanford News Service
معادلات أحاديّة الاتّجاه
المعادلات أحاديّة الاتّجاه معادلاتٌ من الصّعب استرجاع مُدْخلاتها حتّى لو عرفنا مُخرجاتِها، أو في سياق هذا المقال- يكاد يكون من المستحيل استرجاع المعلومات الأصليّة من رمز الشّفرة. يمكن التّفكير في هذا الأمر على النّحو التالي: لنفترض أنّ لدينا لونًا أحمر ولونًا أصفر وقمنا بخلطهما. سيتشكّل لونٌ برتقاليّ من عمليّة الخلط. إذا أردنا لاحقًا فصل اللّون الجديد مرّةً أخرى إلى الألوان الأصليّة، فلن نتمكّن من ذلك. عمليًّا، من الصّعب جدًّا إثبات أنّ المعادلة هي بالفعل أحاديّة الاتّجاه، كما أنّ العديد من المعادلات المستخدمة في علم التّشفير تُعتبر أحاديّة الاتّجاه فقط لأنّه لم يتمّ إثبات أنّها ليست كذلك.
فتّش ديفي وهيلمان على العديد من المعادلات أحاديّة الاتّجاه الممكنة، حتّى وجدا مرشّحة مناسبة: معادلة تقوم بعدّة عمليّات، إحداها هي معادلة المودولو المعرّفة كالتالي:
(a)mod(b)=c
العدد c عبارة عن باقي قسمة a على b. على سبيل المثال: يمكننا أن نسأل ما هو باقي العدد 5 عند قسمته على 2. رياضيًّا، تمّت صياغة السّؤال وجوابه على النّحو التالي:
5mod2=1
وجد هيلمان طريقةً يمكن من خلالها أن تتّفق فاطمة وأخوها فادي على مفتاح دون الكشف عنه. تستخدم طريقة هيلمان المعادلة f(x)=Yxmodp وتعتمد على خوارزميّة ديفي- هيلمان، الّتي لن نتعمّق فيها هنا.
* يجب استيفاء عدّة شروط لن نفصّلها هنا عند اختيار الأعداد الأوليّة Y, p.
لذلك، فإنّ العبارة المتشابهة الّتي حصلنا عليها في المرحلة الأخيرة هي المفتاح. ونستطيع الآن استخدام المفتاح من أجل تشفير الرّسالة.
تحدٍّ: