الفصل الثالث

الخوارزميات التاريخية: أمثلة بسيطة

(١) مقدمة

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

تعتبر أمثلة الخوارزميات هذه قديمة ولا تعبر في واقع الأمر عن أيٍّ مِن أساليب التشفير الحديثة. ومع ذلك من الأهمية بمكان دراسةُ عدد من الأنظمة البدائية كان يجري التشفير فيها من خلال استبدال الأحرف بعضها ببعض، فيما يُطلق عليه استبدال الأحرف، و/أو تغيير ترتيب الأحرف. يوجد عدد من الأسباب وراء ذكر مثل هذه الأمثلة؛ أوَّلها: تمكِّننا هذه الأنظمة من ضرب أمثلة بسيطة وسهلة الاستيعاب تبين المفاهيم الأساسية، كما تمكِّننا من بيان عدد من نقاط الضعف في الشفرات. كما يوجد سبب آخر يتمثَّل في كونها أمثلةً تقدِّم متعة بالغة في حلها، وبما أنها لا تتضمن في الأغلب الكثيرَ من العمليات الرياضية، يستطيع «الهواة» ممن لم يتلقَّوا تدريبًا علميًّا الاستمتاع بها.

(٢) شفرة قيصر

كانت «شفرة قيصر»، التي ذكرها يوليوس قيصر في كتابه «الحروب الغاليَّة»، من أوائل الأمثلة على استخدام الشفرات. وفق هذه الشفرة، يجري تشفير الأحرف من A إلى W من خلال تمثيل كلٍّ مِنها بالحرف الثالث بعده في ترتيب الأبجدية. بينما يجري تمثيل الأحرف X، وY، وZ بالأحرف A، وB، وC على الترتيب. وعلى الرغم من استخدام قيصر «عملية إزاحة» تتألف من ثلاثة أحرف، كان يمكن تصميم شفرة مشابهة من خلال استخدام أي عدد من 1 إلى 25. في واقع الأمر، يُنظَر إلى أي عملية إزاحة في نظام التشفير بوصفها مثالًا لشفرة قيصر.
مرة أخرى نستخدم رسمًا توضيحيًّا لبيان إحدى شفرات قيصر؛ يمثِّل الشكل الموضح حلقتين تتمحوران حول مركز واحد؛ حيث تمتلك الحلقة الخارجية منهما حرية الدوران. إذا بدأنا بالحرف A في الحلقة الخارجية حول حرف A في الحلقة الداخلية، فإن الإزاحة بمقدار 2 ستؤدي إلى وجود حرف C قبالة الحرف A وهكذا. هناك، إذن، 26 وضع ضبط بما في ذلك إزاحة مقدارها صفر (التي هي بطبيعة الحال نفس الإزاحة التي مقدارها 26). ويحدد عدد حركات الإزاحة مفتاح التشفير ومفتاح فك التشفير في شفرة قيصر.
بمجرد الموافقة على عدد حركات الإزاحة، تتحقق عملية التشفير في شفرة قيصر من خلال النظر إلى كل حرف من حروف النص الأصلي على أنه بمنزلة حلقة داخلية والاستعاضة عنه بالحرف الذي يقع قبالته في الشكل الموضح. وفي عملية فك التشفير، نُجري العملية العكسية. من هنا، وفق الشكل المبين، يتمثل النص المشفر لرسالة النص الأصلي DOG في GRJ عند الإزاحة بمقدار 3 حركات، بينما يكون CAT هو النصَّ الأصلي المكافئ للنص المشفر FDW. من أجل منح القارئ مزيدًا من الثقة في فهم نظام شفرة قيصر نطرح أربع عبارات للتأكد. إذا كان عدد حركات الإزاحة 7، فسيكون نص التشفير المناظر للنص الأصلي VERY هو CLYF، بينما يكون النص الأصلي SUN، عند الإزاحة 17 حركة، هو النصَّ المناظر للنص المشفَّر JLE.
figure
«ماكينة» تنفِّذ شفرة قيصر.
في عرضنا لشفرة قيصر، يكون كلٌّ من مفتاح التشفير ومفتاح فك التشفير مساويًا لعدد حركات الإزاحة بينما تختلف قواعد التشفير وفك التشفير. ومع ذلك كان بإمكاننا تغيير الصياغة قليلًا بحيث تتطابق القاعدتان بينما تختلفان في مفاتيح التشفير وفك التشفير. نرى ذلك مثلًا عند الإزاحة بمقدار صفر أو 26 حيث يتحقق الأثر نفسه، وعند الإزاحة بعدد حركات يتراوح بين صفر و25 يكون التشفير مع هذا العدد من حركات الإزاحة مكافئًا لفك التشفير مع عدد حركات الإزاحة الجديد الذي يجري الحصول عليه من خلال طرح عدد حركات الإزاحة الأصلي من 26. لذا — على سبيل المثال — يكون التشفير عند الإزاحة بمقدار 8 حركات مكافئًا لفك التشفير عند الإزاحة بعدد حركات   . يمكِّننا ذلك من استخدام القاعدة نفسها في عمليتَيِ التشفير وفك التشفير من خلال إجراء عملية فك تشفير بالإزاحة 18 حركة تكافئ التشفير بالإزاحة 8 حركات.
ذكرنا سابقًا عمليات البحث الشاملة المرهقة عن المفاتيح، ومن البديهي أنه بما أن هناك 26 حرفًا فقط لا غير، يعتبر نظام شفرة قيصر عرضة لمثل هذا النمط من الهجمات. قبل أن نضرب مثلًا على كيفية تحقيق ذلك، يجب الإشارة إلى أحد مواطن الضعف الأخرى لهذا النظام: يمكن تحديد المفتاح من خلال معرفة زوج واحد من حروف النص الأصلي والنص المشفر المقابل له، وهو ما يُعد قدرًا ضئيلًا للغاية من المعلومات.
أسهل طريقة لتوضيح عملية البحث الشاملة عن المفتاح هي عرض مثال كامل وسهل — بما أنه يوجد 26 مفتاحًا فقط — لنظام شفرة قيصر. لنفترض أننا نعرف أن نظام شفرة قيصر يجري استخدامه، وأننا نتوقع رسالة باللغة الإنجليزية، وأننا نجحنا في اعتراض النص المشفَّر XMZVH. إذا كان المرسل أجرى 25 حركة إزاحة لتنفيذ عملية التشفير فستُجرى عملية فك التشفير إذن من خلال إجراء حركة إزاحة واحدة؛ بحيث يكون YNAWI هو نص للرسالة. وبما أن تلك الرسالة لا معنَى لها في اللغة الإنجليزية، يمكننا أن نستبعد باطمئنانٍ العدد 25 كقيمة لعدد حركات الإزاحة. يبيِّن جدول ٣-١ نتيجة محاولات الانتقال بصورة منهجية بعدد حركات إزاحة من 25 إلى 1 بترتيب تنازلي.
جدول ٣-١: مثال على عملية بحث شامل عن المفتاح: نص مشفَّر XMZVH.
مفتاح التشفير «الرسالة» المفترضة مفتاح التشفير «الرسالة» المفترضة مفتاح التشفير «الرسالة» المفترضة
0 X M Z V H 17 G V I E Q 8 P E R N Z
25 Y N A W I 16 H W J F R 7 Q F S O A
24 Z O B X J 15 I X K G S 6 R G T P B
23 A P C Y K 14 J Y L H T 5 S H U Q C
22 B Q D Z L 13 K Z M I U 4 T I V R D
21 C R E A M 12 L A N J V 3 U J W S E
20 D S F B N 11 M B O K W 2 V K X T F
19 E T G C O 10 N C P L X 1 W L Y U G
18 F U H D P 9 O D Q M Y
لا توجد كلمة إنجليزية واحدة في جدول ٣-١ ذات معنًى سوى كلمة CREAM؛ ومن ثَمَّ، يمكن أن نستنبط من ذلك أن مفتاح التشفير هو 21، وهو ما يمكننا من فك شفرة جميع الرسائل المستقبلية إلى حين تغيير المفتاح. وعلى الرغم من النجاح الكامل لعملية البحث الشاملة هذه عن المفتاح، من الأهمية بمكان إدراك أنه في حالة الشفرات الأكثر تعقيدًا قد لا يمكن تحديد المفتاح على وجه الدقة من خلال عملية بحث شاملة واحدة فقط؛ كل ما هنالك أنه، على الأرجح، سيَحِد من عدد الاحتمالات من خلال استبعاد الاحتمالات غير الواردة تمامًا. مثال على ذلك، وبالعودة إلى شفرة قيصر، نلاحظ أن إجراء عملية بحث شاملة عن مفتاح التشفير للنص المشفَّر HSPPW يؤدي إلى احتمالين تتولد عنهما كلمتان إنجليزيتان ذواتا معنًى للرسالة المفترضة. (يتمثل الاحتمالان في احتمال حركات إزاحة عددها 4، تكشف عن كلمة DOLLS، واحتمال حركات إزاحة عددها 11، تكشف عن كلمة WHEEL.)
عندما يحدث ذلك نحتاج إلى توفُّر المزيد من المعلومات، ربما سياق الرسالة المفترضة أو المزيد من نص التشفير، قبل أن نتمكن من تحديد المفتاح على وجه الدقة. وعلى الرغم من ذلك، تشير نتيجة البحث الشاملة عن المفتاح أننا قللنا من عدد احتمالات المفاتيح كثيرًا، وأننا إذا اعترضنا المزيد من النص المشفَّر، فلن نحتاج إلى إجراء عملية بحث شاملة أخرى. في حقيقة الأمر، في حالة هذا المثال البسيط، لن نحتاج إلا لتجريب قيمتين فقط لعدد حركات الإزاحة؛ وهما 4 و11.
ثمة ملاحظة أخرى مثيرة للاهتمام في هذا المثال. فخلال حله، سيكتشف القارئ كلمتين إنجليزيتين تتألفان من خمسة أحرف؛ بحيث يجري الحصول على واحدة من خلال الأخرى باستخدام شفرة قيصر عن طريق إجراء عدد 7 حركات إزاحة. ربما ترغب في أن تمضي في إجراء ذلك وأن تحاول العثور على أزواج من كلمات أطول، بل وربما عبارات ذات معنًى، تكون كلٌّ منها ناتجة عن حركات إزاحة للأخرى.

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

يمكن استخدام مصطلحات رياضية لتحل محل عجلة قيصر لوصف شفرة قيصر. سنذكرها هنا، لكن لا ضرر في أن يتخطى هذا الجزء مَن لا يألف استخدام المصطلحات الرياضية وينتقل إلى الجزء التالي.

عندما بدأنا الحديث عن شفرة قيصر ذكرنا أن إجراء 26 حركة إزاحة يساوي إجراء صفر حركة إزاحة؛ وذلك لأن إجراء 26 حركة إزاحة هو بمنزلة دورة كاملة لعجلة قيصر. بالمثل، يمكن تطبيق هذا المنطق لبيان أن إجراء أي عدد من الحركات يكافئ حركة إزاحة بين قيمتَيْ صفر و25. على سبيل المثال، تتأتى 37 حركة إزاحة من خلال إجراء دورة كاملة لعجلة قيصر ثم الإزاحة 11 حركة. بعبارة أخرى، بدلًا من القول بأن 37 حركة إزاحة تكافئ 11 حركة إزاحة، نكتب 37 = 11 (مقياس 26).
يُعرف هذا باسم استخدام «المقياس الحسابي 26»؛ حيث الرقم 26 هو «المقياس». يلعب المقياس الحسابي، بالنسبة لكثير من المقاييس الأخرى فضلًا عن المقياس 26، دورًا جوهريًّا في عدة مجالات في التشفير. بناءً عليه، نذيِّل هذا الفصل بملحق لتعريف القارئ بالمفاهيم والنتائج ذات الصلة في هذا الفرع من نظرية الأعداد الأساسية.
يُشار في بعض الأحيان إلى شفرات قيصر بأنها «شفرات جمعية». حتى نعرف سبب ذلك، سنخصص قيم أعداد صحيحة للأحرف على النحو التالي:
يتحقق التشفير باستخدام شفرة قيصر إذن مع الانتقال بعدد حركات إزاحة من خلال الاستعاضة عن الرقم (مقياس 26). من هنا على سبيل المثال، بما أن N هو الحرف الرابع عشر من حروف الأبجدية، إذن . إذا أردنا تشفير N بإجراء 15 حركة إزاحة، نحصل على و ؛ وهو ما يعني أن النسخة المشفَّرة من N هي (مقياس 26). وهكذا، شُفِّرت N إلى C.

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

هب أننا نحاول تشفير الرسائل عن طريق ضرب قيم أحرف الرسالة في 2 واستخدام المقياس 26؛ عند إجراء ذلك، يشفَّر كلٌّ مِن A وN إلى A، بينما يشفَّر كلٌّ مِن B وO إلى C وهكذا. يتبين من ذلك أن الأحرف التي تمثِّلها أعداد زوجية فقط تظهر في أي نص مشفَّر، وأن أي حرف في هذا النص المشفَّر قد يمثِّل حرفًا واحدًا فقط من حرفين، وهو ما يجعل عملية فك التشفير مستحيلة عمليًّا؛ ومن ثَمَّ لا يمكن الضرب في 2 لإجراء عملية التشفير. يوجد مثال آخر أكثر إثارة وذلك بمحاولة الضرب في 13. في هذه الحالة، سيجري تشفير نصف عدد الأحرف الهجائية إلى A، فيما يجري تشفير النصف الآخر إلى N. حقيقةً، لا يمكن استخدام سوى أعداد 1، 3، 5، 7، 9، 11، 15، 17، 19، 21، 23، 25 عند الضرب لإجراء عملية التشفير.

(٣) شفرات الاستبدال البسيط

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

في حالة شفرات الاستبدال البسيط نكتب الأحرف الأبجدية عشوائيًّا تحت أحرف الهجاء تمامًا كما هي مرتبة أبجديًّا، مثلما هو موضح هنا:

M L K J I H G F E D C B A
F O V K Y S Z B T M Q I D
Z Y X W V U T S R Q P O N
G N C L H X P W U A J R E
تتساوى مفاتيح التشفير وفك التشفير؛ إذ تتمثل في ترتيب الأحرف المكتوبة بخط عريض. تتمثل قاعدة التشفير في «تبديل كل حرف بالحرف الذي يقع تحته» فيما تتمثل قاعدة فك التشفير في تنفيذ الإجراء نفسه على نحو معاكس. من هنا — على سبيل المثال — يتم تمثيل كلمة GET بالأحرف ZTP في النص المشفَّر، فيما يتم تمثيل كلمة BIG في النص المشفَّر بالأحرف IYZ. لاحظ، على ذكر هذا المثال، أن شفرة قيصر تعتبر حالة خاصة من شفرات الاستبدال البسيط؛ إذ لا يعدو الترتيب الذي جرت معه كتابةُ الأحرف بالخط العريض مجرد عملية إزاحة للحروف الأبجدية.
يساوي عدد مفاتيح شفرات الاستبدال البسيط عدد طرق ترتيب الأحرف الستة والعشرين الهجائية، وهو ما يطلق عليه مضروب العدد 26 (وهو حاصل ضرب جميع الأعداد الصحيحة الموجبة التي تقل عن 26 أو تساويه)، ويُشار إليه بالرمز  26! أيْ ؛ أيْ ما يساوي:
403,291,461,126,605,635,584,000,000

هذا لا شك رقم كبير وليس من المحتمل أن يحاول أحد التوصل إلى المفتاح من خلال إجراء عملية بحث شاملة. لكن وجود مثل هذا العدد الضخم من المفاتيح له مشكلاته، وهناك فضلًا عن ذلك عددٌ من الملاحظات تتصل بمشكلات إدارة المفاتيح التي تصاحب استخدام شفرات الاستبدال البسيط. تتمثل الملاحظة البديهية الأولى في طول وصعوبة تذكُّر المفتاح، على خلاف شفرة قيصر؛ من ثَمَّ، عندما كان هذا النوع من الأنظمة يُستخدم يدويًّا، في عصر ما قبل الكمبيوتر، كانت تجري عادةً كتابةُ المفتاح في ورقة. وفي حال الاطلاع على هذه الورقة و/أو سرقتها، يجري اختراق النظام. وفي حال فقدان الورقة «تُفقد» جميع الرسائل المشفَّرة؛ بمعنى أنه كان يتعين على المتلقي المقصود للرسائل أن يتولى كسر الخوارزمية لبيان محتوى الرسائل.

للتغلب على هذا النوع من المخاطر، حاول المستخدمون اكتشاف أساليب لتصميم مفاتيح يسهُل تذكرها. كان أحد هذه الأساليب يتمثَّل في التفكير في «جملة المفتاح»، والتخلص من جميع الحروف المتكررة، وجعل هذه الصيغة هي «بداية» تصميم المفتاح، ثم التوسع في تصميم المفتاح من خلال إضافة الأحرف المتبقية مرتبة هجائيًّا. لذا — على سبيل المثال — إذا كانت جملة المفتاح We hope you enjoy this book (نأمل أن تستمتع بقراءة هذا الكتاب) تصبح بداية المفتاح بالتخلص من الحروف المتكررة wehopyunjtisbk؛ ومن ثَمَّ يصير المفتاح كاملًا:
W E H O P Y U N J T I S B K A C D F G L M Q R V X Z
بديهيًّا، حصْر المفاتيح على تلك التي يمكن اشتقاقها من جملة المفتاح يقلل عدد المفاتيح؛ إذ لا يمكن اشتقاق نسبة كبيرة من مفاتيح شفرات الاستبدال البسيط الخاص بمضروب 26! من جملة إنجليزية على هذا النحو. ومع ذلك لا يزال عدد المفاتيح كبيرًا للغاية؛ بحيث يتعذر إجراء بحث شامل عن المفتاح الصحيح ويكون من السهل تذكر المفتاح الآن.
تتمثل الملاحظة الثانية فيما يتعلق بنظام شفرات الاستبدال البسيط في وجود احتمال أن يؤدي تشفير الرسالة نفسها من خلال عدد كبير من المفاتيح إلى نص مشفَّر واحد. هَبْ — على سبيل المثال — أنَّ الرسالة هي: MEET ME TONIGHT (لنلتقِ الليلة)؛ إذا استخدمنا المثال الأول للمفتاح، يصبح النص المشفَّر FTTP FT PREYZSP. ومع ذلك يصدر عن أي مفتاح يحول E إلى T، وG إلى Z، وH إلى S، وI إلى Y، وM إلى F، وN إلى E، وO إلى R، وT إلى P النص المشفَّر نفسه. وهكذا يكون هناك العدد التالي من المفاتيح التي تعطي نفس النص المشفر:

يعني ذلك، على الأقل بالنسبة إلى هذا النوع من التشفير، أننا يجب ألا نفترض حاجة الطرف المعترض إلى تحديد المفتاح كاملًا قبل الحصول على رسالتنا الأصلية عبر نص مشفَّر جرى اعتراضه.

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

(٣-١) مثال ١: G WR W RWL

بما أن الإنجليزية لا تحتوي على كلمات تتألف من حرف واحد سوى كلمتين اثنتين فقط، فمن المنطقي افتراض أن G تمثِّل A وW تمثِّل I أو العكس. ومن السهولة بمكان استبعاد احتمال أن G تمثِّل A؛ ومن ثَمَّ نخلُص سريعًا من ذلك إلى أن الرسالة تبدأ هكذا I AM A MA، وأن هناك عددًا محدودًا من الاحتمالات بالنسبة للحرف الأخير. إذا افترضنا أننا نعرف أن الرسالة هي عبارة عن جملة تامة باللغة الإنجليزية فمن شبه المؤكد أن الرسالة هي I AM A MAN. من الأهمية بمكان إدراك أن هذا الاستدلال البسيط لا يستعين بأي أساليب لتحليل الشفرات؛ إذ «يخضع» هذا الاستدلال بصورة أو بأخرى لتراكيب اللغة الإنجليزية. لاحظ أيضًا أنه على الرغم من عدم تحديد المفتاح عن طريق هذا الاستدلال، فإنه يقلل عدد احتمالات المفاتيح من 26! إلى 22! إذا كانت الجملة السابقة هي بداية رسالة أطول، فسنحتاج إلى حجج أخرى لتحديد باقي المفتاح أو إلى إجراء عملية بحث محدودة عن المفتاح وإن كانت غير ممكنة حسابيًّا. نلاحظ أيضًا أنه كان من الشائع عمليًّا منع هذا النوع من الهجمات عن طريق نقل الأحرف في مجموعات تتألف من خمسة أحرف؛ ومن ثَمَّ إخفاء جميع المعلومات التي تتعلق بطول و/أو نهايات الكلمات.

(٣-٢) مثال ٢: HKC

ماذا يمكن أن نقول؟ ليس كثيرًا. بما أنه ليس هناك معلومات أخرى، قد تشير الرسالة إلى أي متتالية ذات معنًى من ثلاثة أحرف متمايزة. بالطبع يمكننا أن نستبعد بعض المفاتيح، لنقْل تلك المفاتيح التي تشفِّر Z إلى H، وQ إلى K، وK إلى C آنيًّا. في المقابل، لا يزال عدد الاحتمالات المتبقية كبيرًا للغاية؛ ما يجعلنا نُستدرج إلى القول بأن مجرد اعتراض النص المشفَّر هذا لا يفيدنا في شيء. من الصحيح تمامًا أننا إذا أردنا إرسال رسالة واحدة تتألف من ثلاثة أحرف فقط، فستبدو شفرات الاستبدال البسيط مناسبةً، وأن إجراء عملية بحث شاملة للنص المشفَّر سيسفر عن جميع الكلمات المؤلفة من ثلاثة أحرف (بأحرف متمايزة) كرسائل محتملة.

(٣-٣) مثال ٣: HATTPT

في هذا المثال، نستطيع بالتأكيد حصر عدد الاحتمالات لعدد حروف النص الأصلي التي قد تُحول إلى الحرف T. ربما نستطيع أيضًا الاستنباط في يقين أن أحد أحرف T أو P في المثال تمثِّل حرفًا متحركًا. بالإضافة إلى ذلك، إذا كان لدينا ما يجعلنا نعتقد أن الرسالة المُعترضة هي عبارة عن كلمة واحدة كاملة، فربما سنتمكن من كتابة جميع الاحتمالات. بعض الأمثلة على ذلك كالآتي: CHEESE، وMISSES، وCANNON.

(٣-٤) مثال ٤: HATTPT (مع ملاحظة أن الرسالة عبارة عن اسم دولة)

في هذا المثال، نعتقد أن الرسالة يجب أن تكون GREECE. يتمثَّل الفرق بين المثالين ٣ و٤ في توافر بعض المعلومات الإضافية في المثال ٤، وهو ما جعل من مهمة الطرف المعترض سهلة بدلًا من «مستحيلة». بطبيعة الحال، يعتبر ذلك إحدى مهام إدارات الاستخبارات في «حالات الحرب»؛ إذ تُعتبر المعلومات الاستخباراتية التي توفرها هذه الإدارات العاملَ الحاسم في تمكين مُحلِّلي الشفرات من فك شفرة العدو.

(٤) إحصاءات اللغة الإنجليزية

كانت الأمثلة في القسم السابق جميعها قصيرة وجرى انتقاؤها بعناية لبيان نقاط محددة. لكنه، حتى في حال استخدام شفرات الاستبدال البسيط لتشفير مقاطع طويلة من نص إنجليزي، يوجد عدد من أساليب الاعتراض المباشر التي تسمح بالكشف عن محتوى الرسالة والمفتاح، أو على الأقل الجزء الأكبر من المفتاح. تستعين أساليب الاعتراض هذه بخصائص معروفة في اللغة الإنجليزية. يبين جدول ٣-٢ معدلات التكرار، في صورة نسب، لأحرف الهجاء في عينة تتألف من أكثر من 300 ألف حرف مأخوذة من مقاطع في عدد من الصحف والروايات. (يعتمد هذا الجدول على جدول آخر نُشر في كتاب «أنظمة التشفير: حماية الاتصالات» لمؤلِّفَيْه إتش جيه بيكر وإف سي بايبر.)

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

جدول ٣-٢: معدلات التكرار النسبية المتوقعة للأحرف في نص إنجليزي.
حرف ٪ حرف ٪
A 8.2 N 6.7
B 1.5 O 7.5
C 2.8 P 1.9
D 4.2 Q 0.1
E 12.7 R 6.0
F 2.2 S 6.3
G 2.0 T 9.0
H 6.1 U 2.8
I 7.0 V 1.0
J 0.1 W 2.4
K 0.8 X 2.0
L 4.0 Y 0.1
M 2.4 Z 0.1
عند استخدام شفرات الاستبدال البسيط، يحلُّ محلَّ كل حرف من حروف الأبجدية الحرفُ نفسه الذي جرى استبداله، أيًّا كان موضعه في النص. من ثم، إذا استخدمنا تشفيرًا — على سبيل المثال — يحل فيه حرفُ R محلَّ حرف E، فسيظل معدل تكرار حرف R في النص المشفَّر مساويًا لمعدل تكرار حرف E في الرسالة؛ وهو ما يعني أنه إذا عَكَسَ جدولُ ٣-٢ معدلَ تكرار الحروف في رسالةٍ ما، فستُظهر معدلاتُ تكرار الأحرف في النص المشفَّر عدمَ التوازن نفسه، وإن كانت معدلات تكرار الأحرف موزعة على نحو مختلف بينها. لبيان ذلك أكثر، نعرض الرسم البياني لمعدلات تكرار الأحرف في نص مشفَّر طويل جرى الحصول عليه عن طريق شفرات الاستبدال البسيط.
بمقارنة جدول ٣-٢ بهذا الشكل، ربما يستطيع أحد محللي الشفرات تخمين أن H تمثِّل E وأن W تمثل T. وبما أن أكثر الثلاثيات شيوعًا في اللغة الإنجليزية هي THE، فسيكتسب الطرف المعترض ثقة في هذا الافتراض من خلال التأكد مما إذا كان أكثر الثلاثيات شيوعًا في النص المشفَّر هو W*H؛ حيث تمثِّل * حرفًا ثابتًا — وهو ما لا يدعم محاولات التخمين الأولى فقط بل يشير إلى أن النص الأصلي المكافئ للحرف * هو H. من لديه اهتمام بمعرفة مدى سهولة فك هذه الشفرات، يجب أن يحاول قراءة الفقرة التالية التي جرى تشفيرها باستخدام شفرات الاستبدال البسيط:
figure
مدرج تكراري يوضح معدلات التكرار النسبية للأحرف في نص مشفَّر جرى الحصول عليه باستخدام شفرات الاستبدال البسيط.

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

نختم هذه المناقشة القصيرة بالإقرار بأننا لم نحدد على وجه الدقة حجم النص المشفَّر الذي نعتبره «طويلًا». لا توجد بطبيعة الحال إجابة دقيقة. وفي حين يعتبر توفر 200 حرف كافيًا بكل تأكيد للاعتماد على نتائج الإحصاءات، وجدنا أن الطلاب يستطيعون فك شفرة رسالة يتضمن نص مشفَّرها 100 حرف أو أكثر.
كملاحظة جانبية، نؤكد على عدم وجود ضمانة في أن تتطابق الإحصاءات لأي رسالة مع الإحصاءات في جدول ٣-٢. على سبيل المثال، إذا جرى تشفير خطاب شخصي فمن الأرجح أن تظهر كلمة you (أنت) بكثرة مثل كلمة the (أداة التعريف «أل»). كمثال على كيفية التلاعب عمدًا بالإحصاءات في إحدى الرسائل، نجد رواية تتألف من 200 صفحة لا تحتوي على الحرف E (ترجمة جلبرت آدير لرواية «فراغ» لمؤلفها جورج بيرك).
يتمثَّل السبب في إمكانية وقوع اعتراض كالذي بيَّنَّاه توًّا في وجود أحرف شائعة «قليلة» من الأرجح أن «تهيمن» على الرسالة، وهو ما يجعل تحديد النص المكافئ لنص التشفير سهلًا. تتمثل إحدى طرق تجنب ذلك في إجراء عملية استبدال بسيطة على «الكلمات ثنائية الأحرف»؛ أي أزواج من الأحرف المتتالية. إذا فعلنا ذلك، فسيتألف المفتاح من ترتيب محدد من 676 كلمة ثنائية الأحرف، وهو ما سوف يعطينا مفاتيح طويلة للغاية وعددًا هائلًا من المفاتيح الممكنة قدرها 676! ومع ذلك ستكون مفاتيحُ مثلُ هذه مهلهلةً للغاية كما ستتعرض لنفس نوع الهجمات كما هو الحال في المفاتيح المؤلفة من أحرف فردية؛ إذ يهيمن على الرسائل الطويلة على الأرجح عددٌ محدود نسبيًّا من الكلمات ثنائية الأحرف.
بداهةً، لن يكون عمليًّا محاولةُ وضع قائمة بجميع الكلمات الثنائية البالغ عددها 676 كلمة أعلى النصوص المشفَّرة المكافئة لها؛ بعبارة أخرى، محاكاة تمثيل المفتاح الأصلي لشفرات الاستبدال البسيط. بناءً عليه، نحتاج إلى طريقة سهلة لتحديد المفاتيح وللتعبير عن خوارزمية التشفير وفك التشفير. نضرب الآن مثلًا لشفرة تعتمد على الكلمات ثنائية الأحرف فيما نَستخدم عددًا محدودًا نسبيًّا من جميع المفاتيح الممكنة.

(٥) شفرة بلايفير

ابتكر «شفرة بلايفير» السير تشارلز وتستون والبارون ليون بلايفير في عام ١٨٥٤ وجرى استخدامها من قِبل إدارة الحرب البريطانية حتى بداية القرن العشرين، وقد استُخدِمَتْ في حرب البوير. وتُعد هذه الشفرة مثالًا على نظام شفرة «الكلمات ثنائية الأحرف»؛ وهو ما يعني تشفير الأحرف أزواجًا في مقابل تشفيرها مفردةً. يتمثَّل المفتاح في مربع يتألف من خمسة أحرف طولًا وعرضًا (يحتوي المربع على 25 حرفًا تتكون من خلال حذف حرف J من الأبجدية)؛ ومن ثَمَّ يكون لدينا المضروب 25! أو عدد مفاتيح يساوي:
قبل إجراء عملية التشفير باستخدام شفرة بلايفير يجب إعادة ترتيب الرسالة قليلًا. لتنفيذ ذلك، يجب:
  • استبدال كل حرف I بحرف J.
  • كتابة الرسالة في أزواج من الأحرف.

  • عدم السماح بوجود أزواج أحرف متطابقة، وإن وجدت يُدرَج حرف Z بينها.
  • إضافة حرف Z في النهاية، إذا كان عدد الأحرف فرديًّا.

لبيان طريقة عمل نظام شفرة بلايفير سنختار مفتاحًا محددًا لا يوجد ما يميز اختيارنا له:

بمجرد إعادة ترتيب الرسالة على نحو مناسب، نعرض قاعدة التشفير في نظام شفرة بلايفير. لبيان طريقة التشفير سنتوسع في تصميم المفتاح بإضافة عمود سادس وصفٍّ سادس للمفتاح الأصلي. ويتطابق الصف السادس مع الصف الأول، في حين يتطابق العمود السادس مع العمود الأول؛ من ثَمَّ — على سبيل المثال — يمكن التوسع في تصميم مفتاح كما هو موضح في الشكل:

تتلخص قاعدة التشفير في نظام شفرة بلايفير في الآتي:
  • إذا وقع الحرفان في الصف نفسه من مربع المفتاح، يحل محل كل حرف الحرفُ الذي إلى يمينه في مربع المفتاح الممتد.

  • إذا وقع الحرفان في العمود نفسه من مربع المفتاح، يحل محل كل حرف الحرفُ الذي يقع إلى الأسفل منه في مربع المفتاح الممتد.

  • إذا لم يقع الحرفان في الصف أو العمود نفسه، يحل محل الحرفِ الأول الحرفُ الذي يقع في صف الحرف الأول وعمود الحرف الثاني. ويحل محل الحرف الثاني الحرفُ الذي في الركن الرابع من المستطيل الذي تشكَّل من الحروف الثلاثة المُستخدمة حتى الآن.

نشفِّر الآن الرسالة التالية: GOOD BROOMS SWEEP CLEAN (المكانس الجيدة تنظِّف جيدًا).
بما أنه ليس هناك أي حروف J في الرسالة فلا يجب سوى كتابة الرسالة في أزواج من الأحرف مع وضع أحرف Z زائدة متى كان ذلك لازمًا. نحصل بناءً على ذلك على الآتي:
NZ EA CL EP EZ SW SZ OM OZ BR OD GO
وهكذا، بالنسبة إلى المفتاح الذي صممناه؛ GO تصبح FP، وOD تصبح UT، وOM تصبح PO. يصبح النص المشفَّر الكامل كالآتي:
DY CS BG CM CM BV TV DV PO UW EC UT FP
مثلما هو الحال مع شفرات الاستبدال البسيط، مال المستخدمون إلى الاستعانة بجملة سرية لتحديد مصفوفة المفتاح. كان الأسلوب المتبع في فك الشفرة في نظام شفرة بلايفير هو نفسه المتبع في شفرات الاستبدال البسيط، والذي يتمثل في كتابة الجملة السرية، ثم التخلص من الأحرف المتكررة، ثم إضافة الأحرف غير المستخدمة في ترتيب أبجدي. لذا، إذا كانت الجملة السرية UNIVERSITY OF LONDON (جامعة لندن) نحصل على UNIVERSTYOFLD عند التخلص من الأحرف المتكررة، ويمكن ترتيب الأحرف في مربع المفتاح مثلما هو موضح في الشكل التالي:
تعتبر عملية فك التشفير، مثلما هو الحال دومًا، عملية عكسية لعملية التشفير. من يرغب من القرَّاء في التأكد من فهم طريقة عمل نظام شفرة بلايفير عليه أن يحاول فك شفرة MBOUBTZE باستخدام مربع المفتاح التالي. (الإجابة هي كلمة إنجليزية تتألف من سبعة أحرف نأمل ألا تعكس الحالة المزاجية للقارئ.) لا نهدف إلى الحديث عن تحليل هذه الشفرة. هناك أمثلة أخرى كثيرة لشفرات يسهُل وضعها ومحاولة فكها. وتوجد في نهاية هذا الكتاب مراجع مناسبة حول التشفير.

(٦) الترميز المتناغم

يتمثل خيار آخر لتطوير نظام شفرات الاستبدال البسيط في التوسع في الأحرف الهجائية من خلال إضافة بعض الرموز الزائدة؛ بحيث يُمثَّل — على سبيل المثال — حرف النص الأصلي E بأكثر من رمز في نص التشفير.
يُطلق على هذه الرموزِ الزائدةِ العناصرُ العشوائيةُ، كما تُسمى عملية التوسع في الأحرف الهجائية بعملية الترميز المتناغم. لبيان ذلك، نطرح شفرة تكون فيها عناصر النص المشفَّر هي الأعداد 00، 01، 02، …، 31. يمثِّل كل عدد في النص المشفَّر حرفًا واحدًا فقط في النص الأصلي، لكن كل حرف من الأحرف A وE وN وO وR وT يجري تمثيله برمزين مختلفين.

لبيان ذلك أكثر، نخصص أعدادًا للأحرف مثلما هو موضَّح في الشكل التالي:

N M L K J I H G F E E D C B A A
00 17 30 12 28 06 31 29 20 27 13 04 21 14 07 01
Z Y X W V U T T S R R Q P O O N
03 11 15 16 05 22 24 08 02 23 25 10 09 19 26 18
إذا فعلنا ذلك، فقد يصبح من الممكن كتابة كلمة TEETH، التي تحتوي على زوجين من الأحرف المتكررة، كالآتي: 24 27 13 08 31. لمن لا يعرف المفتاح، تعتبر الأعداد الخمسة المكونة للنص المشفَّر مختلفة لكن لن يكون هناك احتمال لتعرُّض المتلقي الحقيقي للرسالة للارتباك.
الأرجح أن تكون الأحرف الستة المنتقاة هي الأحرف الستة الأكثر انتشارًا في النص الأصلي. على سبيل المثال، إذا كان قرار تحديد أيٍّ من العددين المنْتَقَيَيْنِ يمثل الحرف E قرارًا عشوائيًّا، فسنتوقع أن «يشغل» كلٌّ من العددين حوالي ٦٪ من النص المشفَّر. وعلى وجه العموم، تتمثل نتيجة استخدام الترميز المتناغم في ضمان أن يكون المدرج التكراري المتوقع للنص المشفَّر أكثر انبساطًا من المدرج التكراري للنص الأصلي، وهو ما يجعل عملية الاعتراض من خلال استخدام الإحصاءات اللغوية أكثر صعوبة.
ملاحظة ١: في هذه الشفرة، نكتب 00، 01، 02 لنمثل الأعداد 0، 1، 2 … إلخ. ففي أي وقت لا تُستخدم فيه المسافات، يُستخدم هذا النوع من التمثيل الرقمي للتمييز بين «اثني عشر» و«واحد يليه اثنان» على سبيل المثال.

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

08 07 29 06 12 01 10 27 12 01 20 00 25 29 24
28 29 28 06 20 26 04 01 26 20 14 07 05 29 31
29 12 26 24 25 26 21 31 01 30 18 28 31 04 05
01 10 30 26 28 31 26 25 21 15 23 18 31 26 04
30 24 21 08 05 13 18 28 12 12 16 18 31 07 21
12 05 18 28 31 19 17 18 10 30 21 24 25 21 20
04 07 27 17 12 14 08 05 26 08 21 09 24 05 31
05 19 18 28 12 31 27 13 04 25 05 12 08 20 18
08 21 12 01 31 08 18 28 12 12 05 28 12 31 24
15 23 26 12 12 01 10 19 18 23 05 08 24 21 31
05 26 29 08 12 29 07 08 21 31 21 08 25 05 26
18 28 31 14 19 21 12 25 26 04 21 17 12 14 08
21 08 20 26 12 31 26 10 20 01 10 27 30 17 30
01 30 31 16 18 12 07 21 05 10 30 18 28 12 25
23 05 09 24 27 10 04 07 01 26 24 25 18 21 12
12 20 29 30 15 21 14 20 18 11 28 31 29 13 26
01 12 30 14 23 24 26 28 12 23 17 19 31 07 01
18 20 13 31 24 01 19 25 21 12 08 14 10 01 07
27 08 27 08 20 26 28 30 21 24 00 07 21 09 05
21 15 01 08 18 11 10 29 11 07 21 14 10 10 05
19 21 12 25 18 21 24 08 19 17 26 23 27 31 16
21 04 25 05 00 25 21 07 17 08 01 18 20 24 21
23 17 06 08 08 26 27 00 04 18 20 21 30 08 07
06 31 16 18 31 25 17 24 08 21 28 12 07 21 09
14 20 24 26 28 31 12 01 28 31 18 12 17 25 26
18 15 05 18 12 24 21 28 30 01 20 00 17 12 30
28 24 12 26 10 13 31 01 04 18 14 29 10 30 15
04 26 04 27 10 24 07 21 09 23 05 30 14 26 10
31 30 01 07 05 28 12 21 06 26 10 30 17 26 30
17 06 08 08 17 20 24 23 17 19 18 04 27 31 21
08 26 10 03 03 27 30 04 20

(٧) التشفير متعدد الأحرف

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

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

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

(٨) شفرة فيجنر

لعل أفضل الطرق اليدوية المعروفة للشفرات متعددة الأحرف هي «شفرة» فيجنر، التي جاء اسمها من بليز دي فيجنر، وهو دبلوماسي فرنسي عاش في القرن السادس عشر. وعلى الرغم من نشر هذه الشفرة في عام ١٥٨٦، لم يجْرِ الإقرار بها على نطاق واسع إلا بعد مرور مائتي عام؛ وكان كسرها بواسطة باباج وكاسيسكي في منتصف القرن التاسع عشر. من المثير الإشارة إلى أن شفرة فيجنر جرى استخدامها من قِبَل جيش الكونفدرالية في الحرب الأهلية الأمريكية. وقد وقعت الحرب الأهلية بعد كسر شفرة فيجنر، وهو ما تشير إليه مقولة الجنرال يوليسيس إس جرانت: «ربما يستغرق فك شفرة المراسلات التي يجرى اعتراضها وقتًا أكثر من اللازم بحيث لا نحصل على أي فائدة منها، لكننا نحصل منها في بعض الأحيان على معلومات مفيدة.»

تَستخدم شفرة فيجنر مربع فيجنر لإجراء عملية التشفير. يحتوي العمود الأيسر (المفتاح) لهذا المربع على الأحرف الهجائية الإنجليزية، ولكل حرف منها، يتضمن الصف الذي يحدده الحرف تكرارًا للأبجدية بدءًا من هذا الحرف. لذا، يعطي كل حرف في العمود الأيسر شفرة قيصر بحيث يتحدد عدد حركات الإزاحة وفق ترتيب هذا الحرف في الأبجدية. على سبيل المثال، يعطي حرف g شفرة قيصر ذات 6 حركات إزاحة.
figure
مربع فيجنر.
يتمثل أحد أكثر الأساليب شيوعًا في استخدام المربع للحصول على شفرة في انتقاء كلمة المفتاح (أو جملة المفتاح) لا تشتمل على أحرف متكررة. وإذا كانت رسالة النص الأصلي أطول من المفتاح، نحصل، إذن، من خلال تكرار المفتاح كلما كان ذلك ضروريًّا، على متسلسلة من الأحرف تساوي في طولها طول الرسالة. على سبيل المثال، إذا كانت الرسالة PLAINTEXT وكانت كلمة المفتاح fred نحصل على الآتي:
الرسالة: T X E T N I A L P
المفتاح: f d e r f d e r f

نستخدم المربع الآن في تشفير الرسالة كما يلي:

لتشفير الحرف الابتدائي P نستخدم الحرف المفتاحي الذي يقع أسفله؛ وهو f في هذه الحالة. من ثم، لتشفير الحرف P ننتقل إلى صف المربع الذي يحدده الحرف f ونقرأ الحرف الواقع إلى أسفل حرف P؛ وهو حرف U. بالمثل، نشفِّر الحرف L عن طريق أخذ الحرف الذي يقع أسفله في الصف الذي يحدده الحرف r؛ أي حرف C. نبيِّن عملية تشفير الحرف P عن طريق الحرف المفتاحي f في الشكل التالي:
figure
استخدام مربع فيجنر لتشفير الحرف P عن طريق الحرف المفتاحي f.
كل قارئ يفرغ من عملية التشفير هذه سيخلُص إلى أن النص المشفَّر الكامل للنص الأصلي PLAINTEXT باستخدام كلمة المفتاح fred هو UCELSLIAY.

وهو ما يعني أننا صار لدينا ما يلي:

الرسالة: T X E T N I A L P
المفتاح: f d e r f d e r f
نص التشفير: Y A I L S L E C U
نستطيع الآن أن نرى أن حرف النص الأصلي T يمثله حرفا L وY في النص المشفر، وأن حرف النص المشفر L يمثل الحرفين I وT. من هنا، يبدو جليًّا أنه باستخدام هذه الشفرة، نستطيع الحيلولة دون تماثل أنماط معدلات تكرار الأحرف في النص المشفَّر مع نظيراتها في النصوص المشفَّرة في شفرات الاستبدال البسيط.

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

تعتبر شفرة فيجنر مثالًا خاصًّا على الشفرة متعددة الأحرف يجري فيه استخدام متسلسلة (قصيرة) من شفرات الاستبدال البسيط بنظام تكراري دقيق. ويُطلق على عدد مكونات الشفرة المستخدمة في شفرة فيجنر «دورة»، ومن الواضح أن الدورة في نسخة شفرة فيجنر التي عرضناها تعادل طول كلمة المفتاح.

قبل مواصلة حديثنا عن الشفرات الدورية، من الجدير بالذكر الأخذُ في الاعتبار أن الشفرة متعددةَ الأحرف التي تبلغ دورتها 3 لا تعدو أكثر من حالة خاصة من شفرة استبدال بسيط لنص ثلاثي الأحرف. لا تعدو هذه الملاحظة البسيطة أكثر من حالة خاصة للمبدأ العام القائل بأن تغيير أحرف الأبجدية قد يؤدي إلى تغيير «طبيعة» الشفرة. في الوقت الحالي، نركِّز على الشفرات التي تستخدم الأحرف الهجائية الإنجليزية رموزًا لها. وعند تناول أنظمة الشفرات الأكثر حداثة، غالبًا ما ننظر إلى جميع الرسائل باعتبارها متسلسلة من أرقام ثنائية (تتألف من أصفار وآحاد).
مثلما ذكرنا، يرجع أحد أسباب استخدام التشفير متعدد الأحرف إلى الرغبة في إخفاء معدلات تكرار الأحرف للُّغة المستخدمة. كمثال على ذلك، نعرض رسمًا بيانيًّا لتوضيح عدد معدلات تكرار الأحرف في نص مشفَّر جاء نتاج استخدام شفرة فيجنر دورتها 3 لتشفير نص إنجليزي.
هناك عدد من الاختلافات الواضحة بين هذا المدرج التكراري وذلك الموضَّح سابقًا. تتمثل أبرز هذه الاختلافات في أن كل حرف من الحروف الهجائية يظهر في المدرج التكراري الثاني، وعدم هيمنة أي حرف في هذا المدرج التكراري مثلما هيمن الحرف H على المدرج التكراري السابق. ويعد هذا المدرج التكراري أكثر انبساطًا من الشكل السابق؛ ومن ثَمَّ، لا يساعد الطرف المعترض المحتمل كثيرًا. قد يميل كلُّ مَن ينظر إلى المدرج التكراري الثاني إلى استنباط أن حرف R في النص المشفَّر يمثِّل حرف E في النص الأصلي في مكان ما، لكنه لن يَعرف في أي موضع حدث ذلك على وجه التحديد.
figure
مدرج تكراري لنص مشفَّر عند استخدام ثلاث شفرات استبدال بسيط بتكرار دقيق.

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

يكفي لكسر شفرة فيجنر تحديد كلمة المفتاح. في حال معرفة الدورة وفي حال عدم طولها على نحو مفرط، يمكن تحديد كلمة المفتاح من خلال كتابة برنامج حاسوبي لإجراء عملية بحث شاملة عن المفتاح. كمثال على ذلك، ربما يرغب القرَّاء في إجراء عملية بحث عن المفتاح في النص المشفَّر TGCSZ GEUAA EEWGQ AHQMC، وذلك أخذًا في الاعتبار أن النص المشفَّر هذا هو نتاج استخدام شفرة فيجنر مع استخدام كلمة مفتاح دورتها 3 لتشفير فقرة من نص إنجليزي. سيواجه أي قارئ يحاول تنفيذ ذلك مسألة مثيرة للاهتمام تتمثل في تحديد كلمة المفتاح الصحيحة. يتمثل الافتراض الأساسي هنا في أن كلمة المفتاح هي كلمة تتألف من ثلاثة أحرف فقط تؤدي إلى التوصل إلى نص أصلي له معنًى. لكن المشكلة الحقيقية تتمثل في كيفية إدراك أن النص الأصلي يمثِّل نصًّا ذا معنًى. لعل أحد الاحتمالات يتمثَّل في الجلوس أمام الشاشة وفحْص نتيجة استخدام كل كلمة مفتاح. بطبيعة الحال، تعتبر هذه الطريقة مملَّة كما تستغرق وقتًا طويلًا. يجب العثور على بدائل أخرى.
عند إجراء عملية بحث شاملة عن كلمة مفتاح يبلغ طولها ، ربما يكون من السهولة بمكان تجربة جميع متسلسلات الأحرف بصورة منهجية بدلًا من حصر عملية البحث في الكلمات الإنجليزية فقط. من هنا، بالنسبة إلى شفرة فيجنر التي تكون فيها قيمة الدورة معلومة، ربما يتطلب إجراء عملية بحث شاملة إجراء محاولة؛ وهو ما يعني أن زيادة الدورة ستؤدي إلى خروج عملية البحث الشاملة عن نطاق السيطرة. لكنه في حال معرفة الدورة، سيصبح تحديد كلمة مفتاح مسألة مباشرة نسبيًّا دون حتى إجراء عملية بحث شاملة. تتمثَّل إحدى طرق تنفيذ ذلك في كتابة نص التشفير في صفوف تتألف من الحرف ؛ بحيث يجري إعادة بناء النص المشفَّر من خلال كتابة كل عمود بالترتيب. لذا — على سبيل المثال — عندما تكون والنص المشفر هو ، سيُكتب كل عمود على النحو التالي:
بمجرد الانتهاء من ذلك، سيصبح كل صف هو نتاج استخدام شفرة الاستبدال البسيط الذي يعتبر، بالنسبة لحالة شفرة فيجنر الخاصة، شفرةً مضافة. يمكن الآن استخدام الإحصاءات اللغوية في القسم السابق في كل صف من صفوف النص المشفَّر. حقيقةً، بالنسبة إلى شفرة فيجنر التي يعتبر النص المشفَّر فيها طويلًا مقارنةً بالدورة ، ربما يكون كافيًا تحديد أكثر الأحرف تكرارًا في كل صف وافتراض تمثيله للأحرف E أو T، أو A. تعتمد الملاحظة الأخيرة على أن شفرة الاستبدال البسيط المستخدمة في كل صف إنما هي شفرة قيصر؛ وهو ما يعني، مثلما أشرنا، أن معرفة زوج واحد فقط من النص الأصلي والنص المشفر يعتبر كافيًا لتحديد كلمة المفتاح. بناءً عليه، إذا أمكن تحديد النص المشفر المكافئ لحرف واحد في كل صف، ربما من خلال مزيج من التخمين الذكي والحظ، فسيكون من الممكن تحديد كلمة المفتاح.
توحي المناقشة حتى الآن بأن المشكلة الحقيقية التي تواجه الطرف المعترض لشفرة فيجنر تتمثل في تحديد الدورة . أحد الحلول هو تجربة جميع القيم الصغيرة للدورة بصورة منهجية. لكنَّ هناك أيضًا عددًا من الطرق البسيطة المبتكرة التي يمكن من خلالها تحقيق ذلك. لعل أشهَر هذه الطرق على الإطلاق طريقة تُعرف باسم اختبار كاسيسكي، وهو الاختبار الذي استخدمه باباج، الذي كان أول من كسر الشفرة. كان أسلوبه يتمثَّل في البحث عن متسلسلة (طويلة) من الأحرف متكررة في النص المشفر. وعندما تظهر هذه المتسلسلات، تمثِّل على الأرجح مقاطع مطابقة للرسالة المشفَّرة باستخدام أحرف لوحة مفاتيح مطابقة، وهو ما يشير إلى أن الفجوات بين هذه الأنماط المتكررة ربما تمثِّل مضاعفات الدورة (تم تناول تحليل شفرة فيجنر تفصيلًا في كتاب «كتاب الشفرة» لسينج).

(٩) التشفير التبادلي

في جميع الأمثلة التي ذكرناها حتى الآن، جرى الاستعاضة عن أحرف، أو مجموعات من الأحرف في رسالة، بأحرف أو مجموعات من أحرف أخرى. من هنا، تقع جميع هذه الأمثلة تحت عنوان عام لشفرات الاستبدال. لكن توجد عائلات أخرى من أنظمة التشفير التي تقوم على فكرة تبديل ترتيب كتابة الأحرف، وهو ما يُعرف باسم «التشفير التبادلي». نضرب مثلًا بسيطًا على ذلك هنا.

في المثال الذي نضربه المفتاحُ هو رقم صغير. نستخدم رقم 5 كمفتاح. لتشفير رسالةٍ ما باستخدام هذا المفتاح، نكتب الرسالة في صفوف يتألف كلٌّ منها من خمسة أحرف، ثم نجري عملية التشفير من خلال كتابة أحرف العمود الأول أولًا، ثم العمود الثاني، وهكذا. إذا لم يساوِ طولُ الرسالة أحدَ أضعاف رقم 5، نُضيف عددًا مناسبًا من حرف Z في النهاية قبل إجراء عملية التشفير. يمكن فهم عملية التشفير بسهولة بالغة من خلال مثال صغير.
نشفِّر الرسالة WHAT WAS THE WEATHER LIKE ON FRIDAY (كيف كانت حالة الجو يوم الجمعة). بما أن المفتاح هو 5، تتضمن الخطوة الأولى إذن كتابة الرسالة في صفوف يتألف كل صف منها من خمسة أحرف، كالآتي:
W T A H W
E H T S A
H T A E W
K I L R E
R F N O E
Y A D I
بما أن طول الرسالة لا يساوي أحد أضعاف رقم 5، يجب إضافة حرف Z واحد لنحصل على النتيجة التالية:
W T A H W
E H T S A
H T A E W
K I L R E
R F N O E
Z Y A D I

نقرأ الآن كل عمود على التوالي لنحصل على النص المشفَّر التالي:

WAWEEIHSERODATALNATHTIFYWEHKRZ
للحصول على مفتاح فك التشفير، نَقسِم طول الرسالة على المفتاح. في هذه الحالة، نقسم 30 على 5 لنحصل على 6. تصبح خوارزمية فك التشفير الآن مماثلة لخوارزمية التشفير. لذا — على سبيل المثال — نكتب النص المشفَّر في صفوف تتألف من 6 أحرف لنحصل على النتيجة التالية:
I E E W A W
D O R E S H
A N L A T A
Y F I T H T
Z R K H E W

يسهُل الآن التحقق من أن قراءة كل عمود على التوالي سيفصح عن نص الرسالة الأصلية.

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

(١٠) التشفير المعقَّد

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

نشفِّر الرسالة ROYAL HOLLOWAY من خلال تشفيرها تشفيرًا معقدًا عن طريق تشفيرها أولًا باستخدام شفرة قيصر بمفتاح قيمته 2، ثم استخدام التشفير التبادلي باستخدام مفتاح قيمته 4. بالنسبة إلى شفرة قيصر باستخدام مفتاح قيمته 2، نحصل على الآتي:
الرسالة: Y A W O L L O H L A Y O R
النص المشفَّر: A C Y Q N N Q J N C A Q T
بالنسبة إلى نظام التشفير التبادلي باستخدام مفتاح قيمته 4 نحصل على الآتي:
الرسالة: A C Y Q N N Q J N C A Q T
النص المشفَّر: Z C N C Z Y Q A Z Q J Q A N N T

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

(١١) بعض النتائج

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

(١٢) ملحق

(١٢-١) مقدمة

في هذا الملحق، نناقش فكرتين رياضيتين أساسيتين؛ ألا وهما: التمثيلات الثنائية للأعداد الصحيحة، والمقياس الحسابي. تلعب كلتا الفكرتين دورًا محوريًّا في التشفير. غالبًا ما تدرَّس الأعداد الثنائية في المدارس والكليات، ولا يدرَّس المقياس الحسابي على نطاق واسع كالأعداد الثنائية، لكن في حال قيم خاصة مثل 7 و12، تعتبر عملية المقياس الحسابي عملية طبيعية يجريها الجميع.

(١٢-٢) الأعداد الثنائية

عندما يُكتب عدد صحيح بالنظام العشري نستخدم في الأساس خانة آحاد، وخانة عشرات، وخانة مئات، وخانة آلاف، وهكذا. من ثم، يشير رقم 3049 إلى 3 آلاف، و0 مئات، و4 عشرات، و9 آحاد. بالنسبة إلى الأعداد العشرية، نستخدم الأساس 10 فيما تمثل الخانات مضاعفات رقم 10؛ لذا ، ، ، ، وهكذا.
بالنسبة إلى الأعداد الثنائية نستخدم الأساس 2. الرقمان الأساسيان هما 0 و1؛ حيث توجد خانة للآحاد، وخانة للأعداد الثنائية، وخانة للأعداد الرباعية (تذكر أن   )، وخانة للأعداد الثُّمانية ، وهكذا؛ وهو ما يعني إمكانية اعتبار كل مجموعة من الأعداد الثنائية رقمًا قائمًا بذاته. على سبيل المثال، 101 في النظام الثنائي يساوي 1 أربعة، و0 اثنان، و1 واحد؛ لذا فإن السلسلة الثنائية 101 تمثل في صورة عشرية. بالمثل، يمثَّل 1011 في صورة ثنائية = 1 ثمانية، و0 أربعة، و1 اثنان، و1 واحد. وهكذا، تمثَّل الكتلة الثنائية في صورة عشرية. كمثال أخير، افترض الرقم 1100011. لدينا في هذه الحالة سبع خانات. مضاعفات العدد 2 هي 1، 2، 4، 8، 16، 32، 64؛ ومن ثَمَّ تمثَّل السلسلة الثنائية في صورة عشرية.
بداهةً، يمكن كتابة أي عدد صحيح موجب في صورة ثنائية، ويوجد العديد من الطرق التي تحدد هذه الصورة. نبين أحد هذه الأساليب من خلال مثالين. هَبْ أننا نرغب في إيجاد التمثيل الثنائي للعدد 53؛ مضاعفات العدد 2 هي 1، 2، 4، 8، 16، 32، 64 … لكن من الممكن أن نتوقف عند العدد 32؛ إذ إن جميع المضاعفات الأخرى أكبر من 53. يمكن الآن تمثيل 53 كالآتي: ، كما يمكن تمثيل 21 هكذا: وتمثيل 5 هكذا: . وبهذا يمكن تمثيل 53 على النحو التالي: . لا يعدو ما فعلناه سوى كتابة القيمة 53 في صورة مجموع مضاعفات الرقم 2. يمكن إذن تمثيل 53 كالآتي: ؛ ومن ثَمَّ تُمثَّل 53 هكذا: في صورة ثنائية. كمثال ثانٍ خذ العدد 86. في هذه الحالة، تكون أعلى قيمة لمضاعفات العدد 2 هي 64. بتكرار العملية السابقة، نجد أن ؛ ومن ثَمَّ 86 هي 1010110 في صورة ثنائية.
يعتبر المصطلح bit اختصارًا يعبر عن الرقم الثنائي. فعندما نشير إلى عدد على أنه N-bits، نعني بذلك أن صورته الثنائية تتطلب عدد N من البِتات. على سبيل المثال، في الأمثلة السابقة، العدد 53 هو 6-bit و86 هو 7-bit. بوجه عام، يعطي العدد 3.32d فكرة عن عدد البتات المطلوبة للتعبير عن عدد عشري مكون من d من الأرقام في صورة ثنائية.

(١٢-٣) المقياس الحسابي

يهتم المقياس الحسابي بالأعداد الصحيحة فقط، وهي المعروفة باسم الأعداد الكاملة. فإذا كان العدد N عددًا صحيحًا موجبًا، إذن فلن يستخدم المقياس الحسابي N إلا الأعداد الصحيحة 0، 1، 2، 3، …، ؛ أي الأعداد الصحيحة من 0 إلى .
هناك عدد من قيم N التي يعتبر الرقم الحسابي القياسي N بالنسبة لها معروفًا لمعظم الناس، على الرغم من عدم معرفتهم بالمصطلحات الرياضية. على سبيل المثال، عندما نستخدم ساعة يقسَّم الوقت فيها إلى 12 ساعة زمنية، نستخدم الجمع للمقياس 12. إذا كانت الساعة الآن الثانية «فسيعرف» الجميع أن الساعة ستكون الخامسة في غضون ثلاث ساعات، مثلما ستكون الخامسة في غضون 15 ساعة؛ وذلك نظرًا لأن ؛ حيث يتكرر الوقت نفسه كل 12 ساعة. من الأعداد الطبيعية الأخرى N = 7 (لعدد أيام الأسبوع) وN = 2 (للأعداد الفردية والزوجية).
إذا تساوى عددان في المتبقي من حاصل قسمتهما على العدد N، نعتبرهما عددين متساويين بالنسبة للمقياس N. على سبيل المثال، إذا كانت N = 7، إذن، بما أن و ، نعتبر العددين 9 و23 متساويين بالنسبة للمقياس 7. وإذا كان X وY عددين متساويين قيمتهما N، نعبِّر عنهما هكذا: X = Y (مقياس N). لاحظ إذن أن كل عدد صحيح يجب أن يساوي بالنسبة إلى المقياس N إحدى القيم: 0، 1، 2، …، .
كمثال على استخدام المقياس الحسابي؛ هب أن اليوم الأول من الشهر هو يوم الثلاثاء؛ بديهيًّا إذنْ سيكون اليوم التالي هو يوم الأربعاء، والثالث هو الخميس، وهكذا. ماذا عن اليوم التاسع والعشرين؟ تتمثل إحدى طرق الإجابة على هذا السؤال في الرجوع إلى التقويم أو كتابة جميع أيام الشهر. تتمثَّل طريقة أخرى في ملاحظ نمط تكرار الأيام كل 7 أيام. بداهةً، سيكون اليوم الثامن هو يوم الثلاثاء أيضًا. نلاحظ الآن أن التي تصبح (مقياس 7). وهكذا، يقع اليوم التاسع والعشرون بعد 4 أسابيع من اليوم الأول ويقع في يوم ثلاثاء. تظهر عملية مشابهة أنه حيث إن ، يكون اليوم التاسع عشر هو يوم سبت.
متى عرضنا مفهوم المقياس N، يصبح إجراء العمليات الحسابية مسألة مباشرة. على سبيل المثال، إذا كانت N = 11، إذن (مقياس 11) بما أن . يمكن أيضًا كتابة معادلات الرقم الحسابي القياسي N. على سبيل المثال، يعني حل المعادلة 3X = 5 (مقياس 8) إيجاد قيمة X بحيث يكون حاصل ضرب 3 في X يساوي 5 مقياس 8. حل هذه المعادلة هو: X = 7. تجدُر الإشارة إلى أن عرض أساليب لحل هذا النوع من المعادلات يقع خارج نطاق هذا الملحق. لكنه من السهولة بمكان التحقق من أن X = 7 تحقق المعادلة 3X = 5 (مقياس 8)؛ حيث إن . عند الحديث عن المقياس الحسابي، يجب تذكر عدم «جواز» استخدام أعداد سوى الأعداد الصحيحة؛ أي الأعداد الكاملة. وعلى وجه الخصوص، إذا طُلب منا حل معادلة مثل 3X = 5 (مقياس 8)، يجب أن تكون الإجابة رقمًا صحيحًا يقع بين العددين 0 و7.
يرجع أحد الأسباب الرئيسية في الحديث عن المقياس الحسابي إلى أن اثنتين من أكثر خوارزميات المفتاح المعلن شيوعًا تستخدم الأس المقياسي باعتباره عمليتهما الرياضية الأساسية. يعني الأس المقياسي حساب Xa (مقياس N) للأعداد الصحيحة ، ، . هب أن ، ، ؛ إذن، ؛ ومن ثَمَّ (مقياس 7). وفي حينِ لن يُضطر من يُجري عملية تشفير إلى إجراء أيٍّ من هذه العمليات الحسابية، تساعد هذه العمليات الحسابية في فهم طرق التمثيل الرمزي.
عند الحديث عن شفرة قيصر ذكرنا الشفرات الجمعية، التي تعتمد على تخصيص أعداد للأحرف الهجائية ثم استخدام المقياس 26. يشير التدقيق في مربع فيجنر إلى أن الصف الأول، الذي يحدده حرف المفتاح a، يمثِّل الشفرة الجمعية عن طريق صفر حركة إزاحة، بينما يمثِّل الصف الثاني، الذي يحدده حرف المفتاح b، شفرة جمعية عن طريق 1 حركة إزاحة وهكذا. في حقيقة الأمر، إذا ربطنا بين الأحرف والأعداد على نحو فسيشير كل حرف مفتاح إلى استخدام شفرة جمعية تتحقق من خلال إجراء حركات إزاحة تساوي القيمة المرتبطة به. تعتبر هذه الملاحظة البسيطة مفيدة لكلِّ مَن يريد كتابة برنامج لتنفيذ شفرة فيجنر.
أعقب مناقشة الشفرات الجمعية تقديم لنظام شفرة ضربية؛ حيث أدرجنا تلك الأعداد التي يمكن استخدامها كمفاتيح. على الرغم من عدم وضوح كيفية حصولنا على القائمة، يسهُل التحقق من صحة القائمة مباشرةً. بالنسبة إلى الأعداد 1، 3، 5، 7، 9، 11، 15، 17، 19، 21، 23، 25، عندما نضرب الحروف الهجائية الستة والعشرين بهذه الأعداد المفتاحية، نحصل على 26 إجابة مختلفة؛ وهو ما يعني إمكانية استخدام هذه الأعداد كمفاتيح تشفير في نظام شفرة ضربية. نُدرج مفاتيح فك التشفير المقابلة في الأسفل، وعلى الرغم من عدم وضوح طريقة حسابها، يَسهُل التحقق من صحتها. تتمثل نتيجة الضرب في مفتاح التشفير ثم ضرب حاصل الضرب في مفتاح فك التشفير المقابل في عدم تغيير الأحرف، وهو ما يكافئ الضرب في رقم 1. على سبيل المثال، بالنسبة إلى مفتاح تشفير 3، ومفتاح فك تشفير 9، لا نحتاج إلا إلى إثبات أن (مقياس 26)، وهو صحيح، بما أن .
مفتاح التشفير: 1 3 5 7 9 11 15 17 19 21 23 25
مفتاح فك التشفير: 1 9 21 15 3 19 7 23 11 5 17 25

جميع الحقوق محفوظة لمؤسسة هنداوي © ٢٠٢١