هناك حاجة إلى طريقةٍ آمنة لنقل مفاتيح التّشفير من حاسوب إلى آخر لِتسهيل عمليّة الاتّصال الآمن. أسرار التّشفير: المقال السّادس في السّلسلة

هذا هو المقال السّادس في سلسلة المقالات الّتي تتناول عالم التّشفير، وإن كان كلٌّ منها قائمًا بحدّ ذاته. المقالات السّابقة: شِفرة قيصر، تحليل التردّدات، شِفرة فيجينر، طريقة كاسيسكي، آلة إِنِجما.

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

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

זוהי הכתבה החמישית בסדרת כתבות העוסקות בצפנים, אך היא עומדת בזכות עצמה. הפרקים הקודמים: צופן קיסר, ניתוח תדירויות, צופן ויז'נר, שיטת קסיסקי, מכונת האניגמה. בכתבה הקודמת דיברנו על האניגמה, מכונת ההצפנה המתוחכמת שבה השתמשו הגרמנים במהלך מלחמת העולם השנייה. השימוש בה כלל הגדרת מצב התחלתי או מפתח (קונפיגורציה) שהמצפין והמפענח צריכים לדעת מראש כדי שיוכלו לתקשר זה עם זה. לצורך זה, מדי חודש הפיצו הצבא והצי הגרמני לכל היחידות בשטח ספר שכלל את כל הקונפיגורציות ההתחלתיות לאותו חודש – מבצע חלוקה אדיר. נדלג קדימה לשנות ה-70. התפתחות רשתות המחשבים המוקדמות, שמהן יתפתח בעתיד האינטרנט, יצרה בעיה משמעותית של אבטחת נתונים. המשתמשים, שהיו אז בעיקר ארגונים ממשלתיים כמו צבא ארצות ה ברית ומוסדות מחקר בעולם המערבי, ביקשו לשמור על פרטיותם ועל חשאיות הודעותיהם, אבל לא הייתה שום דרך מעשית להפיץ ספרי מפתחות חודשיים לכולם. חלוצי הקריפטוגרפיה הממוחשבת של השנים האלה התמקדו בדיוק בזה: בעיית הפצת מפתחות. שימו לב, (קצת) מתמטיקה שימושית לפניכם. ההתעמקות כדאית. 1452238226 https://www.shutterstock.com/image-photo/computer-network-security-system-blockchain-technology-1452238226 כיתוב: התפתחות רשתות המחשבים, לימים האינטרנט, חייבה יצירת שיטות לאבטחת נתונים. אבטחת מידע ברשת מחשבים | מקור: tadamichi, Shutterstock  בעיית הפצת המפתחות עד התקופה הזאת סברו שכדי לתקשר באופן מוצפן, שולח ההודעה והמקבל שלה חייבים לחלוק ביניהם סוד משותף. הסוד הזה יכול להיות ההיסט בצופן קיסר, מילת המפתח בצופן ויז'נר, הקונפיגורציה ההתחלתית של האניגמה וכן הלאה. אולם הבה נבחן את הניסוי המחשבתי הבא: אליס רוצה להעביר מכתב חסוי לבוב. היא מניחה את המכתב בארגז, נועלת אותו במנעול ששייך לה ושולחת לבוב את הארגז הנעול. אחרי שקיבל את הארגז, בוב נועל אותו במנעול משלו ושולח אותו בחזרה לאליס. כשאליס מקבלת את הארגז, היא מסירה את המנעול שלה ושולחת לבוב את הארגז פעם נוספת. כעת בוב יכול לפתוח את הארגז ולקרוא את המכתב ללא קושי, שכן רק המנעול שלו נשאר. זוהי דרך אחת לתקשר זה עם זה בלי לחלוק יחד שום סוד משותף. הראשונים שמצאו דרך פשוטה להצפין כך מידע שיהיה אפשר להעביר בערוץ פתוח ולא מאובטח היו מומחי ההצפנה ויטפילד דיפי (Diffie) ומרטין הלמן (Hellman). הם פתרו את זה ב-1976, בהשראת עבודה מוקדמת יותר של מדען המחשב רלף מרקל (Merkle), באמצעות חקירה של פונקציות מיוחדות שנקראות פונקציות חד-כיווניות. https://news.stanford.edu/press-releases/2016/03/01/pr-turing-hellman-diffie-030116/ כיתוב: מומחי ההצפנה מצאו דרך להצפין מידע כך שניתן להעבירו בערוץ פתוח. ויטפילד דיפי, מרטין הלמן, רלף מרקל (מימין לשמאל) ב-1977 | מקור: Chuck Painter, Stanford News Service  פונקציות חד-כיווניות  	 פונקציות חד-כיווניות הן פונקציות שקשה מאוד לשחזר את הקלט שלהן גם אם יודעים את הפלט, או בהקשר שלנו – כמעט בלתי אפשרי לשחזר את המידע המקורי מהקוד המוצפן. אפשר לחשוב על זה כך: נניח שיש לנו צבע אדום וצבע צהוב ואנחנו מערבבים אותם. מהערבוב נוצר צבע כתום. אם לאחר מכן נרצה להפריד בחזרה את הצבע החדש לצבעים המקוריים לא נוכל לעשות את זה. בפועל קשה מאוד להוכיח שפונקציה היא אכן חד-כיוונית, ורבות מהפונקציות המשמשות לקריפטוגרפיה הן כאלה שרק נחשבות חד-כיווניות כיוון שלא הוכח שהן אינן כאלה. דיפי והלמן נברו בעוד ועוד פונקציות חד-כיווניות אפשריות, עד שמצאו מועמדת הולמת: פונקציה שמבצעת כמה פעולות שאחת מהן היא פעולת המודולו, המוגדרת כך:  (a)mod(b)=c המספר c הוא שארית החלוקה של a ב-b. למשל, נוכל לשאול מהי השארית של 5 בחלוקה ב-2. מתמטית השאלה ותשובתה מנוסחות כך: 5mod2=1. הלמן מצא שיטה שבה אליס ובוב יוכלו להסכים על מפתח בלי לחשוף אותו. השיטה של הלמן משתמשת בפונקציה f(x)=Yxmodp ומסתמכת על בעיית דיפי-הלמן, שלא נתעמק בה כאן.  *בבחירת המספרים הראשוניים Y, p יש לעמוד בכמה תנאים שלא נפרט כאן. ואכן, הביטוי הזהה שקיבלנו בשלב האחרון הוא המפתח. כעת אפשר להשתמש במפתח על מנת להצפין את ההודעה. אתגר
استلزم تطوير شبكات الحاسوب والانترنت فيما بعد، إنشاء طرق لتأمين البيانات. تأمين المعلومات في شبكة الحواسيب | مصدر: tadamichi, Shutterstock
 

مشكلة توزيع المفاتيح

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

  1. تريد فاطمة إرسال مكتوب سريّ إلى أخيها فادي. ستضعه في صندوق، وتُغلقه بقفلٍ خاصّ ثمّ ترسل الصّندوق المقفل إلى فادي.

  2. بعد استلام الصّندوق، يقوم فادي بإغلاقه مجدّدًا بقفلٍ آخر ويُعيده مرّةً أخرى إلى فاطمة.

  3. عند استلام فاطمة للصّندوق، تُزيل القفل الّذي وضعته، وترسله مرّة أخرى إلى فادي. 

  4. يستطيع فادي الآن إزالة قفله المتبقّي، ثمّ فتح الصّندوق وقراءة المكتوب السرّي دون صعوبة. 

هذه إحدى الطّرق للتّواصل مع بعضنا البعض دون مشاركة أيّ سرّ مشتركٍ. كان أوّل من وجد طريقة بسيطة من أجل تشفير معلومات كهذه وإرسالها في قناةٍ مفتوحة غير محميّة خبيرَي التّشفير ويتفيلد ديفي (Diffie) ومارتن هيلمان (Hellman). فقد طوّرا ذلك في سنة 1976م، بإلهامٍ من عملٍ سابق لعالِم الحاسوب رالف ميركل (Merkle)، من خلال بحث في معادلات خاصّة تسمّى دوالّ وحيدة الاتّجاه. 

ויטפילד דיפי, מרטין הלמן, רלף מרקל (מימין לשמאל) ב-1977 | מקור: Chuck Painter, Stanford News Service
وجد خبراء التّشفير طريقة لتشفير المعلومات بحيث يمكن نقلها عبر قناة مفتوحة. ويتفيلد ديفي، مارتن هيلمان، ورالف ميركل (من اليمين إلى اليسار) في سنة 1977م | مصدر: Chuck Painter, Stanford News Service 
 

معادلات أحاديّة الاتّجاه

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

فتّش ديفي وهيلمان على العديد من المعادلات أحاديّة الاتّجاه الممكنة، حتّى وجدا مرشّحة مناسبة: معادلة تقوم بعدّة عمليّات، إحداها هي معادلة المودولو المعرّفة كالتالي:

(a)mod(b)=c

العدد c عبارة عن باقي قسمة a على b. على سبيل المثال: يمكننا أن نسأل ما هو باقي العدد 5 عند قسمته على 2. رياضيًّا، تمّت صياغة السّؤال وجوابه على النّحو التالي:

5mod2=1

وجد هيلمان طريقةً يمكن من خلالها أن تتّفق فاطمة وأخوها فادي على مفتاح دون الكشف عنه. تستخدم طريقة هيلمان المعادلة f(x)=Yxmodp وتعتمد على خوارزميّة ديفي- هيلمان، الّتي لن نتعمّق فيها هنا. 
 * يجب استيفاء عدّة شروط لن نفصّلها هنا عند اختيار الأعداد الأوليّة Y, p.

 

لذلك، فإنّ العبارة المتشابهة الّتي حصلنا عليها في المرحلة الأخيرة هي المفتاح. ونستطيع الآن استخدام المفتاح من أجل تشفير الرّسالة. 

تحدٍّ:

 

0 تعليقات