تعتبر شيفرة ھیل أول شيفرة تتعامل فیھا مع 3 حروف في نفس الوقت[1]، ويمكنك التعامل مع عدد أكبر من الأحرف (أو أقل) وتعتبر من الشيفرات متعددة الأبجدية[2]. اخترعت سنة 1929 وسمیت بھذا الاسم نسبة إلى مخترعھا Lester S. Hill[3] وھي تعتمد في عملھا على الجبر الخطي [4]. ولكي تستطیع، التشفیر بھا یجب أن یكون لدیك أساسیات التعامل مع المصفوفات (ضرب المصفوفات بالذات ).
تحتاج شيفرة Hill إلى كلمة مفتاحية (Key Word) وهي عبارة عن كلمة يتم تحويل أحرفها إلى أرقام حسب تسلسل كل حرف في الأبجدية حيث يبدأ التسلسل ب 0 ليأخذ Z مثلا في الأبجدية الإنجليزية 25.
Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |
25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
التشفير
1.نختار أولا الكلمة المفتاحية ونحولها لمصفوفة أرقام على شكل n*n، مثلا كلمة JECD تصير وبعد ذلك نختار عدد أحرف النص الأولي على حسب مصفوفة الكلمة المفتاحية حيث أن أعمدة مصفوفة الكلمة المفتاحية يجب أن يساوي عدد صفوف مصفوفة أحرف النص الصريح، في هذه الحالة يجب أن يكون عدد الأحرف زوجيا مثلا لنختار كلمة Encryption كنص أصلي ولنختر التشفير بحرفين:
- En تصير
- cr تصير
- yp تصير
- ti تصير
- on تصير
2. نقوم بضرب المصفوفتين في بعضهما ويحتاج ذلك معرفة طريقة الضرب بعدها نعمل مود 26 لضرب المصفوفتين (مود 26 لأن عدد أحرف الأبجدية الإنجليزية 26 وهي الحروف المستخدمة في هاته الحالة).
ونعمل مود 26
ونغير كل حرف بالعدد المقابل في الجدول ليصير النص الأولي بعد التشفير بشيفرة هيل :
kvidqpvkwp
فك التشفير
ملاحظات
لفك التشفير نحتاج إلى مصفوفة معكوسة لمصفوفة المفتاح[5] وتوجد مصفوفات ليس لها مصفوفة معكوسة.
لذا بعد اختيار المفتاح يجب التأكد أولا من أن له مصفوفة معكوسة وإن لم يكن ذلك فلا يمكن فك تشفير الرسالة، بعد اختيار المفتاح وتحويله لمصفوفة نعمل محدد المصفوفة إن كان منعدما فإن المفتاح غير صالح لذا يجب التأكد من أن محدد مصفوفة المفتاح غير منعدم كما يجب أن يكون فرديا ومود 26 الخاص به مخالف ل 13.
الخطوات
- نحدد أولا محدد المصفوفة وفي حالتنا ، وهو غير منعدم.
- نقوم بتحديد مود 26 المحدد إذن، ويجب أن يكون لذلك يجب أن يكون مخالفا ل13 وفرديا.
- نقوم بتحديد x حيث أن في حالتنا لدينا و إذن x=11
- نحسب adjx حيث أن adjx = x * adj .
- نعمل مود 26 لadjx
إذن المصفوفة المعكوسة لمصفوفة المفتاح هي
بعد الحصول على المصفوفة المعكوسة
نأخذ النص المشفر ونقسمه إلى ثنائيات أو حسب المتفق عليه في حالتنا kv id qp vk wp. نحولها إلى مصفوفات ونضرب المصفوفة المعاكسة فيها:
ونعمل مود 26
وبالتالي تصبح كلمة kvidqpvkwp كلمة encryption .
المراجع
- "شيفرة هيل Hill cipher". www.kutub.info. مؤرشف من الأصل في 08 أكتوبر 201711 مارس 2018.
- "نشأة التشفير: خوارزميات التشفير التقليدية". مدونة علوم. 2016-01-21. مؤرشف من الأصل في 05 يوليو 201711 مارس 2018.
- "شفرة Hill Cipher التشفير المتعدد الابدالي Polygraphic substitution cipher". درر العراق. مؤرشف من الأصل في 09 ديسمبر 201911 مارس 2018.
- Alprogrammer. 📖 كتاب شيفرة هيل Hill cipher 📖. مؤرشف من الأصل في 16 يوليو 2018.
- كتاب Hill Cipher شفرةھیل