معمي الفدر


مُعَمِّي الفِدَر أو الكُتَل (بالإنجليزية: block cipher)‏ خوارزمية حتمية للتعمية، تُعمِّي مجموعة ثابتة الطول من البتات تُسمَّى الفِدرة[ا]. ومُعمِّيات الفِدر هي عناصر بناء رئيسة للعديد من بروتوكولات التعمية، وتستعمل قبل تبادل البيانات أو قبل تخزيتها لتأمينها بالتعمية.

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

التسمية

يُسمَّى المُعَمِّي بالإنكليزية (بالإنجليزية: Block Cipher)‏، ويذكر معجم أكسفورد الكبير 22 معنى لكلمة (block) عندما تستعمل اسماً، منها المعنى السادس عشر وهو (قطعة من ذات الشيء).[ج] ومن معاني الكلمة أيضاً: (كُتلة من الصخر أو الحجر[د] أو قطعة حجر صلبة مُعدَّة للبناء).[ه][1] أما كلمة (cipher) فلها معنيان في سياق التعمية: (طريقة كتابة سرية)[و] ويُقصد بها المُعَمِّي، أو (أي نص مكتوب بطريقة الكتابة سرية)[ز][2]، ويُقصد بها النص المُعمَّى.

تذكر بعض المعاجم العربية مصطلح فِدْرة (الجمع: فِدَر وفِدْرات) في مقابل كلمة block، ومنها معجم المورد الأكبر لمنير البعلبكي الذي يُعرِّفها أنها: (مجموعة من وحدات المعلومات المختزَنة في مواقع متتالية من الحاسوب)[عر 1] والمغني الأكبر لحسن الكرمي،[عر 2] ويورد كلا المُعجمين لفظة (كُتْلة) مقابلاً لهذه الكلمة أيضاً. ويرد لفظ فِدْرة، أو ما اشتق منه، بهذه الدلالة في معجمات علمية متخصصة كثيرة منها مثلاً معجم مصطلحات العلم والتكنولوجيا[عر 3] وقاموس المصطلحات العلمية[عر 4] وقاموس دار العلم الهندسي الشامل.[عر 5] وقد أوردت معجمات أخرى ألفاظاً عربية في مقابل (block) هي: الكتلة[عر 6] والمربع[عر 7] والمجموعة[عر 7] والمَقطَع.[عر 8] وأما المعاجم الموحَّدة الصادرة عن مكتب تنسيق التعريب، فقد ذكر المعجم الموحَّد لمصطلحات المعلوماتية لفظي (كتلة) و(تجميعة) في مقابل (block)، واكتفى بذكر (تجميع) في مقابل (blocking)،[عر 9] في حين أورد المعجم الموحَّد لمصطلحات تقانة المعلومات لفظة (كُتلة) في مقابل (block) وعرَّفها بأنها: (مجموعة معطيات متشابهة تُعالَج كوحدة غير قابلة للقسمة).[عر 10]

وفي لسان العرب مادة (ف د ر) أن الفِدْرة هي (القطعة من كل شيء) جمعها فِدَر، ومنها فدرة اللحم: أي القطعة من اللحم المطبوخ البارد، وفدرة الليل القطعة منه، والفدرة من الجبل القطعة المشرفة منه.[عر 11] أما في مادة (ك ت ل)، ففيها أيضاً أن الكُتْلة هي ما جُمِع من طين أو صمغ أو لحم أو تمر، وجعمها كُتَل.[عر 12]

وذكر معجم الجمعية العلمية السورية للمعلوماتية اللفظة الأجنبية ووضع مقابلاً لها هو التشفير الكتلي،[عر 13] وعرَّفه أنه: (طريقة تعمية بالمفتاح السري، تُقسم فيها المعطيات إلى كُتل محددة الطول، وتُعَمَّى محتويات كل كتلة معاً. أما طول الكتلة المُعَمَّاة فيساوي طول الكتلة الأصلية). ثم استبدل مجمع اللغة العربية بدمشق بلفظة التشفير مصطلحَ التعمية فجعل المقابل: التعمية الكتلية.[عر 14] أما مجمع القاهرة فأورد لفظة: (وحدة تجميعية) في مقابل block.[عر 15]

التعريف

مخطط لبنية مُعمِّي الفِدر يُبيِّن مداخله ومخارجه ومكوناته

يتكون مُعمِّي الفِدر من زوجين من الخوارزميات، واحدة للتعمية رمزها E، والأخرى لفك التعمية رمزها D.[3] ولكل من الخوارزميتين مُدخَلان: فِدرة بطول n بتاً ومفتاح التعمية بطول k بتاً، ولكلا الخوارزميتين مُخرَج وحيد هو فِدرة طولها n بتاً. وخوارزمية فك التعمية هي دالة عكسية لخوارزمية التعمية. أي:

يُعبَّر رياضياً عن مُعمِّي الفِدر بدالة تعمية كما يأتي:[4][5]

وفي هذه المعادلة: K هو مُدخَل يُمثِّل مفتاح التعمية، مقاسه[ح] k بتاً، وP هو مُدخَل آخر لسلسلة طولها n بتاً، ويُسمَّى الطول أيضاً مقاس الفِدرة.[ط] أما المُخرَج فهو سلسلة C طولها n بتاً. وتُسمَّى السلسلة P نصاً واضحاً، والسلسلة C نصاً معمى. لكل مفتاح K دالة عكوسة[ي] هي EK(P) مُستقرُّها {0,1}n، ومعكوسها هو مُعرَّف بالعلاقة الآتية:

في هذه المعادلة: دخل الدالة هو المفتاح K والنص المُعمَّى C، وخرجها هو النص الواضح P.

وتعكس دالة فك التعمية D عمل دالة التعمية E لو اُستعمِل المفتاح K نفسه، أياً كان النص الصريح P، ويُعبَّر عن هذا رياضياً بالعلاقة الآتية:

لو كان دخل خوارزمية التعمية في المُعمِّي فِدرة طولها 128 بتاً تُمثِّل النص الواضح، كان خرجها فِدرة معمَّاة طولها 128 بتاً، تُمثِّل النص المُعمَّى. ويَحكُم مُدخَل آخر، هو المفتاح، تعمية النص الواضح إلى نص مُعمَّى. أما فك التعمية فيكون بأسلوب مشابه: لو كان دخل خوارزمية فك التعمية في المُعمِّي فِدرة ومفتاحاً، وكان طول الوحدة 128 بتاً، كان خرجُها الفِدرة الأصيلة الكائنة قبل التعمية التي يبلغ طولها 128 بتاً.[6]

نبذة تاريخية

يستند التصميم الحديث لمُعمِّي الفِدر على مبدأ المُعمِّي الجُداء المُكرر[يا]. حلل كلود شانون سنة 1949م في بحثه المُعنون (نظرية التواصل للأنظمة الآمنة)[يب] مُعمِّيات الجداء، واقترح استعمالها لتحسين الأمن لقدرتها على الجمع بين العمليات البسيطة مثل الإبدال والتباديل [الإنجليزية].[7] تعمِّي المُعمِّيات الجُداء المكرر البيانات بعدة دورات، يُستعمَل في كلٍ منها مفتاح فرعي مُشتق من المفتاح الأصيل. شبكة فايستل [الإنجليزية] هي من الأمثلة على تطبيقات هذا المُعمِّي، وهي جزءٌ مدمج في المُعمِّي المُستعمل في معيار تعمية البيانات.[8] تُصنَّف تطبيقات عديدة لمُعمِّي الفِدر، مثل معيار التعمية المتقدم بأنها شبكة إبدال وتباديل [الإنجليزية].[9]

التصميم

معمِّيات الفِدر التكرارية

مُعَمِّي الفِدر تكراري من ثلاثة مراحل

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

مثلاً، ليكن معمي الفِدر بثلاثة دورات هي على الترتيب R1 وR2 وR3. يُحسَب النص المُعمَّى C من تعمية النص الواضح P وفق المعادلة:

يمكن عكس كل دورة باستعمال دالة الدورة المعكوسة iR لاستعادة النص الواضح من النص الأصيل وفق المعادلة:[11]

تكون الدوال المُستعملة في الدورات R1 وR2 وR3 متطابقة عادةً ولكنها تزوَّد بمفاتيح مختلفة تُسمَّى مفاتيح الدورات[يه]، هي في هذه الحالة K1 وK2 وK3. تُشتق هذه المفاتيح من المفتاح الأصيل K وتكون متمايزة ومختلفة عنه لجعل المُعمي أكثر أمناً.

شبكة الإعاضة والتباديل

مخطط لشبكة إعاضة وتباديل من ثلاثة دورات، تعمِّي فِدرة واضحة طولها 16 بتاً وتنتج فِدرة مُعمَّاة طولها 16 بتاً. يُرمز لصناديق الإعاضة بالرمز Si، وفيها i هو عدد صحيح موجب بين 1 و4، أما صناديق التباديل فرمزها P، وأما مفاتيح الدورات فرمزها Kj، وهي هو رقم الدورة.

شبكة الإعاضة والتباديل[يو] هي نوع مشهور من مُعَمِّيات الفِدر التكرارية، دخلها فِدرة من النص الواضح ومفتاح، تُطبِّق عليه دورات متتابعة من الإعاضة والتباديل لُتنتج على خرجها فِدرة مُعمَّأة.[12] تخلط مرحلة الإعاضة غير الخطية بتات المفتاح مع بتات النص الواضح لإضافة عنصر الإرباك[يز]، أما مرحلة التباديل فتضيف عنصر النشر[يح] إلى العملية.[13][14]

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

يُمثِّل الجدول التالي صندوق الإعاضة (S5) المُستعمل في معيار تعمية البيانات، وهو الأساس الذي تعتمد عليه عملية الإعاضة بستة بتات على دخل الصندوق أربعةَ بتات تظهر على خرجه. يُقسَّم الدخل إلى قسمين، البتان الأكثر أهمية ويُستعملان لتحديد السطر، والبتات الأربعة الأقل أهمية وتُستعمل لتحديد العمود، وهكذا يُقابل الدخل "011011" (البتان ذوا الأهمية العليا بالخط الغليظ) الخرج "1101".[16]

الصندوق
S5
البتات الأربعة الأقل أهمية
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
البتان الأكثر أهمية 00 0010 1100 0100 0001 0111 1010 1011 0110 1000 0101 0011 1111 1101 0000 1110 1001
01 1110 1011 0010 1100 0100 0111 1101 0001 0101 0000 1111 1010 0011 1001 1000 0110
10 0100 0010 0001 1011 1010 1101 0111 1000 1111 1001 1100 0101 0110 0011 0000 1110
11 1011 1000 1100 0111 0001 1110 0010 1101 0110 1111 0000 1001 1010 0100 0101 0011

أما صندوق التباديل فيبدِّل مواقع بتات خرج صناديق الإعاضة في إحدى الدورات ويدفع بها لتكون دخلاً لصناديق الإعاضة في الدورة التالية. كلما وزَّع صندوق التباديل بتات خرج صندوق الإعاضة على عدد أكبر من صناديق الإعاضة في المرحلة التالية، زادت مناعة التعمية وصَعُب استخراج معماها. تولَّد مفاتيح فرعية من المفتاح الأصيل، وتُسهم في التعمية بجعلها مُدخَلاً لعملية رياضية إلى جانب خرج صندوق التباديل، من العمليات الشائعة الفصل المنطقي الحصري [الإنجليزية] (XOR).

معميات فايستل

مُعمِّي فايستل وكيفي إنجازه للتعمية ولفكها.

تُقسَم وحدة النص الواضح المُجمَّعة في معمي فايستل[كا] إلى قسمين متساويي الطول: أيمن وأيسر. تُطبَّق دالة الدورة على القسم الأيمن مع مفتاح الدورة الفرعي، ثُم تُنفَّذ عملية الفصل الحصري (XOR) بين خرج الدالة والقسم الأيسر، ويُسمَّى الناتج خرج الدورة. في الدروة التالية، يعاد تنفيذ العملية نفسها، ولكن يحل خرج الدورة الأولى محل القسم الأيمن، والقسم الأيمن، كما كان عند التقسيم، محل القسم الأيسر.[17]

توصف العملية رياضياً كما يلي:[17] لتكن دالة الدورة، ولتكن المفاتيح الفرعية التي ستستعمل مع الدورات على الترتيب. تُقسَّم وحدة النص الواضح المُجمَّعة بعدها إلى قسمين أيمن وأيسر، هما على الترتيب (, ).

تنفَّذ العمليات التالية في كل دورة :

ويكون النص المُعمَّى في النهاية هو .

أما فك التعمية فتبدأ بالنص المُعمَّى ، وتُنفذ فيها الدورات بالترتيب ، وتنفَّذ العمليات التالية في كل دورة:

.

ينتج النص الواضح في نهاية عملية فك التعمية.

يتميز مُعمي فايستل مقارنة مع شبكة الإبدال والتباديل بأن دالة الدورة معفية من شرط أن تكون عكوسة.[18]

معميات لاي وماسي

The Lai–Massey scheme. The archetypical cipher utilizing it is IDEA.

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

يُعبر عن المُعمي رياضياً كما يأتي: لتكن دالة الدورة و دالة منتصف الدورة[كج] والمفاتيح هي المفاتيح الفرعين للدورات على الترتيب.

تُقسم وحدة النص الواضح إلى قسمين متساويين (, )، ويُحسَب التالي في كل دروة :

وفيها

و

ويكون النص المُعمَّى في نهاية كل الدورات هو:

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

وفيها

و

ويُستعاد النص الواضح بعد نهاية الدورات كلها.

هوامش

  1. ^ Block
  2. ^ universal hash tag
  3. ^ A piece of the same stuff
  4. ^ A mass of rock or stone
  5. ^ A solid piece of stone, prepared for building purposes
  6. ^ A secret or disguise manner of writing
  7. ^ Anything written in Cipher
  8. ^ key size
  9. ^ block size
  10. ^ invertible function
  11. ^ iterated product cipher
  12. ^ Communication Theory of Secrecy Systems
  13. ^ iterated
  14. ^ round function
  15. ^ round key
  16. ^ substitution–permutation network
  17. ^ confusion
  18. ^ diffusion
  19. ^ substitution box (S-box)
  20. ^ permutation box (P-box)
  21. ^ Feistel cipher
  22. ^ Lai–Massey scheme
  23. ^ half-round function

المراجع

فهرس المراجع

بالعربية
بالإنجليزية
  1. ^ Simpson (1989), vol. 2, p. 297.
  2. ^ Simpson (1989), vol. 3, p. 225.
  3. ^ Cusick (2009), p. 158–159.
  4. ^ Menezes (1996), p. 224.
  5. ^ Bellare، Mihir؛ Rogaway، Phillip (11 مايو 2005)، Introduction to Modern Cryptography (Lecture notes)، مؤرشف (PDF) من الأصل في 2022-10-09, chapter 3.
  6. ^ Chakraborty (2009), p. 321.
  7. ^ Shannon (1949), p. 656–715.
  8. ^ Tilborg (2011), p. 455.
  9. ^ Tilborg (2011), p. 1268.
  10. ^ Junod, Pascal & Canteaut, Anne (2011). Advanced Linear Cryptanalysis of Block and Stream Ciphers. IOS Press. ص. 2. ISBN:9781607508441.
  11. ^ Aumasson، Jean-Philippe (6 نوفمبر 2017). Serious Cryptography: A Practical Introduction to Modern Encryption. No Starch Press. ص. 56. ISBN:978-1-59327-826-7. OCLC:1012843116.
  12. ^ Keliher، Liam؛ وآخرون (2000). "Modeling Linear Characteristics of Substitution–Permutation Networks". في Hays، Howard؛ Carlisle، Adam (المحررون). Selected areas in cryptography: 6th annual international workshop, SAC'99, Kingston, Ontario, Canada, August 9–10, 1999 : proceedings. Springer. ص. 79. ISBN:9783540671855.
  13. ^ Baigneres، Thomas؛ Finiasz، Matthieu (2007). "Dial 'C' for Cipher". في Biham، Eli؛ Yousseff، Amr (المحررون). Selected areas in cryptography: 13th international workshop, SAC 2006, Montreal, Canada, August 17–18, 2006 : revised selected papers. Springer. ص. 77. ISBN:9783540744610.
  14. ^ Cusick، Thomas W.؛ Stanica، Pantelimon (2009). Cryptographic Boolean functions and applications. Academic Press. ص. 164. ISBN:9780123748904.
  15. ^ Katz (2008), p. 166.
  16. ^ Buchmann (2001), p. 133.
  17. ^ ا ب Katz (2008), p. 170-172.
  18. ^ Katz (2008), p. 171.
  19. ^ X. Lai, J. L. Massey. A proposal for a new block encryption standard. Advances in Cryptology EUROCRYPT'90, Aarhus, Denmark, LNCS 473, p. 389–404, Springer, 1991
    • Serge Vaudenay: A Classical Introduction to Cryptography, p. 33

معلومات المراجع

المقالات المحكمة
الكتب
بالعربية
بالإنجليزية