التعمية وأمن الشبكات
التعمية وأمين الشبكات، تأليف د.م. سائد محمود الناظر، الجزء الأول، الطبعة 1، 2005، دار شعاع للنشر والعلوم.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
مقدمة
لقد تطورت التقنيات الحاسبية ودخلت في مختلفة مجالات الحياة سواء العلمية أو الإدارية أو المالية أو العسكرية وا إلى هنالك. إضافة إلى ذلك انتشرت رقعة عمل المنظومات الحاسبة بحيث أصبحت لا تقتصر على منطقة جغرافية بل تشمل الكرة الأرضي بأسرها. أدى كل ذلك إلى نشوء مخاطر حقيقية ناجمة عن محاولة الدخول غير المشروع إلى البيانات المعالجة والمخزنة في الحواسب والمنقولة فيما بينهما، وذلك بغية الحصول على هذه المعلومات لأغراض مختلفة أو محاولة تغييرها أو تدميرها.
انطلاق من ذلك نشأت أفكار مختلفة في البداية تسعى إلى حماية هذه المعلومات، وقد تطورت هذه الأفكار بشكل متسارع نتيجة لتعاظم وتسارع المخاطر لتشكل علما قائما بحد ذاته هو علم حماية المعطيات (Data security) . يعتمد هذا العلم على أساس ومبادئ واضحة، كما أنه يملك أدوات مختلفة لتحقيقه، حيث تعتبر التعمية إحدى أهم الأدوات المستخدمة.
يطرح هذا الكتاب بشك لعام الأسس والمبادئ الأوليى للتعمية ويناقش طرقا مختلفة لتحقيق هذه الأداة الهامة، مبتدئا بأبسط الطرق ومتابعا للوصول إلى أحدث الخوارزميات المستخدمة في هذا المجال. كما يناقش الأساليب المختلفة وأماكن استخدام هذه التقنيات لتأمين أمن المعطيات.
يتألف هذا الكتاب من جزأين: يطرح الجزء الأول المفاهيم والمبادئ الأساسية للتعمية، ثم ينتقل للتعرف على خوارزميات التعمية المختلفة بتسلسل وجودها الزمني وأهميتها ليبدأ بخوارزميات التعمية التقليدية، ثم ينتقل إلى خوارزمات التعمية المتناظرة حيث يناقش عددا من الخوارزميات منها DES وAES وTriple DES وغيرها.
يتابع بعد ذلك للتعرف على خوارزميات التعمية باستخدام المفتاح العمومي، ويناقش كذلك عددا منها مثل RSA وECC. يتضمن هذا الجزء دراسة موجزة عن الرياضيات اللازمة لعمل هذه الخوارزميات.
أما الجزء الثاني من هذا الكتاب فيناقش كيفية تطبيق الخوارزميات السابقة وضمان أمن الشبكات الحاسبية، حيث يتعرض إلى مواضيع مختلفة في هذا المجال منها: تطبيقات التعرف على الهوية: وحماية البريد الالكتروني وحماية شبكة الإنترنت، كما يتطرق إلى طرق كشف الدخلاء وطرق عمل البرامج الضارة ومبادئ عمل جدران النار. تحتوي صفحة الإنترنت الخاصة بهذا الكتاب والتي يمكن الدخول إليها من خلال الصفحة الرئيسية لدار شعاع على بعض المسائل التطبيقية لكل فصل من الفصول، والتي تساعد على تركيز المعلومات الورادة في الفصل وتثبيت المفاهيم الواردة فيه. يمكن لهذا الكتاب أن يكوون مرجعاً علمياً للدارسين، كما يمكن أني كون مرشداً تطبيقياً للمبرمجين الذي يهتمون بهذا المجال من وجهة نظر تطبيقية بحتة.
تعرضت متطلبات أمن المعلومات خلال العقود الخيرة إلى تغييرين رئيسيين. فقبل الانتشار الواسع لأجهزة معالجة المعطيات كان يتم تأمين أمن المعطيات، والتي تعتبر هامة بالنسبة لمؤسسة ما بطريقتين: الفيزيائية والإدارية. ا لمثال الواضح على الطريقة الأولى هو استخدام الخزائن الكبيرة والمنيعة، الموصدة بواسطة سلسلة من المفاتيح المعقدة، وذلك من أجل حفظ الوثائق الهامة. أما المثال عن الطريقة الثانية فهي الإجراءات المختلفة لمراقبة الموظفين والتي تستخدم أثناء ساعات العمل الرسمي.
ومع دخول الحواسب في مجالات مختلفة أصبح ضرورة وجود أدوات مؤتمتة لتأمين حماية الملفات وبقية المعلومات المخزنة داخل هذه الحواسب. تظهر هذه الحالة بشكل خاص في الأنظمة المتشارك عليها مثل المنظومات التي تعمل في نمط توزيع الوقت. كما تشتد الحاجة إلى مثل هذه الأدوات في الأنظمة التي تسمح بالدخول إليها عن طريق الشبكة الهاتفية العامة أو عن طريق شبكة معطيات أو عن طريق الإنترنت. تنضوي مجموعة الأدوات المصممة لجماية المعطيات ولمقاومة محاولة انتهاكها تحت اسم "أمن الحاسبات".
التغيير المهم ال ثاني اذلي أثر على أمن المعطيات هو تقدم الأنظمة الموزعة واستخدام الشبكات وتسهيلات الاتصالات من أجل نقل المعطيات بين طرفية المستخدم والحاسب أو بين حاسب وحاسب آخر.
تنبع الحاجة إلى إجراءات أمن الشبكات (Network Security) من ضرورة حماية المعطيات أثناء نقلها.
إن تعبير "أمن الشبكات" مضلل في الحقيقة، ذلك لأن كل الهيئات التجارية والحكومية والأكاديمية تعمل على توصيل أجهزة معالجة المعطيات لديها فيما بينها عن طريق شبكات مختلفة، يطلق على هذه الترطيبة في الغالب اسم Internet. لذلك يستخدم في هذه الحالة التعبير Internet Security مكان Network Security. لا توجد هناك حدود واضحة بين هذين النوعين من الأمن. فعلي سبيل المثال، تعتبر الفيروسات أحد أشكال مهاجمة المعطيات الأكثر انتشاراً وشهرة. يمكن إدخال الفيروس إلى الحاسب فيزيئاً وذلك عندما نستخدم في هذا الحاسب قرصاً يحوي الفيروس، كما يمكن أن يصل إلى الحاسب عن طريق الشبكة. وفي كلتا الحالتين، يستدعي وجود الفيروس داخل احاسب الإسراع إلى إقتناء أدوات أمنية لاكتشافه وحذفه.
يركز هذا الكتاب على أمن الشبكات، والذي يتضمن الإجراءات اللازمة لكشف عميلات خرق وانتهاك المعلومات وردمها وتصحيحها إذا لزم الأمر. تغطي العبارات السابقة عصبة عريضة جداً من الإجراءات، لذلك سيتم توضيح ما يغطيه هذا الكتاب من خلال الأمثلة التالية لعمليات انتهاك أو خرق المعلومات:
1-يقوم المستخدم A بإرسال ملف إلى المستخدم B. يحوي هذا الملف معلومات هامة وحساسة لا يجوز نشرها (مثل بيان الأجور، كشف مصرفي . . . ). يستطيع المستخدم C، وهو مستخدم غير مرخص له بقراءة الملف، مراقبة عملية نقل، وأخذ نسخة من الملف أثناء إرساله.
2-يقوم D (مدير الشبكة) بإرسال رسالة إلى الحاسب E الواقع في نطاق إدارته. تعلم هذه الرسالة الحاسب E بضرورة تحديث ملف التحويل (Authorization file) وذلك من أجل إضافة مرعفات المستثمرين الجدد الذين يملكون حق الدخول إلى هذا الحاسب.
يقوم المستخدم F باعتراض هذه الرسالة ويغير من محتواها بإضافة أو حذف بعض المداخل، ومن ثم يوجه الرسالة إلى E والذي يتلقاها كما لو أنها قادمة من D مباشرة ويقوم بناء عليها بتعديل ملف التحويل كما هو وراد في هذه الرسالة.
3-بدلاً من أن يقوم المستخدم F باعتراض الرسالة، يقوم بتشكيل رسالة تحوي المداخل التي يرغب بها ويوجهها إلى E, كما لو أنها كانت قادمة من المدير D. يستقبل الحاسب E هذه الرسالة وينفذ مضمونها بتعديل ملف التحويل كما هو وراد فيها.
4-يتم طرد موظف ما بدون إنذار. يرسل المدير الإداري رسالة إلى المستخدم لإبطال حساب هذا الموظف. لإتمام الإبطال يقوم المستخدم بإرسال رسالة إلى ملف الموظف، يمكن للموظف اعتراض هذه الرسالة وتأخيرها لوقت ما، بحيث يتاح له في هذا الوقت الحصول على معلومات هامة من المستخدم. يقوم الموظف بعد ذلك بإرسال هذه الرسالة وذلك من أجل التعتيم على العمل الذي قام به.
مع أن اللائحة المعروضة سابقاً لا تغطي على الإطلاق الاحتمالات الممكنة لإختراق الشبكات، إلا أنها توضح مجال اهتمامات أمن الشبكات.
يتميز أمن الشبكات بتعقيد ممزوج ببعض المتعة. فيما يلي بعض الأسباب المؤدية إلى هذه الملاحظة:
1-إن قضايا تحقيق الأمن المتعلق بالشبكات والاتصالات ليست بسيطة كما تبدو للقادمين الجدد إلى هذا المجال. تبدو المتطلبات واضحة تماماً، وبالفعل، تتضح معظم المتطلبات الأساسية للأمن من خلال أسمائها: السرية، إثبات الهوية، رفض الاعتراف، الكمالية. إلا أن الآليات المستخدمة لتحقيق هذه المتطلبات يمكن أن تكون معقدة للغاية، ويمكن أن يحتاج فهمها إلى منطق راسخ.
2-عندما يقوم شخص ما بتطوير آلية أو خورازمية حماية ما، يجب أن يأخذ بعين الاعتبار كل أنواع الهجوم الممكنة على نظامه. ففي كثير منالأحيان، يستند الهجوم الناتج إلى رؤية مختلفة للحماية مما يسمح باستغلال نقاط الضعف غير المتوقعة في آليات الحماية.
3-في ضوء البند السابق نرى أن الإجراءات المستخدمة لتقديم خدمة ما تكون غير واضحة وبديهية على الغالب. فلا يبدو واضحاً للوهلة الأولى أن هذه الإجراءات ضرورية لتحقيق المتطلب الأمني الذي وضعت من أجله. إنما تتضح الصورة بعد رداسة كافة الإجراءات والاحتمالات لخرق المتطلب الأمني الموضوع.
4-عند تصميم آليات تحقيق الأمن المختلفة، يجب اتخاذ القرار حول مكان استخدام هذه الآليات، وذلك من وجهتي النظر: الفيزيائية، أي ما هي نقاط الشبكة التي تحتاج هذه الآلية. والمنطقية، أي في أية طبقة أو طبقات يجب استخدام هذه الآلية.
5-تتضمن معظم آليات الحماية أكثر من خورازمية أو بروتوكول واحد. حيث يجب على الغالب أن يكون في حوزة المشتركين بعض المعلومات السرية (على سبيل المثال مفاتيح التشفير)، مما يؤدي إلى طرح الأسئلة حول طريقة توليد هذه المعلومات وتوزيعها وحمايتها. إضافة لذلك، هناك اعتماد على بروتوكولات الاتصال، والتي تؤدي في بعض الأحيان إلى تعقيد عملية تطوير آلية الحماية. فعلى سبيل المثال، إذا افترض العمل الصحيح لأحد آليات الحماية وجود حدود زمنية لانتقال الرسالة من المرسل إى المستقبل، فإن أي بروتوكول أو شبكة تقدم إمكانية تغيير هذا الفاصل الزمني سوف تجعل من الحدود المفروضة من قبل آيلة الحماية مقداراً لا معنى له، وبالتالي سوف تفقد آلية الحماية مفعولها.
نرى من خلال ما تقدم أن هناك أموراً كثيرة يجب أخذها بعين الاعتبار. يقدم هذا الفصل نظرة عامة عن المواضيع التي سيبنى عليها هذا الكتاب. سيتم البدؤ بمناقشة عامة لخدمات وآليات امن الشبكات والأنواع الهجوم المحتملة والتي خصصت من أجلها هذه الآليات. يتم بعد ذلك تطوير النموذج الكلي والي سيتم من خلاله استعراض آليات وخدمات أمن الشبكات.
الخدمات والآليات والهجوم
يحتاج المدير المسئول عن أمن النظام في مؤسسة ما (والذي يسمى في كثير من الأحيان المدير الأمني للنظام) إلى طريقة واضحة لتحديد المتطلبات الأمنية لنظامه، وذلك بغية تخطيط الحماية المتبعة واقتناء المنتجات التي تؤمن هذه الحماية.
تستدعي إحدى هذه الطرائق إدراك النقاط الثلاث التالية المتعلقة بامن المعلومات:
•طرائق مهاجمة أمن المنظومة: وهي عبارة عن الفعاليات التي تؤدي إلى فضح حماية المعلومات الخاصة بالمؤسسة.
•الخدمة الأمنية: هي الآليات المصممة لكشف ومنع الهجوم على المعلومات واستعادتها في حال تعرضها لخطر ما.
•الخدمة الأمنية: هي الخدمة التي تحسن من أمن منظومات معالجة المعطيات ومنظومات تبادل المعطيات في المؤسسة. تهدف هذه الخدمات إلى إبطال عمليات الهجوم على المعلومات الخاصة بالمؤسسة، مستخدمة لذلك آلية أو أكثر من آليات الحماية. سنحاول توضيح هذه النقاط الثلاثة انطلاقاً من النقطة الأخيرة
الخدمات
دعنا ننظر أولاً إلى الخدمات الأمنية المرتبطة عادة بالوثائق الفيزيائية الاعتيادية. تعتمد فعاليات الجنس البشري في مختلف المجالات، مثل التجارة والسياسة الخارجية والأ‘مال العسكرية و . . . الخ، على استخدام الوثائق وتبادلها مع تأمين سرية وكمالية هذه الوثائق. تمتلك الوثائق عادة تواريخ وتواقيع، وتتطلب هذه الوثائق على الغالب نوعاً من ال حماية ضد عمليات فضحها وتزويرها وتحريبها، كأن تكون موثقة في مكان ما، أو ممهورة بخاتم أو مسجلة رسمياً وما إلى هنالك.
أدى التغلغل الكبير لنظم المعلومات في مختلف مجات الحياة وخاصة الشؤون المهنية إلى استبدال الوثائق الورقية العادية بمعلومات أو وثائق إلكتروينة، وبالتالي يجب أن تقوم هذه الوثائق الإلمتروينة بنفس الوظائف التي كانت تقوم بها الوثائق الورقية الاعتيادية. إلا أن السمات الخاصة بالوثائق الإلكتروينة جعلت تحقيق هذه الوظائف أو الخدمات أمراً صعباً:
1-من الممكن عادة التمييز بين الوثيقة الورقية وأية نسخة عنها، إلا أنه من المستحيل التمييز بين الوثيقة الإلكترونية وأية نسخة منها، وذلك لأن الوثيقة الإلكترونية هي بشكل أو بآخر تسلسل محدد للخانات الرقمية فحسب.
2-يمكن أن يترك التغيير في الوثيقة الورقية أثراً فيزيئاً يكشف هذا التغيير أو التعديل. فعلى سبيل المثال يمكن أن تترك الممحاة بقعة بيضاء صغيرة في حدود تأثيرها. أما في حالة الوثائق الإلكترونية فإن تغيير محتوى خانى ما أو إشارة ما لن يترك أي أثر فيزيائي.
3-تبنى أية عملية تحقق أو إثبات مرتبطة بوثائق ورقية على مجموعة الخصائص الفيزيائية لهذه الوثيقة (على سبيل امثال شكل التوقيع اليدوي، أو ختم الكاتب بالعدل). أما التحقق من أصولية الوثيقة الإلكترونية فيجب أن يبنى على أثر داخلي موجود ضمن المعلومات.
يبين الجدول 1-1 بعض الوظائف الشائعة التقليدية المرتبطة بالوثائق والتي يطلب تنفيذ مثيلاتها على الوثائق الإلكترونية. يمكن اعتبار هذه الوظائف على أنها متطلبات يجب تامينها من قبل الخدمات الأمنية أو خدمات الحماية.
اللائحة المدرجة في الجدول 1-1 طويلة نسبياً، ولا يمكن أن تكون بمفردها مرشداً لتنظيم خدمة الحماية. عوضاً عن ذلك ركزت أبحاث أمن الحواسب وأمن الشبكات على بعض الخدمات الأمنية العامة والتي تشمل معظم الوظائف المطلوبة لتأمين أمن المعلومات. سيتم استعراض هذه الخدمات في الفقرة اللاحقة.
التعريف | Identification |
التخويل | Authorization |
الترخيص و/أو المصادفة | license or/and certification |
التوقيع | Signature |
الشهادة (الكتابة بالعدل) | Witnessing (notarization) |
المطابقة | Concurrence |
المسؤولية القانونية | Liability |
الاستلام | Receips |
المصادقة على الأصل و/أو على الاستلام | Certification of origination and/or receipt |
التوقيع على شيك | Endorsement |
الدخول (الخروج) | Acess (egress) |
التحقق من الصلاحية | Validation |
زمن الحدوث | |
الأصالة-للبرامج أو الملفات | Authenicity-Software or files |
الاقتراع أو التصويت | Vote |
الملكية | Ownership |
التسجيل | Registration |
موافقة/عدم الموافقة | Approval/disapproval |
الخصوصية (السرية) | Privacy (Secrecy) |
الآليات
الآليات
لا توجد أية آلية واحدة تنفذ كل الوظئاف المدرجة في الجدول 1-1. سنرى في سياق هذا الكتاب العديد من الآليات التي تتكامل ف يتحقيق مختلف أجزاء هذا الجول، لكن يمكن أن نذكر أن هناك عنصراً واحداً يدخل في بنية العديد من آليات الحماية المستخدمة: تقنيات التعمية. فالتعمية، أو عمليات التحويل التي تشابه التعمية هي في الواقع الآليات الأكثر شيوعاً في تحقيق الأمن. لذلك يركز هذا الكتاب على تطوير واستخدام وإدارة هذه التقنيات.
الهجوم
يقصد بأمن المعلومات، كما هو وارد في الكثير من الكتب، كيفية منع الهجوم، وإذا لم يحدث ذلك، فكيفية الكشف عن الهجوم على المنظومات التي تعتمد في عملها على المعلومات، ومن ثم كيف يمكن استعادى المعلومات التي تعرضت للهجوم، وذلك بدون التدخل بمعنى المعلومات بحد ذاتها.
يضم الجدول 1-2 قائمة بأمثلة عن الهجوم، حيث ظهر كل منها في أحد الحالات الحقيقية. تمثل هذه الأمثلة حالات هجوم خاصة تحاول المؤسسة أو الأشخاص التصدي لها أو منعها. اما طبيعة الهجوم الذي تهتم به مؤسسة ما فيختلف من حالة إلى أخرى. لحسن الحط، يمكن أن تفهم المسألة عن طريق النظر إلى الأنواع العامة للهجوم من مناظير مختلفة، وهو موضوع الفقرة اللاحقة.
1- امتلاك إمكانية الدخول غير المشروع إلى ال معلومات. |
2-انتحال شخصية مستخدم آخر لإزاحة المسئولية أو لاستخدام ترخيص الأشخاص الآخرين من أجل: |
أ- توليد معلومات للاحتيال أو المخادعة |
ب- تعديل معلومات حقيقية. |
ج- استخدام هوية احتيالية للحصول على إمكانية دخول غير مشروع. |
د- التأكيد الاحتيالي على عمليات نقل معلومات. |
3- التنصل من مسئولية معلومات قام المحتال بتوليدها. |
4- إدعاء استقبال معلومات من مستخدم آخر، بينما قام المحتال نفسه في الحقيقة بتوليدها. |
5- إدعاء بإرسال معلومات لمستقبل ما (في وقت محدد) بينما في الحقيقة لم يتم إرسالها (أو تم إرسالها في وقت آخر). |
---|
6- التنصل من حقيقة استلام معلومات تم استلامها فعلاً أو الإدعاء باستلامها في وقت مخالف. |
7- توسيع صلاحيات المحتال (للدخول، أو توليد المعلومات، أو التوزيع، ...) |
8- تعديل تراخيص الأشخاص الآخرين (بدون امتلاك صلاحية لهذا). |
9- إخفاء وجود بعض المعلومات أو حجبها بمعلومات أخرى. |
10- التطفل على الاتصال بين طرفين على هيئة عقدة اتصال فعالة. |
11- تحصيل معلومات عن الأشخاص الذين وصلوا إلى المعلومات (ملفات، قواعد بيانات ... ) ومتى تم هذا ا ل وصول، ذلك بغية تحليل هذه المعلومات واستخلاص مايفيد منها. |
12- إضعاف الثقة ببروتوكول كمالية المعطيات، عن طريق فضح معلومات من المفترض أن يبقيها المقال سرية (وذلك حسب شروط البروتوكول). |
13- إفساد وظائف البرامج عن طريق إضافة وظائف خفية أو سرية. |
14- جعل الآخرين ينتهكون حرمة البروتوكول عن طريق تقديم معلومات غير صحيحة. |
15- إضعاف الثقة في البروتوكولات عن كريق إحداث خلل واضح في النظام. |
16- منع الاتصالات بين المستخدمين، وبشكل خاص التداخلات السرية، لكي يتم رفض الاتصالت الموثوقة واعتبارها على أنها اتصالات غير موثوقة. |
يجب الانتباه إلى أن مفهوم النهيديد يدلان على نفس الشئ، وذلك حسب التعريفات المأخوذة من قاموس أمن الإنترنت RFC 2828 والواردة في الجدول 1-3.
التهديد Threat: هو الانتهاك المحتمل للسرية نتيجة بعض الحالت أو الإمكانيات أو الفعاليات او الأحداث التي يمكن أن تخرق السرية وتحدث أضراراً. وبالتالي فالتهديد هو الخطر المحتمل والذي يمكن أن يؤثر على حصانة النظام.
الهجوم Attack: اعتداء على أمن النظام والذي ينبع عن تهديد ذكي. أي أنه فعل ذكي أو محاولة ذكية لتجنب الخدمات الأمنية وخرق السياسة الأمنية للنظام. |
---|
البنية الأمنية للنظام OSI
يحتاج المدير الأمنى، كما ذكرنا سابقاً، إلى طريقة منظمة ومحددة من أجل تحديد المتطللبات، وبالتالي تقدير المنتجات والسياسات الأمنية المختلفة واختيار اللازم منها. وهذا صعب أساساً بما فيه الكفاية في بيئة معالجة بيانات مركزية، أما عند استخدام الشبكات المحلية والشبكات الواسعة فتزداد الأمور تعقيداً.
قام الاتحاد العالمي للاتصالات في توصيته X.800 H أو "البنية الأمنية للنظام OSI"(Security Archiecture for OSI) بتحديد هذه الطريق المنظمة. فبنية OSI الأمنية تفيد هؤلاء المدراء كطريقة لتنظيم عملية التجهيز الأمني. والأكثر من ذلك قام مصنعي الحواسب والاتصالت بتطوير ميزات امنية لمنتاجتهم بما يتوافق مع هذا التنظيم كونه أصبح قياساً عالمياً معترفاً به.
تزودنا البنية الأمنية OSI بنظرة عامة مفيدة لعديد من المفاهيم المستخدمة في هذا الكتاب. وتركز على الخدمات والآليات الأمنية وأنواع الهجوم المحتمل.
خدمات الحماية
تعرف التوصية X.800 خدمات الحماية على أنها تلك الخدمات المقدمة من قبل طبقة بروتوكول الاتصال في الأنظمة المفتوحة، والتي تضمن الأمن الكافي للنظام أو للمعطيات المنقولة.
ربما يكون التعريف التالي والوارد في وثائق RFC 2828 أوضح: خدمات المعالجة أو الاتصال المقدمة من قبل النظام لتأمين نوع خاص من الحماية لموارد هذا النظام. تقوم الخدمات الأمنية بتطبيق السياسات الأمينة والتي تعتمد بدورها على الآليات الأمنية.
تقسم التوصيات X.800 هذه الخدمات إلى خمسة أصناف وأربع عشرة خدمة خاصة (كما هو وراد في الجدول 1-4). وسنقوم بشرح كل واحدة كمها على حدة.
المصادقة
تركز خدمات المصادقة على أن تكون الاتصالات موثوقة. ففي حالة الرسالة المفردة، مثل التحذير أو إشارة التنبيه، تكون وظيفة خدمة المصادقة هي تقديم ضمانة للمستقبل بأن الرسالة التي وصلته صادرة فعلاً من المصدر الذي يدعي أنها منه. اما في حالة التراسل التبادلي، كما هي الحالة بين الطرفية والحاسب المضيف فإن الأمر يتضمن شيئين. أولاً، عند بدء الاتصال، يجب أن تضمن الخدمة أن كلا الطرفين موثوقان او بمعنى أدق محددان، أي انهما فعلاً هما من يدعيان أنفسهما. ثانياً، يجب ان تضمن الخدمة بأنه لم يحصل أي تدخل أثناء عملية الاتصال، كأن يتخفى طرف ثالث تحت اسم أحد الطرفين وبالتالي تتاح له عملية إرسال أو استقبال غير مشروعة.
هناك خدمتا مصادقة خاصتان معرفتان في هذا المجال:
•مصادقة الطرفين Peer entity authentication: تؤمن عملية إثبات الهوية أو التحقق منها لكلا طرفي الاتصال. وتعمل هذه الخدمة وقت الاتصال أو أثناء طور التراسل. فهي تحاول تامين الثقة في أحد الأطراف في حال لم يحاول هذا الطرف تأمينها وذلك إما لكونه منتحل شخصية غيره أو عند الإعادة غير المشروعة لاتصال سابق.
•مصداقة مصدر المعطيات Data origin authentication: تستهدف هذه الخدمة تأكيد مصدر المعطيات. لا تؤمن هذه الخدمة حماية ضد عمليات نسخ المعطيات أو تعديلها. يقوم هذا النوع من الخدمات بدعم تطبيقات مماثلة للبريد الالكتروني حيث لا يوجد في هذه الحالة أي تفاعل سابق بين الأطراف المتصلة مع بعضها بعص.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
التحكم بالوصول
يفهم من التحكم بالوصول في سياق أمن الشبكات بانه القدرة على التحكم وتحديد الوصول إلى النظام المضيف والتطبيقات الموجودة فيه من خل ال الاتصالات المقدمة. ولتحقيق ذلك يجب أولاً أن يتم تعريف الطرف الذي يرغب بالوصول، ومن ثم يتم تحديد صلاحيات الوصول المخصصة.
سرية المعطيات
يقصد بسرية المعطيات أو خصوصيتها، حماية المعطيات المنقولة من التأثير السلبي (غير الفعال – والذي ستم شرحه لاحقاً). يمكن تحديد عدة مستويات حماية، وذلك حسب مضمون المعطيات المنقولة. تحمى الخدمات الأكثر انتشاراً المعطيات المنقولة بين المستخدمين خلال فترة زمنية ما. فعلى سبيل المثال، إذا تمت إقامة اتصال من النوع TCP بين نظامين، فإن الحماية العامة في هذه الحالة تمنع تحرير معطيات أي مستخدم منقولة عبر الاتصال TCP. يمكن أيضاً تعريف الأشكال الأضيق من هذه الخدمة وذلك لتضمن حماية رسالة محددة أو حتى حقل محدد ضمن الرسالة. تعتبر هذه التحديات أقل فائدة من النمط العام، بالإضافة إلى كونها أكثر تعقيداً وأكثر كلفة أثناء عمل التطبيق.
الشق الآخر من السرية هو حماية تيار المعلومات من التحليل. ويتحقق هذا الأمر عن طريق عدم ترك مجال للمهاجم بمراقبة ومعرفة المصدر والمآل والتردد والطول وبقية خصائص تيار المعلومات المتنقلة أثناء عمليات الاتصال.
كمالية المعطيات
يمكن تطبيق كمالية المعطيات، كما هو الحال في سرية المعطيات، على سلسلة الرسائل المنقولة، أو على رسالة واحدة أو على حقل معين ضمن رسالة ما. ونرى في هذه الحالة أيضاً أن النمط المفيد هو حالة تطبيق كمالية المعطيات على كامل تيار المعطيات.
تضمن خدمة كمالية المعطيات المعتمدة على الاتصا ل، وهي تلك الخدمة التي تتعامل على سلسلة الرسائل كافة، بأن يتم تلقي الرسالة كما أرسلت تماماً، بدون أية مضاعفة أو غرس، أو تعديل، أو إعادة ترتيب أو إعادة توجيه. كما تقدم هذه الخدمة علاجاً لعمليات تدمير المعطيات أيضاً. وبالتالي فإن خدمة الكمالية المعتمدة على الاتصال تغطي كلاً من تعديل سلسلة الرسائل أو رفض الخدمة نهائياً. من جهة أخرى، فإن الخدمات غير المعتمدة على الاتصال، وهي تلك التي تتعامل مع رسائل محددة فقط بغض النظر عن سياقها العام، تقدم بشكل عام الحماية ضد تعديل الرسائل فقط. يمكن أن نميز بين الخدمات التي تؤمن وظائف الاسترجاع وتلك التي لا تؤمن هذه الوظائف. تنتسب خدمات الكمالية إلى فعاليات مكافحة الهجوم الفعال، وبالتالي فإنها تهتم بأعمال الكشف أكثر من اهتمامها بأعمال المنع. فإذا تم كشف أي انتهاك لكمالية المعطيات، فإن خدمات الكمالية سوف تعبر بطريقة ما عن ذلك، وعندها ستقوم برامج أخرى أو سيقوم المستثمر يدوياً باسترجاع المعطيات التي تعرضت للهجوم. تتوفر بدلاص عن ذلك آليات خاصة للاسترجاع من الضياع الناتج عن فقد كمالية المعطيات، وسنرى ذلك لاحقاً. يعتبر تجسيد آليات الاسترجاع المؤتمتة من أفضل البدائل المتوفرة.
عدم الإنكار
يقصد بعدم الإنكار منع المرسل أو المستقبل من إنكار الرسالة المنقولة. وبالتالي، عندما يتم إرسال الرسالة، يستطيع المستقبل الإثبات بأن الرسالة تم إرسالها فعلاً من قبل المرسل المزعوم. بشكل مشابه، عند استقبال الرسالة، يمكن للمرسل أن يثبت انه تم استقبال الرسالة فعلاً من قبل المستقبل المزعوم.
خدمة التوفر
يعرف كل من المبرمجين X.800 و RFC 2828 التوفر على أنه خاصية نظام أو مورد نظام بأن يكون قابلاً للوصول إليه أو استخدامه حين الطلب من قبل أي شخصية معرفة ومحددة في النظام، وذلك حسب مواصفات أداء هذا النظام (أي يكون النظام متوفراص إذا قدم الخدمة بما يتوافق مع تصميمه عندما يطلب المستخدم ذلك). يمكن أن تؤدي أنواع مختلفة من الهدوم إلى فقدان التوفر أو تقليصه. يمكن صد بعض انواع الهجوم بواسطة الإجراءات المضادة المؤتمتة، مثل تحديد السرية والتعمية، بينما يتطلب بعضها الآخر فعلاً أو تداخلاً فيزيائياً لمنعها أو للاستعادة من ضياع توفر بعض عناصر النظام الموزع.
تعالج وثائق X.800 التوفر على أنه خاصية مرتبطة بالعديد من الخدمات الأمنية. على أية حال، من المفيد أحياناً فرز خدمة خاصة بالتوفر. خدمة التوفر هي الخدمة التي تحمي النظام لضمان توفره. وهي موجهة خصيصاً ضد الهجوم الذي يؤدي إلى عدم توفر الخدمات. وتعتمد على غدارة موارد النظام والتحكم به وبالتالي تعتمد على خدمة التحكم بالوصول وبعض الخدمات الأمنية الأخرى.
المصادقة
ضمان أن الجهة المتصلة هي نفسها من تدعي هويتها. |
تكامل البيانات
ضمان أن البيانات التي تم استقبالها هي بالضبط التي تم إرسالها من قبل الجهة المرخص لها (أي، لا تحوي أية تعديلات، إضافات أو ردود). |
مصادقة الجهة الند
تستخدم مع اتصال منطقي لتأمين ضمان الهوية للجهة المتصلة. |
تكامل الاتصال مع إمكانية الاستعادة
تامين تكامل جميع بيانات المستخدمين على اتصال ما، ويكتشف أية تغييرات، إدراجات، حذف أو رد على أية بيانات ضمن كامل تتابع البيانات مع محاولة استعادة البيانات الأصلية. |
مصادقة أصل البيانات
أثناء اتصال نقل، يؤمن ضمان أن أصل البيانات التي يتم استقبالها هو من يدعي هويته. |
تكامل الاتصال دون إمكانية استعادة
كما هو مشروح أعلاه لكن مع تأمين الكشف فقط دون إمكانية الاستعادة. |
التحكم بالوصول
منع الاستخدام غير المرخص به الموارد (أي أن هذه الخدمة تتحكم بمن يستطيع امتلاك الوصول).إلى مورد معين وتحت أية شروط يمكن أن يتم هذا الوصول وما الذي يستطيع فعله أولئك الذين يستخدمون هذا المورد). |
تكامل حقول مختارة مع وجود اتصال
تأمين تكامل بعض الحقول المختارة ضمن بيانات المستخدم لكتلة من البيانات التي يتم نقلها عبر الاتصال، ويأخذ شكل التاكد من أن الحقول المختارة قد تم تعديلها، إدراجها، حذفها أو الرد عليها أم لا. |
سرية البيانات
حماية البيانات من الاعلان عنها بشكل غير مرخص به. |
تكامل عدم الاتصال
تأمين تكامل كتلة بيانات وحيدة دون اتصال، ويمكن ان يأخذ شكل اكتشاف أية تعديلات على البيانات. بالإضافة لذلك، قد يتم تأمين شكل محدود من اكتشاف وجود رد. |
سرية الاتصال
حماية جيمع بيانات المستخدمين على اتصال معين. |
تكامل حقول مختارة دون وجود اتصال
تامين تكامل حقول مختارة ضمن كتلة بيانات واحدة دون اتصال، يأخذ شكل تحديد احتمال وجود تغيير على هذه الحقول. |
سرية الحقول المختارة
سرية حقول مختارة ضمن بيانات المستخدمين ضمن اتصال معين أو ضمن كتلة واحدة من البيانات. |
عدم رفض الالتزام
تامين حماية ضد رفض إحدى الجهات المشاركة بالاتصال الاتعارف بمشاركتها بكامل أو بجزء م الاتصال. |
سرية جريان البيانات
حماية المعلومات التي من الممكن استخلاصها عن طريق مراقبة جريان المعلومات عبر الاتصال. |
عدم رفض الأصل
تأمين برهان على أن الرسالة قد تم إرسالها من قبل الجهة المحددة. |
عدم رفض الوجهة
تأمين برهان على أن الرسالة قد تم استلامها من قبل الجهة المحددة. |
آليات الحماية
يعرض الجدول 1-5 آليات الحماية المعرفة في الوثائق X.800. تقسم هذه الآليات كما هو واضح إلى قسمين: الآليات التي يمكن تطبيقها في طبقة البروتوكول الخاصة والآليات غير المعتمدة على أية طبقة بروتوكول أو خدمة أمنية. ستتم تغطية هذه الآليات في الأماكن المناسبة من هذا الكتاب وبالتالي لن نتوسع بها الآن، وسنكتفي بالتعليق على تعريف التشفير. تميز وثائق X.800 بين آليات التشفير العكوس وآليات التشفير غير العكوس. فآليات التشفير العكوس هي ببساطة خورازميات التعمية التي تسمح بتعمية أو تشفير المعطيات، ومن ثم استرجاعها أو فك تعميتها. أما آليات التشفير غير العكوس فتضم خوارزميات المزج (Hash Algorithms) ورموز تعريف الرسائل، والمستخدمة في التوقيع الرقمي وتطبيقات مصادقة الرسائل. يعرض الجدول 1-6 والمعتمد على وثائق X.800 بين خدمات الحماية وآليات الحماية.
الهجمات الأمنية
صنفت وثائق كل من X.800 وRFC 2828 والهجمات الأمنية بطريقة مفيدة، قسمت فيها هذه الهجمات إلى نوعين أساسيين: هجمات سلبية وهدمات فعالة. يحاول الهجوم ا لسلبي معرفة المعلومات أو استخدامها ولكن دون التأثبر على موارد النظام نهائياً. أما الهجوم الفعال فيحاول تغيير موارد النظام او التأثير على عملها.
الهجمات السلبية
تنتمي الهجمات السلبية بطبيعتها إل عملية التنصت أو مراقبة الإرسال. هدف المعتدي في هذه الحالة هو الحصول على المعلومات المنقولة. يمكن تمييز نوعين فرعيين من هذه الهجمات، ه ما: الحصول على محتوى ا لرسالة وتحليل سيالة المعلومات. يمكن فهم النوع الأول – وهو الحصول على محتوى الرسالة – بسهولة حيث يمكن أن تحتوي المحادثة الهاتفية أو الرسالة الإلكترونية أو الملف المنقول على معلومات هامة وحساسة أو معلومات سرية. من الطبيعي أن نحاول منع التعدي من الوصول إلى هذا المحتوى. أما النوع الثاني للهجوم السلبي – وهو تحليل سيالة المعلومات – فهو أكثر غموضاً. لنفترض أنه لدينا طريقة ما لتمويه مضمون الرسائل أو المعلومات الأخرى التي تشكل سيالة المعلومات، وبالتالي لن يستطيع المعتدي، حتى ولو حصل عليها، كشف محتواها أو فهم مضمونها. الطريقة الشائعة لتمويه المحتوى هي عملية التعمية. ولكن حتى لو استخدمنا الحماية بالتعمية، فسيبقى لدى المعتدي إمكانية مراقبة نماذج الرسائل. وبالتالي سيستطيع تحديد مكان وهوية الحواسب المضيفة المتصلة، ويمكنه كذلك تقدير إرسال هذه الرسائل وطولها. يمكن للمعتدي استخدام هذه المعلومات وتحليلها لتخمين طبيعة الاتصال المقام. يعتبر الهجوم السلبي صعب الاكتشاف، وذلك لأنه لا يحدث أي تغيير على المعطيات. على كل الأحوال، من المفيد منع نجاح هذا النوع من الهجوم وذلك باستخدام التعمية عادة. وبالتالي يجب أن يكون التأكيد على منع حدوث الهجوم السلبي أكث ر من كشفه.
آليات الحماية المحددة
قد يتم تضمينها ضمن طبقة البروتوكول المناسبة لتأمين بعض الخدمات الأمنية لنظام OSI. |
آليات الحماية غير المحددة
الآليات التي لا تشكل جزء من أية خدكات حماية أو طبقة بروتوكول خاصة بنظام OSI |
التشفير
استخدام خوارزميات رياضية لتحويل البيانات إلى شكل غير مقروء بشكل مباشر. يعتمد هذا التحويل واستعادة البيانات إلى شكلها الأصلي على خوارزمية معينة وعدد من مفاتيح التعمية (قد يساوي الصفر). |
عمل موثوق
عمل يمكن التأكد من أنه صحيح فيما يتعلق ببعض المعايير (مثلاُ: حسب المعايير المحددة من قبل إحدى السياسيات الأمنية). |
التوقيع الرقمي
بيانات يتم إلحاقها ب، أو تحويل تعمية ل، وحدة بيانات للسماح لمستقبل وحدة البيانات أو يتأكد من أصل وتكامل وحدة البيانات ولحمايتها من التوزير (مثلاث من قبل المستقبل). |
لصاقة الأمن
العلام المرتبط بمورد ما (والذي قد يكون وحدة بيانات) والذي يعرف أو يحدد السمات الأمينة لذلك المورد. |
التحكم بالوصول
مجموعة من الآليات التي تحدد قوانين الوصول إلى الموارد. |
اكتشاف الحداث
اكتشاف الحداث التي تتعلق بالأمن. |
تكامل البيانات
مجموعة من الآليات المستخدمة لضمان تكامل وحدة بيانات أو تيار من وحدة البيانات. |
أثر تدوين الأمن
البيانات التي يتم جمعها والتي يمكن أن يتم استخدامها لتسهيل تدوين العمليات الأمنية. والتي تشكل مراجعة او اختباراً مستقلاً لسجلات ونشاطات النظام. |
تبادل المصادقة
آلية يفترض بها أن تتضمن هوية جهة ما عن طريق تبادل المعلومات. |
استعادة الأمن
التعامل مع الطلبات الآتية من الآليات، مثل معالجات الأحداث ووظائف الإدراة، وتنفيذ أعمال استعادة. |
لصق المرور
إدراج بتات ضمن الفراغات في تيار من البيانات لإحباط محاولات تحليل المرور. |
|
التحكم بالتسيير
السماح باستخدام مجموعة من المسارات الفيزيائية الآمنة المحدةة من أجل مجموعة من البيانات والسماح بتغيير هذه المسارات، خاصة عند الشك بوجود اختراق أمني. |
|
التوثيق
استخدام طرف ثالث موثوق ضمان خصائص تبادل البيانات. |
الخدمة | تشفير | توقيع رقمي | التحكم بالوصول | تكامل البيانات | تبادل المصادقة | لصق المرور | التحكم بالتسيير | التوثيق |
---|---|---|---|---|---|---|---|---|
مصادقة جهة ند | نعم | نعم | نعم | |||||
مصادقة أصل البيانات | نعم | نعم | ||||||
التحكم بالوصول | نعم | |||||||
السرية | نعم | نعم | ||||||
سرية جريان المرور | نعم | نعم | نعم | |||||
تكامل البيانات | نعم | نعم | نعم | |||||
عدم رفض الالتزام | نعم | نعم | نعم | |||||
التوفر | نعم | نعم |
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
الهجمات الفعالة
يتضمن الهجوم الفعال إجراء بعض التعديلات على سيالة المعطيات او إنشاء سيالة معطيات كاذبة، ويمكن تقسيمه إلى أربعة أصناف: التخفي، إعادة لابث، تعديل الرسائل وحجب الخدمة.
يحصل التخفي (masquerade) عندما يقوم شخص ما بتقديم نفسه على أنه شخص آخر. يتضمن الهجوم الخفي عادة أحد أنواع الهجوم الفعال الأخرى. فعلى سبيل المثال، يمكن التقاط تسلسل تحديد الهوية وإعادة بثها بعد حصول تسلسل تحديد هوية حقيقي، مما يمكن شخصية معرفة ومشروعة ذات امتيازات قليلة من الحصول على امتيازات أعلى عن طريق انتحال صفة الشخضية التي تمتلك الامتيازات الأعلى والتي تم تحديدها للتو.
تتضمن إعادة البث (Replay) فيعني ببساطة تغيير جزء ما من رسالة شرعية، أو تأخير هذه الرسالة أو تغيير ترتيبها وذلك من أجل إنتاج تأثير غير شرعي. فعلى سبيل المثال يمكن تعديل الرسالة يسمح لزيد بقراءة ملف الحسابات السري" لتصبح "يسمح لعمر بقراءة ملف الحسابات السري".
يمنع حجب الخدمة (denial service) أو يثبط من الاستخدام العادي لخدمات الاتصالات أو إدارتها. يمكن أ، يكون لهذا النوع من الهجوم هدف خاص، فعلى سبيل المثال يمكن لشخص ما أن يمع مرور كل الرسائل الموجهة إلى وجهة ما (خدمة تحديد الشخصية مثلاً). يمكن أن يأخذ هذا النوع من الهجوم شكلاً أخر وهو تمزيق أو تعطيل الشبطة الكلية، وذلك إما عن طريق إبطال هذه الشبكة أو عن طريق التحميل الزائد لها بالرسائل، مما يؤدي إلى تراجع ملحوظ في أدائها.
يملك الهجوم الفعال خصائص تعاكس خصائص الهجوم السلبي تماماً. فبينما يعتبر الهجوم السلبي صعب الاكتشاف، لكن توجد إجراءات متوفرة تعمل على منع حدوثه بنجاح، لكننا نلاحظ من ناحية أخرى أنه من الصعب جداً حدوث الهجوم الفعال بشكل كامل، لأنه من أجل القيام بذلك يلزم وضع عوائق فيزيائية على كل الاتصالات وخدماتها وعلى كل المنافذ. بدلاً من ذلك نلجأ إلى كشف هذا النوع من الهجوم ونعمل على إيقافه بشكل كامل ومن ثم إعادة استرجاع أي تخريب أو تأخير حدث بسببه. وبما أن للكشف تأثير إعاقي، فإنه يمكن أن يساهم أيضاً في المنع.
نموذج أمن الشبكة
نموذج أمن الشبكات
يبين الشكل 1-1 نموذجاً عاماً للمواضيع التي ستتم مناقشتها في هذا الكتاب. يظهر في هذا النموذج رسالة ما يجب إرسالها من قبل أحد الأطراف إلى طرف آخر عبر شبكة من شكل ما.
يجب أن يتعاون الطرفان لإتمام عملية التبادل. تتم إقامة قناة المعلومات المنطقية عن طريق تعريف خط توجيه محدد عبر الشبكة من المصدر إلى الوجهة وبالاستخدام المشترك لبروتوكولات الا تصال (مثلاً TCP/IP) من قبل كلا الطرفين. تظهر الجوانب الأمنية عندما يكون من الضروري أو من المفضل حماية المعلومات المرسلة من الوقوع في قبضة معتدي ما، والذي يمكن أن يشكل تهديداً لسرية الرسالة أو لإصابتها أو ما شابه ذلك. تملك كل التقينات المقدمة لتحقيق السرية عنصرين:
•عمليات تحويل تخص الحماية وذلك للمعلومات المطلوب إرسالها. مثل تعمية الرسالة، والتي تقوم بعملية تحويل الرسالة إلى شكل لا يستطيع المعتدي قراءته، كذلك تتم إضافة شيفرة معينة تعتمد على محتوى الرسالة وذلك من أجل اختبار شخصية المرسل.
•معلومات سرية مشتركة بين الطرفين الرئيسيين، والتي يفترض ألا تكون معروفة من قبل المعتدي. مثل مفتاح التعمية واذلي يستخدم مع عملية التحويل لإنتاج النص أو الرسالة غير المفهومة قبل إرسالها وكذلك يستخدم بعد إتمام استقبالها لإعادة ترتيب هذه الرسالة بحيث تصبح مقروة.
يمكن أن تحتاج إلى طرف ثالث موثوق لإتمام عملية الإرسال الآمنة. فعلى سبيل المثال يمكن أن يكون الطرف الثالث مسئولاً عن توزيع المعلومات السرية لكلا الطرفين الأصليين، بينما يبقي هذه المعلومات بعيدة عن متناول المعتدي. أو ربما يلعب الطرف الثالث دور الحكم عند قيام مجادلة بين الطرفين الأصليين حول أصالة الرسالة المرسلة.
يبين النموذج العام ان هناك أربع مهام رئيسية عند تصميم أية خدمة أمنية: 1-تصميم خوارزمية عملية التحويل الخاص بالحماية. ومن الواضح أنه يجب تصميم هذه الخوارزمية بالشكل الذي لا يستطيع فيه المعتدي منع أو إحباط عملها. 2-توليد المعلومات السرية التي يجب استخدامها مع الخوارزمية. 3-وضع وتطوير طريقة لتوزيع المعلومات السرية وتسهيل مشاركتها. 4-تحديد البروتوكول الذي يجب استخدامه من قبل كلا الطرفين والذي يستخدم خوارزمية الحماية والمعلومات السرية، وذلك بغية إنجاز خدمة أمنية محددة. تركز معظم مواضيع هذا الكتاب على أنواع آليات الحماية وخدماتها الت يتقع في حدود النموذج الموضح بالشكل 1-1. وعلى أية حال هناك حالات أمنية أخرى ستتم مناقشتها في هذا الكتاب مع انها لا تقع تماماً في نطاق النموذج المعروض. يبين الشكل 1-2 النموذج العام لتلك الحالات الأخرى، والتي تهتم بحماية نظام المعلومات من الوصول غير المرغوب به.
معظم القراء على علم بالحالات الناجمة عن وجود الهتكة (Hackers)، والذين يحاولون اختراق النظم المتصلة بشبكة خارجية. يمكن أن يكون الهاتك شخصاً ما يحصل (بدون أية نوايا مؤذية أو ضارة) على الإرضاء الذاتي نتيجة كسره لنظام حاسبي معين والدخول إليه. ويمكن أن يكون هذا الدخيل موظفاً ساخطاً أو ناقماً يريد أن يوقع الضرر، أو يمكن أن يكون مجرماً يحاول استخدام المصادر الحاسبية من أجل كسب مالي ما (مثل الحصول على رقم بطاقة ائتمان أو القيام بعملية تحويل مالي غير شرعية ... الخ).
(صورة :نموذج أمن الشبكة)
هناك نوع آخر من الدخول غير المرغوب فيه يتمثل بوضع كتلة منطقية في نظام الحاسب، بحيث تستغل نقاط الضعف في النظام وتؤثر على عمل البرمجيات التطبيقية والخدمية أيضاً مثل المحررات والمترجمات. هناك نو عان من التهديدات يمكن تحقيقها برمجياً: •تهديدات الوصول إلى المعلومات: وذلك عن طريق استقبال أو تعديل المعطسات من قبل المستخدمين الذي يجب ألا يصلوا إلى تلك المعطيات. •تهديدات الخدمات: وذلك باستغلال الخدمات العاملة لمنع أو عرقلة عمل المستخدمين الشرعيين. تعتبر الفيروسات والديدان أمثلة عن الهجمات البرمجية. يمكن تنفيذ هذا النوع من الهجوم عن طريق أقراص تحوي كتلاً منطقية (برمجية) مخبأة في برمجيات أخرى مفيدة. يمكن كذلك إدخالها إلى النظام عبر الشبكات، والنموذج الأخير أقرب ما يكون إلى ميدان أمن الشبكات.
تنبع الحاجة إلى آليات الحماية من ضرورة معالجة الدخول غير المرغوب فيه والواقع ضمن صنفين عامين (الشكل 1-2). يمكن أن نطلق على الصنف الأول اسم وظيفة الحارس، وتتضمن إجرائيات الدخول العتمدة على كلمة السر والتي صممت لتخويل المستخدمين المرخص لهم فقط من الدخول وليس لكل المستخدمين، كذلك لقيادة الكتل البرمجية المصممة من أجل اكتشاف ومنع الفيروسات والديدان ومحاولات الهجوم المشابهة. بعد أن يتم الدخول سواء من الأشخاص غير المرغوب فيهم او البرامج غير المرغوب فها، فإن خط الدفاع الثاني يتألف من مجموعة من الأدوات الدخيلة التي تراقب الفعاليات وتحلل المعلومات المخزنة من اجل اكتشاف دخلاء غير مرغوب فيهم.
(صورة: نموذج حماية الشبكة من الدخول)
كانت التعمية المتناظرة، أو ما يطلق عليه حياناً اسم التعمية الأساسية أو التعمية باستخدام المفتاح الوحيد، هي نوع التعمية الوحيد المستخدم قبل تطوير التعمية باستخدام المفتاح العام. وقد بقي هذا النوع من التعمية الأكثر استخداماً حتى هذا الوقت. سنبدأ في هذا الفصل بإلقاء نظرة على النموذج العام لعملية التعمية المتناظرة، مما يسهل فهم النطاق الذي ستستخدم فيه الخوارزميات. سندرس بعد ذلك عدداً من الخوارزميات التي يتم استخدامها قبل عصر الحواسب، وأخيراً سنلقي نظرة سريعة على موضوع مختلف وهو علم الأخفاء (Stegnography). يبحث الفصل الثالث خوارزمية التعمية الأكثرانتشاراً، والممثلة بنظام التعمية DES. سنقوم قبل البدء بتعريف بعض المصطلحات. تعرف الرسالة الأصلية باسم "النص الصريح" (plaintext)، بينما يطلق على الرسالة المعماة اسم "النص المشفر" (ciphertext). يطلق على عملية تحويل النص الصريح إلى نص مشفر اسم "عملية التشفير" (enciphering) أو "عملية التعمية" (encryption). أما عملية استرجاع النص الصريح من النص المشفر فتسمى "فك التشفير" (deciphering) أو "فك التعمية" (cryptography). حيث يدعى المخطط الواحد "نظام التعمية" (cryptographic system) أو "نظام التشفير" (Cipher). تقع التقنيات المستخدمة لفك تشفير رسالة ما بدون أية معرفة بتفاصيل عملية التشفير في نظاق "تحليل الشيفرة" (Cryptanalysis). يطلق غير المختصين عادة على تحليل الشيفرة عبارة "كسر الشيفرة" (breaking the code). تشكل التعمية وتحليل التعمية مع بعضها البعض "علم التعمية" (cryptology).
نموذج نظام التعمية المتناظرة
يملك مخطط التعمية المتناظرة خمسة أجزاء (كما هو مبين على الشكل 1-2): •النص الصريح: وهو عبارة عن الرسالة الأصلية المفهومة أو المعطيات التي تشكل دخل الخوارزمية. •خوارزمية التعمية: تطبق خوارزمية التعمية عمليات تبديل مواضع وتحويل مختلفة على النص الصريح. •المفتاح السري: المفتاح السري هو دخل أيضاً للخوارزمية، وهو عبارة عن قيمة غير معتمدة على النص الصريح. تنتج الخوارزمية قيم خرج مختلفة بالاعتماد على المفتاح المستخدم في كل مرة. تعتمد تفاصيل عمليتي التحويل وتبديل المواضع على قيمة هذا المفتاح. •النص المشفر: وهو عبارة عن الرسالة غير الواضحة الناتجة كخرج من الخوارزيمة. وتعتمد على كل من النص الصريح والمفتاح السري. حيث ينتج عن نص صريح واحد نصين مشفرين مختلفين إذا تم استخدام مفتاحين سريين مختلفين. يظهر النص المشفر على شكل سيالة عشوائية من المعطيات غير المفهومة. •خوارزيمة فك التعمية: وهي بشكل أساسي نفس خوارزمية التعمية ولكن تعمل بشكل معكوس. يث يكون دخلها النص المشفر والمفتاح السري، بينما خرجها هو النص الصريح.
يتطلب الاستخدام الآمن للتعمية المتناظرة أمرين: 1-نحتاج إلى خوارزيمة قوية، حيث يلزم على الأٌل ان تكون الخوارزيمة على الشكل الذي لا يكون فيه المعتدي، والذي يعرف هذه الخوارزيمة ولديه نص مشفر أو أكثر، قادراً على فك تشفير النص المشفر أو استخراج المفتاح. يوضع هذا المطلب بشكل أقسى على الشكل: يجب أن يكون المعتدي غير قادر على فك تشفير النص المشفر أو اكتشاف المفاتيح حتى ولو توفر لديه عدد من النصوص الصريحة والنصوص المشفرة الموافقة لها.
2-يجب على كل من المرسل والمستقبل الحصول على نسخة من المفتاح السري بشكل آمن وان يبقى هذا المفتاح سرياً بينهما. فإذا استطلع أحد ما الحصول على المفتاح أو اكتشافه وكان على دراية بالخوارزمية المستخدمة، فستصبح كل الاتصالت التي تستخدم هذا المفتاح مقروءة.
(صورة: النموذج المبسط للتعمية المتناظرة)
يفترض أن يكون فك تشفير الرسالة انطلاقاً من معرفة النص امشفر وخورازيمة التشفير/فك التشفير أمراً غير مجدي. بتعبير آخر لا نريد أن تبقى الخوارزيمة سرية، بل نريد أن يبقى المفتاح فقط سرياً. تجعل هذه الميزة خورازيمات التعمية المتناظرة عملية وواسعة الانتشار. حقية ترك الخورازمية غير سرية يعني ترك الإمكانية للمصنعين من أجل تطوير شرائح منخفضة الكلفة تحتوي على تطبيق لهذه الخورازميات. تنتشر هذه الشرائح بشكل كبير وهي موجودة في العديد من المنتجات. لنلق نظرة أدق على العناصر الأساسية لمخطط التشفير المتناظر مستخدمين لذلك الشكل 2-2. يصدر المنبع رسالة على شكل النص الصريح X=(X1, X2, ……Xm).
العناصر M من الرسالة X هي عبارة عن أحرف منتمية إلى مجموعة محارف منتهية. تتالف مجموعة المحارف التقليدية من 26 حرفاً كبيراً، أما في هذه الأيام فتستخدم مجموعة المحارف الرقمية (0,1).
ولإنجاز عملية التعمية يتم توليد المفتاح ذي الشكل K=(K1, K2, ….KJ). فإذا تم توليد المفتاح عند مصدر الرسالة فيجب نقله إلى الوجهة عبر قناة آمنة ما. الطريقة البديلة لذلك هي أن يتم توليد امفتاح من قبل طرف ثالث، ومن ثم إيصاله بشكل آمن إلى كل من المصدر والوجهة.
تقوم الخورازمية باستخدام النص الصريح X والمفتاح K من أجل توليج النص المشفر Y=Y1, Y2, ….(YN)، وعندها يمكن أن تكتب: Y=EX (X) التعبير السابق يعني أنه يتم إنتاج Y باستخدام خوارزمية التشفير E اعتماداً على الصريح X وباستخدام تابع خاص محدد بقيمة المفتاح K. يستطيع المستقبل المقصود، مستخدماً المفتاح K، أن يعكس عملية التحويل: X=Dk (Y) سيحاول المعتدي، الذي يمكنه الحصول على Y ولكن لا يمكنه الوصول إلى أي من X أو K، أن يكتشف قيمة X أو قيمة K أو كليهما. يفترض أن المعتدي يعرف خورازمية التعمية E وخورازمية فك التعمية D. فإذا كان المعتدي مهمتماً بهذه الرسالة على وجه التحديد، فإن جهوده ستنصب على اكتشاف X عن طريق توليد النص الأصلي المقدر XA. ولكن على الغالب يهتم المعتدي في قراءة الرسائل المستقبلية أيضاً، وفي هذه الحالة سيركز الجهود على معرفة المفتاح K عن طريق توليد مفتاح مقدر K.
(صورة:نموذج نظام التعمية الأساسي)
القسم الأول التشفير المتناظر
تقنيات التعمية
نموذج نظام التعمية المتناظرة
التعمية
يمكن وصف أنظمة التعمية من خلال النقاط الثلاث التالية المستقلة:
1-نمط العملية المستخدمة لتحويل النصل الصريح إلى نص مشفر. تعتمد كل خوارزميات التعمية على المبدأين التاليين: التبديل (substitution)، حيث يتم فيه تحويل كل عنصر من النص الصريح (خانة، حرف، مجموعة من الخانات أو الحروف) إلى عنصر مقابل له، وتغيير المواضع (Transposition) ، حيث تتم عملية ترتيب العناصر في النص الصريح.
المطلب الأساسي هنا هو عدم إضاعة أي عنصر (أي أن تكون كل العمليات معكوسة). تتضمن معظم الأنظمة عدة مراحل من التبديل وتغيير المواضع.
2-عدد المفتايخ المستخدم. إذا استخدم كل من المرسل والمستقبل نفس المفتاح، عندها يطلق على النظام اسم التعمية المتناظرة، أو التعمية بالمفتاح الوحيد أو التعمية بالمفتاح السري أو التعمية الأساسية. أما اذا استخدم المرسل والمستقبل المفتاحين أو التعمية بالمفتاح العمومي، عندها يسمى النظام بالتعمية غير المتناظرة أو ذات المفتاحين أو التعمية بالمفتاح العمومي. 3-الطريقة التي يعالج بها النص الصريح. يعالج التشفير الكتلي الدخل على شكل كتلة واحدة من العناصر في كل مرة، بحيث ينتج في كل مرة كتلة خرج توافق كتلة الدخل، أما التشفير السيلي أو الجدولي فيعالج عناصر الدخل بتواصل أو باستمرار، منتجا الخرج على شكل عنصر واحد في كل مرة.
تحليل التعمية
هناك طريقتان عامتان لمهاجمة مخطط التعمية الأساسي:
- تحليل التعمية: يعتمد الهجوم باستخدام تحليل التعمية على طبيعة الخوارزمية بالاضافة إلى بعض المعرفة عن المميزات العامة للنص الصريح وربما على بعض النماذج من أزواج النص الصريح- النص المشفر. يستغل هذا النوع من الهجوم مميزات الخوارزمية لمحاولة استنتاج نص صريح محدد أو لاستنتاج المفتاح المستخدم. اذا نجح الهجوم في استنتاج المفتاح، عندها سيكون التأثيرا كارثا، حيث سيتم فضح كل الرسائل السابقة والمستقبلية المشفرة باستخدام هذا المفتاح.
- هجوم الكسر الأعمى: يحاول المهاجم في هذه الحالة تجريب كل المفاتيج المحتملة على قطعة من النص المشفر، ويتابع هذه المحاولات حتى يحصل على نص صريح مفهوم أو واضح. يجب وسطيا تجريب نصف المفاتيح الممكنة للوصول إلى النجاح. سنناقش في البداية تحليل التعمية ومن ثم ننتقل إلى هجوم الكسر الأعمى.
يلخص الجدول 1-2 الأنواع المختلفة للهجوم بتحليل التعمية، وذلك بالاعتماد على كمية من المعطيات معروفة بالنسبة للمحل (Cryptanalyst). تكون المشكلة في قمة تعقيدها عند توفر النص المشفر فقط. في بعض الحالات لا تكون حتى خوارزمية التعمية معروفة، ولكن نحن نفترض بشكل عام أن المعتدي يعرف الخوارزمية المستخدمة في عملية التعمية. إحدى طرق الهجوم المحتملة في مثل هذه الحالات هي طريقة الكسر الأعمى، والتي يقوم من خلالها المعتدي بتجريب كل المفاتيح الممكنة. فإذا كان مجال المفاتيح واسعا، عندها ستصبح هذه الطريقة غير مجدية. لذا سيضطر المعتدي إلى استخدام تحليل النص المشفر، مطبقا بشكل عام الاختيارات الاحصائية المختلفة عليه. ولاستخدام هذه الطريقة يجب على المعتدي أن يمتلك فكرة عامة عن نوع النص الصريح المدروس، كأن يكون نصا إنجليزيا، أو فرنسيا أو ملفا تنفيذيا للنظام Windows أو ملف Java مصدري وما شابه ذلك.
نوع الهجوم | المعلومات المعروفة للمحلل |
---|---|
النص المشفر فقط | - خوارزمية التعمية
- النص المعمى المطلوب كشفه. |
نص صريح معروف | - خوازرمية التعمية.
- النص المعمى المطلوب كشفه. - واحد أو أكثر من الأزواج نص صريح – نص معمى بنفس المفتاح. |
نص صريح مختار | - خوازرمية التعمية.
- النص المعمى المطلوب كشفه. - رسالة نص صريح تم اختياره من قبل المحلل مع النص المشفر المرافق له. |
نص مشفر مختار | - خوازرمية التعمية.
-نص مشفر ذو معنى محدد تم اختياره من قبل المحلل، مع النص الصريح المرافق له والذي تم فك تشفيره بالمفتاح السري. |
نص مختار | خوارزمية التعمية. النص المعمى المطلوب كشفه. نص صريح تم اختياره من قبل المحلل، مع النص المشفر المرافق له والذي تم توليده باستخدام المفتاح السري. نص مشفر ذو معنى تم اختياره من قبل المحلل، مع النص الصريح المرافق له والذي تم فك تشفيره باستخدام المفتاح السري. |
يعتبر الهجوم بمعرفة النص المشفر فقط الأسهل من وجهة نظر الدفاع عنه، وذلك لأن المعتدي يملك الكم الأقل من المعلومات للعمل بها. يملك المحلل على الغالب معلومات أكثر من ذلك. يمكن للمعتدي أن يحصل على نص صريح أو أكثر مع النصوص المشفرة المرافقة له. أو يمكن للمحلل أن يعرف نصا صريحا ما يجب أن يظهر في الرسالة. فعلى سبيل المثال تبدأ كل الملفات المرمزة حسب تشكيلة Postscript بنفس النموذج تماما، أو يمكن أن يكون لرسائل الاعتمادات المالية ترويسة قياسية، وما شابه ذلك.
يعتبر كل ما تقدم أمثلة عن النص الصريح المعروف، يمكن للمحلل عند امتلاك هذه المعلومات أن يستنتج المفتاح الذي تم الاعتماد عليه لتحويل النص الصريح. هناك طريقة هجوم قريبة من تلك المنسوبة إلى النص الصريح المعروف، وهي تلك التي تدعى الهجوم بواسطة النص المحتمل. فاذا كان المعتدي يعمل مع بعض النصوص العامة المشفرة، فإنه على الغالب يمتلك معلومات ما عن محتوى هذه الرسائل. فعلى سبيل المثال اذا كانت الملفات المنقولة هي عبارة عن ملفات حسبابات، فربما يكون على علم بمكان وجود بعض الكلمات المفتاحية من الترويسة. وكمثال آخر يمكن أن تضم النسخ المصدرية المطورة من قبل شركة ما، عبارة ضمانة حقوق النشر، وأن تكون هذه العبارة موجودة في مكان ثابت وقياسي.
اذا استطاع المحلل بطريقة ما الوصول إلى النظام الذي تصدر عنه الرسائل، واستطاع تمرير رسالة ما اختارها بنفسه، عندها سنكون أمام هجوم من النوع "النص الصريح المعروف". مثال عن هذه الاستراتيجية هو تحليل التعمية التفاضلي الذي سيتم طرحه في الفصل الثالث. وبشكل عام، اذااستطاع المحلل اختيار رسالة ما لتعميتها، عندها سيقوم باختيار هذا النص بعناية فائقة، بحيث يتوقع من خلال ذلك ايحاء بنية المفتاح.
يعرض الجدول 2-1 نوعين آخرين من الهجوم النص المعمى المختار، والنص المختار. هناك تقنيات نادرا ما تستخدم كتقنيات تحليل تعمية ، إلا أنها مع ذلك تشكل هجوما محتملا. الخوارزميات الضعيفة نسبيا لا تقاوم الهجوم من النوع "النص المشفر فقط" أما بالنسبة لخوارزميات التشفير العادية فهي مصممة لمقاومية الهجوم من النوع "نص صريح معروف".
تعريفان آخران جديران بالذكر. يعتبر مخطط التعمية "آمنا بشكل مطلق unconditionally secure اذا لم يحوي على النص المشفر المولد بواسطة هذا المخطط معلومات كافية لتحديد النص الاصلي الموافق له بشكل وحيد، وذلك مهما بلغ عدد النصوص المشفرة المتوفرة لدى المعتدي. من المفروض في هذه الحالة ألا يستطيع المعتدي فك تشفير الرسالة مهما توفر له من الوقت، والسبب ببساطة هو أن المعلومات اللازمة لذلك لن تكون متوفرة في النص المشفر. نلاحظ أنه لا توجد خوارزمية مطلقة السرية ما عدا تلك التي تستخدم مخطط التعمية المعروف باسم "الطبعة التي تستخدم مرة واحدة (on time pad) (والتي سيتم شرحها لاحقا في هذا الفصل). لذلك فإن كل ما يمكن أن يسعى إليه المستخدمون هو خوارزمية تعمية تتميز باحدى المواصفتين التاليتين أو بكليهما: -أن يكون ثم كسر النص المعمى يفوق قيمة المعلومات المشفرة. -أن يكون الزمن اللازم لكسر النص المعمى يفوق الفترة المفيدة من حياة المعلومات.
يعتبر مخطط التعمية آمنا حسابيا conditionally secure اذا توفرت فيه الشروط السابقة. المشكلة هنا هي في صعوبة تقدير حجم الجهود اللازمة لتحليل النص المشفر بنجاح.
يمكن كبداية تقدير الوقت اللازم عند استخدام طريقة "الكسر الأعمى" ،والتي تقتضي تجريب جميع المفاتيح الممكنة حتى يتم الحصول على التحويل المفهموم من النص المشفر إلى النص الصريح. وبشكل عام يجب وسطيا تجريب نصف المفاتيح الممكنة من أجل الحصول على الحل الصحيح. يبين الجدول 2-2 الأزمنة اللازمة لهذه العملية وذلك من أجل الأطوال المختلفة للمفاتيح. النتائج مبينة من أجل أربعة أطوال للمفاتيح الثنائية. يستخدم المفتاح ذو الطول 56 خانة مع خوارزمية DES (Data Encryption Standard) ويستخدم المفتاح ذو الطول 168 خانة مع خوارزمية triple Des (Des الثلاثية). أصغر مفتاح مخصص لخوارزمية AES (Advances Encryption Standard) هو 128 حالة.
طول المفتاح (خانة) | عدد المفاتيح المحتملة | الزمن اللازم باعتبار أن كل عملية فك تشفير تستغرق 1µs | الزمن اللازم باعتبار أن كل 10 عمليات تشفتير تستغرق 1µs | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
32 | 232=402*10 | 231 µs=35.8 minutes | 2.15 milliseconds | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
56 | 256=2.7*1016 | 255 µs=1142 years | 10.01 hours | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
128 | 2128=3.4*1038 | 2127 µs=5.4*1024 years | 5.4*1018 years | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
168 | 2168=3.7*1050 | 2167 µs=5.9*1036 years | 5.9*1018 years | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
26 characters (permution)
تقنيات تبديل الحروفسندرس في هذا المقطع وما يليه نماذج عما يدعى بتقنيات التعمية التقليدية. تساعد هذه التقنيات على توضيح الطرق الاساسية المستخدمة حالية في التعمية المتناظرة، وأنواع الهجوم أو تحليل التعمية المتوقعة. يعتبر تبديل الحروف وتبديل مواقع الحروف حجري الأساس في جميع تقنيات التعمية، وستتم دراستهما في الفقرات التالية مباشرة. سندرس بعد ذلك النظام الذي يجمعهما معا. تعمل تقنيات التبديل على استبدال أحرف النص الصريح بأحرف أخرى، أو بأرقام أو رموز. أما اذا تم تمثيل النص الصريح على شكل سلسلة من الخانات، عندها تعمل تقنيات التبديل على تبديل نماذج معينة من خانات النص الصريح مع نماذج بديلة من خانات النص المشفر. تشفير قيصر Caesar Cipher: هو أقدم أنواع التشفير باستخدام تقنيات تبديل الحروف وأبسطها. يتم وفق هذه الطريقة تبديل كل حرف من حروف الأبجدية بالحرف الذي يقع في المرتبة الثالثة بعده، والمثال التالي يوضح ذلك: النص الصريح party Toga the after me meet النص المشفر SDUWB WRJD WKH DIWHU PH PHHW لاحظ أنه سيتم تدوير الأبجدية بحيث أن الحرف A يلي الحرف Z، وبالتالي يمكن تعريف عملية التبديل باستعراض كل الاحتمالات الممكنة كما يلي: النص الصريح a b c d e f g h i j k l m n o p q r s t u v w x y z النص المشفر D E F G H I J K L M N O P Q R S T U V W X Y Z A B C دعنا نخصص رقما مكافئا لكل حرف، كما يلي: النص الصريح a b c d e f g h i j k l m n o p q r s t u v w x y z النص المشفر 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 1 2 عندها يمكن التعبير عن هذه الخوارزمية كما يلي: لك لحرف p من النص الاصلي، حرف بديل c من النص المشفر: C= E (p) = (P+3) mod (26) يمكن بشكل عام إجراء الإزاحة بأي قيمة، وبالتالي يكون: C= E (P) = (P +K) mod (26) حيث يأخذ المتحول k أي قيمة بين 1 و25، يمكن التعبير عن خوارزمية التعمية ببساطة كما يلي: P-D(C) = (C-K) mod (26) اذا تم التقاط نص مشفر وكان من المعروف أنه ناتج عن استخدام خوارزمية قيصر، عندها يمكن تطبيق طريق الكسر الأعمى في تحليل التعمية ببساطة، وذلك عن طريق تجريب كل المفاتيح الممكنة والبالغ عددها 25 مفتاحا. يبين الشكل 3-2 نتائج تطبيق هذه الاستراتيجية على النص المشفر الموجود في المثال السابق. يظهر النص الاصلي في هذه الحالة في السطر الثالث (R=3). هناك ثلاث مميزات هامة للحالة السابقة تساعدنا على استخدام طريقة الكسر الأعمى في تحليل التعمية: 1- خوارزميتا التعمية وفك التعمية معروفتان. 2- هناك 25 مفتاحا محتملا فقط. 3- اللغة التي كتب فيها النص معروفة ويمكن تمييزها بسهولة.
نفترض أن خوارزمية التعمية معروفة في معظم حالات الشبكات، غير أن ما يجعل طريقة الكسر الأعمى في تحليل التعمية غير عملية، هو توفر عدد كبير من المفاتيح. فعلى سبيل المثال تستخدم خوارزمية DES (التي سيتم شرحها في فصل لاحق) مفتاحا بطول 168 خانة، مما يعطي إمكانية تشكيل 2108 مفتاحا مستقلا أي أكثر من 3.7x1050 مفتاحا محتملا. تعتبر الميزة الثالثة هامة أيضا، فإذا لم تكن لغة النص الصريح معروفة، عندها لن نستطيع تمييز النص الصريح الصحيح الناتج من عملية الكسر، بل أكثر من ذلك، إذ يمكن أن يكون الدخل مختصرا أو مضغوطا بطريقة ما، مما يجعل عملية التعرف على النص الصريح صعبة ايضا. يرينا الشكل 2-4 مثالا عن نص مضغظ باستخدام خوارزمية ZIP. فإذا قمنا بتعمية هذا النص باستخدام خوارزمية تبديل حروف بسيطة (مع الأخذ بعين الاعتبار أن عدد الحروف المستخدمة أكثر من 26)، عندها ستصبح عملية التعرف على النص الأصلي الناتج عن كسر التعمية صعبة للغاية. {{{{{شكل 2-4}}}}} الشكل 2-4: مثال عن نص مضغوط. التشفير بمجموعة محارف وحيدةلاحظنا أن شيفرة قيصر غير آمنة على الإطلاق والسبب هو أن عدد المفاتيح المحتملة هو 25 مفاتاحا. يمكن زيادة مجال المفاتيح المحتملة عن طريق السماح باختيار المفتاح عشوائيا. لنتذكر أن تعريف شيفرة قيصر هي كما يلي: النص الصريح a b c d e f g h i j k l m n o p q r s t u v w x y z النص المشفر D E F G H I J K L M N O P Q R S T U V W X Y Z A B C فإذا بدلنا سطر الشيفرة بأي تشكيلة من الحروف والتي عددها 26، عندها سيكون هناك 26! احتمالا، أي أكثر من 4x1026 مفتاحا محتملات. هذه القيمة أكبر بعشرة مرات من مجال مفاتيح خوازرمية DES، ويبدو أنها ستحد من إمكانية الكسر الأعمى كتقنية تحليل تعمية. يطلق على هذه الطريقة اسم شيفرة تبديل الحروف باستخدام محارف وحيدة. وذلك لأنه يتم استخدام مجموعة محارف وحيدة فقط لتعمية كل رسالة (أي مجموعة محارف وحيدة تحول من النص الصريح إلى النص المشفر). هناك طريقة أخرى للهجوم تستخدم من أجل كسر التعمية. فاذا كان المحلل يعرف طبيعة النص الصريح (على سبيل المثال كأن يكون نصا إنجليزيا غير مضغوط)، عندها يستطيع هذا المحلل استخدام قوانين توزع اللغة في عملية تحليل التعمية. ولدراسة هذه الطريقة في تحليل التعمية سنأخذ النص المشفر التالي. UZQSOVUOHXMOPVGPOZPEVSGZWSOPEVSGWSZOPFPESXUDBMETSXAIZ VUEPHZHMDZSHOWSFPAPPDTSVPQUZWYMXUZHSX EPYEPOPDZSZUFPOMBUFPOMBZWPFUPZHMDJUDTMOHMQ يجب ، كخظوة أولى، تحديد التردد النسبي للحروف في الرسالة ومقارنتها مع توزع التردد القياسي لأحرف اللغة الإنجليزية والمعروض في الشكل 2-5. إذا كان حجم الرسالة كبيرا نسبيا، عندها ستكون هذه الطريقة كافية لاكتشاف النص الصريح، إلا أن الرسائل تكون على الأغلب قصيرة نسبيا، وبالتالي لا يتوقع حدوث تطابق كلي . التردد النسبي لأحرف الرسالة المشفرة السابقة هو كما يلي (كنسب مئوية):
ص 41 يمكن، بمقارنة هذه النتائج مع الاحصائيات الورادة في الشكل 2-5 استنتاج أن الحرفين P وZ من النص المشفر مكافئين للحرفين e و t من النص الأصلي، ولكن بدون التأكد تماماً من صحة ترتيبها. نرى كذلك أن الأحرف S و U وO وM و H من النص المشفر تتمتع بتردد عالي، وأنها ربما تكون موافقة لمجموعة الأحرف الأصلية (a, h, I, n, r, s). الأحرف ذات التردد الأقل (وبالتحديد A, B, G, Y, I, J) يبدو وكأنها مرتبطة بمجموعة الأحرف الأصلية (b, j, q, v, x, z). هناك العديد من الطرق التي يمكن اتباعها من اجل المتابعة اعتباراً من هذه النقطة. يمكن مثلاً وضع افتراض أولي تجريبي من أجل استعادة النص الصريح، ومن ثم الحكم فيما إذا كان النص الناتج يصلح أن يكون هيكلاً لرسالة مقروءة. وفي حال عدم النجاخ يتم تجريب افتراض آخر وهكذا. من الواضح ان هذه الطريقة تجريبية وهناك طريقة أكثر تنظيماً تعتمد على قوانين توزيع أخرى خاصة باللغة. فعلى سبيل المثال يمكن البحث عن بعض الكلمات التي يفترض أن تظهر بالنص، أو أن تبحث عن تكرار معين لسلسلة من الحروف في النص المشفر واستنتاج النص الصريح المكافئ لها. (صورة: التردد النسبي لأحرف اللغة الانكليزية) من الأدوات الفعالة في هذا ا لمجال، البحث عن تردد التشكيلات المؤلفة من حرفين والتي تعرف باسم المقاطع الثنائية. يمكن رسم مخطط مشابه للمخطط المعروض في الشكل 2-5، والذي يظهر التردد النسبي لهذه المقاطع الثنائيةز التردد الأعلى في هذا المخطط سيكون من نصيب المقطع th. وبتحليل النص المشفر الذي لدينا نرى أن هذا المقطع موافق للمقطع zw والذي يتردد ثلاث مرات. يمكن من خلال ذلك ربط الحرف zبالحرف t والحرف wبالحرف h. يمكن بعد ذلك الرجوع إلى النتائج السابقة التي حصلنا عليها واستنتاج أن الحرف p مرتبط بالحرف e. لاحظ الآن ظهور السلسلة zwp في النص المشفر والتي يمكن ترجمتها إلى السلسلة the، وهي المقطع الثلاثي الأكثر انتشاؤاص في نصوص اللغة الانكليزية، مما يدلنا أننا على الطريق الصحيح. لاحظ بعد ذلك السلسلة zwsz في السطر الأول. لا نعرف فيما إذا كانت هذه الحروف الأربعة تؤلف كلمة كاملة أم لا، فإذا كانت كذلك فإنها من الشكل th-t . لذلك يمكن بهذا الافتراض ربط الحرف s بالحرف a. لدينا حتى الآن ما يلي: UZQSOVUOHXMOPVGPEVSGZWSZOPFPESXUDBMETSXAI t a e e a that e e a a VUEPHZMDZSHZOWSFPAPPDTSVPQUZWYMXUZHSX e t ta e ee a e th t a EPYEPOPDZUFPMBZWPFUPZHMDJUDTMOHMQ e e e tat e the t لدينا حتى الآن أربعة حروف معروفة، ولكن بنفس الوقت لدينا جزء لا بأس به مكتشف من الراسلة. بمتابعة تحليل الترددات بالإضافة لسلسلة من المحاولات والخطاء يمكن الوصول إلى الحل الكامل. النص الصريح الكامل مضافاً إليه الفراغات بين الكلمات هو : It was disclosed westerday that several information but direct contacts have been made with political representatives of the viet cong in Moscow تعتبر الشيفرات ذات مجموعة المحارف الوحيدة سهلى الكسر، وذلك لنها تعكس تردد تكرار الحروف في النص الأصلي. يمكن التخلص من هذه السلبية باستخدام التبديلات المتعددة لنفس الحرف، والمعروفة باسم "اللفظة المجانسة" homophones (اللفظة المجانسة تعني: كلمتين أو أكثر متناظرتين في اللفظ ولكن مختلفتين في المعنى). فعلى سبيل المثال يمكن أن يرتبط الحرف e بعدد من رموز التعمية مثل 21, 35, 74, 16, بحيث يتم استخدام هذه الرموز إما بشكل دوري أو بشكل عشوائي. إذا كان عدد حروف ال تعمية المرتبطة بحرف أصلي ما متناسبة مع تردد ظهور هذا الحرف، فسيتم طمس معالم تردد ظهور الحروف المفردة بشكل كلي. اعتقد الرياضي العظيم Carl Friedrich Gause أنه قدم شيفرة غير قابلة للكسر، مستخدماً لذلك الألفاظ المتجانسة. إلا أن الأمر ليس كذلك، ففي شيفرة الألفاظ المتجانسة، يؤثر كل عنصر من النص الصريح، على عنصر واحد فقط من النص المشفر، ولذلك نجد أن نماذج الحروف المتعددة (تردد المقاطع الثنائية والثلاثية) بقيت ظاهرة في النص المشفر، وبالتالي بقي تحليل التعمية سهلاص نسبياً. لتقليل احتمال ظهور بنية النص الصريح في النص المشفر عند استخدام شيفرة تبديل الحروف، يتم استخدام الطريقيتين المبدئيتين التاليتين: الطريقة الأولى هي تعمية عدة حروف من النص الصريح، والأخرى هي استخدام عدة مجموعات تشفير. سنرى هاتين الطريقتين باختصار. شيفرة بلايفيرتعتبر هذه الشيفرة من أكثر أنواع تشفير الحروف المتعددة انتشاراً، حيث تعالج هذه الشيفرة المقطاطع الثنائية في النص الصريح كوحدة إلى مقاطع ثنائية من النص المشفر. تعتمد شيفرة بلايفير على استخدام مصفوفات بقياس 5*5 من الحروف، مركبة باستخدام كلمة فتاحية. المثال التالي يوضح ذلك:
الكلمة الافتتاحية في هذه الحالة هي monarchy. يتم بناء المصفوفة عن طريق تعبئة حروف الكلمة المفتاحية (بعد حذف التكرار إن واحد) اعتبارً من اليسار إلى اليمين ومن الأعلى إلى الأسفل، توضع بعد ذلك بقية حروف الأبجدية حسب الترتيب البجدي لها. يجب اعتبار الحرفين I و J على أنهما حرف واحد. يتم تشفير كل حرفين من النص الصريح دفعة واحدة حسب القواعد التالية: 1-يتم فصل أحرف النص الأصلي المتكررة والتي يمكن أن تقع في وةج واحد بواسطة أحرف بينية (x مثلاً) وبالتالي سيتم التعامل مع كلمة balloon كما يلي: ba lx lo on. 2-يتم تبديل أحرف النص الصريح التي تقع في نفس الصف بالأحرف التي تليها على اليمين، مع الأخذ بعين الاعتبار أن الحرف الذي يلي آخر حرف في الصف هو الحرف الأول من هذا ال صف. فعلى سبيل المثال يتم تبديل الثنائية ar بالثنائية RM. 3-يتم تبديل أحرف النص الصريح التي تقع في نفس العمود بالأحرف التي تقع أسفلها، مع الأخذ بعين الاعتبار أن الحرف الأخير في العمود هو الحرف الأول من نفس العمود. وبالتالي يتم تبديل الثنائية CM. 4-يتم تبديل الثنائيات التي تخالف القواعد السابقة بأن يتم تبديل كل حرف بالحرف الذي يقع في صفه وفي عمود الحرف الآخر من الثنائية الأصلية. وبالتالي سيتم تبديل الثنائية BP، والثنائية IM (أو الثنائية JM، وذلك حسب رغبة القائم بالتشفير). تعتبر شيفرة بلايفير تطوراً عظيماً بالمقارنة مع ا لتشفير باستخدام مجموعة المحارف الوحيدة البسيط. يعود السبب في ذلك إلى ما يلي: بينما كان هناك 26 حرفاً فقط في حالة مجموعة المحارف الوحيدة، سيكون لدينا 26*26 أو 676 مقطعاً ثنائياً، وبالتالي سيكون تمييز المقطع الوحيد أصعب. بل الأكثر من ذلك، تقدم الترددات النسبية للأحرف المستقلة مجالاً أكبر بكثير من ذلك الخاص بالمقاطع الثنائية، وبالتالي يصبح تحليل التردد أًصعب. لهذه الأسباب بقيت شيفرة بلايفير غير قابلة للكسر لوقت كبير، حتى أنها استخدمت من قبل الجيوش البريطانية في الحرب العالمية الأولى، وبقيت معتمدة من قبل الجيش الأمريكي وقوى التحالف خلال الحرب العالمية الثنائية. على الرغم من مستوى الثقة اللعالي في الأمن الذي تحققه هذه الشيفرة، تبقى سهلى الكسر نسبياً وذلك لأنها مازالت تترك قسماً كبيراً من بنية النص الأصلي بدون أي تأثير أو تغيير. وستكفي عدة مئات من الأحرف المعماة بهذه الطريقة لكسر الشيفرة. يبين الشكل 2-6 إحدى الطرق المتبعة لإظهار فعالية شيفرة بلايفير وغيرها من الشيفرات (SIMM93). يحدد الخط الخاص بالنص الصريح توزع تردد أكثر من 70.000 حرف والواردة في الموسوعة البريطانية – موضوع التعمية. يعبر هذا الخط أيضاً عن توزع التردد في حال أية شيفرة تستخدم مجموعة المحارف المتعددة. تم رسم هذا المخطط كما يليل: تم حساب عدد مرات تكرار كل حرف في النص وتقسيمه على عدد مرات تكرار الحرف e (الحرف الأكثر استخداماً في اللغة الإنكليزية). وبالتالي سيكون التردد النسبي للحرف e هو I بينما التردد النسبي للحرف t هو 0.76 وهكذا. توافق النقاط الموجودة على المحور الأفقي الترتيب التنازلي للحروف حسب ترددها النسبي. (صورة: الترد النسبي لظهرو الحروف) يبين الشكل 2-6 أيضاً توزيع تردد الحروف عندما تتم تعمية النص باستخدام شيفرة بلايفير. لتوحيد المخطط تم تقسيم عدد مرات تكرار أي حرف من النص المشفر على عدد مرات تكرار الحرف e في النص الصريح. أصبح المخطط بهذا الشكل يوضح توزع تردد الرحوف بعد عملية التشفير، مما يجعل حل مشكلة التبديل أرماً بسيطاً. إذا تم حجب معلومات توزع تردد الحروف تماماً في النص المشفر، عندها سيصبح الخط الذي يمثل الشيفرة مستقمياً أفقياً (الشكل 2-6)، وبالتالي ستصبح محاولة كسر الشيفرة باستخدام النص المشفر فقط مستحيلة أو عديمة الجدوى. يتضح من الشكل أن الخط الذي يمثل شيفرة بلايفير أكثر استقامة (أٌقل كسراً) من الخط الذي يمثل النص الصريح، غير انه من الواضح أيضاً أنه مازال يمتلك الكثير من صفات النص الصريح،مما يترك مجالاً واسعاً أمام المحللين للعمل. شيفرة هيلهناك شيفرة أخرى ممتعة من الشيفرات متعددة الحروف هي شيفرة هيل، والتي تم تطويرها من قبل الرياضي Lester Hill عام 1929. تأخذ هذه الشيفرة m حرفاً متتالياً من النص الصريح وتبدلها بنفس عدد الحروف من ال نص الشمفر, تتم عملية التبديل بواسطة m معادلة خطية، حيث تتم الاستعاضة عن كل حرف بقيمة رقمية (z=25 ….. c=2 , b=a , a=0) . فإذا كان m=3، عندها يمكن وصف النظام كما يلي: C1= (k11 P1+k12 P2+k13 P3) mod 26 C2=(K21 P1+K22 P2+K23 P3) mod 26 C3=(K31 P1+K32 P2+K33 P3) mod 26 يمكن التعبير عن هذه المعادلات بواسطة المصفوفات والأشعة العمودية كما يلي: (صورة:مصفوفة) حيث أن كلاً من C و P شعاعان عموديان بطول 3، واللذان يمثلان النص امشفر والنص الصريح على التوافق، بينما K هي مصفوفة بأبعاد 3*3، والتي تمثل مفتاح التعمية. تتم كل العميلات بالقياس 26. لنفرض مثلاً ان النص الصريح هو "pay more money" ، وأن مفتاح التعمية المستخدم هو: (صورة: مصفوفة) يمثل الشعاع (15 0 24) الاحرف الثلاثة الأولى (pay) من النص الصريح: عندها سيكون: K (15 0 24) = 3.75 819 486) mod 26 = 11 13 18) = LNS وعند المتابعة بنفس الطريقة سيكون النص المشفر الكلي الموافق للنص الصريح المعطي هو LNSHDLEWMTRW. تتطلب عملية فك التعمية استخدام مقلوب المصفوفة K. يعرف مقلوب المصفوفة K-1 للمصفوفة K بالمعادلة KK-1 = K-1K = I، حيث I هي المصفوفة التي يكون جميع عناصرها أصفار مع إعطاء القيمة 1 للعناصر الموجودة في ا لقطر الرئيسي الواصل من الزاوية اليسارية العليا إلى الزاوية اليمينية السفلى. من المحتمل ألا يكون للمصفوفة K مقلوب، ولكن إذا وجد فإنه يحقق المعادلة السابقة. المقلوب K-1 للمصفوفة الواردة في المثال السابق هو: (صورة: مصفوفة) ونبرهن على ذلك كما يلي: (صورة: مصفوفة) من الواضح أنه إذا تم تطبيق المقلوب K-1 على النص المشفر، فسينتج لدينا النص الصريح. يمكن الحصول على مقلوب المصفوفة المربعة بالشكل التالي: معين (محدد) المصفوفة المربعة m*m يساوي حاصل جمع كل المضاريب الممكنة والناتجة عن أخذ عنصر واحد فقط من طل سطر مع عنص رواحد فقط من كل عمود، مع وضع إشارة ناقص قبل بعض المضاريب. فمن أجل المصفوفة بأبعاد 2*2 التالية: (صورة:مصفوفة) يكون المعين: K11 K22 – K12 K21. أما من أجل المصفوفة المربعة بأبعاد 3*3 فيكون المعين: K11 K22 K33 + K21 K32 K13 + K31 K12 K23 – K31 K22 K13 – K21 K12 K33 – K11 K32 K23 التعمية بمجموعات المحارف المتعددةهناك طريقة أخرى لتحسين تقنية التعمية باستخدام مجموعة المحارف الوحيدة، وهي استخدام مجموعات محارف متعددة أثناء كل عملية مرور على النص الصريح. الاسم العام لهذا النمط هو "التعمية" باستخدام مجموعات المحارف المتعددة". تتميز كل تقنيات هذا النمط بالميزات العامة التالية:
تعتبر شيفرة فيجنير (Vigenere Clipher) إحدى أكثر الخوارزميات العاملة وفق هذه التقنية انتشاراً وبساطة. تتألف مجموعة القواعد المستخدمة في هذه الخوارزمية من 26 شيفرة قيصر مختلفة، والتي يتم تشكيلها عن طريق إجراء إزاحة من 0 وحتى 25 . يتم ربط كل شيفرة من هذه الشيفرات بحرف مفتاحي، والذي يحدد الحرف المشفر المرافق للحرف الصريح. فعلى سبيل المثال شيفرة قيصر الناتجة عن إزاحة بمقدار 3 ترتبط بالحرف المفتاحي d. لتسهيل فهم خورازمية وطريقة استخدامها يتم تشكيل الجدول الموضح في الشكل 2-3 والمسمى "جدول فيجنير" . يظهر من الشكل أن كل واحدة من الشيفرات البالغ عددها 26، تتوضع أفقياً على أحد السطور مع توضيح الحرف المفتاحي الكرافق لها. أما مجموعة الحروف التي تمثل النص الصريح، فهي موجودة في الأعلى. مبدأ العمل وفق هذه الخوارزمية بسيط، فإذا كان لدينا الحرف المفتاحي x والحرف الصريح y، عندها سيكون الحرف المشفر هو عبارة عن الحرف الموجود في نقطة تقاطع السطر ذو العنوان x مع العمود ذو العنوان y. أي في هذه الحالة سيكون هو الحرف v. يلزمنا لتعمية رسالة ما مفتاحاً مساو لطول الرسالة نفسها. يتم تشكيل المفتاح غالباً من تكرار كلمة مفتاحية ما. فإذا كانت الكلمة المفتاحية على سبيل المثال هي deceotive، وكانت الرسالة المراد تعميتها هي: (صورة:جدول فينجينر الحديث) "we are discoveres save yourself"، عندها يكون: المفتاح: d e c p t i v e d c e pt i v e d e c e p t i v e النص الصريح: w e a r e d i c o v e r e d s a v e y o u r s e l f Z I C V T W Q N G R Z G V T W A V E C Q Y G L M G J: النص المعمى عملية فك التعمية بسيطة أيضاً. فالحرف المفتاحي يعرف سطراً معيناً، وموقع الحرف المشفر في هذا السطر يحدد العمود الذي سيحوي في أعلاه الحرف الصريح المطلوب. تنبع قوة هذه الخوارزمية من وجود عدة حروف تشفير لكل حرف صريح. لذلك فإن معلومات توزع التردد ستصبح غير واضحة نهائياً. ولكن لن تضيع كل المعلومات عن بنية النص الأصلي. فعلى سبيل المثال يبين الشكل 2-6 توزع التردد من أجل شيفرة فيجينر عنما يكون طول الكلمة المفتاحية تسعة حروف. نلاحظ من هذا الشكل تحسناً عن شيفرة بلايفير، إلا انه مازالت هناك آثاراً واضحة لمعلومات التردد. من المفيد لتوضيح طريقة كسر هذه الشيفرة، وذلك لأن هذه الطريقة تتضمن بعض المبادئ الرياضية المستخدمة في تحليل التعمية أو الكسر. لنفترض أولاً أن المعتدي يعتقد أنه تم الحصول على الحصول على النص المشفر عن طريق التبديل باستخدام مجموعة محارف وحيدة أو باستخدام شيفرة فيجينر. يمكن إجراء اختبار بسيط لتحديد ذلك. فإذا كان التبديل باستخدام مجموعة المحارف الوحيدة مستخدماً عندها ستكون الخصائص الإحصائية للنص المشفر مماثلة للخصائص الإحصائية للغة النص الصريح. وبالرجوع إلى اشكل 2-5 نرى أنه يجب تواجد حرف مشفر واحد بتردد نسبي حوالي 12.7%، وحرف آخر بتردد نسبي حوالي 9.06% وهكذا. لا يمكن الحصول على هذه الدقة تماماَ من خلال نص واحد، إلا أنه إذا كان هناك تقارب في القيم يمكننا الجزم باستخدام مجموعة محارف وحيدة للتبديل. أما إذا كنا نتوقع استخدام شيفرة فيجنير، عندها يتعلق التقدم في عميلة الكشف بالانتقاء المناسب لطول الكلمة المفتاحية كما سنرى. لنركز الآن على كيفية تحديد طول الكلمة المفتاحية. تنحصر الناحية الهامة التي يمكن أن تؤدي إلى الحل بما يلي: إذا وجدت سلسلتان متطابقتان من النص الصريح واقعتان على بعد مساو لمضاريبب طول الكلمة المفتاحية، عندا ستتولد سلسلتان متطابقتان من النص المشفر. ففي المثال السابق نلاحظ وجود نسختين من السلسلة "red" متباعدتين عن بعضهما بعض بمقدار تسعة حروف. ونلاحظ ان الحرف r في كلا السلسلتين تمت باستخدام الحرف e، والحرف e تمت تعميته باستخدام الحرف p، بينما تمت تعمية الحرف d باستخدام الحرف t . وبالتالي نلاحظ في كلتا الحالتين أن السلسلة النص المشفر الناتجة هي VTW. يمكن للمحلل الذي يبحث في النص المشفر فقط أن يرى تكرار السلسلة VTW وبانزياح مقداره تسعة حروف، وبالتالي سيفترض أن طول الكلمة المفتاحية إما ثلاثة أو تسع حروف. يمكن طبعاً أن يكون ظهور السلسلة VTWمرتين هو مجرد مصادفة ولا يعكس عميلة تشفير سلاسل متطابقة من النص الصريح بسلسلة واحد، من الكلمة المفتاحية. ولكن على أية حال، إذا كانت الرسالة طويلة بما فيه الكفاية، فسيكون هناك أكثر من تكرارين لنفس السلسلة من النص المشفر. يمكن للمحلل بعد دراسة العوامل المشتركة في الإزاحات ولعدة سلاسل أن يخمن طول الكلمة المفتاحية. يعتمد حل الشيفرة الآن على ناحية هامة، إذا كان طول الكلمة المفتاحية هو N تبديل بمجموعة محارف وحيدة. فعلى سبيل المثال إذا كانت الكلمة المفتاحية هي DECEPTIVE، عندما ستتم تعمية الحروف الموجودة في المواضع 1و 10و 19و . . الخ بواسطة نفس مجموعة المحارف. لذلك يمكننا استخدام الخصائص الترددية المعروفة للغة النص الصريح لمهاجمة كل شيفرة بمجموعة محارف وحيدة بشكل منفصل. يمكن التخلص من الطبيعة التكرارية للكلمة المفتاحية عن طريق استخدام كلمة مفتاحية غير متكررة وبطول مساو لطول الرسالة نفسها. قد فيجينر عرضاً، أطلق عليه ذو المفتاح الآلي، حيث يتم وصل الكلمة الفتاحية مع النص الصريح نفسه للحصول على المفتاح الحالي. فعلى سبيل المثال: المفتاح: d e c e p t i v e w e a r e d i s c o v e r e d s a v النص الصريح: w e a r e d i s c o v e r e d s a v e r e d s a v e y o u r s e l f النص المشفر: Z I C V T W Q N G K Z E I I G A S T S L V V W L A على الرغم من كل التحسينات السابقة تبقى هذه الخطة ضعيفة تجاه تحليل التعمية، وذلك لأن لكل من التقنيات والنص الصريح نفس خصائص توزع تردد الحروف، وبالتالي يمكن تطبيق التقنيات الإحصائية. فعلى سبيل المثال، نتوقع من الشكل 2-5 أن يتواجد الحروف e ، بالتردد= 0.016 (0.127)2 بينما نحصل على نصف هذه القيمة عندما تتم تعمية t بواسطة t نفسه، تؤدي دراسة هذه التكرارات النظامية إلى نجاح تحليل التعمية. يتمثل الدفاع الأمثل ضد هذا النوع من تحليل التعمية باختيار كلمة مفتاحية بطول مساوي لطول النص الصريح، وليس لها علاقة إحصائية به. تم تقديم مثل هذا النظام هذا النظام من قبل أحد مهندسي AT&T (جيلبرت فيرنام Gilbert Venam)، عام 1918. وقد عمل هذا النظام على المعلومات الثنائية بدلاً من عمله على الحروف. يمكن التعبير عن هذا النظام بدقة كما يلي: Ci=Pi+Ki حيث: Pi: هي الخانة ذات الرقم i من النص الصريح. K i: الخانة ذات الرقم i من المفتاح. Ci: الخانة ذات الرقم i من النص المشفر. +: عملية الجمع القسري (XOR). وبالتالي يتم توليد النص المشفر عن طريق تطبيق عملية (XOR) بين خانات النص الصريح وخانات المفتاح. تنتج عملية فك التعمية عن طريق تطبيق عملية (XOR) أيضاً ولكن بين خانات النص المشفر والمفتاح، وذلك بسبب ما تتمتع به هذه العملية من خصائص. Pi=Ci+Ki جوهر هذه الطريقة هو الاعتماد على بينة المفتاح. وقد اقترح فيرنام استخدام حلقة مغلقة لتكرار المفتاح، حيث يعمل النظام بهذا الشكل مع مفتاح طويل جداً مؤلف من كلمة مفتاحية متكررة. ومع أن هذه التقنية ذات المفتاح الطويل تشكل عقبة تجاه تحليل التشفير، إلا أنها تبقى قابلة للكسر إذا ما توفر نص مشفر كاف أو باستخدام نص صريح معروف أو الاثنين معاً. الطبعة المستخدمة لمرة واحدة فقطاقترح أحد ضباط سلاح الإشارة "جوزيف ماوبورن" تحسيناً لشيفرة فيرنام، ويقدم أقصى درجات الأمان. يتلخص هذا الاقتراح باستخدام مفتاح عشوائي بطول النص الأصلي تماماً، وبدونأي تكرار. يعتبر هذا المخطط، والمعروف باسم "الطبعة المستخدمة لمرة واحدة (One-Time Pad) ، غير قابل للكسر. حيث يولد خرج عشوائي لا يحمل أية معلومات إحصائية مرتبطة بالنص الصريح. وبما أن النص المشفر لا يحوي أية معلومات مرتبطة بالنص الصريح لذلك لن يكون هناك أية طريقة لكسر هذه الشيفرة. يمكن توضيح ما سبق بمثال. لنفترض أننا نستخدم مخطط فيجنير مع 27 حرفاً، حيث يكون الحرف 27 هو الفراغ، ولكن بمفتاح للاستخدام مرة واحدة وبطول الرسالة. يجب حسب هذا الافتراض تمديد الجدول 2-3 ليصبح بالأبعاد 27*27. لنأخذ الآن النص المشفر التالي: ANKYODKYUREPFJBYOJDSPLREYIUNOFOOIUERPLUYTS سنوضح الان فك التشفير باستخدام مفتاحين مختلفين: النص المشفر:ANKYODKYUREPFGBYOJDSPLREYIUNOFDOIUERFPLUYTS المفتاح: pxlmvmsydoftyrvzwc tnlebnecvgduoahfzzlmnyih النص الصريح: mr mustard w i t h t h e c a n d e l s t i c k i n t h e h al l النص المشفر: ANKYODKYUREPFJBYOJDSPLREYIUNOFDIUERFPLUYTS المفتاح:t e w p q f g y o v u h w t f m f u g p m i y d g a x j o u f h k l l l m h s q d g o g النص الصريح: m i s s s c a r l e t w i t h k n i f e i n t h e l i b r a r y سنفترض أن المحلل استطاع معرفة هذلين المفتاحين. يمكن عملياً انتاج نصفين مقبولين فكيف يمكن للمحلل أن يقرر أيهما هو النص الصحيح (أي المفتاحين هو المفتاح الصحيح) إذا تم إنتاج المفتاح الحقيقي بطريقة عشوائية تماماً، فلا يمكن للمحلل أن يقول أي من هذين أقرب إلى الحقيقة من الآخر. وبالتالي ليست هناك طريقة يمكن بواسطتها معرفة المفتاح الحقيقي وبالتالي النص الصحيح الصريح. إذا كان هناك نص صريح مساوياً بالطول للنص المشفر، ففالحقيقية يجد مفتاح ما يمكنه إنتاج هذاالنص الصريح وبالتالي، إذا قمنا بعملية بحث مكثف عن كل المفاتيح المحتملة فسنجد أن هناك عدة مفاتيح سوف تعطي نصوصاً صحيحة مقروءة، بدون وجود أية طريقة تدلنا على النص الصريح الحقيقي المطلوب. وبالتالي نستنتج أن هذه الشيفرة غير قابلة للكسر. ينتج أمن الطبعة التي تستخدم مرة واحدة من الطبيعة العشوائية للمفتاح. فإذا تم تشكيل السلسلة التي تؤلف المفتاح بشكل عشوائي تماماً، فإنها سوف تنتج نصاً مشفراً عشوائياً تماماً. وبالتالي لن يكون هناك أى نماذج أو انتظام يساعد المحلل في عملية كسر النص المشفر. نظرياً ليست هناك حاجة للبحث عن أية طريقة تشفير أخرى، حيث تؤمن الطبعة المستخدمة مرة واحدة أعلى مستويات الأمن الممكنة. إلا أن هذه الطريقة ترتبط بصعوبتين أساستين من وجهة نظر التطبيق العملي: 1-هناك مشكلة عملية في تشكيل عدد كبير من المفاتيح العشوائية. حيث يتطلب أي نظام مستخدم بشكل كثيف استعمال ملايين الرموز العشوائية هي مشكلة عملية حقيقية صعبة التنفيذ. 2-المشكلة الأكثر تعقيداً هي مشكلة توزيع وحماية المفتاح. حيث يجب أن يمتلك كل من المرسل والمستقبل مفتاحاً وحيداً لكل رسالة مطلوب ارسالها على أن يكون هذا المفتاح بطول الرسالة. مع الحفاظ على شرط العشوائية في انتقاء المفتاح، وبالتالي ستنتج مشكلة مستحيلة الحل في توزيع المفاتيح مع الحفاظ على سريتها. نرى نتيجة لما سبق أن تقنية الطبعة المستخدمة مرة واحدة صعبة التحقيق وتتوفر في بعض الخدمات الخاصة جداً التي يكون فيها عرض العصبة ضيقاً ومستوى الأمن المطلوب عالي جداً. تقنيات تبديل مواقع الحروفتتضمن كل التقنيات التي تمت دراستها حتى الآن عملية تبديل رموز النص الصريح برموز النص المشفر. هناك نوع آخر مختلف تماماً عن ما تم بحثه يتلخص في تنفيذ عملية إعادة ترتيب لرموز النص الصريح نفسه دون تبديلها بأخرى. تعرف هذه التقنيات باسم التشفير عن طريق تبديل مواقع الحروف. تعتبر طريقة "وضع السياج" (rail fence) أبسط أشكال هذا النوع من التشفيرـ حيث تتم كتابة النص الصريح على شكل سلاسل قطرية ومن ثم قراءتها على شكل سلاسل سطرية. فعلى سبيل المثال يتم تشفير الرسالة التالية "meet me after the toga party" باستخدام وضع السياج بعمق 2 كما يليل: نكتب الرسالة أولاص كما في الشكل التالي: m e m a t r h t g p r y e t e f e t e o a a t ثم نقرأ هذه الرسالة سطراً تلو الآخر لاستنتاج الرسالة المشفرة التالية: MEMATRHTGPRYEFETOAAT يعتبر هذا النوع من التشفير بسيطاً امام محللي الشيفرة. ويمكن وضع طريقة تشفير أكثر تعقيداً عن طريق كتابة الرسالة في مستطيل على شكل صفوف متتالية، ومن ثم قراءة هذه الرسالة عموداً تلو الآحر ولكن مع تبديل ترتيب هذه الأعمدة. حيث يمثل ترتيب هذه الأعمدة مفتاح التشفير المعتمد. المثال التالي يوضح هذه الطريقة. ليكن لدينا النص الصريح التالي: "attack Postponded until two a.m xyz" عندها: المفتاح: 7 6 5 2 1 3 4 النص الصريح: a t t a c k p o s t p o n e d u n t i l t w o a m x y z النص المشفر: TTNAPTMSUOAODWCOIXKNLYPETZ يمكن التعرف على الشيفرة الناتجة عن تبديل مواقع الحروف بسهولة، وذلك لأن تردد الحروف في النص المشفر هو نفسه في النص الصريح. فمن أجل طريقة تبديل الأ‘مدة الموضحة أعلاه يتم تطبيق تحليل التعمية بشطل مباشر وواضح، ويتضمن رصف النص المشفر في مصفوفة وتغير مواضع الأعمدة بشكل دوري. يساعد مخطط توزيع تردد الثنائيات والثلاثيات في عملية الكشف. يمكن تحسين مستوى أمن الشيفرة عن طريق تطبيق أكثر من مرحلة تبديل مواقع. وستكون النتيجة عملية تبديب مواقع معقدة تجعل إعادة الترتيب والبناء عملية صعبة. وبالتالي إذا قمنا بتشفير الرسالة السابقة مرة اخرى باستخدام نفس الخوارزمية، فسيكون: المفتاح: 7 6 5 2 1 3 4 النص الصريح: t t n a a p t m t s u o a o n l y p e t z النص المشفر: NSCYAUOPTWLTMONAOIEPAXTIOKZ يمكن إظهار نتائج هذا التبديل المضاعف في مواقع الحروف كما يلي: سنعطي أحرف النص الصريح أرقاماً تسلسلية تعكس مواقع هذه الأحرف في الرسالة. وبالتالي سنبدل الأحرف الثمانية والعشرين في الرسالة السابقة بالأرقام المرافقة كما يلي: 14 13 12 11 10 09 08 07 06 05 04 03 02 01 28 27 26 25 24 23 22 21 20 19 18 17 16 15 وبعد إجراء عملية التبديل الأولى سيكون ترتيب الأرقام كما يلي: 08 01 23 16 09 02 25 18 11 04 24 17 10 03 28 21 14 07 27 20 13 06 26 19 12 05 22 15 يتضح ان الرسالة السابقة تملك بنية منتظمة إلى حد ما. اما بعد عملية التبديل الثاني فستكون الرسالة كما يلي: 25 03 20 22 02 10 07 12 16 24 27 05 09 17 28 06 08 18 21 26 01 11 14 19 23 04 13 15 يتضح من الترتيب السابق في الرسالة ان بينة النص الصريح أقل وضوحاً مما سبق وأن عملية تحليل التعمية أكثر صعوبة. الآلات الدوارةيفترض المثال السابق عدة مراحل للتشفير مما ينتج خوارزمية صعبة الكسر. ينطبق هذا الكلام أيضاً على التشفير باستخدام تبديل الحروف. التطبيق الأكثر أهمية لهذا المبدأ قبل خوارزمية DES هو النظام المعروف باسم الآلات الدوارة (Rotor machines). يوضح الشكل 2-7 المبدأ الأساسي للآلات الدوارة. تتألف الآلة من مجموعة من الأسطوانات الدوارة المستقلة عن بعضها بعض، والتي تمر عبرها النبضات الكهرابئية. تملك كل أسطوانة 26 مدخلاً و26 مخرجاً، حيث يتم توصيل كل دخل بخرج وحيد داخلياً. لتبسيط الصورة ثم توضيح ثلاث وصلات داخلية فقط في كل اسطوانة. إذا تم ربط كل دخل وكل خرج بحرف واحد من أحرف اللغة، عندها ستمثل كل اسطوانة عملية ت بديل بمجموعة محارف وحيدة، فعلى سبيل المثال إذا قام العامل باختيار الحرف A من الآلة الموضحة في الشكل 2-7، عندها سيتم تطبيق إشارة كهربائية على المدخل الأول من الإسطوانة الأولى وتنتقل هذه الإشارة عبر الوصلة الداخلية إلى الخرج ذي الرقم 24. لنفترض أن الآلة مؤلفة من إسطوانة وحيدة. عندها سيتم دوران الإسطوانة موقعاً واحداً عند كل اختيار لحرف جديد أو عند إجراء ضغط لزر جديد، وبالتالي سنجري عملية إزاحة للوصلات الداخلية، وبالتالي سيتم تعريف تشفير جديد باستخدام مجموعة محارف وحيدة مختلفة. ستعود الإسطوانة إلى حالتها الأساسية بعد 26 حرفاً من النص الصريح. وبالتالي لدينا في كل إسطوانة خوارزمية تبديل باستخدام مجموعات محارف متعددة مرلفة من 26 مجموعة. يعتبر نظام الإسطوانة الوحيد بسيطاً ولا يشكل عقبة امام مهام تحليل التشفير. تنبع قوة الآلات الدوارة من استخدام مجموعة إسطوانات، بحيث يتم توصيل كل خرج من إسطوانة ما يدخل من الإسطوانة التي تلبيها. يبين الشكل 2-7 نظاماً مرلفاً من ثلاثل إسطوانات. يوضح النصف الأيسر من الشكل الحالة التي تم فيها تحويل الدخل من العامل على المدخل الأولى (الحرف الصريح a) عبر الإسطوانات الثلاث ليظهر في الخرج على التماس الثاني (الحرف المشفر B). عندما يملك النظام عدة إسطوانات، فإن الإسكوانة الأبعد عن العامل سوف تدور بمقدار موضع واحد عند كل ضربة مفتاح. نشاهد في النصف الأيمكن من الشكل 2-7 حالة النظام بعد الضغط على مفتاح واحد. تدور الإسطوانة الوسطى بمقدار موضع واحد، عندما تدور الإسطوانة الخارجية دورة كاملة، وأخيراً تدور الإسطوانة الداخلية (الأقرب إلى العامل) بمقدار موضع واحد عندما تتم الإسطوانة الوسطى دورة كاملة. سنحصل في النتيجة على 26*26*26 أو 17.576 عندما مليون مجموعة مخارف مختلفة مستخدمة للتبديل، بحيث يتم استخدامها بشكل تسلسلي قبل أن يعيد النظام نفسه. إن إضافة إسطوانة دوراة رابعة سوف ينتج دورة بعمق 456.976 بينما إضافة إسطوانة خامسة سوف ينتج 11.881.376. (صورة:آلة دوراة ذات ثلاث إسطوانات مع توضيح الأسلاك بين المواصلات) تنبع أهمية الآلة الدوراة اليوم من أنها تمهد الطريقة لتوضيح خورازمية التشفير الأكثير انتشاراً على الإطلاق وهي مقياس تشفير المعطيات (Data Encryption Standard-DES) والذي سيتم شرحه في الفصل الثالث. المواراة أو الإخفاءسنختم هذا الفصل بمناقشة تقينة لا تنتمي بشكل مباشر إلى التعمية، وتسمى الموارة او الإخفاء steganogra[hy. يمكن إخفاء النص الأصلي بإحدى طريقتين. تحجب طرق الموارة حقيقة وجود الرسالة أصلاً، بينما تبقى طرق التعمية النص ظاهراً، إنما تحوله إلى نص مبهم غير مفهوم أو غير مقروء مباشرة. هناك طريقة بسيطة لتنفيذ الموارة، ولكنها تستهلك الوقت الكثير أثناء بناء الرسالة. تعتمد هذه الطريقة على أن ترتيب الكلمات أو الحروف في رسالة واضحة غير سرية تشكل الرسالة الحقيقية المطلوبة. فعلى سبيل المثال يتم إظهار الراسلة المخفية من تسلسل أول أحرف من كل كلمات رسالة موضحة ما . يبين الشكل 2-8 مثلالً يتم فيه استخدام مجموعة جزئية من كلمات الرسالة لتشكيل الرسالة المخفية. 3rd March Dear George Greetings to all at Oxford Mary thanks for your letter and for the summer examination package. All Entry Forms and Fees Forms should be ready for final dispatch to the synicateby Friday 20th or at the very latest, I'm told by the 21st. Admin has improves here, thought there's room for improvement still, judt give us all two or three more years and we'll really show you! Please don't let these wretched 16+ proposals destroy your basic 0 O and A pattern, certainly this sort of change if imp;emented immediately would bring chaos. Sincerely yours, الشكل 2-8: أحجية للمفتش مورس-المصدر: The Silent World of Nocholas Quinn هناك تقنيات مختلفة يتم من خلالها إخفاء الرسائل، بعض هذه التقنيات: •تعليم الحروف characher marking: تتم الكتابة فوق الحروف المختارة المطبوعة أو المكتوبة بواسطة الآلة الكاتبة، وذلك بواسطة قلم رصاص. لن تكون هذه الكتابة مرئية مالم يتم توجيه الورقة بزاوية معينة بالنسبة للضوء. •الحبر السري (غير المرئي) Invisible Ink: هناك العديد من المواد التي تستخدم للكتابة بحيث لا تترك أي أثر لهذه الكتابة، ويتم إظهار هذه الكتابة عند تعريضها للحرارة أو لمواد كيمائية معينة. •التثقيب بالدبوس Pin punctures: يتم إحداث ثقوب دقيقة فوق الحروف المختارة بحيث لا تكون هذه ال ثقوب مرئية ما لم يتم تعريض الورقة مباشرة للضوء. •شريط التصحيح للآلة الكاتبة Typewriter correction ribbon: تتم الطباعة باستخدام هذا الشريط بين الأسطر المطبوعة بشريط أسود. لن تكون الطباعة باستخدام هذا الشريط مرئية ما لم يتم تعريضها لضوء شديد. ومع أن هذه التقنيات تبدو قديمة، إلا أن لها مكافئات معاصرة. فعلى سبيل المثال هناك تقنية تخفي الرسالة في الخانات الأقل أهمية من الصورة. فإذا أخذنا على سبيل المثال الصورة من التنسيق Kodak Photo CD, نجد أن الدقة الأعظمية للصور هي 3072*2048 عنصورة (بيكسل)، حيث يتم تمثيل كل عنصورة ب24 خانة معبرة عن معلومات اللون. يمكن تغيير الخانة الأقل أهمية من هذه الخانات دون أي تأثير واضح على جوزدة الصورة. وبالنتيجة يمكن إخفاء نص بحجم 2.3 ميجا بايت في صورة واحدة. يمكن الإطلاع على تفاصيل عملية الموارة باستخدام الصور في المرجع (WAYN93). هناك طرق أخرى للموارة يمكن من خلالها استخدام أنواع مختلفة من الملفات لإخفاء النصوص فعلى سبيل المثال يمكن استخدام تقنية MPS لإخفاء النصوص. تملك الموارة نقاط ضعف مختلفة إذا ما قورنت بالتعمية. حيث تتطلب أعباء كبيرة لإنجاز عمل بسيط نسبياً، غير أنه يمكن رفع كفاءة هذا العمل باستخدام التقنيات الموضحة في الفقرات السابقة. كما يمكن زيادة هذه الكفاءة باستخدام مفتاح معين لتنفيذ الموارة. كما يمكن استخدام الموارة مع التعمية في منظومة واحدة، حيث تتم تعمية الرسالة أولاً ومن ثم موارة الرسالة المشفرة. تنبع أهمية الموارة من ضرورة إخفاء حقيقة تبادل الرسائل بين الطرفين. حيثأن استخدام التعمية لوحدها يؤدي إلى تنبيه الفضوليين إلى أهمية الرسائل المتبادلة أو إلى وجود معلومات يحاول المرسل إخفاءها. التشفير الكتلي ومقياس تشفير المعطياتالغرض من هذا الفصل هو توضيح مبادئ التشفير المتناظر الحديثة. ولإنجاز هذا الهدف سيتم التركيز على التشفير المتناظر الأكثر استخداما: "مقياس تشفير المعطيات" (Data Encryption Standard-DES) ومع أنه تم الاتفاق على استبدال هذه الخوارزمية بخوارزمية "مقياس التشفير المتقدم " (Advanced Encryption Sartndard-AES) بقيت خوارزمية DES الأكثر أهمية بين الخوارزميات المتشابهة. بالاضافة إلى ما تم ذكرة تعتبر دراسة خوارزمية DES بشكل مفصل الأساس لفهم المبادئ المستخدمة في الشتفير المتناظر. سنقوم في الفصول 5 و6 بدراسة مجموعة طرق التشفير المتناظر الهامة بما في ذلك AES. تعتبر خوارزمية DES ومعظم خوارزميات التشفير المتناظر معقدة جدا، اذا ما قورنت بخوارزميات المفتاح العمومي مثل RSA، وبالتالي لا يمكن شرحها ببساطة كما هي الحال في خواركية RSA والخوارزميات المتشابهة. لذلك سنبدأ بنسخة مبسطة للخوارزمية DES. تسمح هذه النسخة للقارئ باجراء عمليتي التعمية وفك التعمية يدويات وذلك من أجل اكتساب الفهم الجيد لكيفية عمل هذه الخوارزمية. وقد دلت خبرات التدريس على أن الفهم الجيد لهذه النسخة المبسطة يحسن ويسهل فهم خوارزمية DES. يبحث هذا الكتاب، بعد مناقشة النسخة المبسطة من DES، في المبادئ العامة للتشفير الكتلي المتناظر ، والذي يمثل نوع التشفير المتناظر الذي سيتم بحثه في هذا الكتاب (ماعدا التشفير التسلسلي RCS المطروح في الفصل السادس). ثم ينتقل الكتاب بعد ذلك إلى عرض خوارزمية DES الكاملة. يعود الكتاب، بعد مناقشة هذه الخوارزمية الخاصة، إلى مناقشة عامة لتصميم أنظمة التشفير الكلي.
خوارزمية DES المبسطةتعتبر خوارزمية DES المبسطة (S- DES) والتي تم تطويرها من قبل البروفيسور إدوارد شيفر في جامعة سانتا كلارا، خوارزمية تعليمية أكثر من كونها خوارزمية آمنة للعمل الحقيقي، تمتلك هذه الخوارزمية نفس خصائص وبنية خوارزمية DES ولكن مع معاملات أصغر بكثير يمكن للقارئ أن يجدها مريحة في العمل اليدوي لتطبيق الأمثلة الواردة أثناء مناقشة هذا المقطع. نظرة عامةيوضح الشكل 3-1 البنية العامة للخوارزمية S- DES . دخل خوارزمية التعمية S- DES، هو كتلة ذات ثماني خانات من النص الصريح (على سبيل المثال 10111101)، بالإضافة إلى مفتاح بطول عشر خانات. أما خرجها فهو عبارة عن كتلة من النص المشفر بطول ثماني خانات أيضا. أما خوارزمية S- DES لفك التعمية فهي تأخذ كتلة من النص المشفر بطول ثماني خانات بالاضافة إلى نفس المفتاح ذي العشر خانات لتعطي كتلة ذات طول ثماني خانات من النص الصريح. تتضمن خوارزمية التعمية خمسة توابع: التبديل الأولي للمواقع (IP)؛ وظيفة معقدة باسم Fk، والتي تتضمن عمليتي تبديل أحرف وتبديل مواضع معتمدتين على المفتاح، عملية تبديل مواقع بسيطة (SW)، تقوم بتبديل مواقع نصفي المعطيات بين بعضها بعض، ثم الوظيفة Fk مرة أخرى، وأخيرا وظيفة تبديل المواقع التي تعاكس عملية التبديل الأولى للمواقع والتي يشار إليها بالرمز (IP-1). تؤدي المراحل المتعددة في عمليات تبديل الحروف وتبديل المواقع، كما أشرنا في الفصل الثاني، إلى انتاج خوارزميات معقدة، تزيد الصعوبات أمام محللي التشفير. دخل التابع Fk، هو كتلة خانات المعطيات المراد تشفيرها (بعد مرورها بالتابع IP) بالاضافة إلى ثماني خانات من المفتاح. كان من الممكن تصميم الخوارزمية لتعمل مع مفتاح بطول ستة عشرة خانة، بحيث يتم تقسيمه إلى مفتاحين جزئيين طول كل منهما ثماني خانات. وبحيث يتم استخدام كل جزء مع إحدى الوظائف Fk المكررة في الخوارزمية. يمكن عوضا عن ذلك استخدام مفتاح وحيد بطول 8 خانات بحيث يستخدم نفسه مرتين في الخوارزمية. الحل الأمثل هو استخدام مفتاح بطول 10 خانات، بحيث يتم توليد مفتاحين منه طول كل منهما 8 خانات وذلك كما هو موضح في الشكل 3-1. وفي هذه الحالة يطبق على المفتاح تابع تبديل المواضع P10 والذي سينتج خرجا ذو ثماني خانات هو المفتاح الأول K1. كذلك يطبق خرج عملية الازاحة على عملية ازاحة أخرى ومن ثم على عملية تبديل المواقع P8، لانتاج المفتاح الثاني K2 ذو الثماني خانات. {{{{الشكل 3-1: مخطط خوارزمية DES المبسطة}}}} يمكن التعبير عن خوارزمية التعمية باختصار كتركيب للتوابع كما يلي: IP-1 o fk2oSWk1oIP والذي يمكن كتابته أيضا كما يلي: Ciphertext = IP-1 (fk2 (SW(fk1(IP(plaintext)))) حيث: K1=P8 (shift(P10(Key))) K2= P8(Shift(shift(P10(key)))) يبين الشكل 3-1 أيضا عملية فك التعمية والذي يعتبر بشكل مبدئي عكس عملية التشفير: Plaintext – (IP-1(fk1(SW(fk2(IP(ciphertext)))) سنقوم الآن بدراسة عناصر خوارزمية S-DES بالتفصيل. التابع fkيعتبر التابع fk العنصر الأكثر تعقيدا بينا عناصر الخوارزمية S-DES ، حيث يتألف من مجموعة توابع تبديل المواقع وتبديل الحروف. يمكن وصف هذا التابع كما يلي: لنفرض أن L وR هي عبارة عن الخانات الأربع اليسارية والخانات الأربع اليمينية من الدخل المؤلف من ثماني خانات للتابع fk على الترتيب، ولنفرض أن F هي عبارة عن عملية تحويل من سلسلة ذات أربع خانات إلى سلسلة أخرى ذات أربع خانات أيضا (ليس بالضرورة أن يكون التحويل واحدا واحدا). عندها يمكن أن نكتب : Fk (L,R) = (L ө F(R, SK),R حيث أن SK هو عبارة عن المفتاح الجزئي، و өهي عبارة عن عملية PR القسرية Exclusive-OR) المطبقة على مستوى الخانة. لنفرض على سبيل المثال أن خرج المرحلة IP في الشكل 3-3 هو (10111101) وأن F(1101, SK) = (1110) من أجل SK ما، عندها سيكون fK (10111101) = (0101 1101) وذلك لأن (1011) ө (1110) = (0101). سنقوم الآن بشرح عملية التحويل F. دخل هذه العملية هو عبارة عن رقم من أربع خانات (n1 n2 n3 n4). الخطوة الأولى في هذا التحويل هي عبارة عن عملية توسيع وتبديل مواقع كما هو مبين فيما يلي: E/P 1 4 3 2 3 2 1 4 من الأفضل كتابة هذه الخطوة كما يلي وذلك للاستفادة منه لاحقا: n3 n2 n1 n4 n1 n4 n3 n2 تتم بعد ذلك اضافة المفتاح الجزئي ذو الثماني خانات k1= (k11,k12,k13,k14,k15,k16,k17,k18) إلى القيمة السابقة باستخدام XOR: n3+ k14 n2+ k13 n1+ k12 n4+ k11 n1+k18 n4+k17 n3+ k16 n2+ k15 لنقم الآن باعادة تسمية هذه الخانات الثمانية: P0.3 P0.2 P0.1 P0.0 P1.3 P1.2 n3 P1.0 يتم ادخال الأربع خانات الأولى (السطر الأول في المصفوفة السابقة) إلى صندوق S المسمى SO لانتاج خانتي خرج، كذلك يتم إدخال الأربع خانات الباقية (السطر الثاني) إلى الصندوق S1 لإنتاج خانتي خرج أيضا. تعرف هذه الصناديق كما يلي: {{{شكل الصناديق}}} تعمل صناديق S كما يلي: تعامل خانتا الدخل الأولى والرابعة كعدد واحد مؤلف من خانتين لتحديد رقم السطر في الصندوق S، بينما تحدد الخانتان الثانية والثالثة رقم العمود في نفس الصندوق. يعتبر الرقم الواقع في تقاطع السطر والعمود المحددان خرج الصندوق بعد تمثيله ثنائيا وبخانتين فقط. فعلى سبيل المثال اذا كان (P0.0 P0.3) = (00) وكان (P0.1 P0.2) = (10) عندها سيتم الحصول على الخرج من السطر رقم 0 والعمود رقم 2 من الصندوق S0، أي سيكون الخرج هو 3 أو 2(11) . تستخدم الخانات (P11 P12) = (P10 P13) لتحديد السطر والعمود في صندوق S1 وبالتالي الحصول على خانتي خرج إضافيتين. يتم بعد ذلك تطبيق عملية تبديل مواقع على الخانات الأربع الناتجة من الصناديق S0 وS1 كما يلي: P4 1 3 4 2
تابع التبديلقام التابع fk بتبديل الخانات الأربع اليسارية فقط. لذلك يقوم تابع التبديل (SW) بتبديل الأربع خانات اليسارية مع الأربع خانات اليمينية وذلك كي يعالج التابع fk، والذي سيتم تطبيقه مرة أخرى على الخانات الأربع التالية. في المرحلة الثانية يتم تكرار تطبيق التوابع P4, S1, S0, E/P ذاتها ، غير أن المفتاح في هذه المرحلة سيكون k2. توليد مفاتيح الخوارزمية S-DESتعتمد خوارزمية S-DES على استخدام مفتاح مشترك بين المرسل والمستقبل بطول عشرة خانات. يتم انتاج مفتاحين جزئيين من هذا المفتاح، طول كل واحد ثماني خانات وذلك لاستخدامهما في المراحل المختلفة من خوارزمية التشفير وفك التشفير. يوضح الشكل 3-2 الخطوات المتبعة لانتاج المفاتيح الجزئية. تقوم الخطوة الأولى بعملية تبديل مواقع خانات المفتاح بالطريقة التالي. لنعطي خانات المفتاح العشر رموزا كما يلي P10(K1,K2,K3,K4,K4,K5,K6,K7,K8,K9,K10) يمكن التعبير عن التابع P10 باختصار في الشكل التالي: P10 9 8 9 1 10 4 7 2 2 5 3 يقرأ هذا الجدول من اليسار إلى اليمين، حيث يعبر محتوى كل موضع في الجدول عن هوية خانة الدخل التي ستعطي خانة الخرج في هذا الموضع. وبالتالي خانة الخرج الأولى ستكون هي خانة الدخل الثالثة، وخانة الخرج الثانية ستكون هي خانة الدخل الخامسة.. وهكذا. فعلى سبيل الثمال اذا كان مفتاح الدخل هو (1010000010) فان خرج تابع تبديل المواضع P10 سيكون الخمس خانات الأولى والخمس خانات الثانية من خرج عملية تبديل المواقع P10 بشكل مستقل وبالتالي فإن خرج هذه العملية سيكون (000001 11000). نقوم بعد ذلك بتطبيق تابع تبديل المواضع P8 والذي يقوم بانتخاب وتبديل مواقع ثماني خانات من أصل عشرة وذلك حسب القاعدة التالية: P8 9 10 5 8 4 7 3 6 وستكون النتيجة هي المفتاح الجزئي الأول k1 وفي مثالنا سوف ينتج (10100100). نعود بعد ذلك إلى زوج السلاسل المؤلفة من خمس خانات الناتجة عن عمليتي الازاحة SL-1 ونطبق عليهما عمليتي ازاحة دوارنيتين بمقادر خانتين لكل منهما، وهو ما يعبر عنه بالتوابع SL-2 في الشكل 3-2. ستكون النتيجة في مثالنا هي (0010000011). نقوم أخيرا بتطبيق تابع تبديل المواقع P8 نفسه على الناتج للحصول على المفتاح الجزئي الثاني K2، والذي سيكون في مثالنا (001000011). {{{الشكل 3-2:توليد المفاتيح في خوارزمية DES المبسطة}}}
التعمية حسب خوارزمية S-DESيبين الشكل 3-2 خوارزمية التعمية S-DES بالتفصيل. تتألف عملية التعمية، كما ذكرنا سابقا، من تطبيق متسلسل لخمسة توابع. سندرس كل من هذه التوابع بشكل مستقل. {{{الشكل 3-3: مخطط تفصيلي للتعمية وفق خوارزمية S-DES}}} تبديلات المواقع البدائية والنهائيةيتألف دخل الخوارزمية من كتلة من معطيات الدخل بطول ثماني خانات، والتي يطبق عليها تابع تبديل المواقع IP التالي: IP 7 5 8 4 1 3 6 2
IP-1 6 8 2 7 5 3 1 4 يمكن ببساطة عن طريق مثال توضيح أن عملية تبديل المواقع التالية هي في الحقيقة عكس عملية الترتيب الأولى تماما، أي أن IP-1 (IP (x))=x تحليل خوارزمية DES المبسطةيعتبر كسر خوارزمية DES المبسطة بالتجريب محققا حتما. فعندما يكون طول المفتاح عشر خانات فإنه يوجد 210 = 1024 احتمالا فقط. فاذا كان لدينا نص مشفر ما، عندها يمكن تجريب كل حالة من حالات المفتاح وتحليل النتيجة لمعرفة فيما اذا كان النص الناتج مقروءا أم لا. ماذا عن تحليل التعمية؟ لنفرض حالة الهجوم على نص صريح معروف، حيث لدينا نص صريح واحد معروف هو (P1,P2, P3. P4, P5, P6, P7, P8) والنص المشفر المرافق له معروف أيضا وهو (c1,c2,c3,c4,c5,c6,c7,c8)أما المفتاح (k1,k2,k3,k4,k5,k6,k7,k8,k9k,k10) فهو غير معروف. يمكن في هذه الحالة وصف كل c1 على شكل تابع كثير حدود g1 للمعاملات k1, p1. يمكن بهذا الشكل التعبير عن عملية التعمية بثماني معادلات غير خطية ذات عشرة مجاهيل. هناك عدد من الحلول المحتملة، ولكن يجب حساب كل منها وتحليله. إن عمليتي تبديل المواقع والاضافة هما عمليتان خطيتان في الخوارزمية. وتأتي عدم الخطية من الصناديق s. لذلك من المفيد كتابة المعادلات التي تصف هذه الصناديق. وللتوضيح فقط سنقوم بتغير تسمية المتحولات لتصبح كما يلي: (P0.0, P0.1, P0.2, P0.3) = (a, b, c, d) و (P1.0, P1.1, P1.2, P1.3) = (w, x,y, z) وسنسمي الخرج ذا الأربع خانات (q, r, s, t). عندها يمكن وصف العملية S0 بالمعادلات التالية: Q = abcd + ab +ac + b +d R = abcd +abd + ab + ac + a + c +1 حيث تتم كل عمليات الجمع بالقياس 2. يمكن بنفس الطريقة كتابة المعادلات التي تصف S1. استبدال هذه المعادلات غير الخطية بتحويلات خطية سينتج تعابير كثيرات حدود معقدة جدا، مما يجعل عملية تحليل التعمية صعبة جدا. ولتوضيح المشكلة يجب ملاحظة أن للمعادلات كثيرة الحدود بعشرة مجاهيل في الحسابات الثنائية 210 حدا محتملا. وبشكل وسطي يمكن أن نتوقع لكل معادلة من المعادلات الثماني حوالي 29 حدا. يمكن للقارئ المهتم أن يجرب وضع هذه المعادلات باستخدام أي معالج رموز ومن المؤكد أن القارئ أو البرنامج سيتسلم قبل المضي طويلا في المعالجة.
الارتباط بخوارزمية DESتتعامل خوارزمية DES مع كتلة دخل بطول 64 خانة، يمكن التعبير عن مخطط التعمية كما يلي: IP -1 ofk16 ofk15 oSW …….oSW ofx1oIP يستخدم مع هذه الخوارزمية مفتاح بطول 56 خانة، حيث يتم توليد 16 مفتاحا فرعيا منه طول كل منها 48 خانة. هناك عملية تبديل مواقع أولية ل56 خانة، تتبع بسلسلة من عمليات الازاحة وتبديل المواقع ل48 خانة. يتم الاستعاضة ضمن خوارزمية التعمية عن التابع F الذي يؤثر على أربعة خانات (n1, n2,n3,n4) بآخر يتعامل مع 32 خانة (n1,n2,n3 …n32). يمكن بعد عملية توسيع/تبديل المواقع الأولية التعبير عن الخرج ذي الثماني والأربعين خانة بالشكل: {{{شكل توضيحي}}}} تتم اضافة هذه المصفوفة بواسطة (XOR) إلى المفتاح الفرعي ذو الثماني والأربعين خانة. هناك ثمانية أسطر موافقة لثمانية صناديق S. لكل صندوق S أربعة أسطر وستة عشر عمودا. الخانتان الأولى والأخيرة من أسطر المصفوفة السابقة تحددان رقم السطر في الصندوق S، بينما تحدد الخانات الأربع في الوسط رقم العمود في هذا الصندوق. مبادئ التشفير الكتليتعتمد كل خوارزميات التشفير الكتلي المتناظر المستخدمة حاليا على البنية المسماة تشفير فسيتيل الكتلي (Feistel Black Cipher) . لذلك من الضروري دراسة مبادئ تشفير فيستيل. سنبدأ هذه الدراسة بمقارنة بين التشفير الكتلي والتشفير التسلسلي. سندرس بعد ذلك الدوافع وراء تشفير فيستيل، ومن ثم ننتقل إلى بعض ما يتضمنه هذا التشفير. التشفير التسلسلي والتشفير الكتليالتشفير السيلي هو ذاك النوع من التشفير الذي يقوم بتعمية سيالة من المعطيات الرقمية بشكل تسلسلي، بحيث تتم تعمية خانة واحدة أو ثمانية واحدة (byte) في كل لحظة زمنية. من أهم الأمثلة الكلاسيكية على التشفير التلسلي يمكن أن نذكر تشفير فيجينر وتشفير فيرنام. أما في التشفير الكلي فتتم معالجة كتلة من النص الصريح كوحدة متكاملة بحيث تنتج كتلة من النص المشفر مساوية لها في الطول. طول الكتلة القياسية المستخدمة هو 64 خانة أو 128 خانة. يمكن باستخدام بعض أنماط العمل الخاصة، التي سيتم توضيحها لاحقا، جعل التشفير الكتلي يعطي نفس تأثير التشفير التسلسلي. لقد انصبت الجهود بشكل أساسي على تطوير التشفير الكتلي، ويعود السبب في ذلك إلى المجال الأكبر للتطبيقات التي يمكن أن تستخدم هذا النوع من التشفير. معظم تطبيقات التعمية المتناظرة الخاصة بالشبكات تستخدم التشفير الكتلي. نتيجة لما سبق سنركز في هذا الفصل على التشفير الكتلي وفي فوصل الكتاب الآتية الخاصة بالتعمية المتناظرة. الدوافع لبنية تشفير فيستيليعمل التشفير الكتلي على كتلة نص صريح بطول n خانة وذلك لانتاج كتلة نص مشفر بطول n خانة. هناك 2n احتمالا مختلفا من كتل النص الصريح، وحتى تكون عملية التعمية عكوسة (أي حتى يكون من الممكن إجراء فك التعمية) ، يجب أن ينتج كل احتمال من هذه الاحتمالات نصا مشفرا فريدا. يدعى هذا النوع من التحويل بالعكوس. توضح الأمثلة التالية التحويلات العكوسة وغير العكوسة من أجل n = 2. تحويل معكوس النص الصريح النص المشفر 00 11 01 10 10 00 11 01
نلاحظ في الحالة الأخيرة أنه يمكن إنتاج الشفرة 01 من إحدى كتلتي نص صريح متباينتين، لذلك لا يمكن اعتبار هذا النوع من التحويل عكوس، أي إذا كان لدينا النص المشفر 01 فلا يمكن معرفة النص الصريح المرتبط به بدقة. يوضح الشكل 3-4 منطق التشفير بتبديل الحروف عموما، ولذلك من أجل n=4. يمكن للدخل المؤلف من أربع خانات أن يأخذ ست عشرة حالة دخل ممكنة، والتي يمكن ربطها عن طريق التشفير بتبديل الحروف بست عشرة حالة خرج فريدة، بحيث يمكن تمثيل كل منها بأربع خانات من النص المشفر. يمكن وصف تحويلات التعمية وفك التعمية بالجداول كما هو مبين في الجدول 3-1. تعتبر هذه الحالة الشكل الأكثر عمومية للتشفير الكتلي والذي يمكن استخدامه لتعريف أي عملية تحويل عكوسة بين النص الصريح والنص المعمى. هناك مشكلة عملية مرتبطة بهذه الطريقة. إذا تم استخدام كتلة صغيرة نسبيا، مثل n=4 عندها سيكافئ هذا النظام التشفير التقليدي بتبديل الحروف والذي يعتبر ضعيفا تجاه التحليل الاحصائي. لا تنتج نقطة الضعف هذه نتيجة استخدام التشفير "تبديل الحروف" ، إنما تنتج من استخدام كتلة صغيرة الحجم نسبيا. أما اذا كان "كبير بشكل كاف وكان بالامكان تغيير قاعدة التحويل بين النص الصريح والنص المشفر، عندها ستضيع الخصائص الاحصائية للنص الصريح وسيصبح كسر التعمية بهذه الطريقة غير فعال. {{{{الشكل 3-4: عملية تبديل حروف عامة n خانة n- (n-4) يعتبر التشفير بتبديل الحروف، عندما يكون حجم الكتلة كبيرا وعندما يمكن تغيير قاعدة التحويل بشكل حر غير عملي من وجخة نظر التطبيق والآداء معا. حيث تعتبر عملية التحويل في هذه الحالة هي بحد ذاتها مفتاح التعمية. لننظر مرة أخرى إلى الجدول 3-1 والذي يعرف عملية تحويل عكوسة من النص الصريح إلى النص المشفر وذلك من أجل n=4. يتم تعريف التحويل عن طريق مداخل أو خلايا العمود الثاني والتي تبين قيم النص المشفر المرافقة لكل كتلة ممكنة من النص الصريح وهذا في الجوهر هو المفتاح الذي يحدد عملية تحويل ما من بين جميع عمليات التحويل الممكنة. يتطلب المفتاح في هذه الحالة 64 خانة. وبشكل عام من أجل التشفير الكتلي بتبديل الحروف وبطول n خانة، يكون طول المفتاح هو n X 2n. فمن أجل كتلة بطول 64 خانة (وهي الحالة المطلوبة لمقاومة الكسر بطريقة الاحصاء) سيكون طول المفتاح هو 64 X 264 = 270 = 1021. الجدول 3-1 جداول التعمية وفك التعمية من أجل التشفير بتبديل الحروف الواردة في الشكل 3-4 {{{{{جدول 3-1}}}}} أخذ فيستيل هذه الصعوبات بعين الاعتبار، وأشار إلى أن المطلوب هو الاقتراب من نظام التشفير الكتلي المثالي ذو عدد الخانات n الكبير نسبيا، والذي يجب بناؤه من مجموعة من العناصر سهلة التحقيق. ولكن قبل الانتقال إلى طريقة فيستيل لابد من وضع ملاحظة أخرى. يمكننا تقييد أنفسنا بهذا التشفير العام بتبديل الحروف لكن، لجعل عملية التطبيق ممكنة، سنقيد أنفسنا بمجموعة جزئية من احتمالات التحويل العكوسة والتي عددها 2n، لنفرض على سبيل المثال، أننا حددنا التحويل على شكل مجموعة من المعادلات الخطية. فعندما يكون n=4 سيكون لدينا: Y1 = k11 x1 + k12 x2 + k 13 x3 + k14 x4 Y2 = k21 x1 + k22 x2 + k23 x3 + k24 x4 Y3 = k31 x1 + k32 x2 + k33 x3 + k34 x4 Y4= k412 x1 + k42 x2 + k43 x3 + k44 x4 حيث أن x1 هي الخانات الأربع لكتلة النص الصريح، وy1 هي الخانات الأربع لكتلة النص المشفر، أما kij فهي عبارة عن معاملات ثنائية، علما بأن جميع العمليات الحسابية تجرى بالقياس 2. طول المفتاح هو n2 فقط، وفي هذه الحالة سيكون 16 خانة. تنبع خطورة هذا النوع من التشكيل من الضعف تجاه تحليل التعمية من قبل مهاجم لدية معلومات عن بنية الخوارزمية. ما لدينا في هذا المثال هو في الحقيقة تشفير هيل الذي تمت مناقشته في الفصل الثاني، ولكن مطبق على معلومات ثنائية بدلا من الحروف. وكما رأينا في الفصل الثاني هذا النظام الخطي ضعيف جدا تجاه الكسر. تشفير فيستيلاقترح فيستيل أنه يمكن تطوير تشفير تبديل الحروف البسيط عن طريق تطبيق مفهوم ضرب التشفير، حيث يمكن تطبيق تشفيرين متتالين أو أكثر بحيث تكون النتيجة النهائية، من وجهة نظر التعمية، أقوى من أي من مركباتها. وفي الحقيقة ما لدينا هو عبارة عن تطبيق عملي لمقترح كلاود شانون (claude Shannon) بانتاج تشفير مؤلف من تعاقب تابعي البعثرة والنشر (Confusion and Dissusion). سنلقي نظرة على هذين المفهومين ومن ثم نتابع شرح تشفير فيستيل. لكن أولا من الجدير التعليق على الحقيقة التالية: معظم بنى أنظمة التشفير الكتلي المتناظر الهامة والمستخدمة في هذه الأيام مبنية على أساس بنية نظام تشفير فيستيل، الذي يعود لحوالي ربع قرن ماضي والمبني على أساس اقتراح شينون عام 1945.
النشر والبعثرةتم طرح تعبيري النشر والبعثرة من قبل كلاود شانون للاحاطة بحجري الأساس في أي نظام تعمية. انصبت اهتمامات شانون على مقاومة تحليل التعمية المعتمد على التحليل الاحصائي وقد انبثقت حجته في ذلك مما يلي: لنفرض أنه لدى المهاجم معلومات ما عن الخصائص الاحصائية للنص الصريح. فعلى سبيل المقال يمكن معرفة توزع تردد ظهور الأحرف في رسالة ما اذا ما عرفت لغة هذه الرسالة. أو يمكن أن تكون هناك عبارة أو كلمات ستظهر حتما في الرسالة. اذا ظهرت هذه الاحصائيات بأي شكل من الأشكال في النص المشفر، عندها سيتمكن المحلل من تخمين مفتاح التعمية، أو جزءا منه، أو على الأقل ممكن أن يخمن مجموعة من المفاتيح التي تحوي على المفتاح المطلوب. أشار شانون إلى أنه في نظام التشفير القوي المثالي يجب أن تكون كل المعلومات الاحصائية للنص المشفر مستقلة عن المفتاح الخاص المستخدم. ويعتبر نظام التشفير بتبديل الحروف مع امكانية تبديل قواعد التحويل بشكل حر هو النظام المطلوب، إلا أنه للاسف غير عملي، كما رأينا. بالاضافة إلى الاستعانة بالنظام المثالي، اقترح شانون طريقتين لاحباط تحليل التعمية الاحصائي: النشر والبعثرة. في النشر يتم تشتيت البنية الاحصائية للنص الصريح في مجال طويل من احصائيات النص المشفر، يمكن انجاز ذلك عن طريق تاثير كل رقم من النص الصريح على قيم عدة أرقام من النص المشفر، أو ما يكافئ القول بأن كل من النص المشفر يتم التاثير عليه من قبل عدة أرقام من النص الصريح. والمثال على عملية النشر هو تشفير رسالة ما من المحارف M= m1, m2, m3 … عن طريق عملية المعدل الوسطي كما يلي: {{{{معادلة يجب أن تصور}}}}} أي باضافة k حرف متتالي للحصول على حرف مشفر واحد yn. يمكن تبيان كيف تمت ازالة البنية الاحصائية للنص الصريح. أي أن تردداد ظهور الحروف في النص المشفر ستكون متقاربة. كذلك الأمر بالنسبة لتردد ظهور الثنائيات .. وهكذا. يمكن في التشفير الكتلي الثنائي انجاز عملية النشر عن طريق القيام بعملية تبديل مواقع متكررة للمعطيات ومن ثم تطبيق تابع ما على هذا التبديل. وفي النهاية سيكون التاثير الحاصل هو تأثير خانات من مواقع مختلفة من النص الصريح على خانة واحدة من النص المشفر. تتضمن عملية التشفير الكتلي تحويل كتلة من النص الصريح إلى كتلة من النص المشفر، حيث تعتمد عملية التحويل على المفتاح. تسعى آلية النشر إلى أن تكون العلاقة الاحصائية بين النص الصريح والنص المشفر أعقد ما يكون. وذلك لمقاومة محاولات تخمين المفتاح. تسعى عملية البعثرة من الطرف الآخر إلى جعل العلاقة بين احصائيات النص المشفر وقيمة مفتاح التشفير أعقد ما يكون، وذلك من أجل مقاومة محاولات اكتشاف المفتاح أيضا. وبالتالي، حتى لو استطاع المهاجم تجميع معلومات احصائية معينة حول النص المشفر، فإنه لن يستطيع تخمين المفتاح المستخدم بسبب تعقيد طريقة استخدام المفتاح لانتاج النص المشفر. يتم انجاز ذلك عن طريق خوارزمية تبديل حروف معقدة. تعتبر عملية النشر والبعثرة الناجحة جوهر عملية التشفير الكتلي والتي أصبحت حجر الأساس في تصميم نظم التشفير الكتلي الحديثة.
بنية نظام تشفير فيستيليبين الشكل 3-5 البنية المقترحة من قبل فيستيل. دخل خوارزمية التشفير هو عبارة عن كتلة من النص الصريح بطول 2w والمفتاح k. يتم تقسيم كتلة النص الصريح إلى نصفين L0 وR0. يمر هذا النصفان من خلال n حلقة معالجة ومن ثم يتم ضمهمها لانتاج كتلة النص المشفر. دخل الحلقة i هو Li-1 وRi-1 الناتجين من الحلقة السابقة بالاضافة إلى المفتاح الجزئي k1 الناتج من المفتاح الأساسي k. المفاتيح الجزئية ki مختلفة بشكل عام عن المفتاح الاساسي k وعن بعضها البعض. {{{{الشكل 3-5: شبكة فيستيل التقليدية}}}} تملك كل الحلقات نفس البنية تماما. يتم تطبيق عملية تبديل الحروف على النصف اليساري من المعطيات، وذلك عن طريق تطبيق تابع الحلقة F على النصف الأيمن من المعطيات. ومن ثم جمع ناتج هذا التابع مع القسم الأيسر من المعطيات بواسطة عملية XOR. يملك تابع الحلقة F نفس البنية في كل الحلقات، إلا أنه يتم تحديد عوامله بالمفتاح الجزئي k1 الخاص بكل حلقة. بعد عملية تبديل الحروف الموضحة أعلاه تنفذ عملية تبديل مواقع والتي تتكون من تبديل نصفي المعطيات فيما بينهما. تعتبر هذه البنية حالة خاصة من شبكة تبديل الحروف – تبديل المواقع (substitution-permutation network-SPN) المقترحة من قبل شانون. يعتمد التطبيق الحقيقي لشبكة فيستيل على اختيار المعاملات وخصائص التصميم التالية: • طول الكتلة: كلما كانت الكتلة أطول كان مستوى الأمن أكبر (ومع الاحتفاظ ببقية الأمور كما هي) ولكن ذلك على حساب سرعة عمليتي التعمية وفك التعمية. يعتبر الطول 64 خانة معقولا وقد أصبح قياسا معتمدا تقريبا في تصميم نظام التشفير. على كل الأحوال طول الكتلة في خوارزمية AES الجديدة هو 128 خانة. • طول المفتاح: المفتاح الأطول يعني مستوى أمن أكبر ولكن سرعة تعمية وفك تعمية أقل. تعتبر المفاتيح ذات الطول 64 خانة أو أقل غير كافية حاليا. وبشكل عام تم اعتماد المفتاح ذو الطول 128 خانة. • عدد الحلقات: يعتمد جوهر نظام تشفير فيستيل على أن الحلقة الواحدة لا تعطي مستوى أمن كافي، غير أن تعدد الحلقات يزيد من مستوى الأمن. عدد الحلقات القياسي هو 16. • خوارزمية توليد المفاتيح الجزئية: تؤدي زيادة تعقيد هذه الخوارزمية إلى زيادة الصعوبات أمام تحليل التعمية. • تابع الحلقة F: من الواضح أنه كلما زاد تعقيد هذا التابع زادت المقاومة ضد تحليل التعمية. هناك أيضا اعتباران آخران أثناء تصميم نظام تشفير فيستيل: • برمجيات تعمية/فك تعمية سريعة: يتم في كثير من الأحيان تضمين التعمية في التطبيقات والوظائف الخدمية ، ومن الممكن أن يتم تحقيق ذلك جهازيا، لذلك تلعب سرعة التنفيذ دورا هاما جدا. • سهولة التحليل: مع أننا نسعى لأن تكون خوارزميتنا صعبة قدر المستطاع ضد تحليل التعمية، إلا أنه من المفيد جدا جعل الخوارزمية سهلة التحليل. ذلك لأنه اذا كان بالامكان شرح الخوارزمية بسهولة وبوضوح، فإنه من السهل تحليل الخوارزمية وايجاد نقاط الضعف، وبالتالي تطويرها للحصول على مستوى أمن أعلى. لا يمكن تحليل عمل خوارزمية DES على سبيل المثال بسهولة. بالرجوع إلى الأشكال 3-1، 3-3 نرى أن خوارزمية S-DES تبدي نفس بنية نظام فيستيل ذي الحلقتين. الفارق الوحيد عن بنية نظام فيستيل هو أن هذه الخوارزمية تبدأ وتنتهي بتابع تبديل مواقع. يظهر هذا الخلاف أيضا في خوارزمية DES الكاملة.
خوارزمية فيستيل لفك التعميةعملية فك التعمية بنظام تشفير فيستيل هي بالمبدأ نفس عملية التعمية. والقاهدة هي كما يلي: يستخدم النص المشفر كدخل للخوارزمية، ولكن تستخدم المفاتيج الجزئية بترتيب معكوس أي يستخدم المفتاح الجزئي kn في الحلقة الأولى، kn-1 في الحلقة الثانية وهكذا حتى الحلقة الأخيرة حيث يستخدم المفتاح kl . تعتبر هذه الميزة هامة. وذلك لأننا لسنا بحاجة إلى تحقيق خوارزميتين مختلفتين، واحدة للتعمية وأخرى لفك التعمية. وللتأكد من أن نفس الخوارزمية ولكن بترتيب مفاتيح معكوسة تعطي نتائج صحيحة سنتتبع الشكل 3-6 ، والذي يظهر عملية التعمية تسير من الأعلى إلى الأسفل في الجزء اليساري، بينما عملية فك التعمية فتنتجه من الأسفل إلى الأعلى في الجزء اليميني من الشكل، وللتوضيح فقط استخدمنا الرموز LE1 وRE1 للتعبير عن المعطيات التي تنتقل خلال خوارزمية التعمية، بينما استخدمنا الرموز LD1 وRD1 للتعبير عن المعطيات التي تتنتقل خلال خوارزمية فك التعمية. يوضح المخطط أن القيم المرحلية في حلقة عملية فك التعمية تساوي القيم الموافقة في حالة التعمية بعد تبديل الأنصاف بين بعضهما بعض. ولتوضيح ذلك بطريقة أخرى نفرض أن خرج الحلقة I من خوارزمية التعمية هو LE1||RE1 (التعبير || يعني وصل السلسلة Li بالسلسلة Ri). عندها سيكون الدخل الموافق لحلقة فك التعمية رقم (16-i) هو REi//Lei ومكافئه RD16-i||LD16. خرج هذه الحلقة هو النص المشفر النهائي. لنأخذ هذا النص ونجعله دخلا لنفس الخوارزمية. دخل الحلقة الأولى هو RE16||LE16 والذي يوافق خرج حلقة التعمية رقم 16 بعد تبديل نصفيه بين بعضهما بعض. نريد أن نوضع الآن أن خرج حلقة فك التعمية الأولى هي في الحقيقة دخل حلقة التعمية رقم 16 بعد تبديل نصفيه بعضهما ببعض. لنأخذ أولا عملية التعمية. نرى أن: LE16 = RE15 RE16 = LE15 ө (RE15, K16) {{{{الشكل 3-6: التعمية وفك التعمية في نظام فيستيل}}}} وفي جهة فك التعمية لدينا : LD1 = RD0 = LE16= RE15 RD1 = LD0 ө F(RD0, K16) = RE16 ө F(RE15, K16) = [LE15 ө F(RE15, K16)] ө F(RE16, K16) وبما أن عملية XOR تملك الخصائص التالية: [A өB] ө C = A ө [B өC] D өD = 0 E ө 0 = E نجد أن LD1 = LE15 و LD1= RE15، وبالتالي فإن خرج حلقة فك التعمية الأولى هو LE1||RE15. وهو عبارة عن دخل حلقة التعمية رقم 16 بعد تبديل نصفيه بعضهما ببعض. يسري هذا التوافق على كل الحلقات الست عشرة. يمكن تلخيص ذلك برموز عامة: فمن أجل التكرار ذي الرقم i من خوارزمية التعمية يمكن أن نكتب: Lei = REi REi = Lei-1 ө F (REi-1, Ki) وبإعادة ترتيب الرموز نحصل على: REi-1 = Lei LEi-1 = REi ө F(REi-1, Ki) = REi ө F(Lei, Ki) نكون بذلك قد عبرنا عن دخل التكرار ذي الرقم i كتابع للخرج، وتثبت هذه المعادلات التناسب المبين على الطرف اليميني من الشكل 3-6. نرى أخيرا أن خرج الحلقة الأخيرة من عملية فك التعمية هو RE0||LE0، وهو عبارة التبديل العكسي لأنصاف النص الصريح الأساسي، وبذلك نكون قد بينا صحة عملية فك التشفير لنظام فيستيل. لاحظ أن هذا الاستنتاج لا يتطلب أن يكون التابع F عكوسا. وللتأكد من ذلك نأخذ حالة خاصة بيحث ينتج التابع F خرجا ثابتا (على سبيل المثال واحدات) بعض النظر عن قيمة دخليه. لاحظ أن المعادلات السابقة لا تزال سارية المفعول. التعمية القياسية للمعطياتتعتمد مخططات التعمية الأكثر انتشارا على مقياس تعمية المعطيات (Data Encryption Standard-DES) والتي تم نشرها والاعتراف بها من قبل المكتب العالمي للقياسات عام 1977. تسمى الخوارزمية بحد ذاتها "بخوارزمية تشفير المعطيات " (Data Encrytion Algorithm-DEA) . يتم وفق خوارزمية DES تعمية المعطيات على شكل كتل بطول 64 خانة وباستخدام مفتاح بطول 56 خانة. تقوم هذه الخوارزمية بتحويل كتلة الدخل ذات الأربع وستون خانة عبر سلسلة من الخطوات لتعطي خرجا بطول 64 خانة أيضا. تستخدم نفس الخطوات ونفس المفتاح لعكس عملية التعمية، بمعنى آخر لفك التعمية. لاقت خوارزمية DES انتشارا واسعا. كما أنها كانت موضوعا للجدل حول إثبات مستوى الأمن الذي تحققه. ولتبيان طبيعة هذا الجدل سنستعرض بسرعة تاريخ هذه الخوارزمية. هيأت شركة IBM في أواخر الستينات مشروعا بحثيا حول التعمية بإشراف هورست فيستيل Horst Feistel. انتهى هذا المشروع عام 1971 بانتاج خوارزمية تعمية باسم LUCIFER ، والتي تم بيعها لشركة لويد اللندنية Lloyd’s of London للتجارة البحرية من أجل استخدامها في النظام المالي لهذه الشركة، والذي تم تطويره أيضا من قبل شركة IBM. خوارزمية LUCIFER هي عبارة عن نظام تشفير فيستيل الكتلي والذي يعمل على طول كتلة 64 خانة. ومع مفتاح بطول 128 خانة. وبسبب النتائج الواعدة لمشروع LUCIFER، قامت شركة IBM بتكثيف الجهود لتطوير منتج تعمية تجاري قابل للتسويق، بحيث يمكن تحقيقه في شريحة واحدة. قاد هذه الجهود كل من ولتر تاتشمان Walter Tachman وكارل ميير Carl Meyer، وقد عمل في هذا المشروع باحثون ومستشارون من خارج شركة IBM ومرشدين تقنيني من NSA. ناتج هذه الجهود هو نسخة معدلة من LUCIFER والتي كانت أكثر مقاومة لتحليل التعمية، ولكن كانت بمفتاح ذو 56 خانة وذلك لتضمينها على شريحة واحدة. طرح مكتب القياسات القومي عام 1973 طلبا حول الحاجة لاعتماد نظام تشفير قياسي قومي. قدمت شركة IBM نتائج مشروع تاتشمان-ميير، وقد كانت هذه الخوارزمية الأفضل إلى حد كبير بين الخوارزميات المقدمة وقد تم اعتمادها عام 1977 كخواركية تشفير معطيات قياسية. تعرضت هذه الخوارزمية قبل اعتمادها لأ، تكون محط انتقاد كثيف، والذي لم ينته حتى هذا اليوم. هناك ناحيتان أشعلتا الانتقاد. أولهما أن طول المفتاح لخوارزمية LUCIFER الأصلية هو 128 خانة، أما طول المفتاح في الخوارزمية المقدمة فقد أصبح 56 خانة، أي أن هناك تخفيض محسوس لطول المفتاح بطول 72 خانة. خاف المنتقدون من أن يكون المفتاح قصير جدا لمقاومة محاولات كسر التعمية بالتجريب. الناحية الثانية من الانتقاد كانت تخص البنية الداخلية لخوارزمية DES أي الصناديق S. حيث لم يكن المستخدمون متأكدين من خلو البنية الداخلية غير أن الأحداث المتلاحقة، وخاصة الأعمال الأخيرة في تحليل التعمية التفاضلي، بينت أن خوارزمية DES تملك بنية داخلية قوية. والأكثر من ذلك، صرح أعضاء IBM أن التغيير الوحيد الذي طرأ على ما قدمته الشركة هو تغيير صناديق S حسب اقتراح NSA ، وذلك لإزالة نقاط الضغف التي تم تحديدها أثناء عملية التطوير. في جميع الأحوال، نجحت خوارزمية DES ولاقت انتشارا واسعا خصوصا في التطبيقات المالية. أعاد المعهد القومي للمقاييس والتقنيات عام 1997 (NIST) التأكيد على استخدام خوارزمية DES فيدراليا ولمدة خمسة سنوات جدد. نصح NIST استخدام خوارزمية DES للتطبيقات الأخرى. غير تلك التي تحمي المعلومات المصنفة. وفي عام 1999 طرح NIST نسخته الجديدة من المقاييس والتي أشارت إلى استخدام خوارزمية DES الثلاثية (Triple-DES) والتي تتضمن في جوهرها تكرار خوارزمية DES ثلاث مرات لنفس النص الصريح وباستخدام مفتاحين أو ثلاثة مفاتيح مختلفة وذلك لانتاج النص المشفر. سوف ندرس خوارزمية DES الثلاثية في الفصل السادس ولأن البنية التحتية لخوارزميات التعمية وفك التعمية في هذه الخوارزمية هي نفسها المستخدمة في خوارزمية DES فلا ضير من فهم الأخيرة بشكل مفصل وجيد. التعمية وفق خوارزمية DESيبين الشكل 3-7 البنية العامة لمخطط التعمية وفق خوارزمية DES. وكما هو الحال في أي مخطط تعمية، هناك دخلان: الأول هو عبارة عن النص الصريح المطلوب تعميته والآخر هو المفتاح. طول النصح الصريح في هذه الحالة 64 خانة، وطول المفتاح هو 56 خانة (تقبل الخوارزمية عمليا 64 خانة كمفتاح، لكن يتم استخدام 56 خانة فقط. أما الخانات الثمانية الباقية فتستخدم كخانات ازدواجية). يمكن بالنظر إلى الطرف اليساري من الشكل ملاحظة أن معالجة النص الصريح تمر من خلال ثلاث مراحل. تمر كتلة النص الصريح ذات الطول 64 خانة في المرحلة الأولى من خلال عملية تبديل مواقع أولية (IP). والتي تعيد ترتيب الخانات. يتبع ذلك مرحلة ثانية مؤلفة من 16 حلقة لها نفس الوظيفة. والتي تتضمن تابعي تبديل حروف وتبديل مواقع. يتألف خرج الحلقة الأخيرة (السادس عشر) من 64 خانة والذي هو في الأصل تابع للنص الصريح والمفتاح معا. يتم بعد ذلك تبديل نصفي هذا الخرج مع بعضهما بعض لانتاج خرج مبدئي. يمر هذا الخرج عبر عملية تبديل المواقع (IP-1) والتي تعاكس عملية التبديل الأولى، وبذلك يتم انتاج النص المشفر النهائي . نلاحظ أن خوارزمية DES تملك نفس بنية نظام تشفير فيستيل والمبينة في الشكل 3-5، ولكن بعد استثناء عمليتي التبديل الأولى والثانية. يبين القسم الأيمن من الشكل 3-7 طريقة استخدام المفتاح ذو الطول 56 خانة. يمر المفتاح عبر تابع تبديل مواقع. يتم بعد ذلك انتاج مفتاح جزئي k1 من أجل كل مرحلة من المراحل الست عشرة، وذلك عن طريق تطبيق وظيفتين متتاليتين هما ازاحة دائرة يسارية وتبديل مواقع. عملية تبديل المواقع متناظرة في كل المراحل، إلا أنه يتم انتاج مفاتيح مختلفة نتيجة الازاحة المتكررة لخانات المفتاح. {{{{الشكل 3-7: الوصف العام لخوارزمية تعيمة DES}}}}}
عملية التبديل الأوليةيتم تحديد عميليتي التبديل الأولى ومعاكستها عن طريق الجدوال 3.2b, 3.2a على التوالي. يمكن تفسير هذه الجدوال كما يلي: يتألف الدخل من 64 خانة يتم ترقيمها من 1 وحتى 64. تحوي المداخل الأربعة والستون من جدول تبديل المواقع أرقام الخانات البديلة من 1 وحتى 64. أي أن كل خلية في جدول تبديل المواقع تشير إلى موقع خانة الدخل التي ستشكل خانة الخرج. لإظهار أن تابعي تبديل المواقع هما في الحقيقة عكس بعضهما البعض سندرس خانات الدخل M، التالية والتي عددها 64: M8 M7 M6 M5 M4 M3 M2 M1 M16 M15 M14 M13 M12 M11 M10 M9 M24 M23 M22 M21 M20 M19 M18 M17 M32 M31 M30 M29 M28 M27 M26 M25 M40 M39 M38 M37 M36 M35 M34 M33 M48 M47 M46 M45 M44 M43 M42 M41 M56 M55 M54 M53 M52 M51 M50 M49 M64 M63 M62 M61 M60 M59 M58 M57 حيث M1 هي عبارة عن خانة ثنائية. عندها يمكن وصف تبديل المواقع X = IP(M) كما يلي: M2 M10 M18 M26 M34 M42 M50 M58 M4 M12 M20 M28 M36 M44 M52 M60 M6 M14 M22 M30 M38 M46 M54 M62 M8 M16 M24 M32 M40 M48 M56 M64 M1 M9 M17 M25 M33 M41 M49 M57 M3 M11 M19 M27 M35 M43 M51 M59 M5 M3 M21 M29 M37 M45 M53 M61 M7 M15 M23 M31 M39 M47 M55 M63 اذا أخذنا بعد ذلك تبديل المواقع العكسي Y = IP-1(X) = IP-1(IP(M))، عندها يمكن التبيان أنه ستتم استعادة الترتيب الأصلي. تفصيلات حلقة واحدةيبين الشكل 3-8 البنية الداخلية لكل حلقة. لنبدأ مرة أخرى بالتركيز على الطرف اليساري من المخطط. تتم معالجة النصفين اليساري واليمين لكل 64 خانة مرحلية كقيم منفصلة ذات 32 خانة مرمزة بالشكل L (يساري) وR (يميني). وكما هو الحال في أي نظام تشفير فيستيل تقليدي، يمكن تلخيص المعالجة الكلية لكل حلقة بالمعادلات التالية: Li = Ri-1 (1-3) Ri = Li-1 ө F(Ri-1, k1) (2-3) الجدول3-2: جدول تبديل المواقع لخوارزمية DES يتألف مفتاح كل حلقة من 48 خانة. الدخل R مؤلف من 32 خانة. يتم توسيع الدخل R إلى 48 خانة باستخدام الجدول 3-2C الذي يحدد عمليتي تبديل مواقع وتوسيع بنفس الوقت. والذي يتضمن تكرار 16 خانة من خانات الدخل R. يتم بعد ذلك جمع الخانات الثماني والأربعون الناتجة مع المفتاح الجزئي k1 عن طريق XOR. يتم تمرير الخانات الثماني والأربعين الناتجة عبر تابع تبديل حروف والذي ينتج خرجا بطول 32 خانة، والتي يتم اعادة ترتيبها عن طريق الجدول 3-2d. الشكل 3-8: حلقة واحدة من خوارزمية DES يبين الشكل 3-9 دور الصناديق S في التابع F. تتألف عمليتي تبديل الحروف من مجموعة مؤلفة من ثمانية صناديق S، يقبل كل منها ست خانات دخل وينتج أربع خانات خرج. يتم تحديد هذه التحويلات في الجدول 3-3، والذي يتم تفسيره كما يلي: تشكل الخانات الأولى والأخيرة من دخل الصندوق Si رقما ثنائيا مؤلفا من خانتين والذي يحدد واحدة من أربع عمليات تبديل حروف معرفة بواسطة أربعة أسطر من جدول الصندوق Si. بينما تساعد الخانات الأربع الوسطى على اختيار أحد الأعمدة الستة عشر. تحوي الخلية الواقعة على تقاطع السطر والعمود المختارين قيمة عشرية. القيمة الثنائية المؤلفة من أربع خانات عن تحويل هذه القيمة العشرية هي بالحقيقة الخرج المطلوب. فعلى سبيل المثال اذا كان دخل صندوق si هو 011001، عندها سيكون السطر المختار هو السطر ذي الرقم 01 (السطر الأول)، والعمود المختار هو العمود ذو الرقم 1100 (العمود رقم 12) . الخلية الواقعة على تقاطع السطر الأول والعمود رقم 12 تحوي القيمة 9، أي أن الخرج هو 1001. يحدد كل سطر من الصندوق S عملية تبديل حروف عكوسة. يمكن أن يساعد الشكل 3-4 على فهم عملية التحويل. يبين الشكل عملية تبديل الحروف للسطر رقم 0 من الصندوق Si. يستحق عمل صناديق S تعليقات أكثر. لنهمل حاليا تأثير المفتاح k1. اذا تفحصت جدول التوسيع سترى أنه تم تقسيم خانات الدخل الاثنتين والثلاثين إلى مجموعات ذات أربع خانات، تصبح بعد ذلك مجموعات ذات ست خانات عن طريق تكرار الخانات الخارجية لكل مجموعتين متتاليتين. فعلى سبيل المثال اذا كانت العبارة التالية جزءا من كلة الدخل. ….efgh ijkl mnop…. عندها ستصبح بعد التحويل: …..defghi hijklm lmnopq …. الشكل 3-9: حساب التابع F (R,K). تساعد الخانتان الخارجيتان من كل مجموعة على اختيار واحدة من أربع حالات تبديل حروف محتملة (سطر ويحد في الصندوق S). يتم بعد ذلك تبديل أربع خانات الدخل (الخانات الأربع الوسطى) بأربع خانات خرج. تطبق بعد ذلك عملية تبديل حروف على الخانات الإثنتين والثلاثين الناتجة عن صناديق S الثمانية، وبذلك سيؤثر خرج كل صندوق S، مباشرة على مداخل الحلقة التالية. الجدول 3-3: تعريفات صناديق s في خوارزمية DES
1- (توليد المفاتيح( يتم توليد 16 مفتاحا جزئيا k1 للحلقات، طول كل منها 48 خانة، وذلك باستخدام مخطط توليد المفاتيح الوارد في الفقرة التالية. 2- IP (m1, m2 …m64) → (L0, R0) . يستخدم لذلك التبديل IP المبين في الجدول 3-2a وذلك لتبديل مواقع الخانات. ومن ثم تقسم النتيجة إلى نصفين يميني ويساري كل منهما بطول 32 خانة R0 = m57, m49 … m7 و L0 = m58, m50 …m8. 3- يتم تنفيذ 16 حلقة متناظرة بحيث يتم حساب R1, L1 (حيث 1 ≤ i ≤ (16 وذلك باستخدام المعادلات 3.1 و 3.2. يتم حساب F(Ri-1, Ki) = P(E(Ri-1)ө Ki)) كما يلي: أ- نوسع Ri-1 = r1, r2, r3, …r52 من 32 خانة وذلك باستخدام وظيفة التبديل – التوسيع E المبينة في الجدول 3-2C: (T = r32 r1 r2 .. r32 r1) E(Ri-1) → T ب- T ө K1 → T تكتب T على شكل ثماني سلاسل كل منها حرف بست خانات ، T = (B1, ….B8). ج – (S1(B1), S2(B2) .. S8(B8)، حيث تحول الوظائف S1(B1) كل سلسلة Bi = b1 b2 …b6 إلى قيمة بأربع خانات موجودة بشكل عشري في السطر r والعمود c من الصندوق Si الموضح في الجدول 3-3، حيث b2 b3 b4 , r = 2.b1 + b6 هي التمثيل الثنائي لرقم العمود C (أي 0 ≤ c≤15). وبالتالي فإن (011011) Si سوف تعطي r = 1 , c = 13 وقيمة الخرج هي 5 أو مكافئها الثنائي (0101). د- P(T) → T يستخدم لذلك الجدول 3-2d. وذلك لتبديل مواقع الخانات الاثنتين والثلاثين الناتجة عن T. 4- (R16, L16) → b1 b2 … b64. (يتم تبديل الكتل النهائية R16, L16 فيما بينمها). 5- IP-1(b1 b2 … b64). يستخدم لذلك التبديل IP-1 الموضح في الجدول 3-2b، (أي C= b40 b 8 … b25).
توليد المفاتيحبالعودة إلى الأشكال 3-7 و 3-8 نجد أن المفتاح ذا الطول 64 خانة هو دخل الخوارزمية. يتم ترقيم خانات المفتاح من 1 وحتى 64. يتم اهمال كل خانة ثامنة وذلك كما هو مشار غليه في الجدول 3-4a. وهو ما يميز عملية التبديل الموضحة في جدول خيار التبديل الأولي (Permuted Choice One) الموضح في الجدول 3-4b. تتم معالج المفتاح ذي الست والخمسين خانة بعدئذ على شكل نصفين كل منهما 28 خانة، مرمزين D0, C0. تنفذ عملية ازاحة دورانية يسارية في كل دورة على Di-1, Ci-1 بشكل مستقل، إما لخانة واحدة أو لخانتين كما هووارد في الجدول 3-4d. تصبح هذه القيم المزاحة دخل الحلقة التالية. كذلك تصبح دخلا لخيار التبديل الثاني Permuted Choice Two والذي ينتج خرجا بطول 48 خانة يعطي بدوره للتابع P(Ri-1, Ki). يمكن بشكل عام التعبير عن مخطط توليد المفاتيح كما يلي: • الدخل: مفتاح ذو 64 خانة K = k1 k2 … k64 يضم ثماني خانات ازدواجية. • الخرج: ستة عشر مفتاحا K1 طول كل منها 48 خانة، حيث 1 ≤ I ≤ 16. • الإجرائية: 1- تعرف v1، حيث 1 ≤ i ≤ 16، كما يلي: v1 = 1 من أجل i ε {1, 2, 9, 16} و v1 = 2 من أجل بقية قيم i (هذا ما سيمثل عدد خانات الإزاحة اليسرى الدورانية لكل 28 خانة). 2- PC1 (K) → T يتم تمثيل T على شكل نصفين (C0, D0) يتألف كل منهما من 28 خانة. (يستخدم لذلك التبديل PC1 المبين في الجدول 3-4b وذلك لاختيار الخانات من C0 = K56 K49 .. K26 و D0= K63 K55 .. K4). 3- نحسب K1، من أجل 1 ≤ i ≤ 16، كما يلي: Ki , Di ← (Di-1 <<< vi), Ci ← (Ci-1 >>> vi) ← PC2 (Ci, Di) (يستخدم التبديل PC2 المبين في الجدول 3-4C لاخيتار 48 خانة نتيجة وصل السلاسل b1 b2 b2 .. b56 و (Ki= b14 b17 … b32 – الرمز >>> يعبر عن ازاحة دورانية بمقدار vi.
فك التعمية وفق خوارزمية DESتستخدم عملية فك التعمية ، كما هو الحال في أي نظام تشفير فيستيل، نفس خوارزمية التعمية ، ما عدا أن ترتيب المفاتيح الجزئية سيكون مقلوبا. الجدول 4-3: مخطط توليد المفاتيح في خوارزمية DES تأثير الانهيار الثلجي أو التأثير التراكميالخاصية المستحبة أو المرغوب بها في أي خوارزمية تعمية هي تأثير النص المشفر بشكل كبير عند حدوث أي تغير بسيط في النص الصريح أو في المفتاح. وبشكل خاص، تغيير خانة واحدة في النص الصريح أو في المفتاح يجب أن تنتج تغييرا في خانات كثيرة من النص المشفر، أما اذا كان التغير الناتج صغيرا، فربما سيؤدي ذلك إلى إيجاد طريقة لتقليص حجم النص الصريح، أو مجال المفاتيح الذي يتم البحث فيه. تتميز خوارزمية DES بتاثير انهياري قوي. يبين الجدول 3-5 بعض نتائج الاحصائيات الدراسية. تم استخدام نصان صريحان مختلفان بخانة واحدة في الجدول 3-5a: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000000 والمفتاح المستخدم هو: 0110010 0011100 0011000 0011100 1100010 0100100 1001011 00000001 يبين الجدول أنه بعد الحلقة الثالثة فقط سيكون الخلاف بين الكتلتين هو 21 خانة. وبعد نهاية كل الحلقات سيصبح عدد الخانات المختلفة هو 34 خانة. يبين الجدول 3-5b نفس الاختيار ولكن عند استخدام نص صريح واحد هو: 10100100 11101011 01110110 00010011 01111010 00101111 10000101 01101000 بينما يتم استخدام مفتاحين مختلفين بخانة واحدة: 1101110 0110001 0000100 0011101 0011000 1101111 1111011 1110010 1101110 0110001 0000100 00111001 0011000 1101111 1111011 0110010 تبين النتائج مرة أخرى بأنه حوالي نصف الخانات في النص المشفر سوف تتغير وأن التأثير الانهياري سيكون ملحوظا بعد بضع دورات فقط. الجدول 3-5: التأثير الانهياري في خوارزمية DES: (a) تغيير في النص الصريح (b) تغيير في المفتاح 0 1 0 0 1 6 1 2 23 21 23 14 4 35 4 28 5 39 5 32 6 34 6 30 7 32 7 32 8 31 8 6 9 29 9 34 10 42 10 40 11 44 11 38 12 32 12 31 13 30 13 33 14 30 14 28 15 26 15 26 16 29 16 34 34 34
قوة خوارزمية DESبقيت خوارزمية DES منذ اعتمادها على الصعيد الحكومي محط الاهتمام للتحقق من مستوى الأمن الذي تحققه. وقد توزع هذا الاهتمام على مجالين: الأول هو طول المفتاح، والثاني هو طبيعة الخوارزمية بحد ذاتها. استخدام مفاتيح بطول 54 خانةعندما يكون طول المفتاح 56خانة فإن هذا يعني أن هناك 556 مفتاحا مختلفا، أو ما يقارب 1016 X 7.2 مفتاحا مختلفا. نستنتج من هذا أن محاولة كسر المفتاح عن طريق "الهجوم الأعمى" (التجريب) غير عملية نهائية. فاذا افترضنا أنه يجب تجريب حوالي نصف عدد المفاتيح للوصول إلى المفتاح المطلوب، وبفرض أن الحاسب الواحد يستغرق حوالي 1 ميكرو ثانية فقط لانجاز عملية فك تشفير باعتماد خوارزمية DES، فسنجد أن عملية الكسر سوف تستغرق أكثر من 1000 سنة (انظر الجدول 2-2). لكن الافتراض أن عملية التعمية أو فك التعمية تستغرق حوالي 1 ميكروثانية، هو افتراض مبالغ فيه وقد تم عرضه للتوضيح فقط. افترض Diffie و Hellman بأن التقنية الموجودة كفيلة ببناء حواسب متوازية، مزودة بمليون جهاز تعمية، يستطيع كل منها تنفيذ عملية التعمية بحوالي ميكروثانية واحدة، يمكن بذلك تخفيض الزمن اللازم إلى حوالي عشرة ساعات. أما كلفة ذلك فقد قدر بحوالي 20 مليون دولار عام 1977. ثبت أخيرا وبشكل قاطع عام 1998 عدم سرية النظام DES ، وذلك عندما أعلنت احدى الشركات عن كسر خوارزمية DES باستخدام طريقة خاصة أسمتها "آلة كسر DES" DES cracker machine والتي تم بناؤها بأقل من 250 ألف دولار. استغرقت عملية الكسر أقل من ثلاثة أيام. وقد نشرت هذه الشركة وصفا مفصلا عن هذه الآلة، سامحة بذلك للآخرين ببناء مثل هذه الآلة. وبما أن سعر الحواسب ينخفض بسرعة كبيرة مع زيادة سرعتها، نجد أن خوارزمية DES أصبحت الآن بلا قيمة عملية. من المهم ملاحظة أن الكثير يتعلق بأسلوب البحث عن المفتاح بدلا من تجريب كل المفاتيح المحتملة. فاذا لم يكن النص الصريح معروفا، عندها يجب على المحلل أن يمتلك القدرة على التعرف على النص الصريح. فاذا كانت الرسالة هي عبارة عن نص إنجليزي فحسب، فإن التعرف عليها يصبح سهلا، ومع ذلك يجب أن تتم أتمتة عملية التعرف على النصوص الإنجليزية. أما اذا تم ضغط الرسالة قبل تعميتها، عندها سيكون التعرف عليها أصعب. واذا كانت الرسالة عبارة عن أحد أنواع المعطيات المتداولة، وتم ضغطها قبل التعمية، فإن المشكلة ستتعقد أكثر، وستصبح أتمتة عملية التعرف على النص شبه مستحيلة. أي أن استخدام طريقة الهجوم الأعمى يتطلب وجودة معرفة ما حول النص الصريح المتوقع، هذا بالاضافة إلى نوع ما من أتمتة عملية التعرف على النصوص. قدمت الشركة التي كسرت خوارزمية DES حلولا لهذه المسألة أيضا، بالاضافة إلى تقنيات مؤتمتة لزيادة فعالية الكسر بالاضافة إلى مواضيع مختلفة أخرى متعلقة بعمليات الكسر. لحسن الحظ هناك العديد من بدائل DES، أهمها خوارزمية AES وخوارزمية DES الثلاثية والتي سيتم شرحها في الفصلين الخامس والسادس على التوالي.
طبيعة خوارزمية DESهناك ناحية أخرى تسبب القلق وهي الاحتمالات الممكنة لتحليل التعمية عن طريق السيطرة على خصائص خوارزمية DES . ركز هذا الاهتمام بشكل خاص على جدوال التبديل أو ما يسمى صناديق S، والتي تستخدم في كل دورة. نتيجة للخصائص التصميمية فهذه الصناديق بشكل خاص وللخوارزمية ككل بشكل عام، والتي لم تنشر للعوام، هناك شك بأنه قد تم تصميم هذه الصناديق بشكل يجعل تحليل التعمية ممكنا بالنسبة للمهاجم الذي يعرف نقاط الضعف الخاصة بهذه الصناديق. ومع مرور الوقت تم اكتشاف قوانين هذه الصناديق والتصرفات غير المتوقعة لها. وعلى الرغم من ذلك، لم يتسنى لأحد اكتشاف نقاط الضعف القاتلة والمتوقعة لهذه الصناديق. الهجوم الزمنيسندرس الهجوم الزمني بشكل أكثر تفصيلا في القسم الثاني من هذا الكتاب، حيث أنها تنسب إلى خوارزميات المفتاح العمومي. على كل الأحوال يمكن طرح هذه المشكلة في خوارزميات التعمية بالفتاح المتناظر. الهجوم الزمني في الجوهر هو ذلك الهجوم الذي يتم من خلاله الحصول على معلومات حول المفتاح أو النص الصريح من خلال مراقبة الزمن اللازم في تطبيق ما لانجاز عمليات فك تعمية لنصوص مشفرة مختلفة. يستغل الهجوم الزمني حقيقة أن خوارزميات التعمية وفك التعمية تستغرق أزمنة تختلف عن بعضها قليلا عند اختلاف الدخل. هناك بعض الطرق التي تعطي أوزان هامينغ (أرقام الخانات المساوية للواحد) للمفتاح السري. وهو شوط كبير باتجاه معرفة المفتاح الحقيقي. إلا أن الخبراء خلصوا إلى نتيجة مفادها أن خوارزمية DES مقاومة جدا للهجوم الزمني، مع أنهم اقترحوا بعض الأساليب التي قد تساهم في انجاح الهجوم الزمني. ومع أن هذا النوع من الهجوم فعال أحيانا، إلا أنه لن يكون ناجحا أبدا مع خوارزمية DES أو مع خوارزميات التعمية بالمفتاح المتناظر القومية مثل خوارزمية DES الثلاثية أو خوارزمية AES. تحليل التعمية التفاضلي والخطيالتساؤل الأول، على طول حياة خوارزمية DES، هو حول مدى ضعف هذه الخوارزمية تجاه الهجوم الأعمى، وذلك نتيجة لقصر طول المفتاح (56 خانة). لكن كان هناك أيضا اهتمام في ايجاد طريقة الهجوم على خوارزمية DES باستخدام تحليل التعمية. ومع زيادة شعبية نظم التعمية الكتلية ذات المفاتيح الطويلة، بما في ذلك خوارزمية DES الثلاثية، أصبح الهجوم الأعمى غير فعال. لذلك ازداد التأكيد على ايجاد طرق هجوم على خوارزمية DES وعلى بقية أنظمة التعمية المتناظرة باستخدام تحليل التعمية. سنقدم في هذا المقطع نظرة مختصرة على أكثر طريقتين فعالتين وواعدتين: تحليل التعمية التفاضلي، وتحليل التعمية الخطي. تحليل التعمية التفاضلييعتبر تحليل التعمية التفاضلي واحدا من أهم التطورات التي طرأت على تحليل التعمية في السنوات الأخيرة. سنناقش في هذا المقطع هذه التقنية وتطبيقاتها على خوارزمية DES.
تاريخلم يتم نشر أي شئ حول تحليل التعمية التفاضلي حتى عام 1990. وأول جهود تم نشرها كانت متعلقة بتحليل التعمية لخوارزمية التشفير المدعوة FEAL وذلك من قبل Murphy. بعد ذلك ظهرت سلسلة من النشرات لكل من Shamir , Biham والتي بينت هذا النوع من الهوم على عدد من خوارزميات التعمية وتوابع المزج والتوزيع (has function). النتائج الأكثر انتشارا لهذه المواضيع هي تلك التي تطبق على خوارزمية DES. يعتبر تحليل التعمية التفاضلي أول هجوم تم نشره يحقق كسر خورازمية DES بأقل من 255 حالة. يمكن أن ينجح كسر خوارزمية DES عند استخدام تحليل التعمية التفاضلي بجهود من مرتبة 247 محتاجين بذلك إلى 247 نص صريح مختار. ومع أن القيمة 247 أقل بكثير من القيمة 255 ، إلا أن هذا النوع من الهجوم يبقى للدراسات النظرية فقط، والسبب في ذلك هو الحاجة إلى 247 نص صريح مختار. ومع أن تحليل التعمية التفضالي يعتبر أداة قوية، إلا أنه لم يؤثر بشكل جيد على خوارزمية DES ويعود السبب في ذلك، حسب ما أدلى به عضو فريق IBM الذي صمم هذه الخوارزمية، إلى أن تحليل التعمية التفاضلي عرف من قبل الفريق عام 1974، حيث لعبت الحاجة إلى تقوية خوارزمية DES ضد الكسر باستخدام التحليل التفاضلي دورا كبيرا في تصميم صناديق S وعملية تبديل المواضع P. وكدليل على هذا الدور سنطرح المقارنة التالية: يحتاج تحليل التعمية التفاضلي لخوارزمية LUCIFER ذات الثماني مراحل إلى 256 نص صريح مختار، بينما يتطلب الهجوم على نموذج من خوارزمية DES بثماني مراحل أيضا إلى 214 نص صريح مختار. الهجوم باستخدام تحليل التعمية التفاضلييعتبر الهجوم باستخدام تحليل التعمية التفاضلي أمرا معقدا، سنكتفي هنا بعرض نظرة مختصرة تفيد في تقديم هذه الطريقة للكسر. أما اذا اردت تفصيلا لها فيجب الرجوع إلى المراجع المختصة بها. سنبدأ بتغيير الوصف الخاص بخوارزمية DES. اذا افترضنا أن كتلة النص الصريح هي m والمؤلفة من النصفين m0, m1، يجري في كل مرحلة نقل نصف الدخل الأيمن إلى نصف الخرج الأيسر، أما نصف الخرج الأيمن فيكون نتيجة تابع دخله نصف الدخل الأيسر والمفتاح الجزئي الخاص بهذه المرحلة. لذلك سيتم في كل مرحلة انتاج كتلة جديدة بطول 32 خانة فقط. اذا أعطينا كل كتلة جديدة الرمز m1 (حيث 7 ≥ i ≥ 2)، عندها سيكون أنصاف الرسالة المرحلية مرتبطين بالشكل: Mi+1 = mi-1 ө F(mi, Ki I = 1, 2, 3, …. 16 نبدأ في تحليل التعمية التفاضلي بالرسالتين m1, m مع معرفة فارق XOR بينهما، أي ∆ m = m ө m1 ، وليكن الفارق بين أنصاف الرسالة المرحلية هو ∆ m = m ө m11، عندها يكون لدينا: ∆ mi-1 = mi+1 ө m1i-1 = [mi-1 ө F(mi, ki)] ө [mi-1 ө F(mi-, ki)] = ∆mi-1 ө [F(mi, ki) ө f(mi, ki)] لنفترض الآن بأن عدة أزواج من الدخل التابع f وبنفس الفارق تعطي نفس الفارق في الخرج اذا تم استخدام نفس المفتاح الجزئي. ولطرح ذلك بشلك أدق سنقول بأن X يمكن أن تنتج Y باحتمال مقداره P اذا كان الكسر P يميز كل الأزواج التي يكون من أجلها دخل XOR هو X وخرج XOR هو Y. لنفترض ان هناك عددا من القيم X التي تعطي باحتمال كبير فرقا معينا في الخرج. لذلك، اذا علمنا ∆ mi-1, ∆ mi باحتمال كبير، عندها يمكن معرفة ∆ mi-1 باحتمال كبير أيضا. والأكثر من ذلك، اذا أمكن تحديد عدد هذه الفروق فمن المحتمل تحديد المفتاح الجزئي المستخدم كدخل للتابع f. تعتمد الاستراتيجية العامة لتحليل التعمية التفاضلي على هذه الاعتبارات لمرحلة واحدة. وتتلخص الاجرائية بالبدء بنصين صريحين m, m1 وفرق معطى، ومتابعتهما خلال نموذج محتمل من الفروقات بعد كل مرحلة وذلك لانتاج فرق محتمل للنص المشفر. عمليا هناك فرقان محتملان للنصين المؤلفين من 32 خانة (∆ m17||∆ m16). نخضع بعد ذلك m1, m للتعمية من أجل تحديد الفرق الحقيقي تحت مفتاح غير معروف ونقارن النتيجة مع الفرق المحتمل . اذا كان هناك تطابق، أي: Ek (m) ө Ek (m1) = ∆ m17||∆m16 عندها نشك بأن كل النماذج المحتملة في كل المراحل هي صحيحة. يمكن مع هذا الافتراض أن تجرى بعض التخمينات حول خانات المفتاح. يجب تكرار هذه الاجرائية عدة مرات لاستنتاج كل خانات المفتاح. يوضح الشكل 3-10 كيفية توليد الفروقات لثلاث مراحل من خوارزمية DES. تشير الاحتمالات الموضحة على اليمين إلى الاحتمالات التي يمكن أن تظهرها مجموعة معطاة من الفروقات كتابع لفروقات الدخل. أخيرا، كما هو مبين، فإن احتمال فرق الخرج بعد ثلاثة مراحل يساوي 0.25X1X0.25 = 0.0625. الشكل 3-10: التوليد التفاضلي خلال ثلاث مراحل من خورازمية DES (الأرقام مكتوبة بالست عشري تحليل التعمية الخطيأتى هذا النوع من التحليل بعد تحليل التعمية الفاضلي . يعتمد هذا الهجوم على ايجاد تقريب خطي لوصف عمليات التحويل التي تتم في خوارزمية DES. يمكن لهذه الطريقة أن توجد مفتاح DES من خلال 247 نص مختار في تحليل التعمية التفاضلي . ومع أن هذا يعتبر تحسينا أساسيا، ذلك لأنه من الأسهل الحصول على نصوص صريحة معروفة بدلا من نصوص صريحة مختارة، إلا أن هذا العدد يبقى تحليل التعمية الخطي غير عملي لكسر خوارزمية DES. لذلك تم القيام بأعمال قليلة لتحقيق الكسر باستخدام تحليل التعمية الخطي. سنوضح فيما يلي باختصار المبادئ التي اعتمد علهيا تحليل التعمية الخطية. ليكن لدينا نظام تشفير ما، والذي يكون فيه طول النص الصريح هو n خانة، أما طول المفتاح فهو m خانة. ولنرمز لكتلة النص الصريح P[1] ..P [n] ، بينما نرمز لكتلة النص المشفر C [1]..C[n]، أما المفتاح فسيأخذ الرمز K[1]…K[m] ، لنعرف بعد ذلك ما يلي: A[I, j…k] = A[i] ө A[j] ө …+ A[k] يهدف تحليل التعمية الخطي إلى ايجاد معادلة خطية من الشكل: P[α1, α2…. Αa] ө C[β1, β2….βb] = K[γ1, γ2 …γc] (حيث X تساوي 0 أو 1، 1≤C≤m، وحيث الرموز α و β و γتمثل مواقع خانات منفردة وثابتة)، يجب أن تكون هذه المعادلة محققة بالاحتمال P والذي لا يساوي 0.5. كلما بعد P عن القيمة 0.5 كلما كانت المعادلة أكثر كفاءة. فاذا تم تحديد العلاقة المقترحة، عندها ستصبح الاجرائية هي حساب نتائج الطرف اليساري للمعادلة السابقة وذلك من أجل عدد كبير من أزواج النص الصريح-النص المشفر. اذا كانت النتيجة مساوية للصفر لأكثر من النصف عندها نفترض أن K[γ1, γ2 .. γc] = 0. اذا كانت النتيجة مساوية للواحد معظم الوقت، عندها نفتراض أن K[γ1, γ2 … γc] = 1. مما يعطينا معادلة خطية لحساب خانات المفتاح. مبادئ تصميم نظم التشفير الكتليحدث تقدم كبير في مجال تصميم نظم التشفير الكتلية القوية من وجهة نظر التعمية، إلا أن المبادئ الأساسية للتصميم لم تتغير منذ تارخي عمل فيستيل وفريق تصميم خوارزمية DES أي منذ بداية السبعينات. من المفيد بدء هذه المناقشة بالتمعن فيما تم نشره حول معايير التصميم المستخدمة عند تصميم DES بعد ثلاثة مواضيع حساسة لتصميم نظام التشفير الكتلي: عدد المراحل، تصميم التابع f، وطريقة استنتاج المفاتيح. معايير تصميم DESتركز المعايير المستخدمة لتصميم خوارزمية DES على تصميم صناديق S والتابع P الذي يأخذ خرج الصناديق S (الشكل 3-9). معايير الصناديق S: 1- يجب ألا تكون أية خانة خرج من أي صندوق S قريبة جدا من ناتج تابع خطي ما دخله خانات الدخل. وبالتحديد اذا اخترنا أية خانة خرج وأية مجموعة جزئية من خانات الدخل الستة، فان قيمة الجزء الناتج عن قيم الدخل التي تكون من أجلها قيمة هذه الخانة من الخرج مساوية لناتج عملية XOR على الخانات من الدخل، يجب ألا تكون قريبة من الواحد أو من الصفر، بل يجب أن تكون حوالي 0.5. 2- يجب أن يحتوي كل سطر من الصندوق S (والمحدد من خلال الخانتين الأكثر أهمية والاقل أهمية من خانات الدخل) على كل تشكيلات الخرج المحتملة والبالغ عددها 16. 3- اذا اختلفت قيمتا دخل الصندوق S بخانة واحدة فقط، عندها يجب أن تختلف قيم الخرج بخانتين على الأقل. 4- اذا اختلف دخلان اثنان إلى الصندوق S في قيم الخانتين الواقعتين في الوسط بالضبط، عندها يجب أن تختلف قيم الخرج بخانتين على الاقل. 5- اذا اختلف دخلان اثنان إلى الصندوق S في أول خانتين وكانت الخانتان الأخيرتان متناظرتين، عندها يجب أن تكون قيمتا الخرج متاينتين. 6- من أجل أية قيمة فرق غير صفرية مؤلفة من 6 خانات بين قيم الدخل، يجب ألا يتواجد أكثر من ثمانية أزواج دخل (من بين كل أزواج النص البالغ عددها 32)، والتي تنتج هذا الفارق، تؤدي إلى نفس الفارق في الخرج. 7- هذا المعيار شبيه بالذي قبله ولكن من أجل ثلاثة صناديق S. أشار كوبرسميث إلى أنه يجب تحقيق المعيار الأول من القائمة السابقة وذلك لأن صناديق S هي الجزء الوحيد غير الخطي في خوارزمية DES. فلو كانت الصناديق S خطية (أي أمكن استخراج خانة الخرج من خلال علاقة خطية تربط خانات الدخل)، لكانت كل الخوارزمية خطية ولأمكن كسرها. يمكن ملاحظة هذه الظاهرة في نظام تشفير هيل والذي يعتبر نظاما خطيا. تساعد بقية المعايير بشكل أساسي في مقاومة تحليل التعمية التفاضلي وفي تقديم خاصة بعثرة جيدة. أما معايير تابع تبديل المواضع P فهي: 1- يتم توزيع خانات الخرج الأربع من كل صندوق S في المرحلة i بحيث تؤثر خانتان منهما (تكون دخلال) على الخانات الوسطة للمرحلة i+1 ، أما الخانتان الباقيتان فتؤثرن على الخانات النهائية. لا تكون خانتا الدخل الوسطى في دخل صندوق S مشتركتين بين صناديق S المجاورة. الخانات النهائية هي الخانتان الواقعتان إلى أقصى اليسار والخانتان الواقعتان إلى أقصى اليمين والتي تتم بالمشاركة عليها مع صناديق S المجاورة. 2- تؤثر خانات الخرج الأربعة من كل صندوق S على ستة صناديق S مختلفة في المرحلة التالية، ولا يمكن أن تؤثر اثنتان منهما على نفس الصندوق S. 3- ليكن لدينا صندوقي S التالييت k, j. اذا أثرت خانة خرج من الصندوق si على خانة وسطى من الصندوق sk في المرحلة التالية، عندها لا يمكن أن تؤثر خانة خرج من الصندوق sk على خانة وسطى من الصندوق Si . وهذا يقتضي أنه من أجل j=k، فإن خانة خرج من Si لا يمكن أن تؤثر على خانة وسطى من Sj. تهدف هذه المعايير بمجملها إلى زيادة البعثرة في الخوارزمية. عدد المراحلتنبع قوة التعمية في نظام تشفير فيستيل من ثلاث نقاط تصميمية: عدد المراحل، التابع f، وطريقة استخراج المفاتيح. لنلق نظرة أولا على طريقة اختيار عدد المراحل. كلما كان عدد المراحل أكبر كلما تعقد انجاز تحليل التعمية، حتى ولو كان التابع f، ضعيفا نسبيا. وبشكل عام يجب أن يكون المعيار هو أن يتم اختيار عدد المراحل بحيث يتطلب تحليل التعمية المعروف جهودا أكبر من تلك المصروفة على الهجوم بالبحث عن المفتاح بطريقة "الكسر الأعمى" البسيطة. تم استخدام هذا المعيار بالتأكدي أثناء تصميم خوارزمية DES. لا حظ Schneier بأنه من أجل خوارزمية DES ذات 16 مرحلة يكون الكسر باستخدام تحليل التعمية التفاضلي أقل كفاءة بقليل من الكسر بطريقة الكسر الأعمى 255 عملية. اذا تضمنت خوارزمية DES 15 مرحلة أو أقل فان تحليل التعمية التفاضلي يتطلب جهودا أقل من طريقة البحث عن المفتاح بطريقة الكسر الأعمى. يعتبر هذا المعيار هاما لأنه يسمح بسهولة الحكم على قوة الخوارزمية وبالتالي مقارنة الخوارزميات. في حال غياب الاختراق بواسطة تحليل التعمية، يتم الحكم على قوة الخوارزمية من خلال طول المفتاح. تصميم التابع Fيعتبر التابع f قلب نظام فيستيل للتشفير الكتلي. يعتمد هذا التابع، كما رأينا، على استخدام الصناديق S.وهذ هي حالة معظم أنظمة التشفير الكتلي المتناظر، كما سنرى في الفصل السادس. يمكننا على كل الأحوال وضع ملاحظات عامة حول المعايير التصميمية للتابع f. بعد ذلك، سندرس بشكل خاص تصميم الصناديق S.
المعايير التصميمية للتابع fيقدم التابع F عنصر البعثرة في نظام تشفير فيستيل، أي يجب أن يكون من الصعب إعادة بناء التبديل المنجز من خلال F. إحدى المعايير الواضحة أن يكون التابع F غير خطي، كما ناقشنا ذلك سابقا. هناك عدة مقاييس لعدم الخطية ولكنها تخرج عن نطاق بحث هذا المرجع. نستطيع القول بخطوط عريضة أنه كلما كان الحصول على قيمة تقريبية للتابع F من خلال مجموعة معادلات خطية أصعب، كلما كانت لا خطية التابع f أقوى. يجب الأخذ بعين الاعتبار معايير أخرى عند تصميم التابع f. نرغب بأن يكون للخوارزمية خاصية تراكمية جيدة. لنتذكر بشكل عام أن هذا يعني ما يلي: تغيير خانة دخل واحدة تؤدي إلى تغيير عدة خانات خرج. النسخة الأكثر تشددا من هذا هو مايدعى المعيار التراكمي (أو الانهياري) الدقيق (SAC-Strict Avalanch Ctrterion) ، والتي تقول أن أية خانة خرج j من الصندوق S يجب أن تتغير باحتمال مقداره ½ عندما يتم عكس حالة أية خانة دخل مفردة، وذلك من أجل قيم I,j. ومع أن المعيار SAC مخصص للصناديق S، إلا أنه يمكن تطبيق نفس المعيار على كل F ككل. يعتبر هذا الموضوع هاما بشكل خاص عند الحديث عن تصميمات لا تحوي صناديق S. هناك معيار آخر وهو معيار استقلالية الخانة (BIC-Bit Independence Criterion)، والتي تقوم بأنه يجب أن تتغير خانات الخرج k,j بشكل مستقل عن بعضها عندما تنعكس أية خانة دخل مفردة i، وذلك من أجل جميع قيم k,j,i. يعمل المعياران BIC, SAC على تقوية فعالية تابع البعثرة.
تصميم صندوق Sيعتبر تصميم صندوق S من المواضيع الأكثر تطرقا للبحث في حقل التشفير الكتلي المتناظر فالنشرات التي تطرح هذا الموضع أكثر من أن تعد. سنذكر هنا بعض المبادئ العامة. نريد في الجوهر أن ينعكس أي تغيير في شعاع الدخل للصندوق S على شكل تغير عشوائي في الخرج. يجب أن تكون علاقة الخرج بالدخل غير خطية وأن يكون من الصعب التقريب إليها عن طريق معادلات خطية. يعتبر الحجم من المميزات الواضحة لصندوق S. يملك صندوق S ذو الأبعاد m x m دخلا مكونا من m خانة. أبعاد صناديق S الخاصة بخوارزمية DES هي 6 x 4، بينما صناديق S الخاصة بخوارزمية Blowfish، والتي سيتم شرحها لاحقا، تمتلك الأبعاد 8 x 32. تعتبر صناديق S الأكبر أكثر مقاومة لتحليل التعمية التفاضلي والخطي. من ناحية أخرى كلما كبر البعد n للصندوق، كلما كبر جدول البحث (بشكل أسي). لذلك ولأسباب عملية، يفترق بأن تكون حدود n من 8 إلى 10 عادة. هناك اعتبار عملي آخر، وهو أنه كلما كبر صندوق S كلما صعب وتعقدت عملية تصميمه. يتم تنظيم صناديق S عادة بشكل مختلف عن ذلك المستخدم في خوارزمية DES. يضم صندوق S ذو الأبعاد n*m سطراً لكل منها m خانة. تساعد خانات الدخل والتي عددها n على اختيار أحد سطور الصندوق S، وعندها تكون الخانات التي عددها m في هذا السطر هي الخرج. فعلى سبيل المثال في صندوق S ذو الأبعاد 32*8، إذا كان الدحل هو 0000 1001 ، عندها سيكون الخرج مؤلفاً من 32 خانة، الموجودة في السطر التاسغ (رقم أول سطر هو 0). اقترح Mister و Adams عدداً من المعايير لتصميم الصندوق S. من بينها تلك التي تقول بأنه يجب أن يلبي الصندوق S كلاً من SAC و BIC. كذلك اقترحا أن يتم تطبيق توابع Bent على كل التشكيلات الخطية لأعمدة الصندوق S. وتوابع Bent هي صنف خاص من التوابع المنطقية (Boolean) والتي تعتبر غير خطية إلى حد كبير وذلك حسب معايير رياضية محددة. وقد ازداد الاهتمام بتصميم وتحليل صناديق S من خلال توابع Bent (يطلق عليها أيضاً توابع المنحنى). هناك معيار آخر مقترح يخص صناديق S، وهو المعيار التراكمي أو الانهياري المؤكد (CA-Granateed Avalache) والمعرف كما يلي: يكون الصندوق S موافقاً للمعيار GA من الدرجة y إذا كان تغيير خانة دخل واحدة يؤدي على الأقل لتغيير y خانة خرج، زقد توصل مقترحو هذا المعيار إلى أن GA الذي يقع في المجال من 2 إلى 5 يؤمن ميزة بعثرة قوية لكل خوارزمية التعمية. وقد نشأ في صندوق S الكبير (مثل 32*8) سؤال حوب الطريقة الأمثل لاختيار مداخل الصندوق S وذلك لتحقيق نوع المعيار الذي نناقشه. اقترح Nyberg، والذي كتب كثيراً حوب نظرية تصميم صناديق S والأساليب العملية لذلك، الطرق التالية: •العشوائية: استخدم مولد أرقام شبه عشوائي أو جدولاً ما من الأعمدة العشوائية لتوليد مداخل الصناديق S. يمكن أن يؤدي الأمر إلى إنتاج صناديق S ذات ميزات غير مرغوب فيها في حال كون هذه الصناديق صغيرة، بينما تعطي نتائج مقبولة في حال الصناديق الكبيرة. •العشوائية مع الاختيار: اختر مداخل الصندوق S بشكل عشوائي، اختير بعدها النتائج من وجهة نظر المعايير المختلفة، وقم بحذف تلك التي لا تعبر الاختيار. •الصنع البشري: تعتبر هذه الطريقة يدوية إلى حد ما مع استخدام الرياضيات البسيطة لدعمها. ومن الواضح أنها الطريقة المتبعة عند تصميم خوارزمية DES. من الصعب اتباع هذه الطريقة في حالة صناديق S الكبيرة. •الصنع الرياضي: قم بتوليد صناديق S بالاعتماد على مبادئ رياضية. حيث يمكن، باستخدام البنى الرياضية، بناء صناديق S التي تقدم أماناً محققاً تجاه تحليلات التعمية الخطية والتفاضلية، بالإضافة إلى تأمين توابع نشر جيدة. أحد فروع التقنية الأولى هو استخدام صناديق S عشوائية ومعتمدة على المفتاح بنفس الوقت. تمثل خوارزمية Blowfish تحقيقاً لهذه الطريقة، حيث تبدأ بصناديق S ممتلئة بأعداد شبه عشوائية ومن ثم يتم تغيير محتواها باستخدام المفتاح. وقد بدأت صناديق S المعتمدة على المفتاح امتيازاً رائعاً، ذلك لأنها غير ثابتة وبالتالي لا يمكن تحليلها مع مرور الوقت لمعرفة نقاط ضعفها.
خوارزمية استنتاج المفاتيحتعتبر خوارزمية استنتاج المفاتيح الجزئية من المفتاح الأصلي المكان الأخير للدراسة عند تصميم نظام تشفير كتلي، وفي الحقيقة لم تتعرض هذه المسألة للدراسة المطولة مقارنة مع تصميم صناديق S. يتم في أي نظام تشفير فيستيل استخدام المقتاح الأصلي لتوليد مفتاح جزئي واحد لكل مرحاة من المراحل. نرغب في هذه الحالة العامة باختيار المفاتيح الجزئية بطريقة تؤمن تعقيد عملية تخمين كل المفاتيح الجزئية إلى أقصى حد. وبالتالي تعقيد عملية الرجوع إلى المفتاح الرئيسي. لم يتم نشر أية مبادئ عامة حول هذا الموضوع حتى الآن. اقترح Hall بأنه يجب على الأقل أن نضمن خوارزمية استنتاج المفاتيح الجزئية تحقيق المعيارين SAC و BIC للمفتاح/النص المشفر. أنماط عمل نظام التشفير الكتليتعتبر خوارزمية DES الأساس في تأمين أمن المعطيات. وقد تم تعريف وتحديد أربعة أنماط عمل من أجل تحقيق هذه الخوارزمية في تطبيقات مختلفة. يفترض أن تغطي هذه الأنماط الأربعة عملياً كل تطبيقات التعمية المحتملة والتي يمكن أن تستخدم فيها خورازمية DES. وعندما ظهرت تطبيقات ومتطلبات جديدة قام المعهد القومي للمقاييس والتقنيات – NIST بتوسيع هذه الأنماط لتصبح خمسة. حيث تستخدم هذه الأنماط في أي نظام تعمية كتلي متناظر، ربما في ذلك DES الثلاثي و AES. يضم الجدول 3-6 ملخصاً لهذه الأنماط، بينما يتم شرحها باختصار في بقية هذا المقطع.
نمط كتاب الشيفرة الإلكترونيةهو أبسط أنماط العمل، حيث تتم فيه معالجة النص الصريح على شكل كتل مؤلفة من 64 خانة في وقت واحد وتتم تعمية هذه الكتل باستخدام نفس المفتاح (الشكل 3-11). يستخدم مصطلح "كتاب الشيفرة" (Code Book)، لأنه من أجل مفتاح معطي سيكون هناك نص مشيفر فريد لكل كتلة نص صريح بطول 64 خانة. لذلك يمكن أن نتصور كتاب شيفرة ضخم يحوي مدخلاً لكل 64 خانة محتملاً من النص الصريح، وما يقابلها من النص المعمي. إذا كان طول الرسالة أكبر من 64 خانة، عندها سيتم ببساطة تقسيم هذه الرسالة إلى كتل طول الواحدة 64 خانة، ويتم توسيع االكتلة الأخيرة بمعلومات غير مفيدة إذا لوم الأمر. يتم تنفيذ فك التعمية على كل كتلة بشكل مستقل، مستخدمين دائماً نفس المفتاح. يوضح الشكل 3-11 النص ال صريح والمؤلف من تسلسل من الكتل ذات الطول 64 خانة (بعد التوسيع إذا لزم الأمر)، وهذه الكتل هي P1, P2, P3, ….Pn، كذلك يبين كتل النص المشفر الموافقة C1, C2, C3, ….CN. (صورة: نمط كتاب الشيفرة الإلكتروني (ECB)). يستخدم نمط "كتاب الشيفرة الإلكتروني" بشكل مثالي في حال كان طول المعطيات قصيراً، مثل مفتاح التعمية. وبالتالي إذا أردت إرسال مفتاح تعمية خاص بخوارزمية DES وبشكل آمن فإن النمط ECB هو ال نمط المناسب. الميزة الأكثر أهمية لهذا النمط هي أنه في حال ظهور نفس كتلة النص الصريح أكثر من مرة في النص الصريح، فسيتم إنتاج نفس كتلة النص المشفر دائماً. لا يعتبر النمط ECB آمناً في حالة الرسائل الطويلة. حيث يمكن لمحلل التعمية الاستفادة من الخصائص الإحصائية التي تعكس مباشرة تكرار الكتل المتشابهة وبالتالي الوصول إلى نتائج متقدمة في طريق كسر الشيفرة. هذا بالإضافة إلى الاستفادة من بنية الرسالة التي يمكن ان تقدم معلومات كثيرة. فعلى سبيل المثال إذا علم أن الرسالة تبدأ بحقل محدد، عندا سيتوفر لدى المحلل عدداً من أزواج النص الصريح – النص المشفر المعروفة والتي يمكن الاستفادة منها. إذا كان في الرسالة عناصر مكررة وبدور من مضاعفات 64، عندها يمكن يمكن تمييز هذه العناصر بسرعة من قبل محلل التعمية. نمط ربط الكتل المشفرةيمكن التغلب على النص الموجود في النمط ECB عن طريق إيجاد تقنية جديدة بحيث تنتج كتلة النص الصريح المكررة كتل نصوص مشفرة مختلفة. يشكل نمط "ربط الكتل المشفرة" حلاً بسيطاً يحقق المتطلب السابق (الشكل 3-12). يتضح من هذا المخطط أن دخل خوارزمية التعمية هو عبارة عن ناتج عملية XOR بين كتلة التص الصريح ال حالية وكتلة النص المشفر السابقة، وذلك مع استخدام نفس المفتاح لكل كتلة. نكون بهذا الشكل قد ربطنا معالجة كتل النصوص الصريحة المتسلسلة مع بعضها بعض. نجد بهذا الشكل انه لا يوجد أية رابطة ثابتة بين دخل الخوارزمية وكتلة النص الصريح. لذلك لن نتوقع وجود تكرار في كتل الخرج ذات الطول 64 خانة، على الرغم من احتمال وجود كتل نص صريح متكرر. (صورة: نمط الكتل المشفرة (CBC)). تمر كل كتلة نص مشفر عبر خوارزيمة فك التعمية للحصول على النص الصريح. ومن ثم يتم تطبيق عملية XOR بين ناتج النص المشفر السابقة وذلك من أجل إنتاج كتلة نص صريح. يمكن توضيح هذا العمل كما يلي: C1=Ek (Cj-1 + Pj) عندها Dk (Cj)=Dk(Ek(Cj-1 + Pj) Dk (Cj)= (Cj-1 + Pj) Cj-1+Dk(Cj)= Cj-1+ Cj-1+Pj=pJ لإنتاج كتلة النص المشفر الأولى، يتم استخدام شعاع بدائي (IV) ليشكل أحد حدي عملية XOR والتي يكون حدها الثاني هو الكتلة الأولى من النص الصريح. أما في عميلة فك التعمية، فيتم تطبيق عملية XOR على كل من الشعاع البدائي (IV) وخرج خوارزمية فك التعمية وذلك لاستنتاج كتلة النص الصريح الأولى. يجب أن يكون الشعاع البدائي (IV) معروفاً لدى كل من ا لمرسل والمستقبل. ولتحقيق درجة أمن عالية يجب أن يبقى الشعاع IV محمياً كالمفتاح تماماً. يمكن إجراء ذلك عن طريق إرسال الشعاع IV باستخدام النمط ECB. أحد الأسباب الداعمة لحماية IV هي: إذا استطاع المهاجم أن يخدع المستقبل يجعله يستخدم قيمة مخالفة للشعاع IV، عندها سيستطيع المهاجم عكس الخانات المختارة في كتلة النص الصريح الأولى. لإطهار ذلك بشكل جيد سنكتب مايلي: C1=Ek (IV+P1) P1=IV+Dk(C1) لنستخدم الآن الرمز X(i) والذي يعبر عن الخانة رقم i من القيمة X ذات الطول 64 خانة، عندها يكون: P1(i)=IV(i)+Dk (C1)(i) بالرجوع إلى خصائص العملية XOR يمكن أن نكتب: P1(i)'=IV(i)'+Dk (C1)(i) حيث تعبر إشارة المشتق (') عن متمم الخانة. هذا يعني أنه إذا استطاع المعتدي أن يغير خانات محددة من الشعاع IV بشكل مقصود، عندها يمكن تغيير الخانات الموافقة من القيمة المستقبلة P1. يمكن أن نستخلص في ا لنتيجة أن النمط CBC صالح للاستخدام عندما يكون طول الرسالة أكبر من 64 خانة. بالإضافة لاستخدام النمط CBC في تأمين السرية يمكن استخدامه لتأمين تحديد الهوية كما سيتضح في الفصل الثامن والفصول اللاحقة من الكتاب. نمط التغذية العكسية بالشيفرةمخطط DES هو بشكل أساسي تقنية تشفير كتلي والذي يستخدم كتلاً بطول 64 خانة. ولكن يمكن على أي حال تحويل DES إلى نظام تشفير تسلسلي وذلك باستخدام إما نمط التغذية العكسية بالشيفرة أو التغذية العكسية بالخرج. يحد نظام التشفير التسلسلي من الحاجة إلى توسيع أو "حشر" الرسالة لتصبح عدداً صحيحاً من الكتل. كما انه يمكن أن يعمل في الزمن الحقيقي. وبالتالي إذا تم إرسال سيالة رموز، عندها يمكن تعمية كل رموز وإرساله مباشرة باستخدام نظام تعمية تسلسلي معتمد على الرموز. إحدى الخصائص المطلوبة من نظام التعمية التسلسلي هو ان يكون طول النص المشفر هو نفس طول النص الصريح. وبالتالي إذا تم إرسال رمز مؤلف من ثماني خانات، عندها تجب التعمية باستخدام ثاماني خانات عندها ستضيع سعة الإرسال. يوضح الشكل 3-13 مخطط CFB. نفترض في الشكل أن الوحدة المرسلة مؤلفة من S خانة، التعمية الشائعة للعدد S هي 8 . كما هي الحال في النمط CBC ، يتم هنا ربط وحدات النص الصريح مع بعضها، وبالتالي فإن النص المشفر الناتج عن أية وحدة نص صريح هو في الحقيقة تابع لكل واحدات النص الصريح السابقة. ولكن في هذه الحالة، عوضاً عن أن تكون الوحدات مؤلفة من 64 خانة، فإنه يتم تقسيم النص الصريح إلى مقاطع كل منها مؤلف من S خانة. لندرس أولاً عملية التعمية. دخل تابع التعمية هو عبارة عن مسجل إزاحة ذي 64 خانة والذي تتم تهيئته في البداية بشعاع ابتدائي ما (VI). يتم تطبيق عملية XOR بين الخانات التي عددها S الواقعة في أٌقصى اليسار (الأكثر أهمية) من خرج تابع التعمية والمقطع الأول من النص الصريح P1 وذلك لإنتاج أول وحدة نص مشفر C1، والتي يتم إرسالها مباشرة. إضافة إلى ذلك، تتم إزاحة محتوى مسجل الإزاحة إلى اليسار بمقدار S خانة ويتم وضع C1 في الخانات التي عددها S والواقعة في أقصى يمين (الأقل أهمية) مسجل الإزاحة. تتم متابعة هذه العملية حتى تتم تعمية كل وحدان النص الصريح. يستخدم في عملية فك التعمية نفس المخطط، ما عدا أن عملية XOR ستطبق على النص المشفر المستقبل وخرج تابع التعمية من أجل إنتاج وحدة نص صريح. لاحظ أنه يتم استخدام تابع التعمية وليس تابع فك التعمية. ويمكن شرح ذلك ببساطة كما يلي: لنفرض أن Ss(X) هي عبارة عن الخانات S الأكثر أهمية من القيمة X، عندها سيكون: C1=P1+SS(EK(IV) وبالتالي: P1=C1=SS(Ek(IV) يسري هذا المفعول على كل الخطوات المتلاحقة من هذه العملية. (صورة نمط التغذية العكسية بالشيفرة لS خانة (CFB). نمط التغذية العكسية بالخرجتشبه بنية هذا النمط CFB، وذلك كما هو موضح بالشكل 3-14. وكما هو موضح يتم في هذا النمط إرجاع خرج "تابع التعمية" إلى مسجل الإزاحة، بينما في النمط CFB يتم إرجاع وحدة النص المشفر فقط إلى مسجل الإزاحة. (صورة:نمط التغذية العكسية بالخرج لS خانة (OFB). إحدى مزايا هذا النمط أن الخطأ في الإرسال لا ينتشر (أي لا يتم غنتقاله من مرحلة إلى أخرى. فعلى سبيل المثال إذا حدث أي خطأ في خانة ما من C1 فسوف تتأثر القيمة الناتجة في P1 فقط، أما بقية وحدات النص الصريح اللاحقة، فإنها لن تتأثر. أما في حالة النمط CFB فإن ستكون دخلاً لمسجل الإزاحة وبالتالي ستحدث أخطاء أخرى في كل السيالة. أما سيئة OFB فهي أن هذا النمط أكثر ضعفاً أمام الهجوم بطريقة تعديل سيالة الرسالة وذلك بالمقارنة مع النمط CFB . حيث أن اتمام الخانة الموافقة في النص الصريح المسترجع. وبالتالي يمكن إجراء تغيير متحكم به في النص الصريح المسترجع. يمكن لهذا الأمر أن يترك مجالاً أمام المهاجم لإجراء التغييرات اللازمة على قسم المجموع الاختباري من الراسلة كما يجري التغييرات على المعطيات الموجودة في هذه الرسالة، وذلك من أجل تغيير النص المشفر بطريقة لاي مكن اكتشافها من قبل نظام تصحيح الأخطاء (ECC-Error Correction Code). نمط العدادتم الاهتمام بهذا النمط بشكل خاص مع ظهور تطبيقات أمن الشبكات في نمط الرتاسل غير المتزامن (ATM-Asynchronous) وتطبيقات أمن بروتوكول الانترنت (IPSec). يوضح الشكل 3-15 نمط العداد (CRT). حيث يتم استخدام عداد مساو لطول كتلة النص الصريح. المطلب الوحيد هو أن تكون قيمة العداد مختلفة من أجل كل كتلة من كتل النص الصريح المراد تهيئته. تتم تهيئة العداد عادة بقيمة ابتدائية ما، ومن ثم تتم زيادة قيمته بمقدار واحد من أجل كل كتلة لاحقة (بالقياس 2b، حيث b هي طول الكتلة). تتألف عملية التعمية من تعمية العداد ومن ثم جمعه بواسطة العملية XOR مع كتلة النص الصريح وذلك لإنتاج النص المشفر، وكما نلاحظ ليس هناك أية عملية ربط. أما في عملية فك التعمية فتتم عملية تعمية المفتاح ومن ثم جمعه بواسطة العملية XOR مع كتلة النص المشفر لاسترجاع النص الصريح الموافق. يمتاز نمط العداد بما يلي:
(صورة: نمط العداد (CTR). مقدمة إلى الحقول المنتهيةزادت أهمية الحقول المنتهية مع تطور علم التعمية. حيث تعتمد العديد من خوارزميات التعميم بشكل أساسي على خصائص الحقول المنتهية، وأوضح مثال على ذلك خوارزمية التعمية القاياسية المتطورة (Advanced Encryption Standard)AES وخوارزمية التعمية باستخدام القطع الإهليلجي (Elliptic Curve Gryptography-ECC). يبدأ هذا الفصل بإلقاء نظرة سريعة ومختصرة على مفاهيم المجموعة والحلقة والحقل. ينتقل بعد ذلك إلى تكون خلفية أساسية في الحساب المعياري وخوارزمية إقليدس. يمكنننا بعد ذلك مناقشة الحقول المنتهية ذات النموذج (GF(P)، حيث P هو عدد أولي. نتقل بعد ذلك إلى أسس إضافية ولكن هذه المرة في حساب متعددات الحدود. وينتهي الفصل بمناقشة الحقول المنتهية ذات النموذج GF(26)، حيث n هو عدد صحيح موجب. تعتبر مفاهيم وتقنيات نظرية الأعداد تجريدية إلى حد كبير، لذلك سيكون من الصعب فهمها ببساطة بدون أمثلة. وبالتالي نجد أن هذا الفصل والفصل الصامن يحتويان عدداً لا بأس به من الأمثلة والتي ستوضح هذه المفاهيم. الزمر والحلقات والحقولتعتبر الزمر والحلقات والحقول العناصر الأساسية في أحد فروع الرياضيات المسمى "الجبر التجريدي" أو "الجبر الحديث". نبدأ دراسة الجبر الحديث من ا لزمر التي مكن أن نعامل عناصرها بشكل جبري (أي يؤدي جمع عنصرين في الزمرة إلى عنصر ثالث في نفس الزمرة وذلك بواسطة إحدى العمليات الجبرية). تخضع هذه العمليات لقواعج خاصة تعرف كبيعة المجموعة. يمكن غصطلاحاً غعتبار تعريف الصنفين الأساسيين من العمليات على مجموعة عناصر هو نفسه تعريف عمليتي الجمع والضرب على الأعداد الطبيعية. على كل الأحوال، من المفيد ملاحظة أننا لا نتقيد في الجبر الحديث بالعمليات الحسابية الاعتيادية. وسوف تتضح هذه الأمور شيئاً فشيئاً مع التقدم بهذا الفصل. الزمرالزمرة G، والتي يرمز لها أحياناً (G,.) هي عبارة عن مجموعة من العناصر المرتبطة مع بعضها بعملية ثنائية، يرمز لها "". والتي تربط كل زوج من العناصر المرتبطة (a,b) من الزمرة G بعنصر آخر هو (a,b) في الزمرة G أبضاً، بحيث تتحقق البديهيات التالية: (A1) الزمرة مغلقة (closure): إذا كان كل من a و b ينتميان إلى الزمرة G، فإن a.b ينتمي إلى نفس الزمرة. (A2) القانون تجميعي (associative): والتي تحقق ما يلي a.(b.c)=(a.b)c وذلك من أجل جميع العناصر a, b, c المنتمية إلى G. (A3) وجود عنصر حيادي (Identity element): أي يجب أن يكون هناك عنصر e من الزمرة G بحيث يحقق ما يلي: a.e=e.a=a وذلك من أجل أي عنصر a ينتمي إلى G. (A4) لكل عنصر نظير (Inverse elemnt): يرتبط كل عنصر a من G بعنصر آخر a' من G أيضاً بحيث يحقق ما يلي: a.a'=a'.a=a.
إذا احتوت الزمرة عدداً منتهياً من العنصار، عندها يطلق عليها اسم الزمرة المنتهية، وترتيب الزمرة يساوي عدد عناصر هذه الزمرة. تسمى المجموعة في الحالة المعاكسة زمرة غير منتهية. يقال عن الزمرة أنه تبديلية إذا حققت الشرط الإضافي التالي: (A5) خاصة التبديل: a.b=b.a من أجل كل العناصر a,b الموجودة في G. نجد في زمرة الجمع أن العنصر الحيادي هو 0 بينما نظير العنصر a هو العنصر –a ويمكن تعريف عملية الطرج كما يلي: a-b=a+(b). الزمرة الحلقيةيعرف الرفع إلى الأس ضمن زمرة على أنه تطبيق متكرر للعملية الجارية على المجموعة، وبالتالي فإن a'=a.a.a. والأكثر من ذلك نعرف a0=e على أنه العنص رالحيادي، وكذلك نعرف a-n=(a')n. يقال عن زمرة G أنها حلقية إذا كان كل عنصر من G هو عبارة عن حاصل القوة ak (حيث K عدد صحيح) وذلك للعنصر a المنتمي إلى G. ويقال عن العنصرa أنه يولد الزمرة G، أو أنه مولد الزمرة G. الزمرة الحلقية هي زمرة تبديلية دائماص، ويمكن أن تكون منتهية أو غير منتهية. الحلقاتالحلقة R، والتي يرمز لها أحياناً بالرمز (R,+,X) هي عبارة عن مجموعة من العناصر مع عمليتين منطقيتين ندعوهما الجمع والضرب، بحيث تتحقق البديهيات التالية من أجل كل العناصر c,b,a المنتمية إلى R: R (A1-A5) هي عبارة عن مجموعة تبديلية بالنسبة للجمع، أي أن R تحقق كل البديهيات من A1 وحتى A5. وفي هذه الحالة من أجل مجموعة الجمع يعطي الرمز 0 للعنصر الحيادي والرمز –a لنظير العنصر a. (M1) مجموعة مغلقة بالنسبة للضرب: إذا كان a,b ينتميان إلى R عندها ab موجود أيضاً في R. (M2) تجميعية بالنسبة للضرب: أي a(bc)=(ab)c من أجل كل a,b,c المنتمية إلى R. (M3) القانون التوزيعي: a(b+c)=ab+ac من أجل كل a,b,c إلى R. (a+b)c=ac+bc من أجل كل a,b,c المنتمية إلى R. في الجوهر الحلقة هي زمرة يمكن أن نطبق عليها عملية الجمع والطرح والضرب وتكون النتائج موجودة في نفس المجموعة. يطلق على الحلقة أنها تبديلية إذا حققت الشرط الإضافي التالي: (M4) التبديل بالنسبة للضرب: ab=ba من أجل a و b الموجودة في R. سنعرف الآن نظاق التكامل (integral domin)، والذي يعتبر حلقة تبديلية ويحقق البديهيات التالية: (M5) العنصر الحيادي بالنسبة للضرب: هو العنصر 1 في المجموعة R والذي يحقق ما يلي a1=1a=a من أجل أية قيمة A من R. (M6) بدزن قواسم صفرية: إذا كان b,a من R عندها سيكون إما a=0 أو b=0. الحقولالحقل F، والذي يرمز له أحياناً بالرمز (F,+,X) هو عبارة عن مجموعة العناصر التي تطبق عليها عمليتان ثنائيتان تسميان الجمع والضرب، واللتان تحققان البديهيات التالية من أجل كل العناصر a,b,c الموجودة في F. (A1-M6) أي أن هو نطاق تكامل، وبالتالي فإن F يحقق كل البديهيات من A1 وحتى A5 ومن M1 إلى M6. (M7) النظير بالنسبة للضرب: يوجد لكل عنصر aفي F، عنصر a-1 من F، حيث aa-1=(a-1)a=1. الحقل جوهرياً، هو عبارة عن المجموعة التي يمكن أن نطبق عليها عمليات الجمع والطرح والضرب والقسمة بدون ان يخرج الناتج عن نطاق المجموعة. تعرف القسمة حسب القاعدة التالية: a/b=a(b-1). يلخص الشكل 4-1 البديهيات التي تعرف الزمر والحلقات والحقول. الحساب بالقياسإذا كان لدينا عدد صحيح موجب n وأي عدد صحيح آخر a وقمنا بتقسيم a على n فسيكون لدينا ناتج قسمة صحيح هو q وباقي r، واللذان يحققان العلاقة التالية: (معادلة) حيث يعبر الرمز عن أكبر عدد صحيح أصغر أو يساوي x. يوضح الشكل 4-2 بانه إذا أعطي عدد ما a وعدد صحيح موجب n فإنه من الممكن دائماً إيجاد العددين q و r اللذان يحققان العلاقة السابقة. بتمثيل الأعداد الصحيحة على خط الأعداد، سيقع العدد a في مكان ما على هذا الخط (يظهر الشكل تمثيل الأعداد a الموجبة فقط، يمكن بشكل مماثل تبيان الأعداد السالبة أيضاً). فإذا بدانا من الصفر ثم انتقلنا إلى أول قيمة صحيحة n، ثم 2n وهكذا حتى نصل إلى qn والتي تحقق ما يلي: (معادلة) عندها يمكن ملاحظة أن المسافة الفاصلة بين qn و a و r . ويمكن ببساطة أيضاً ملاحظة أن كلاً من q و r هي أعداد فريدة أي لا يمكن أن نجد أعداداً أخرى تحل مكانها في عملية القسمة السابقة. يدعى العدد r عادة بالباقي. A=11; n=7; -11(2)7+3; r=3إذا كان a عدداً صحيحاً و n عدداً صحيحاً موجباً، عندها يمكن أن نعرف a قياس n (أو a mod n) أنه الباقي من ناتج قسمة a على n. وبالتالي يمكن أن نكتب من أجل أي عدد صحيح a ما يلي: (معادلة) يقال عن العددين a و b أنهما متطابقتين في القياس n (congruent modulo n) إذا كان (a mod n) (b mod n). ويعبر عن ذلك رياضياً بالصيغة: (معادلة) (صورة: المجموعات الحلقات والحقول). (صورة: الشكل 4-2) القواسمنقول عن العدد غير الصفري b أنه يقسم العدد a إذا كان a=mb، حيث m عدد ما وحيث a, m, b, اعداد صحيحة، أي أن b يقسم a إذا لم يكن هناك أي باقي من القسمة. يستخدم الرمز b|a غالباُ للتعبير أن b يقسم ال عدد a. نقول أيضاً إذا كان b|a أن b قاسم العدد a. نسنتنج مما سبق أن ال علاقات التالية صحيحة:
ولتوضيح العلاقة الأخيرة لاحظ انه: إذا كان b|g، عند ها سيكون g من الشكل g=b*g1 حيث g1 عدد صحيح ما. وإذا كان b|h، عندها سيكون h من الشكل h=b*h1، حيث h1 عدد صحيح ما. وإذا كان b|h، عندها سيكون h من الشكل h=b*h1، حيث h1 عدد صحيح ما. لذلك فإن: Mg+nh=mbg1+nbh1=b*(mg1+nh1) وبالتالي فإن b يقسم (mg+nh) 7|4 و 7|63. لنوضح أن 7|(3*14+2*63). لدينا (3*14+2*63)=7(3*2+2*9) من الواضح أن 7|7(3*2+2*9)لاحظ أنه إذا كان a=0 mod n عندها سيكون n|a. خصائص عامل القياسيملك عامل القياس (mod) الحصائص التالية: 1- a=b mod n إذا كان n|(a+b). 2- a=b mod n يقتضي أن b=a mod n. 3- a=b mod n و b=c mod n يقتضي أن a=c mod n. سيوضح الخاصية الأولى. إذا كان n|(a-b) عندها يمكن أن نكتب: (a-b)=kn، حيث k عدد صحيح ما. وبالتالي يكون a=b+kn. لذلك فإن (a mod n) هو الباقي من حاصل قسمة (b+kn) على n وهذا يساوي الباقي من حاصل قسمة b على n أي يساوي (b mod n). -11=5 mod 8 وذلك لأن -11-5=-16*(-2) 81=0 mod 27 وذلك لأن 81-0=81=27*3يمكن إثبات بقية النقاط بسهولة. عمليات الحساب بالقياسلاحظ أن العامل (mod n) بالتعريف (الشكل 4-2) يربط بين كل الأعداد الصحيحة ومجموعة الأعداد الصحيحة 0, 1, 2, …(n-1)). ينبثق من هنا السؤال التالي: هل من الممكن إنجاز عمليات حسابية دون الخروج من حدود هذه المجموعة؟ والجواب هو أننا نستطيع ذلك باستخدام التقنية المسماة الحساب بالقياس. تتضمن الحساب بالقياس الخصائص التالية: mod n=(a+b) mod n [(a mod n) + (b mod n)] 1- Mod n=(a*b) mod n [(a mod n) – (b mod n) ] 2- mod n=(a*b) mod n [(a mod n) * (b mod n)]3- سنوضح الخاصية الأولى. لنعرف مايلي: (a mod n)=ra (b mod n)=rn عندها يمكن ان نكتب a=ra+jn حيث j عدد صحيح ما، b=rb+kn حيث k عدد صحيح ما، عندها يكون (a+b) mod n=(ra+ja+rb+jn) mod n =(va+vb+(k+j) mod n =(va+vb) mod n [a mod n)+(b mod n)]+ أما بقية الخصائص فيمكن إثباتها بسهولة. سنطرح فيما يلي أمثلة عن الخصائص الث لاثة السابقة. Mod 8=10 mpd 2 [(11 mod 8)+(15 mod 8)] (11+15) mod 8=26 mod 8=2 Mod 8: -4 mod 8=4 [(11 mod 8)-(15 mod 8)] (11-15) mod 8=-4 mod 8=4 8: 21 mod 8=5 [(11 mod 8)*(11 mod 8)] (11*15) mod 8=165 mod 8=5يتم تنفيذ عملية الرفع إلى الأس عن طريق الضرب المتكرر، كما هو الحال في الحساب التقليدي. (هناك بعض الأمور الأخرى المتعلقة بالرفع إلى أس سيتم ذكرها في الفصل الثامن). 112= 121= 4 mod 13 114=42= 3 mod 13 117=11*4*3=132=2 mod 13نلاحظ مما سبق أن القواعد المتبعة في الحساب التقليدي والمتضمنة الجمع والطرح والضرب، تطبق أيضاً على الحساب بالقياس. ففي هذه الحالة النظير الجمعي للعدد الصحيح x هو العدد y والذي يحقق ما يلي: x+y=0. لإيجاد النظير الجمعي لعدد صحيح من العمود اليساري نبحث في السطر الموافق لهذا العدد وذلك لإيجاد العدد 0، وعندها يكون العدد الموجود في قمة العمود الذي يحوي هذا الصفر هو النظير الجمعي المطلوب، فعلى سبيل المثال نجد أن 2+6=0 mod 8. نرى بشكل مشابه أن عناصر جدزل الضرب محددة بوضوح. يوجد في الرياضيات التقليدية النظير الضربي لكل عدد صحيح. النظير الضربي للعدد x في الحساب بالقياس 8 هو العدد y والذي يحقق العلاقة: لإيجاد النظير الضربي لعدد صحيح باستخدام جدول الضرب المبين في الجدول 4-1، نبحث في السطر الذي يوافق العدد المراد إيجاد نظيره الضربي وذلك لإيجاد العدد 1، عندها يكون العدد الصحيح الموجود في أعلى العمود هو النظير الضربي. وبالتالي نجد أن 3*3=1 mod 8. لاحظ أنه لا يوجد لكل الأعداد الصحيحة بالقياس 8 نظير ضربي، وسندرس ذلك بالتفصيل لاحقاً.خصائص الحساب بالقياسلنعرف المجموعة Zn على أنها مجموعة الأعداد الصحيحة غير السالبة الأصغر تماماً من العدد n. Zn=(0, 1, . …(n-1)) يطلق على هذه المجموعة اسم مجموعة البواقي أو الصفوف الباقي لقياس n. وحتى نكون أكثر دقة في التعبير فإن كل عدد صحيح من Zn يمثل صفاً من الباقي. يمكن أن نرمز لصفوف الباقي بالقياس n كما يلي: [0], [1], [2] ,[n-1].....، حيث: , a=r mod n) عدد صحيح (a:a=[r] (…..,-16, -12, -8, -4, 0, 4, 8, 12, 16, ….)=[0] (…..,-15, -11, -7, -3, -1, 3, 5, 9, 13, 17, ….)=[1] (…..,-14, -10, -6,-2, 2, 6, 10, 14, 18, ….)=[2] (….., -13, -9, -5, -1, 3, 7, 11, 15, 19, ….)=[3]يستخدم العدد الصحيح غير السالب الأصغر من كل صف باقي لتمثيل هذا الصف. تدعى عملية إيجاد العدد الصحيح غير السالب الأصغر والتي يكون فيها k مكافئاً بالقياس n بعملية تخفيض k بالقياس n. إذا أجرينا عمليات حساب بالقياس ضمن Zn، فإن الخصائص المبينة في الجدول 2-4 ستكون سارية المفعول على الأعداد الصحيحة من Zn، وبالتالي Zn تمثل حلقة تبديلية مع عنصر حيادي بالنسبة للضرب (الشكل 1-4). (صورة:الحساب بالقياس 8) هناك خصوصية واحدة للحساب بالقياس تجعله مختلفاً عن الحساب التقليدي. أولاً، كما هو الحال في الحساب التقليدي، نلاحظ إمكانية كتابة ما يلي: إذا كان (a+b)=(a+c) mod n عندها يكون b=c mod n (1-4) (5+23)=(5+7) mod 8: 23=7 mod 8 تتماشى المعادلة 1-4 مع وجود النظير الجمعي. فبإضافة النظير الجمعي للعدد a إلى طرفي المعادلة 1-4 نحصل على: ((-1)+1+b)=((a)+a+c) mod n b=c mod n لكن العبارة التالية لا تكون صحيحة إلا إذا تحقق ال شرط المرفق التالي: إذا كان (a*b)=(a*c) mod n عندها يكون b=c mod n وذلك إذا مان العدد a أولياً بالنسبة للعدد (2-4) n حيث يتم تعريف العبارة "أولي بالنسبة" كما يلي: يكون العددان الصحيحان أوليين بالنسبة لبعضهما إذا كان بينهما عامل مشترك موجب وحيد وصحيح هو العدد 1. وبشكل مشابه للمعادلة (1-4)، يمكن القول أن المعادلة (2-4) تتماشى مع وجود النظير الضربي بتطبيق الضربي على طرفي المعادلة (2-4) نجد: ((a-1)ab=((a-1)ac) mod n b=c mod n
سبب هذه النتيجة الغربية هو أنه من أجل أي قياس عام n فإن ضارب العدد سيطبق بدوره على الأعداد الصحيحة من 0 وحتى (n-1) لن يستطيع إنتاج مدموعة كاملة من ا لبواقي إذا كان العددين a و n أية عوامل مشتركة غير الواحد.
خوارزمية إقليدستعتبر نظرية إقليدس إحدى التقنيات الأساسية لنظرية الأعداد والتي هي عبارة عن إجرائية بسيطة لتحديد القاسم المشترك الأعظم لعددين صحيحين موجبين. القاسم المشترك الأعظمسنستخدم التعبير ged (a,b) للتعبير القاسم المشترك الأعظم للعددين a, b. يقال عن العدد c أنه القاسم المشترك الأعظم للعددين a و إذا كان: 1-c قاسم لكل من a و b. 2-أي قاسم آخر للعددين a و b هو قاسم للعدد c. ويصلح التعبير التالي أن يكون مكافئاً لذلك: [k:k |a& k| b] ged (a, b)=max وبما أننا نريد أن يكون القاسم المشترك الأعظم عدداً موجباً، لذلك يمكن أن نكتب ged (a, b)=ged (a, -b)=ged (-a, b)=ged (-a, -b) وبشكل عام: ged (a, b)=ged)|a|,|b|) كذلك الأمر، بما أن الأعداد الصحيحة ما عدا الصفر تقسم العدد 0 ، يمكن أن نكتب Ged (a,0)=|a| أشرنا قبل قليل أن العددين الصحيحين a|b يعتبران أوليين فيما بينهما إذا كان العامل المشترك الوحيد فيما بينهما هو 1، وهذا يكافئ القول أن b و a أوليان فيما بينهما إذا كان ged (a, b)=1. إيجاد القاسم المشترك الأعظمتعتمد نظرية إقليدس على النظريات التالية: من أجل أي عدد صحيح غير سالب a وأي عدد صحيح موجب b فإن: Ged(a,b)=ged(b,a mod b) (3-4) Ged(55,22)=ged(22,55 mod22)=ged(22,1 ولتوضيح عمل المعادلة (3-4) سنفرض أن ged (a,b)=a, عندها, ومن خلال تعريف القاسم المشترك الأعظم يمكن أن نكتب d|a,d|b. ومن أجل أي عدد صحيح موجب b, يمكن التعبير عن a بالشكل: a=kb+r≤r mod b a mod b=r حيث k و b أعداد صحيحة. وبالتالي (a mod b)=a kb , حيث k عدد صحيح ما. ولكن بما أن d|b فإنه يقسم kb أيضاً. لدينا أيضاً d|a. وبالتالي d|(a mod b). من يتضح أن d هو قسم مشترك لكل من b و (a mod b). وبشكل معاكس أذا كان d قاسماً مشتركاً لكل من b و (a mod b), عندها d|kb وبالتالي d|[kb+(a mod b)], وهو ما يكافئ d|a. أى أن مجموعة القواسم المشتركة بين a و b هي نفسها مجموعة القواسم المشتركة بين b و (a mod b). وبالتالي القاسم المشترك الأعظم لزوج ما هو نفسه القاسم المشترك الأعظم للزوج الآخر المذكور في النظرية. يمكن إستخدام المعادلة (3-4) بشكل متكرر لتحديد القاسم المشترك الأعظم. Ged(18,12)=ged(12,6)=ged(6,0)=6 Ged(11,10)=ged(10,1)=ged(1,0)=1
تملك الخوارزمية التتابع التالي: A1=B1XQ1+R1 A2=B2XQ2+R2 A3=B3XQ3+R3 A4=B4XQ4+R4
1970=1X1066+904 ged(1066,904) 1066=1X904+162 ged(904,162) 904=5X162+94 ged(162,94) 162=1X94+68 ged(94,68) 94=1X68+26 ged68,26) 68=2X26+16 ged(26,16) 26=1X16+10 ged(16,10) 16=1X10+6 ged(10,6) 10=1X6+4 ged(6,4) 6=1X4+2 ged(4,2) 4=2X2+0 ged(2,0) قد يسأل القارئ المتنبه, كيف يمكن أن نتأكد أن لهذه العملية نهاية. أي كيف يمكن أن نتأكد أنه في نقطة ما سيكون العدد لآ قاسماً للعدد A؟ والجواب أنه إذا لم يكن كذلك فسوف نحصل على تسلسل لا نهائي من الأعداد الصحيحة الموجبة, كل واحد أصغر تمامأً من الذي يسبقه, وهذا بالتأكيد مستحيل. 4-4 الحقول المنتهية من الشكل GF(p). عرفنا في لمقطع 1-4 الحقل على أنه المجموعة التي تحقق كل البديهيات الموجودة في الشكل 1-4, وأعطينا بعض الأمثلة عن الحقول غير المنتهية. لا تملك الحقول غير المنتهية اهمية خاصة في عالم التعمية. أما الحقول المنتهية فتلعب دوراً حاسماً في العديد من خوارزميات التعمية. يمكن تبيان أن ترتيب الحقل المنتهي (عدد العناصر في هذا الحقل) يجب أن يكون قوة لعدد أولي "p, حيث n هو عدد صحيح موجب. سنناقش الأعداد الأولية بالتفصيل في الفصل الثامن. وسنذكر هنا أن العدد الأولي هو عدد صحيح عوامله الموجبة الصحيحة هي فقط الواحد نفسه. يرمز للحقل المنتهي ذو الترتيب "p عادة بالشكل GF(pn). أتى الرمز من التسمية "حقل غالوي" (Galois Field) وذلك تقديراً للعالم الرياضيات الذي درس الحقول المنتهية لأول مرة. هناك حالتان خاصتان سنهتم فيهما لتلبية أهدافنا. فمن أجل n=1 سيكون الحقل المنتهي GF(p), ولهذا الحقل المنتهي بنية مختلفة عن الحقول في حال كون n>1, وستتم دراسته في هذا المقطع. وبينما يبحث المقع 6-4 في الحقول المنتهية من النموذج GF(2n). الحقول المنتهية ذات الترتيب b يعرف الحقل المنتهية GF(p) ذو الترتيب p, حيث p عدد أولي معطي, على أنه المجموعة Z4 من الأعداد الصحيحة {0,1,2 ……(p-1)} والتي تنطبق عليها العمليات الرياضية بالقياس p. تذكر أننا بينا في المقطع 4-2 أن المجموعة Zn من الأعداد الصحيحة {0,1,2,……(n-1)} مع المعليات الرياضية بالقياس n هي زمرة تبديلية (الجدول 2-4). وجدنا بعد ذلك أن أي عدد صحيح من zn يملك نظيراً ضريباً إذا وفقط إذا كان هذا العدد الصحيح أولياً بالنسبة للعدد n (راجع مناقشة المعادلة (2-4). إذا كان أولياً عندها ستكون كل الأعداد الصحيحة ما عدا الصفر في المجموعة an أولية بالنسبة للعدد n, وبالتالي سيكون هناك نظير ضريبي لكل الأعداد الصحيحة ماعدا الصفر في المجموعة Zn. لذلك يمكن في المجموعة Zp أن نضيف الخصائص التالية إلى مجموعة الخصائص المذكورة في الجدول 2-4: النظير الضريبي (w-1): مهما كان العدد w والذي ينتمي إلى Zp , حيث w≠0, فإنه يوجد عدد ما ينتمي إلى Zp ويحقق ما يلي: Wxz=1 mod p وبما أن w أولي بالنسبة إلى p, فإنه عندما نضرب كل عناصر zp بالعدد w فإن البواقي الناتجة ستكون جميعها من عناصر Zp ولكن بترتيب مغاير. وبالتالي سيكون هناك باقي واحد فقط يحمل القيمة 1. أي أن هناك عدد صحيح ما في Zp والذي ضرب بالعدد w أعطى الباقي 1. هذا العدد الصحيح هو النظير الضريبي للعدد w, والذي يرمز له بالرمز w-1. فستنتج من ذلك أن Zp في الحقيقة هي حقل منتهي. بل الأكثر من ذلك نلاحظ أن المعادلة (2-4) تتماشى مع وجود نظير ضريبي وتمكن إعادة كتابتها بدون الشرط: إذا كان (axc) mod p عندها يكون b=c mod p بضرب طرفي المعادلة (4-4) بالنظير الضريبي للعدد a نجد: ((a-1)xaxb)=((a-1)xaxc) mod p B=c mod p أبسط حقل منتهي هو GF(2). يمكن تلخيص عملياته الرياضية بما يلي: + 0 1 x 0 1 w –w w-1 0 0 1 0 0 0 0 0 - 1 1 0 1 0 1 1 1 1 النظير الضرب الجمع الجمع في هذه الحالة يكافئ عملية XOR, أما الضرب فيكافئ عملية AND المنطقية. يبين الجدول 3-4 الحقل GF(7). الجدول 3-4: الحساب في الحقل GF(7) (a) الجمق بالقياس 7 (b) الضرب بالقايس 7 (c) النظير الجمعي والنظير ال ضريبي بالقياس 7.
الحقول المنتهية من الشكل GF(p)عرفنا في المقطع 1-4 الحقل على أنه المجموعة التي تحقق كل البديهات الموجودة في الشكل 1-4، وأعطينا بعض الأمثلة عن الحقول غير المنتهيه. لا تملك الحقول غير المنتهية أهمية خاصة في عالم التعمية. أما الحقول المنتهية فتلعب دوراً حاسماً في العديد من خوارزميات التعمية. يمكن تبيان أن ترتيب الحقل المنتهي (عدد العناصر في هذا الحقل) يجب أن يكون قوة لعدد أولي p"، حيث n هو عدد صحيح موجب. سنناقش الأعداد الأولية بالتفصيل في الفصل الثامن. وسنذكره هنا أن العدد الأولي هو عدد صحيح عوامله الموجبة الصحيحة هي فقط الواحد ونفسه. يرمز للحقل المنتهي ذو الترتيب p" عادة بالشكل GF(pn). أتى الرمز من التسمية "حقل غالوي" (Galois Field) وذلك تقديراً لعالم الرياضيات اذلي درس الحقول المنتهية لأول مرة. هناك حالتان خاصتان سنهتم فيهام لتلية أهدفنا. فمن أجل n=1 سيكون الحقل المنتنهي GF(p)، ولهذا الحقل المنتهي بنية مختلفة عن الحقول في حال كون n>1, وستتم دراسته في هذا المقطع. بينما يبحث المقطع 6-4 في الحقول المنتهية من النموذج GF(2n). الحقول المنتهية ذات الترتيب bيعرف الحقل المنتهي GF(p) ذو الترتيب p، حيث p عدد أولي معطي، على أنه المجموعة Zp من الأعداد الصحيحة (0, 1, 2, …(p-1)) والتي تنطبق عليها العمليات الرياضية بالقياس p. تذكر أننا بينا في المقطع 4-2 أن المجموعة Zn من الأعداد الصحيحة (0, 1, 2, ….(n-1)) مع العمليات الرياضية بالقياس n هي رمزة تبديلية (الجدول 2-4). وجدنا بعد ذلك أن أي عدد صحيح من Zn يملك نظيراً ضربياً إذا وفقط إذا كان هذا العدد الصحيح أولياً بالنسبة للعدد n (راجع مناقشة المعادلة (2-4). إذا كان n أولياً، عندها ستكون كل الأعداد الصحيحة ما عدا الصفر في المجموعة Zn أولية بالنسبة للعدد n, وبالتالي سيكون هناك نظير ضربي لكل الأعداد الصحيحة ما عدا الصفر في المدموعة Zn. لذلك يمكن في المجموعة Zp أن نضيف الخصائص التالية إلى مجموعة الخصائص المذكورة في الجدول 2-4. W*z=1 mod pوبما أن w أولي بالنسبة إلى p، فإنه عندما نضرب كل عناصر Zp بالعدد w فغن البواقي الناتجة ستكون جميعها من عناصر Zp ولكت بترتيب مغاير. وبالتالي سيكون هناك باقي واحد فقط يحمل القيمة 1، أي أن هناك عدد صحيح ما في Zp والذي إذا ضرب بالعدد w أعطي الباقي 1. هذا العدد الصحيح هو النظير الضربي للعدد w، والذي يرمز له بالرمز w-1 فستنتج من ذلك أن Zp في الحقيقة حقل منتهي. بل الأكثر من ذلك نلاحظ أن المعادلة (2-4) تتماشى مع وجود نظير ضربي ويتمكن إعادة كتابتها بدون الشرط: إذا كان (a*b)=(a*c) mod p عندها يكون b=c mod p (4-4) بضرب طرفي المعادلة (4-4) بالنظير الضربي للعدد a نجد: أبسط حقل منتهي هو GF(2). يمكن تلخيص عملياته الرياضية بما يلي: + 0 1 X 0 1 w -w w-1 0 0 1 0 0 0 0 0 - 1 1 0 1 0 1 1 1 1 النظير الضرب الجمع الجمع في هذه الحالة يكافئ عملية XOR، أما الضرب فيكافئ عملية AND المنطقية. يبين الجدول 3-4 الحقل GF(7). (الصورة: الحساب في الحقل GF(7)) إيجاد النظير الضربي في الحقل GF(p)من السهل إيجاد النظير الضريبي لعنصر ما من GF(p) إذا كانت قيم p صغيرة . حيث يمكن ببساطة بناء جدول, مثل ذلك المبين في الجدول b3-4, ومن قراءة النتيجة المطلوبة مباشرة. أما إذا كانت قيمة p كبيرة فستصبح هذه الطريقة غير عملية. إذا كانت ged(m,b)=1, عندها يملك العدد b نظيراً بالقياس m. أي أنه من أجل الأعداد الصحيحة الموجبة m>b, يوجد عنصر m>b-1 بحيث يحقق ما يلي: bb-1=mod m. يمكن توسيع أو تطوير نظرية إقليدس بحيث أنها بالإضافة إلى إيجاد ged(m,b), وإذا كان هذا العدد القاسم مساوياً للواحد فإن الخوارزمية تعيد النظير الضريبي للعدد b. Extended Euclid (m,b) 1.(A1,A2,A3)(1,0,m);(B1,B2,B3)(0,1,b) 2.إذا كان B3=0 عندها أعد A3=ged (m,b), لا يوجد نظير. 3.إذا كان B3=1 عندها سيكون B3=ged (m,b), B2=b-1 mod n 4. Q = [A3/B3] 5.(T1,T2,T3)(A1 – QB1, A2 – QB2,A3 – QB3) 6.(A1,A2,A3)(B1,B2,B3) 7.(B1,B2,B3)(T1,T2,T3) 8.الرجوع إلى الخطوة 2. يجب الحفاظ على العلاقات التالية خلال الحساب: mT1=bT2=T3; mA1+bA2=A3; mB1=bB2=B3 ولتبيان أن هذه الخوارزمية تعيد بشكل صحيح ged(m,b), لاحظ أنه إذا ساوينا A و B في خوارزمية إقليدس بكل من A3 و B3 في خورازمية إقليدس الموسعة, فإن معالجة المتغيرين ستكون واحدة. في كل دورة (تكرار) لخوازمية إقليدس نجعل ِ مساوية لقيمة B السابقة وقيمة B مساوية للقيمة A mod B السابقة. بشكل مشابه نجد أنه عند كل خطوة من خوارزمية إقليدس الموسعة فإن A3 ستساوي قيمة B3 السابقة و B3 ستساوي القيمة السابقة للعدد A3 مطروحاً منه القيمة الباقية من حاصل B3 A3. القيمة الأخيرة هي ببساطة الأخيرة هي ببساطة باقي قسمة A3 على B3, أي A3 mod B3. لاحظ أيضاً أنه إذا كان ged(m,b)=1, غنه في الخطوة النهائية سنحصل على b3=0, A1=1, وبالتالي في الخطوة السابقة سيكون B3=1. إلا أنه إذا كان B3=1 فيمكن القول: mB1+bB2=B3 mB1+bB2=1 bB2=1+mB1 bB2=1 mod m وبالتالي فإن B2 هو المقلوب للعدد b بالقياس m الجدول 4-4 هو عبارة عن مثال لتنفيذ الخوارزمية. يبين هذا الجدول أن ged (550, 1759)=1 وأن النظير الضريبي للعدد 550 هو العدد 355, أي أن 1759 550x355=1 mod 1759.
لإيجاد النظير الضريبي للعدد 550 في الحقل GF(1759). 4-5 حساب كثيرات الحدود لابد قبل المضي في مناقشة الحقول المنتهية من تقديم موضوع هام وهو حساب كثيرات الحدود. وسينحصر إهتمامنا في كثيرات الحدود ذات المتغير الواحد x, حيث سنميز ثلاثة صفوف في حساب كثيرات الحدود: • الحساب التقليدي لكثيرات الحدود, وذلك بإستخدام القواعد الأساسية للجبر. • حساب كثيرات الحدود اذلي يتم فيه حساب المعاملات بالقياس p, أي أن المعاملات تكون في Zp. • حساب كثيرات الحدود الذي تكون معاملاته في Zp, بينما يتم تعريف كثير الحدود بقياس حدود آخر m(x), والذي تكون القوة العظمى هي عدد صحيح ما n. • يدرس هذا المقطع الصنفين الأول والثاني, بينما يغطي المقطع التالي الصنف الأخير. الحساب التقليدي لكثيرات الحدود: كثير الحدود من الدرجة n (حيث n عدد صحيح أكبر أو يساوي الصفر) هو عبارة عن تعبير رياضي من الشكل: f(x)=anxn+an-1xn-1+an-2xn-2+…..+a1x+a0= حيث a1 هي عبارة عن عناصر مجموعة ما مختارة من الأرقام يرمز لها S, والتي تدعى مجموعة العوامل, وحيث an≠0. نقول أن هذه العبارة كثير الحدود معرف على المجموعة S. يدعى كثير الحدود ذو الدرجة صفر بكثير حدود ثابت (constant polynomial) وهو ببساطة عبراة عن عنصر من مجموعة من العوامل. ويدعى كثير الحدود من الدرجة n كثير حدود أحادي (monic polynomic) إذا كان an=1. لا نهتم في الجبر عادة بتقويم كثير الحدود عند قيمة محددة للمتغير x [على سبيل المثال f(7) ]. وللتأكيد على هذه النقطة يشار أحياناً للمتغير x بالقيمة غير المحددة (indeterminate). يتضمن حساب كثير الحدود عمليات الجمع والطرح والضرب. تعرف هذه العمليات بطريقة طبيعية، وكأن المتغير x عنصر من المجموعة S. يعرف التقسيم بشكل مشابه, لكن يلزم لذلك أن تكون المجموعة S حقلاً. من بين الأمثلة عن الحقول يمكن أن نذكر الأعداد الحقيقية, الأعداد العقدية، Zp حيث p عدد أولي. لاحظ أن مجموعة الأعداد الصحيحة كلها لا تشكل حقلاً, وبالتالي لا تدعم قسمة كثيرات الحدود. تنفذ عمليتي جمع وطرح المعاملات المترابطة. وبالتالي إذا كان : m n F(x)= aixi;∑ g(x)=∑ bixi; n≥m I=0 i=0 عندها يمكن تعريف الجمع كما يليل: n m F(x)+g(x)=∑ (ai+bi)xi + ∑ aixi i=m+1 i=0 يعرف الضرب بالشكل: n+m f(x)g(x)=∑ cixi حيث: Ck=a0bk+a1b1+……ak-1b1+akb0 في المعادلة الأخيرة إعتبرنا ai أنه يساوي الصفر من أجل i>n و bi على أنه صفر من أجل i>m. لاحظ أن درجة ناتج الضرب مساوية لمجموع درجتي كثيري الحدود. ليكن لدينا المثال التالي: f(x)=x3+x2+2 و g(x)=x2-x+1 عندها سيكون: F(x)+g(x)=x3+2x2-x+3 F(x)-g(x)=x3+x+1 F(x)g(x)=x5+3x2-2x+2 تبين الأشكال من a3-4 وحتى c3-4 الحساب اليدوي لما سبق. حساب كثير الحدود عندما تكون معاملاته في zp سنهتم الآن بكثير الحدود الذي تكون معاملاته عناصر في حقل ما F. من السهل في هذه الحالة رؤية أن مجموعة كثيرات الحدود من هذا الشكل تشكل زمرة, ويشار إليها بزمرة كثير الحدود, أي إذا إعتبرنا كل كثير حدود فريد عنصراً من المجموعة تشكل زمرة. عندما يطبق حساب كثير الحدود على كثيرات في حقل, فإن القسمة تكون ممكنة في هذه الحالة. لاحظ أن هذا لايعني أن القسمة المضبوطة تكون ممكنة. لنوضح هذا الأمر. إذا أعطي عنصران a و b ضمن حل معين فإن نات القسمة الصحيح a/b سيكون من هذا الحقل. ولكن إذا إعطيت زمرة ما R لا تشكل حقلاً، ففي الحالة العامة سينتج التقسيم قسماً صحيحأ وباقياً, وهذا ما ندعوه قسمة غير مضبوطة. لنأخذ عملية القسمة 5/3 ضمن المجموعة S. إذا كانت عباة عن مجموعة الأعداد العقدية، والتي تشكل حقلاً, عندها يتم التعبير عن الناتج ببساطة بالشكل 5/3 وهو عنصر من S. لنفرض الآن أن S هي عبارة عن الحقل Z7. سيكون الحساب في هذه الحالة بإستخدام الجدول (c3-4): نضيع النماذج التركيبية للخانات. أي أننا نرغب أن نعمل مع الأعداد الصحيحة في المجال من 0 وحتى 2n-1 لتى تقع في الكلمات ذات n خانة. لنفترض أننا نريد تعريف خوارزمية تعمية تقليدية تعمل على ثماني خانات في وقت واحد، حيث تتضمن هذه الخوارزيمة عملةي تقسيم. نستطيع من خلال الثاني خانات تمثيل الأعداد من 0 وحتى 225. وبما ان العدد 256 ليس عدداً أولياً، فإنه إذا تم الحساب على Z256 (الحساب بالقياس 256 ) فإن هذه المجموعة من الأ‘داد الصحيحة لا تشكل حقلاً. العدد الأولي الأقرب إلى العدد 256 هو 251. وبالتالي فإن المجموعة Z251 تشكل حقلاً إذا تم تطبيق الحساب بالقياس 251. وبالتالي لن يتم في هذه الحالة إستخدام النماذج ذات الثماني خانات التي تمثل الأعداد الصحيحة من 251 وحتى 255, مما يؤدي إلى إستخدام غير فعال للذاكرة. يوضح المثال السابق أنه إذا تم إستخدام كل العمليات الحسابية, وأردنا تمثيل مجال الأعداد الصحيحة المتشكلة من n خانة, عندها لن يكون بالإمكان تنفيذ الحساب بالقياس 2n يمكن بشكل مكافئ القول أن مجموعة الأعداد الصحيحة بالقايس 2n حيث 1<n لا تشكل حقلأً. بل الأكثر من ذلك, إذا إستخدمت خوارزمية التعمية الجمع والضرب ولم تستخدم القسمة, فإن إستخدام المجموعة Z2 يبقى مشكوكاً فيه, كما هو موضح في المثال التالي: لنفرض أننا نريد إستخدام كتل ذات ثلاث خانات في خوارزمية تعمية, وسنستخدم فقط عمليات الجمع ولضرب. عندها سيكون الحساب بالقياس 8 كما هو موضح في الجدول 1-4. لاحظ من ناحية أخرى أن الأ‘داد الصحيحة غير الصفرية لا تظهر في جدول الضرب عدداً متساوياً من المرات. على سبيل المثال هناك ثلاث مرات يظهر فيها العدد 3, بينما يظهر العدد 4 إثنتا عشرة مرة. بالمقابل, كما ذكرنا هناك حقول منتهية من الشكل GF(2n), وبالتالي هناك بشكل خاص حقل منتهية من الترتيب 23=8. يبين الجدول 5-4 الحساب في هذا الحقل. وفي هذه الحالة، عدد مرات ظهور الأعداد الصحيحة غير الصفرية موحد. العدد الصحيح: 1 2 3 4 5 6 7 عدد مرات الظهور في Z8: 4 8 12 4 8 4 عدد مرات الظهور في GF(28): 7 7 7 7 7 7 7 يبدو بشكل بديهي أن الخورازمية التي تحول الأعداد الصحيحة إلى نفسها ولكن بشكل متفاوت ستكون أضعف من تلك التي تقدم تحويلأً موحداً. لذلك يعتبر الحقل المنتهي من النموذج GF(2n) مثيراً في مجال خوارزميات التعمية. الجدول 5-4: الحساب FG(23) الجمع الضرب النظيران الجمعي والضربي
هنا 3 جداول حساب كثيرات الحدود القياسي لنأخذ المجموعة S المؤلفة من جميع كثيرات الحدود ذات الدرجة n-1 أو والمعرفة على الحقل Zp. أي أن لكل كثير حدود منها الشكل: F(x)=an-1Xn-1 + an-2Xn-2 + . . . . +a1X1+a0=∑n-1 i=0aiXi حيث تأخذ كل ai قيمة ما في من المجموعة (0,1,. . . . p-1). سيكون لدينا بشكل كلي p" كثير حدود مختلف في S. إذا كان n=2 p=3 عندها سيكون لدينا 32=p كثيرات حدود في المجموعة وهي: 0 x 2x 1 x+1 2x+1 2 x+2 2x+2 إذا كان n=3 p=2 عندها سيكون لدينا 23=8 كثيرات حدود في المجموعة هي: 0 x+1 x2+x 1 x2 x2+x+1 x x2+1 نجد أن كل مجموعة S تشكل حقلاً إذا تم ترعيف العمليات الحسابية بشكل مناسب. يتضمن التعريف العناصر التالية: 1. يتبع الحساب القواعد الإعتيادية لحساب كثيرات الحدود وذلك بإستخدام قواعد الجبر مع إدخال التحسينين التاليين. 2. يجري الحساب على العوامل بالقياس p. أي أننا نستخدم قواعد الحساب للحقل المنتهي Zp. 3. إذا كانت نتيجة الضرب هي كثير حدود ذو درجة أعلى من n-1, عندها يتم تخفيض كثير الحدود بقايس كثير حدود ما m(x) غير قابل للإختزال ومن الدرجة n. أي أننا نقسم على m(x) ونحتفظ بالباقي. فإذا كان كثير الحدود f(x), عندها يتم التعبير عن الباقي كما يليل: r(x)=f(x) mod m(x) يستخدم مقايس التعمية المتقدم Advanced Eneryption Standard- AES) الحساب في الحقل المنتهي GF(28)، مع كثير الحدود غير قابل للإختزال: m(x)=x8+x4+x4+1 هنا جدول وكما هو الحال في الحساب القياسي العادي, لدينا تعريف لمجموعة البواقي في حساب كثيرات الحدود القايسي. تتألف مجموعة بواقي كثيرات الحدود بالقياس m(x) وبالدرجة n من pn عنصراً. يتمثل كل واحد من هذه العناصر بواحد من pn كثير حدود من الدرجة n>m. يتالأف صنف الباقي [x+1], بالقياس m(n) من كل كثيرات الحدود a(x) بحيث: a(x)≡(x+1)mod m(x) بشكل مكافئ، يتالف صف البواقي [x+1] من كل كثيرات الحدود a(x) التي تحقق المساواة: a(x) mod m(x)=x+1 يمكن تبيان أن مجموعة كثيرات الحدود بقايس كثير حدود ما m(x) غير القابل للإختزال ومن الدرجة n يحقق البديهيات الموضحة في الشكل 1-4, وبالتالي يشكل حقلاً منتهياً. بالإضافة إلى ذلك, كل الحقول المنتهية ذات الترتيب المعطى متناظرة في الشكل, أي أن بنية أي حقلين منتهين من ترتيب معطى تملك نفس الشكل, لكن يمكن أن يختلف تمثيل العناصر أو تسمياتها. نحتاج لبناء الحقل المنتهي FG(23) إلى إختيار كثير حدود غير قابل للإختزال من الدرجة 3. إثنين فقط من كثيرات الحدود من هذا النوع (x3+x2+1) و (x3+x+1). يبين الجدول 6-4 جدوال الجمع والضرب للحقل GF(23). الجدول 6-4: حساب كثير الحدود بالقياس (x3+x+1)
إيجاد النظير الضريبي: كما كيفنا نظرية إقليدس لإيجاد القاسم المشترك الأعظم لكثيريحدود, يمكن تصنيف تكيف نظرية أقليدس الموسعة لإيجاد النظير الضريبي لكثير حدود. وبشكل خاص, ستساعد الخورازمية في إيجاد النظير الضريبي لكثير الحدود b(x) بالقياس m(x) إذا كانت درجة b(x) أقل من درجة m(x) وكان ged[b(x) m(x)]=x,. إذا كان M(x) هو عبارة عن كثير حدود غير قابل للإختزال، عندها لن يملك أي عامل غير نفسه والواحد، وبالتالي فإن ged[m(x)<b(x)]. وصف الخورزميات كما يلي: Extended Euclid [m(x),b(x)] 1.[A](x), A2(x)] -[1,0,m(x)] [B](x),B2(x),B3(x)][0,1(x)] 2.إذا كان B3(x)=0 عندها:- B3(x)=ged[m(x),b(x) - لا يوجد نظير. 3.إذا كان B3(x) عندها:- B3(x)=ged[m(x) b(x), - B2(x)=b(x)-1 mod m(x) 4. Q(x)=quotient of A3(x)B3(x) (أي q(x) هو القسم الصحيح من حاصل القسمة) 5. [T1(x), T2(x), T3(x)][A](x)-Q(x) B1(x), A2(x)-Q(x)B2(x), A3(x)-Q(x)B3(x)] 6. [A1(x), A2(x), A3(x)][B](x), B2(x), B3(x) 7. [B1(x), B2(x), B3(x)[T1(x), T2(x), T3(x)] 8. العودة إلى الخطوة الثانية. يبين الجدول 7-4 حساب النظير الضريبي ل (x7+x+1) mod (x8+x4+x3+x+1) والنتيجة هي (x7+x+1)-1=(x7) أي أن: (x7+x+1)(x7)≡ 1 mod (x8+x4+x3+x=1) الجدول7-4: نظرية إقليدس الموسعة من أجل (x8+x4+x3+x+1),(x7+x+1) هنا الجدول إعتبارات حسابية: يمكن تمثيل كثير الحدود f(x) التالي: F(x)=an-1xn-1+an-2xn-2+……+a1x+a0=∑n-1 i=0 aixi في الحقل GF(2n) بشكل فريد عن طريق معاملاته الثنائية (an-1 an-2…..a0). أي يمكن تمثيل أي كثير الحدود في (GF(2n) عن طريق عدد ذي n خانة. تبين الجداول 5-4 و 6-4 جداول الجمع والضرب للحقل GF(23) بالقياس m(x)=(33+x+1). يستخدم الجداول 5-4 التمثيل الثنائي بينما يستخدم الجدول 6-4 التمثيل بكثير الحدود. الجمع : رأينا أن جمع كثيرات الحدوديتم عن طريق إضافة عامل محدد, وفي حالة كثيرات الحدود المعرفة في Z2 , فإن الجمع ببساطة هو عبارة عن عملية XOR. وبالتالي جمع كثيري حدود في GF(2n) يطابق عملية XOR بين خانتين. هنا جدول الضرب: لا توجد عملية XOR بسيطة يمكن أن تنجز الضرب في GF(2n). غير أن هناك تقنية سهلة التطبيق وواضحة لذلك. سندرس هذه التقنية بالإعتماد على GF(n8) وبإستخدام m(x)=x8+x4+x3+x+1, وهو عبارة عن الحقل المنتهي المستخدم في AES. يمكن بسهولة تعميم هذه التقنية على GF(2n). تعتمد هذه التقنية على الملاحظة التالية: X8 mod m(x)=[m(x)-x8]=(x4+x3+x+1) (7-4) يمكن من خلال التفكير للحظة واحدة إستبيان أن المعادلة (7-4) صحيحة, إذا لم تستطع الوصول إلى هذه النتيجة أجر عملية تقسيم وسترى ذلك. وبشكل عام, من أجل كثير الحدود p(x) ذي الدرجة n يكون: ] xn mod p(x)= [p(x)-xn لنأخذ الآن كثير الحدود في الحقل GF(28) والذي له الشكل: F(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0 إذا ضربناه الآن بالقيمة x سيكون لدينا: Xxf(x)=(b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x) mod m(x) (8-4) إذا كانت b7=0, عندها ستكون النتيجة كثير حدود ذي درجة أقل من 8, والذي سيكون مخفضاً بشكل تلقائي, ولا تلزم أية عمليات حساب إضافية. إذا كانت b7=1, عندها سيتم تطبيق تخفيض بالقياس m(x) مستخدمين لذلك المعادلة (7-4): Xxf(x)=(b6x7+b3x6+b4x5+b2x3+b1x2+b1x)+(x4+x3+x+1) حساب كثيرات الحدودلابد قبل المضي في مناقشة الحقول المنتهية من تقديم موضوع هام وهو حساب كثيرات الحدود. وسينحصر اهتمامنا في كثيرات الحدود ذات المتغير الواحد X، حيث سنميز ثلاثة صفوف في حساب كثيرات الحدود:
الحساب التقليدي لكثيرات الحدودكثير الحدود من الدرجة n (حيث n عدد صحيح أكبر أو يساوي الصفر) هو عبارة عن تعبير رياضي من الشكل: (صورة:معادلة) حيث ai هي عبارة عن عناصر مجموعة ما مختارة من الأرقام يرمز لها S، والتي تدعى مجموعة العوامل، وحيث an=/0 . نقول أن هذه عبارة كثير الحدود معرف على المجموعة S. يدعى كثير الحدود ذو الدرجة صفر بكثير حدود ثابت (constant polynomial) وهو ببساطة عبارة عن عنصر من مجموعة من العوامل. ويدعى كثير الحدود من الدرجة n كثير حدود أحادي (monic polynomial) إذا كان an=1. لا نهتم في الجبر عادة بتقديم كثير الحدود عند قيمة محددة للمتغير X [على سبيل المثال f(7)]. وللتأكيد على هذه النقطة يشار أحياناً للمتغير X بالقيمة غير المحددة (indeterminate). يعرف التقسيم بشكل مشابه، لكن يلزم لذلك ان تكون المجموعة S حقلاً. من بين الأمثلة عن الحقول يمكن أن نذكر الأعداد الحقيقية، الأعداد العقدية، Zp حيث P عدد أولي. لاحظ أن مجموعة الأعداد الصحيحة كلها لا تشكل حقلاً، وباتالي لا تدعم قسمة كثيرات الحدود. تنفذ عمليتي الجمع والكرح عن طريق جمع وطرح المعاملات المترابطة. وبالتالي إذا كان: (صورة:معادلة) حيث: Ck=ao+bk+a1bk-1+…. Ak-1+akb0 في المعادلة الأخيرة اعتبرنا a1 أنه يساوي الصفر من أجل i>n و bi على أنه صفر من أجل i>m. لاحظ أن درجة ناتج الضرب مساوية لمجموع درجتى كثيري الحدود. F(x)=x3+x2+2 و g(x)=X2-X+1 عندها سيكون: F(X)+g(X)=X3+2X2-X+3 F(X)-g(X)=X3+X+1 F(X)*g(X)=X5+3X2-2+2 تبين الأشكال من a3-4 وحتى c3-4 الحساب اليدوي لما سبق.حساب كثير الحدود عندما تكون معاملاته في Zpستهتم الآن بكثير الحدود الذي تكون معاملاته عناصر في حقل ما F. من السهل في هذه الحالة رؤية أن مجموعة كثيرات الحدود من هذا الشكل تشكل زمرة، ويشار إليها بزمرة كثير الحدود، أي أن اعتبرنا كل كثير حدود فريد عنصراً من المجموعة، فإن هذه المجموعة تشكل زمرة. عندما يطبق حساب كثير الحدود على كثيرات الحدود الحدود في حقل، فإن القسمة تكون ممكنة في هذه الحالة. لاحظ أن هذا لا يعين أن القسمة المضبوطة تكون ممكنة. لنوضح هذا الأمر. إذا أعطي عنصران a و b ضمن حقل معين فإن ناتج القسمة الصحيح a/b سيكون من هذا الحقل. ولكن إذا أعطيت زمرة ما R لا تشكل حقلاً، ففي الحالة العامة سينتج التقسيم قسماً صحيحاً وباقياً، وهذا ما ندعوه قسمة غير مضبوطة. 5/3=(5*3-1) mod 7=(5*5) mod 7=4 والذي يعتبر حلاً مضبوطاً. لنفرض أخيراً أن S هي عبارة عن مجموعة الأعداد الصحيحة والتي تشكل زمرة ولكن لا تشكل حقلاً. عندها ستنتج القسمة 5/3 قسماً صحيحاً هو 1 وباقي هو 2: 5/3=1+2/3 5=1*3+2 وبالتالي نستنتج أن القسمة غير مضبوطة في مجموعة الأعداد الصحيحة.إذا حاولنا الآن تطبيق قسمة كثير الحدود على مجموعة المعاملات التي لا تشكل حقلاً، فسنجد أن القسمة غير معرفة دوماً. على أية حال وكما وضحنا للتو، حتى ولو شكلت مجموعة المعاملات حقلاً، فإنه ليس بالضرورة أن تكون قسمة كثير الحدود مضبوطة، تنتج عملية القسمة بشكل عام قسماً صحيحاً وباقياً: (صورة:معادلة) إذا كانت درجة f(X) هي n ودرجة g(X) هي m و (m<n) ، عندها ستكون درجة القسم الصحيح q(X) id ى-ةودرجة الباقي هي على الغالب m-1 فإذا اعتبرنا انه يسمح بوجود بواقي، عندها يمكن القول ان القسمة ممكنة إذا كانت مجموعة المعاملات تشكل حقلاً. وبشكل مشابه لحساب الأعداد اصحيحة، يمكن أن نكتب f(X) mod g(X) للباقي r(X) المبين في المعادلة (4-5). أي أن r(X)=f(X) mod g(X). فإذا لم يكن هناك باق [أي أن r(X)=0] ، عندها يمكن أن نقول، أن g(X) يقسم f(X)، ونكتب بالشكل g(X)|f(X). بشكل مكافئ يمكن أن نقول أن g(X) هو أحد عوامل f(X) قاسم ل f(X). إيجاد القاسم المشترك الأعظميمكن توسيع التشابه بين حساب كتثير الحدود في حقل ما وحساب الأعداد الصحيحة عن طريق تعريف القاسم المشترك كما يلي. يقال أن كثيرالحدود c(X) هو قاسم مشترك لكل من a(X) و b(X) إذا كان: 1-c(X) يقسم كلاً من a(X) و b(X). 2-أي قاسم لكثيري الحدود a(X) و b(X) هو قاسم لكثير الحدود c(X). هناك تعريف مكافئ وهو التالي:[ a(X), b(X)] ged هو عبارة عن كثير حدود بدرجة عظمى بحيث يقسم كلاً من a(X) و b(X). يمكن ملائمة أو تكييف نظرية اقليدس لحساب القاسم المشترك الأعظم لكثيرات الحدود وبالتالي يمكن إعادة كتابة المساواة (3-4) بالشكل التالي: =ged b(X), a(X) mod b(X) (6-4) [a(X), b(X)] Ged يمكن كتابة خوارزمية إقليدس لكثيرات الحدود كما يلي: تفترض الخوارزمية أن درجة a(X) أكبر من درجة b(X). عندها لإيجاد [a(X) b(X)] ged: [a(X) b(X)] EUCLID 1-b(X)b(X); A(X)a(X) 2-إذا كان B(X)=0 نعيد A(X) على أنه [a(X), b(X)] ged. 3-R(X)=A(X) mod B(X) 4-A(X)B(X) 5-B(X)R(X) 6-العودة إلى الخطوات الثانية. (صورة:جدول) الحقول المنتهية من النموذج GF(2n)ذكرنا في بداية هذا الفصل أن درجة الحقل المنتهي يجب أن تكون من الشكل P"، حيث P عدد صحيح أولي و n عدد صحيح موجب. درسنا في المقطع 4-4 حالة خاصة من الحقول المنتهية ذات الترتيب P. وجدنا أنه عند استخدام الحساب القياسي في Zp فإن كل البديهيات تكون محققة (الشكل 1-4). لا تنتج العمليات بالقياس P" حقلاً. سنرى في هذا المقطع ما هي البنية التي تحقق بديهيات الحقل في مجموعة ذات P" عنصراً، وسنركز على GF(2n). الدوافعتتضمن جميع خوارزميات التعمية بشكل عام، سواء المتناظرة أو باستخدام المفتاح العمومي، عمليات رياضية على الأعداد الصحيحة. فإذا كانت القسمة هي إحدى العمليات المستخدمة في الخوارزمية، فإننا نحتاج عندها لإجراء الحساب المعرف على حقل. وبغية التبسيط ورفع كفاءة التطبيق، ستعمل مع الأعداد الصحيحة الواقعة تماماً ضمن عدد الخانات المعطي، دون أن نضيع النماذج التركيبية للخانات. أي اننا نرغب أن نعمل مع الأعداد الصحيحة في المجال من 0 وحتى 2n-1 والتي تقع في الكلمات ذات n خانة. يوضح المثال السابق أنه إذا تم استخدام كل العمليات الحسابية، وأردنا تمثيل مجال الأعداد الصحيحة المتشكلة من n خانة، عندها لن يكون بالإمكان تنفيذ الحساب بالقياس 2n. يمكن بشكل مكافئ القول أن مجموعة الأعداد الصحيحة بالقياس 2n حيث 1<n لا تشكل حقلاً. بل الأكثر من ذلك، إذا استخدمت خورازمية التعمية الجمع والضرب ولم تستخدم القسمة، فإن استخدام المجموعة Z2 يبقى مشكوكاً فيه، كما هو موضح في المثال التالي:ذات n خانة. العدد الصحيح: 1 2 3 4 5 6 7 عدد مرات الظهور في Z8: 4 8 12 4 8 4 عدد مرات الظهور في GF(28): 7 7 7 7 7 7 7يبدو بشكل بديهي أن الخوارزمية التي تحول الأعداد الصحيحة إلى نفسها ولكن بشكل متفاوت ستكون أضعف من تلك تقدم تحويلاً موحداً. لذلك يعتبر الحقل المنتهي من النموذج GF(2n) مثيراً في مجال خوارزميات التعمية. (صورة:الحساب في GF(2n)) حساب كثيرات الحدود القياسيلنأخذ المجموعة S المؤلفة من جميع كثيرات الحدود ذات الدرجة n-1 أو أقل والمعرفة على الحقل Zp. أي أن لكل كثير حدود منها الشكل: (صورة:معادلة) حيث نأخذ كل ai قيمة ما في من المجموعة (0, 1, ….,p-1). سيكون لدينا بشكل كلي Pn كثير حدود مختلف في S. 0 X 2X 1 X+1 2x+1 2 X+2 2X+2 إذا كان P=2 n=3، سيكون لدينا 23=8 كثيرات حدود في المجموعة هي: 0 X+1 X2+X 1 X2 X2+X+1 X X2+1نجد أن كل مجموعة S تشكل حقلاً إذا تم تعريف العمليات الحسابية بشكل مناسب. يتضمن التعريف العناصر التالية: 1-يتبع الحساب القواعد الاعتيادية لحساب كثيرات الحدود وذلك باستخدام قواعد الجبر مع إدخال التحسينين التاليين. 2-يجري الحساب على العوامل بالقياس P. أي أننا نستخدم وقاعد الحساب للحقل المنتهي Zp. 3-إذا كانت نتيجة الضرب هي كثير حدود ذو درجة أعلى من n-1، عندها يتم تخفيض كثير الحدود بقياس كثير حدود ما m(X) غير قابل للاختزال ومن الدرجة n. أي أننا نقسم على m(X) ونحتفظ بالباقي. فإذا كان كثير الحدود f(X)، عندها يتم التعبير عن الباقي كما يلي: r(X)=f(X) mod m(X) (صورة:جدول) وكما هو الحال في ا لحساب القياسي العادي، لدينا تعريف لمجموعة البواقي في حساب كثيرات الحدود القياسي. تتألف مجموعة بواقي كثيرات الحدود بالقياس m(X) وبالدرجة n من p" عنصراً. يتمثل كل واحد من هذه العناصر بواحد من P" كثير حدود من الدرجة n<m. a(X)=(X+1) mod m(X) بشكل مكافئ يتألف صنف البواقي [ْْX+1] من كل كثيرات الحدود a(X) التي تحقق المساواة: a(X) mod m(X)=X+1يمكن تبيان أن مجموعة كثيرات الحدود بقياس كثير حدود ما m(X) غير القابل للاختزال ومن الدرجة n يحقق البديهيات الموضحة في الشكل 1-4، وبالتالي يشكل حقلاً منتهياً. بالإضافة إلى ذلك، كل الحقول المنتهية ذات الترتيب المعطى متناظرة في الشكل، أي أن بينة أي حقلين منتهيين من ترتيب معطى تملك نفس الشكل، لكن يمكن أن يختلف تمثيل العناصر أو تسمياتها. (صورة:حساب كثير الحدود بالقياس (X3+X+1)) إيجاد النظير الضربيكما كيفنا نظرية إقليدس لإيجاد القاسم المشترك الأعظم لكثيري حدود، يمكن تكييف نظرية إقليدس الموسعة لإيجاد النظير الضربي لكثير حدود. وبشكل خاص، ستساعد الخوارزمية في إيجاد النظير الضربي لكثير الحدود b(X) بالقياس m(X) إذا كانت درجة b(X) أقل من درجة m(X) وكان =1[[m(X)<b(X)]، إذا كان m(X) هو عبارة عن كثير حدود غير قابل للاختزال، عندها لن يملك أي عامل غير نفسه والواحد، وباتالي فإن [m(X)<b(X)] ged. توصف الخوارزمية كما يلي: 1-[1,0,m(X)][A1(X), A2(X), A(X)] [0,1,b(X)][B1(X), B2(X), B3(X)] 2-إذا كان B3(X)=0 عندها: - [m(X), b(X)] B3(X)=ged -لايوجد نظير. 3-إذا كان B3(X)=1 عندها: - [m(X) b(X)] B3(X)=ged، -B2(X)=b(X)-1 mod m(X) 4-Q(X)=quotient of A3(X)/B3(X) (أي q(X) هو القسم الصحيح من حاصل القسمة) 5- [ A(X)-QX) B1(X), A2(X)-Q(X) B2(X), A3(X)-Q(X) B3(X)] [T1(X), T2(X), T3(X)] 6-[B1(X), B2(X), B3(X)][ِِA1(X), A2(X), A3(X)] 7-[T1(X), T2(X), T3(X)][B1(X), B2(X), B3(X)] 8-العودة إلى الخطوة التالية. والنتيجة هي (X7+X+a)-1=(X7)، أي أن: (X7+X+1) (X7)=1 mod (X8+X4+X3+1)
اعتبارات حسابيةيمكن تمثيل كثير الحدود f(X) التالي: (صورة:معادلة) في الحقل GF(2n) بشكل فريد عن طريق معاملاته الثنائية (an-1, an-2, …..a0) أي يمكن تمثيل أي كثير حدود في GF(2n) عن طريق عدد ذي n خانة.
الجمعرأينا أن جمع كثيرات الحدود عن طريق إضافة عامل محدد، وفي حالة كثيرات الحدود المعرفة في Z2، فإن الجمع ببساطة هو عبارة عن عملية XOR. وبالتالي جمع كثيري حدود في GF(2n) يطابق عملية XOR بين خانتين.
الضربلا توجد عملية XOR بسيطة يمكن أن تنجز الضرب في GF(2n). غيرأن هناك تقنية سهلة التطبيق وواضحة لذلك. سندرس هذه التقنية بالاعتماد على GF(28) وباستخدام m(X)=X8+X4+X3+X+1، وهو بعارة عن الحقل المنتهي المستخدم في AES. يمكن بسهولة تعيمم هذه التقنية على GF(2n). تعتمد هذه التقنية على الملاحظة التالية: (X4+X3+X+1) [ m(X)-X8]X8 mod m(X)يمكن من خلال التفكير للحظة واحدة استبيان أن المعادلة (7-4) صحيحة، إذا لم يستطع الوصول إلى هذه النتيجة أجر عملية التقسيم وسترى ذلك. وبشكل عام، من أجل كثيري الحدود p(X) ذي الدرجة n يكون Xn mod p(X)=p(X)-Xn لنأخذ الآن كثير حدود في الحقل GF(28) والذي له الشكل: f(X)=b7X7+b6X7+b5X5+b4X4+b3X3+b2X2+b1X+b0 إذا ضربناه الآن بالقيمة X سيكون لدينا: X*f(X)=(b7X8+b6X7+b5X6+b4X5+b3X4+b2X3+b1X2+b0X) mod m(X) (8-4) إذا كانت b7=0, عندما ستكون النتيجة كثر حدود ذي درجة أقل من 8، والذي سيكون مخفضاً بشكل تلقائي، ولا تلزم أية عمليات حساب إضافية. إذا كانت b7=1، عندها سيتم تطبيق تخفيض بالقياس m(X) مستخدمين لذلك المعادلة (7-4): X*f(X)=(b6X7+b3X6+b4X5+b3X4+b2X3+b1X2+b0X)+(X4+X3+X+1) ينتج من ذلك أنه يمكن تنفيذ الضرب بX (أي 00000010) على شكل إزاحة خانة واحدة إلى اليسار متبوعة بعميلة XOR شرطية بين الخانات مع القيمة (00011011) والتي تمثل كثير الحدود (X4+X3+X+1) . يمكن تلخيص ذلك كما يلي: (صورة:معادلة) يمكن إجراء الضرب بقوة أعلى من X عن طريق التطبيق المتكرر للمعادلة (9-4) . كما يمكن تنفيذ الضرب بأي ثمن ثابت في GF(28) عن طريق إضافة نتائج مرحلية.
مقياس التعمية المتقدمةتم نشر مقايس التعمية المتقدمة (AES) من قبل المعهد الوطني للمقاييس والتقنيات (NIST) عام 2001. وهي عبارة عن خورازمية تعمية كتلية ذات مفتاح متناظر موجهة لإستبدال DES كمقياس محسن لمجال واسع من التطبيقات. سنرى في هذا الفصل أولاً تقييم المعايير التي تم إستخدامها من قبل NIST وذلك لإختيار مرشح ما ليمثل AES, ومن ثم سنتفحص نظام التشفير بحد ذاته. تقييم المعايير لقياس التعمية المتقدمةأصل خوارزمية AESذكرنا في الفصل الثالث أنه في عام 1999 نشر NIST نسخة جديدة من معيار DES , والذي أشار إلى أن Des يجب أن تستخدم في الأنظمة الموروثة فقط (أي الأنظمة التي كانت تستخدم هذا المقايس) وأنه يجب إستخدام خورازمية DES الثلاثية (3DES) والتي سيتم شرحها في الفصل التالي بدلاً عنها. تملك خورازمية (3DES) نقطتين ملفتتين للنظر أكدتا على إمكانية إستخدامها الواسع خلال السنوات القليلة التالية. النقطة الأولى أنها تغلبت على نقاط الضعف المتشكلة من محاولات الكسر العمياء وذلك بسبب طول مفتاحها البالغ 168 خانة. النقطة الثانية هي أ، البنية التحتية لخوارزمية التعمية 3DES هي نفسها الخاصة بخوارزمية DES. وقد تعرضت الأخيرة لتفحص دقيق أكثر من أية خورازمية أخرى ولفترة طويلة نسبياً، ولم يتم إيجاد أية طريقة كسر فعالة معتمدة على الخوارزمية بحد ذاتها. لذلك تقدم خوارزمية 3DES درجة سرية عالية حيث تعتبر مقاومة جيدة لتحليل التعمية. فلو كانت درجة السرية هي المعيار الوحيد المعتبر, لكانت خورازمية 3Des هي الخيار المناسب كخورازمية قياسية لعشرات من السنين الفادمة. العائق الرئيسي في خورازمية 3DES هي ا، التطبيق البرمجي لها بطيء نسبياً. فقد تم تصميم خورازيمة DES الأصلية في منتصف السبعينات للتطبيقات الجهازية, ولم تقدم كفاءة عالية عند تطبيقها برمجياً. وبالتالي فإن 3DES , والتي تـألف من دورات يبلغ عددها ثلاث أضعاف عدد دورات DES, ستكون بالتأكيد أبطأ. العائق الثانوي هو أن كلأً من DES و 3DES يستخدمان كتلة بطول 64 خانة. ومن المفضل أن يكون طول الكتلة أكبر وذلك بغرض رفع مستوى الأمن ومستوى الكفاءة على حد سواء. لم تكن 3DES للأسباب السابقة الذكر, مرشحاً معقولأً للإستخدام طويل الأمد. وكبديل لذلك أعلن NIST عن رغبته بإستلام عروض لمقياس تعمية مطور جديد Advanced Encryption Standard, والذي يجب أن يتمتع بمستوى أمن مثل أو افضل من 3DES ولكن بكفأة أكبر بكثير. بالإضافة لهذه المتطلبات العامة, حدد NIST أن AES يجب أن يكون نظام تشفير كتلي متناظر أو طول كتلة 128 و 192 و 256 خانة. تم في أول مرحلة للتقويم قبول 15 خورازيمة, وقد ضاق هذا الحقل في المرحلة النهائية ليشمل 5 خوارزميات فقط. وتتابعت عملية للتقومي لينشر المعهد القومي للمقاييس والتقانة المقياس النهائي في تشرين الثاني عام 2001. فقد إختار المعهد نظام Rigndael ليكون مقياس التعمية المتقدمة المعتمد. الباحثان اللذان طورا وقدما مقياس Rijndael هما عالما التعمية البلجيكيان Dr. Vincent Rijmen و Dr. Joean Daemen. الغاية من AES, في الجوهر, هي إستبدال 3DES, إلا أن هذه العملية ستستغرق عدة سنوات. حيث يتوقع NIST أن 3DES ستبقى الخوارزمية المعتمدة (من قبل حكومة الولايات المتحدة) خلال المستقبل المنظور.
تقويم النظام AESمن المهم تفحص المعايير المستخدمة من قبل المعهد الوطني للمقاييس والتقانة (NIST) من أجل تقويم الأنظمة المرشحة لتكون مقياس التعمية المتقدمة. تغطي هذه المعايير كل نطاق المشكلات المتعلقة العملي لنظام التعمية الكتلي المتناظر الحديث. في واقع الأمر هناك مجموعتان من هذه المعايير. عندما طرح NIST الطلب الأولي لترشيح خورازمية ما عام 1997, ورد في الطلب أنه ستتم مقارنة الخورازيمة بالإعتماد على العوامل الواردة في الجدول 1-5 (مع تثقيلها بترتيب أهميتها النسبية). وكانت هناك ثلاث أصناف مع المعايير هي: الأمان: ويعبر عنه بالجهود اللزمة لتحليل تعمية الخوازيمة (كسر الخوارزمية). وقد اعتمد التقويم على مدى فعالية الهجوم من الناحية العملية. وبما أن الطول الأصغري للمفتاح في AES هو 128, فإن الهجوم بطريقة الكسر الأعمى (التجريب) لم يؤخذ بعين الإعتبار, سواء بالتقنيات الحالية أو التقنية المستقبلية المتوقعة. الكلفة: كانت نية NIST بأن تكون هذه الخوارزمية عملية في نطاق واسع من التطبيقات وبالتالي يجب أن يمتلك AES كفاءة حاسبية عالية في التطبيقات التي تتطلب سرعة المعالجة مثل الإتصالات عريضة الحزمة. ميزات الخوارزيمة وميزات تطبيقها: تحوي هذه الفئة إعتبارات مختلفة, بما في ذلك المروينة, إمكانية التطبيق على مختلف الأجهزة ومع مختلف البرمجيات, والبساطة التي تدعل تحليل مستوى الأمن واضحاً تماماً. بإستخدام هذه المعايير تم تخفيض العدد الأولي للمرشحين من 21 إلى 15, وبعد ذلك إلى خمسة مرشحين فقط. ومع مرور الوقت تم زيادة معايير التقويم من أجل حسم الأمر في التقويم الأخير. بحيث تم إستخدام المعاير التالية: الجدول 1-5: معايير المعهد الوطني للمقاييس والتقانى المستخدمة لتقديم AES [12 أيلول 1997 ]
التكلفة متطلبات التراخيص: أقر المعهد الوطني للمقايس والتقانة أنه عندما يتم طرح AES, فإنه يجب أن تكون جميع الخورازميات مفتوحة للعامة وغير مقتصرة على أحد وغير خاضعة لقوانين الملكية. الكفاءة الحاسبية: سيتم تقويم الكفاءة الحسابية في كلا النوعين من التطبيقات البرمجية والخوارزمية. سيتم التركيز في الجولة الأولى للتقويم على التطبيقات البرمجية وبشكل خاص على حجم واحد للمفتاح والكتلة (128-128). أما في الجولة الثانية فستعطي التطبيقات الجهازية وبقية أحجام المفاتيح والكتل إهتماً خاصاً. يقصد بالكفاءة الحاسبية بشكل أساسي سرعة الخوارزمية. سيأخذ NIST بعين الإعتبار ملاحظات الجمهور المتعلقة بمواضيع الكفاءة (وبشكل خاص كفاءة العمل على محطات مختلفة الأنواع وبتطبيقات مختلفة). متطلبات الذاكرة: سيؤخذ بعين الإعتبار أيضاً أثناء عملية التقويم حجم الذاكرة اللازمة لتطبيق الخورازيمة المرشحة وذلك لكل من نوعي التطبيقات الرميجة والجهازية. سيتم التركيز ف يالجولة الأولى من التقويم على التطبيقات البرميجة بشكل أساسي, وسيعطي إهتمام إضافي للتطبيقات الجهازية في الجولة الثانية. ستضم متطلبات الذاكرة عوامل مختلفة مثل عدد البوابات في التطبيقات الجهازية, وحجم الشيفرة وذاكرة RAM اللازمة من اجل التطبيقات البرمجية.
الصلاحية البرميجة والجهازية: يجب ألا تكون الخوارزمية المرشحة مقيدة في التطبيق, أو يجب أن تكون كاملة للتطبيق على شكل أجهزة, كما يمكن أن يكون التطبيق مزدوجاً, وبالتالي سيحسب هذا الأمر كميزة مرونة إضافية. البساطة: سيتم الحكم على الخوازمية المرشحة حسب البساطة النسبية في التصميم. • الأمن العام: إعتمد NIST لتحديد قيمة الأمن العام على تحليلات الأمن العمومي التي قامت بها هيئة التعمية, فخلال السنوات الثلاث لعملية التقويم, شنر العديد من المهتمين في مجال التعمية تحليلاتهم عن قوة وضعف العديد من الأنظمة المرشحة. وقد كان هناك تأكيد خاص على تحليل الأنظمة المرشحة تجاه انواع معروفة من الهجوم مثل تحليل التعمية التفاضلي والخطي. ولكن بالمقارنة مع التحليل الذي خضعت له خوارزمية DES, يعتبر الوقت وعدد الأخصائيين المشاركين في تحليل خوارزمية Rijndael محددين. أما الآن يعتبر أن تم إختيار نظام تشفير واحد ليكون هو النظام المتعتمد, فإننا نتوقع مشاهدة عمليات تحليل أكثف من قبل مجتمع الأخصائيين في التعمية.
• الأوساط ذات المجال المحدد: تمتلك بعض التطبيقات, مثل البطاقات الذكية, حجماً محدوداً نسبياً من الذاكرة RAM, و/أو الذاكرة ROM والتي يمكن إستخدامها في حفظ الترميز وصناديق S والمفاتيح الجزئية. • التطبيقات الجهازية: يجب إيجاد الحالة المثالية للتطبيقات الجهازية من وجهة نظر السرعة والحجم, مثلها بذلك مثل التطبيقات البرمجية. وبشكل عام في مجال التطبيقات الجهازية تتم ترجمة الحجم مباشرة إلى الكلفة. أي أن مضاعفة حجم برنامج التعمية يمكن أن تؤدي إلى إختلاف بسيط عندما يعمل هذا البرنامج ف يحاسب عام ذو ذاكرة كبيرة, أما مضاعفة المساحة المستخدمة في التطبيقات الجهازية, فغالباً ستؤدي إلى إرتفاع الكلفة أكثر من الضعف. • عمليات الهجوم على التطبيقات: يهتم معيار الأمن العام, الذي تمت مناقشته في البند الأول, بالهجوم عن طريق تحليل التعمية والذي يستفيد من الخصائص الرياضية للخوازمية. هناك نوع آخر من الهجوم يستخدم المقاييس الفيزيائية المقدمة خلال تنفيذ الخوارزمية وذلك من أجل جمع معلومات حول مواضيع ما مثل المفاتيح. يستفيد هذا النوع من تجميع الخصائص الحقيقية (الجوهرية) للخوارزمية مع الميزات المعتمدة على التطبيق. وكمثال عن هذا النوع يمكن أن نورد عمليات الهجوم الزمنية وتحليل القدرة الكهربائية. تم شرح عمليات الهجوم الزمينة ف يالفصل الثالث. أما الفكرة الأساسية في تحليل القدرة فهي مثلاً معرفة أن القدرة المستهلكة من قبل البطاقة الذكية في زمن ما, خلال تنفيذ عملية التعمية, تعتمد على تعليمة المنفذة وعلى المعطيات المعالجة. فعلى سبيل المثال تستهلك عملية الضرب قدرة أكثر من عملية الجمع, وكتابة الوحدات تستهلك قدرة أكبر من تلك المستهلكة لكتابة الأصفار. • التعمية مقابل فك التعمية: يعالج هذا المعيار عدة مواضيع متعلقة بكل من التعمية وفك التعمية. فإذا كانت خوارزمية التعمية وفك التعمية مختلفتين, فإن هذا يعني الحاجة إلى مساحة إضافية لتطبيق عملية فك التعمية. إضافة إلى ذلك, يمكن أن يكون هناك خلاف في الزمن اللازم لكلا العمليتين. • رشاقة المفاتيح: يقصد برشاقة المفاتيح القدرة على تغير المفاتيح وبأقل كمية من الموارد. ويتضمن هذا الموضوع كلأً من حساب المفاتيح الجزئية والقدرة على التغير بين نظامي حماية عاميلن متلازمين مع توفر المفاتيح الجزئية لكليهما. • تعدد الإستعمالات والمرونة: يتضمن معيار المرونة السهولة في دعم مفتيح أخرى وحجوم كتل مختلفة وسهولة زيادة عدد المراحل لمكافحة عمليات الهجوم الجديدة المكتشفة. أما مرونة التطبق فتعني إمكانية جعل عناصر نظام التشفير مثالية لبيئة معينة. • إمكانية التنفيذ المتوازي على مستوى التعليمية: يقصد من ذها المعيار إمكانية الإستفادة من ميزة التنفيذ المتوازي على مستوى التعلمية والموجودة ف يالمعالجات الحديثة. • يبين الجدول 2-5 التقويم الذي قدمه NIST لخورازمية Rijnael بناءً على هذه المعايير. الجدول 2-5 تقويم NIST لخوارزمية Rijndael [2- تشرين الثاني -2000] الأمن العام: ليس هناك أي هجوم أمني معروف على خورازمية Rijnael . تستخدم هذه الخورازمية صنايدق S كعناصر غير خطية. يبدو أن لخورازمية Rijnael هامش أمني مقبول. غير ا،ها تلقت بعض الإنتقادات التي تقول بأن بنيتها الرياضية يكن أن تؤدي إلى هجوم. من ناحية أخرى , يمكن أن تسهل البساطة عملية التحليل الأمني خلال الوقت المخصص لعملية تطوير وتطبيق الخورازمية AES.
الأوساط ذات المجال المحدود: تصلح خوارزمية l بشكل عام للعمل في الأوساط ذات المجال المحدود, حيث يمكن تطبيق إما خوارزمية التعمية أو فك التعمية (ولكن ليس كلاهما معاً). حيث يلزم لتطبيقها مساحة صغيرة جداً من الذاكرة RAM و ROM والعقبة هي أن مساحة الذاكرة ROM سوف تزيد إذا تم تطبيق خوارزميتي التعمية/فك التعمية, ومع ذلك تبقى صالحة لمثل هذه الأوساط تختلف عملية جدولة المفتاح (إستنتاج المفاتيح الجزئية) في فك التعمية عنها في عملية التعمية. التطبيقات الجهازية: تمتعت خوارزمية Rijnael بالإنتاجية الأعلى أثناء مقارنتها مع بيقة الخوارزميات المرشحة للنهائيات وذلك في الأنماط ذات التغذية العكسية, وإحتلت المرتبة الثانية في الإنتاجية من أجل الأنماط التي لا تعتمد التغذية العكسية. وقد وقعت قيمة الإنتاجية, عندما تراوح طول المفتاح بين 192 خانة, ف يمجال القيم القياسية وفي التطبيقات المختلفة, والسبب هو العدد الإضافي للمراحل. وقد زادت المتطلبات على حجم الذاكرة من أجل التطبيقات المعتمدة كلياً على خط الإنتاج ولكن بدون زيادة الإنتاجية. الهجوم على التطبيقات: تعتبر العميلات المستخدمة من قبل خوارزيمة Rijnael الأفضل من الناحية الدفاعية في وجه الهجوم الزمين أو الهجوم بتحليل القدرة. ولم تؤدي تقنيات التمويه إلى إنخفاض الأداء بشكل ملحوظ بالمقارنة مع الخوارزميات اليت دخلت النهائيات, كما بقيت المتطلبات للذاكرة RAM معقولة ومقبولة, وبدا أن خوارزمية Rijnael كسبت المرتبة الأولى للسرعة بين قريناتها عندما تؤخذ ذهه المواضيع بعين الإعتبار. التعمية مقابل فك التعمية: تختلف عميلة التعيمة عن عملية فك التعمية في خوارزمية Rijnael . وقد دلت إحدى دراسات FPGA أي تطبيق كل من خوارزميتي التعمية/فك التعمية قد إستهلك حوالي 60% زيادة على الحجم المطلوب لتطبيق أحد الخوارزميتين فقط. لا تختلف سرعة خورازمية Rijnael كثيراً بين عمليتي التعمية/فك التعمية, غير أن أداء عملية تهيئة المفتاح أقل في عميلة فك التعمية عن مثيلتها في عميلة التعمية. رشاقة المفاتيح: تدعم خورازيمةRijnael عملية حساب المفاتيح مباشرة أثناء التنفيذ (على الطاير on-the-fly) وذلك أثناء عملية التعمية, أما أثناء عملية فك التعمية فيلزم تنفيذ عملية جدولة المفاتيح لمرحلة قبل تنفيذ عميلة فك التعمية, وذلك لإستنتاج المفاتيح الجزئية. وهذا يحمل معيار رشاقة المفاتيح عبءً بسيطاً. تعدد الإستعمالات والرمونة: تدعم خوارزمية Rijnael بشكل كامل الكتل والمفاتيح بالأطوال 128,192, 256, خانة ةبأية تركيبة منهما. وفي الجوهر تستطيع خوارزيمة Rijnael ملائمة حجم أية كتلة أو مفتاح من مضاريب 32 خانة, كما يمكن تغيير عدد المراحل أو الدروات المحددة. إمكانية التنفيذ المتوازي على المستوى التعليمة: تمتلك خوارزمية Rijnael إمكانية ممتازة للتنفيذ المتوازي عند تعمية كتلة واحدة. نظام التعمية AESلقد حدد تقديم خوارزمية Rijnael لتكون تعمية نظام تعمية قياسي مطور (AES) يمكن فيه تعيين طول الكتلة وطول المفتاح من أحد القيم 128,192, 256, بشكل مستقل أحدهما عن الآخر. وقد حددت مواصفات AES إمكانية إستخدام الأطول الثلاثة للمفاتيح مع تحديد طول الكتلة ليكون 128 خانة فقط. يبين الجدول 3-5 عدداً من معاملات AES المعتمدة على طول المفتاح. سنعتمد في شرح هذ المقطع على الطول 128 خانة للمفتاح, والذي يبدو أنه سيكون الأكثر شيوعاً في التطبيقات. الجدول 3-5 معاملات AES هنا الجدول صممت خوارزمية Rijnael لتتمتع بالمواصفات التالية: • مقاومة ضد كل أنواع الهجوم المعروفة. • سرعة وصغر في حجم الشيفرة على نطاق واسع من المحطات. • بساطة في التصميم. يبين الشكل 5-1 البنية العامة لخوارزمية AES . دخل كل من خوارزميتي التعمية/فك التعمية هو عبارة عن كتلة وحيدة ذات 128 خانة. يتم نسخ هذه الكتلة في مصفوفة الحالة "State" , والتي يتم تعديلها في كل مرحلة من التعمية/فك التعمية. يتم بعد المرحلة الأخيرة نسخ هذه المصفوفة في مصفوفة الخرج. تتضح هذه العميلات في الشكل a2-5. بشكل مشابه, يتم التعبير عن المفتاح ذي الأطوال 128 خانى على شكل مصفوفة مربعة. يتم بعد ذلك توسيع المفتاح إلى مصفوفة من كلمات جدول المفتاح, تتألف كل كلمة من أربعة بايتات, جدول المفاتيح من 44 كلمة مستنتجة من المفتاح ذي 128 خانة (الشكل a2-5). لاحظ أن ترتيب البايتات ضمن المصفوفة يتم حسب الأعمدة. فعلى سبيل المثال اول أربعة بايتات من النص الثانية سوف تحتل العمود الثاني وهكذا. بشكل مشابه, أول أربعة بايتات من المفتاح الموسع, واليت تشكل كلمة, ستحتل العمود الأول من المصفوفة w. سنذكر بعض الملاحظات المتعلقة بالنية العامة للخوارزمية AES قبل الغوص في التفاصيل: 1. إحدى الميزات الجديرة بالإهتمام هي أن هذه البنية ليست بنية فيستيل. تذكر أنه في بنية فيسيتل التقليدية يتم إستخدام أحد انصاف كتلة المعطيات لتعديل النصف الآخر من الكتلة, وبعد ذلك يتم تبديل انصاف فيما بينها. هناك خورازميتان من الخورازيمات التي نجحت في الوصول إلى نهائيات AES, Rijnael إحداهما, لم تستخدم بنية فيسيتل ولكنها تعالج كتلة المعطيات ككل بالتوازي خلال كل مرحلة بإستخدام عمليتي تبديل الحروف وتبديل المواضع. 2. يتم توسيع المفتاح المقدم ليصبح مصفوفة مؤلفة من 44 كلمة طول كل منها 32 خانة w(i). تستخدم أربع كلمات مختلفة (خانة 128) كمفتاح جلسة في كل جولة أو مرحلة, كما هو موضح في الشكل 5-1. 3. تستخدم الخوارزيمة أربع خطوات مختلفة, إحداهما تعمل على تبديل مواضع الحروف وثلاثة خطوات تعمل على تبديل الحروف.
4. البنية بسيطة جداً: يبدأ نظام التشفير في كل من عمليتي التعمةي/فك التعمية بالخطوة "إضافة مفتاح الجولة", يلي ذلك تسع مراحل تحوي كل منها الخطوات الأربع سابقة الذكر, أما الرمحلة العاشرة فتحوي ثلاث خطوات فقط. يبين الشكل 3-5 بنية مرحلة التعمية كاملة. 4. الخطوة "إضافة مفتاح الجولة": هي في الحقيقة شكل من نظام تشفير فيرنام (Vernam) , وبالتالي ليس هناك مصاعب في التعامل معها. تقدم الخطوات الثلاث الباقية البعثرة والنشر وغير الخطية, ولكنها مع ذلك لن تضيف بنفسها أية حماية لأنها لا تستخدم المفتاح. يمكن النظر إلى نظام التشفير على شكل تعاقب عمليات التشفير XOR (إضافة مفتاح الجولة) للكتلة, وعمليات بعثرة الكتلة(الخطوات الثلاث الباقية). تعتبر هذه الخطة عالية الكفاءة وآمنة جداً في نفس الوقت. 5. كل خطوة سهلة القلب أو العكس, حيث تستخدم خوارزيمة فك التعمية توابع معكوسة من الخطوات الثلاثة: تبديل البايتات, وإزاحة الأسطر, ومزج الأعمدة, أ/ا عكس الخطوة "إضافة مفتاح الجولة" فيتم تنفيذه عن طريق تطبيق عملية XOR بين مفتاح الجولة ونفس الكتلة, وذلك بالإستفادة من النتيجة التالية *** 6. تستخدم خورازيمة فك التعمية كما هو الحال في معظم أنظمة التعمية, المفتاح الموسع بترتيب معكوس. غير أ، خورازميتى التعمية/فك التعمية مختلفتان تماماً. وهذا نتيجة للبنية الخاصة بخوارزمية AES. 7. بما أن إثبات أن الخطوات الأربع معكوسة, فإنه من السهل إثبات أن عملية فك التعمية ستستعيد النص الصريح. يبين الشكل 1-5 عملية التعمية وعميلة فك التعمية اللتان تتعاكسان في الإتجاه العمودي. أما في كل نقطة أفقية (على سبيل المثال عند الخط المقطع الموجود في الشكل) فإن الحالة هي نفسها في كل من التعمية/فك التعمية. 8. تتألف المرحلة الأخيرة في التعمية/فك التعمية من ثلاث خطوات فقط. وهذا مرة اخرى نتيجة البنية الخاصة لخوارزمية AES المطلوبة لجعل نظلم التشفير عكوساً. سنعود الآن لمناقشة كل من الخطوات الأربع المستخدمة في AES. سنقدم وصفاً لكل من الخوارزمية المباشرة (التعمية) والخورازيمة المعكوسة (فك التعمية( والمبادئ المتبعة في كل خطوة من الخطوات الأربعة. يتبع ذلك ماقشة لتوسيع المفاتيح. تستخدم خوارزمية AES, كما هو مذكور في الفصل الرابع, لحساب في الحقل المنتهي GF(28), مع كثير الحدود غير القابل للإختزالXm(x)=X8+X4+X3+X+1 (صورة:التعميية في AES) (صورة:بنية المعطيات في AES) (صورة:جولة من جوالات في الخوارزمية AES) تحويل البايتاتتحويل البايتات المباشرة, أو ما يدعى SubBytes هو عبارة عن عملية بحث بسيطة في جدول. فقد عرفت AES مصفوفة من قيم البايتات بحجم 16*16 , تدعى الصندوق S (الشكل 4a-5) , والتي تحوي تبديل كل القيم المحتملة المؤلفة من 8 خانات والتي يبلغ عددها 256 إحتمالاً. يتم تبديل كل بايت تعمية جديدة أو بايت جديد بالطريقة التالية: تستخدم الخانات الأربع اليسارية لتحديد السطر بينما تستخدم الخانات الأربع اليمينة لتحديد رقم العمود. وبالتالي من خلال رقم السطر ورقم العمود يتم تحديد خلية واحدة تحوي قيمة ذات ثمانية خانات. فعلى سبيل المثال القيمة الستة عشرية 95 تشير إلى السطر رقم 9 والعمود رقم 5 من الصندوق S, وبإيجاد الخلية التي تقع على تقاطعهما نجد أن القيمة المحددة هي (2A). أي تم تحويل البايت ذي القيمة (95) إلى بايت آخر ذي القيمة (2A). فيما يلي مثال عن التحويل SubBytes: (صورة) تم تكوين الصندوق S بالطريقة التالية: 1. تتم تهيئة (تعبئة أولية) الصندوق S بقيم البايتات في تسلسل تصاعدي سطراً تلو الآخر, يحوي السطر الأول القيم (00), (01), (02), . . . . (OF), ويحوي السطر الثاني القيم (10), (11), . . . الخ, وبالتالي قيمة البايت عند السطر x والعمود y هي (xy). 2. يتم تحويل كل بايت في الصندوق S إلى نظيره بالنسبة للضرب في الحقل المنتهي GF(28), سيتم تحويل القيمة القيمة (00) إلى نفسها. 3. بإفتراض أن كل بايت في الصندوق S مؤلف من ثماني خانات مسماة [b7……b2,b1,b1] . فإنه سيتم تطبيق التحويل التالي لكل خانة من كل بايت في هذا الصندوق: (معادلة حيث Ci ه يالخانة رقم i من البايت C ذو القيمة (63) أي أن: (C7C6C5C4C3C2C0)=(01 100011) تدل الإشارة (') على أن قيمة المتحول سيتم تحديثها بالقيمة الموجودة على يمين المساواة. تم توضيح هذا التحويل في AES على شكل مصفوفات كما يلي: (a تحويل تبديل البايتات (b تحويل إضافة مفتاح الجولة. (صورة:العمليات على مستوى البايت في خوارزمية AES) يوجد تفسير المعادلة بدقة. ففي ضرب المصفوفات الإعتيادي, يكون كل عنصر من مصفوفة ناتج الضرب هو عبارة عن مجموعة مضاريب العناصر في سطر واحد وعمود واحد. أما في هذه الحالة, فإن كل عنصر من مصفوفة ناتج الضرب هو عبارة عن ناتج XOR خانة-لخانة للعناصر المضروبة في سطر واحد وعمود واحد. بالإضافة إلى أن عملية الجمع الموضحة في المعادلة 2-5 هي عبارة عن عملية XOR. وكمثال سنأخذ قيمة الدخل (95). النظير بالنسبة للضرب في الحقل GF(28) هو {95} . والذي يمكن التعبير ثنائياً بالقيمة (100011010). بإستخدام المعادلة (2-5) نجد أن : (صورة:صناديق S في الخوارزمية AES) النتيجة هي {2A} , والتي يجب أن تظهر في السطر رقم {09} والعمود {05} من صندوق S. يمكن التأكد من ذلك بالرجوع إلى الجدول (a4-5). يستخدم التحويل المعكوس لتبديل البايتات, والذي يدعى InvSubBytes, صندوق S النظير والموضح بالشكل (b4-5). لاحظ كمثال أن الدخل {2A} سينتج الخرج {95} وأن الدخل {95} في الصندوق S سينتج الخرج {2A} . تم تكوين صندوق S النظير عن طريق تطبيق التحويل العكوس المذكور في المعادلة 1-5 متبوعاً بأخذ النظير بالنسبة للضرب في الحقل GF(28). التحويل العكوس هو: هنا معادلة وللتأكد أن InvSubBytes هو نظير SunNytes, سنسمي المصفوفات في كلا التحويلين x و y على التسلسل, نعطي نسخ أشعة الثوابت d و c الأسماء Dو C على التوالي. يمكن هذا الشكل التعبير عن أي شعاع B ذي ثماني خانات, حسب المعادلة (2-5), بالشكل يجب أن نثبت ما يلي: (معادلة) المبدأ تم تصميم صندوق S لمقاومة كل أنواع الهجوم بتحليل التعمية المعروفة, حيث بحث مصمما Rigndael عن تصميم يؤمن روابط ضعيفة بين خانات الدخل وخانات الرخج, وبالتالي يحقق الميزة التي تمنع وصف الرخج كتابع رياضي بسيط الدخل. بالإضافة إلى ذللك تم إختيار الثابت في المعادلة 1-5 بحيث لا يكون لصندوق S نقاط ثايتة [S-box(a)=a] ولا يكون هناك نقاط ثابتة معكوسة S-box(a)=a', حيث a' هو متمم a. من الطبيعي أن يكون الصندوق S قابلاً للعكس, أي أن S-box(a)=a IS-box . على أية حال, الصندوق S لا يشكل معكوساً ذاتياً, أي ا، ما يليل ليس صحيحاً: S-box(a)=IS-box(a) فعلى سبيل المثال S-box({95})=2A, IS-box({95})={AD}. (صورة: العمليات على الأسطر والأعمدة في خوارزمية AES) التحويل بإزاحة السطريوضح الشكل a5-5 التحويل بإزاحة السطر والذي يدعى ShiftRows. لا يحدث أ] تغيير على السطر الأول من الحالة S. أما السطر الثاني فتطبق عليه إزاحة يسارية دورانية بمقدار ثلاث بايتات على السطر الرابع. فيما يلي مثال عن التحويل ShiftRows: هنا يوجد الشكل يدعى التحويل المنعكس "إزاحة السطر" InvShiftRows, يتم عن طريق الإزاحة الدورانية ولكن بالإتجاه المعاكس للأسطر الثلاثة الأخيرة وذلك بمقدار بايت واحد للسطر الثاني وهكذا. .. المبدأ يعتبر التحويل بإزاحة السطر أهم مما يبدو للوهلة الأولى وذلك لأنه تتم معالجة الحالة (S), كما هو الحال في الدخل والخرج على شكل مصفوفة ذات أربعة أعمدة بأربعة بايتات. وبالتالي يتم في التعمية نسخ الخانات الأربعة الأولى من النص الصريح في العمود الأول من جدول الحالة عموداص تلو الآخر. لذلك فإن إزاحة السطر تعمل على تحريك البايتات من عمود إلى آخر, والذي يشكل مسافة خطية من مضاعفات 4 بايتات. لاحظ أيضاً أن عملية التحويل تضمن نشر البايتات الأربعة الموجودةفي عمود واحد على أربعة أعمدة مختلفة. الشكل 3-5 يوضح هذا التأثير. التحويل بمزج العمودالتحويلات يعمل التحويل المباشر بمزج العمود, والذي يدعى MixColumn, على كل عمود بشكل مستقيم. حيث يتم تحويل كل بايت من العمود إلى قيمة جديدة ناتجة عن تابع يضم كل بايتات هذا العمود. يمكن تحديد أو تعريف هذا التحويل عن طريق عملية ضرب المصفوفات التالية والتي تجري على جدول الحالة (الشكل b5-5). هنا يوجد الشكل كل عنصر من مصفوفة ناتج الضرب هي عبارة عن مجموع مضاريب عناصر صف واحد وعمود واحد. تتم في هذه الحالة عملية الجمع والضرب في الحق FG(28). يمكن التعبير عن التحويل MixColumn على عمود واحد (0≤J≤3)J من جدول الحالة كما يلي: هنا الجدول وفيما يلي مثال عن التحويل MixColumn: هنا الشكل لنختبر صحة العمود الول من هذا المثال. تذكر انه في المقطع 6-4 ورد أن الجمع في الحقل GF(28) هو عبارة عن عملية XOR خانة لخانة وأنه يمكن إجراء الضرب حسب القاعدة الواردة في المعادلة (9-4). يمكن بشكل خاص, تطبيق ضرب قيمة ما بالعدد x (على سبيل المثال {02}) على شكل إزاحة إلى اليسار بمقدار خانة واحدة متبوعة بعميلة XOR شرطية مع العدد (00011011) إذا كانت الخانة الواقعة في أقصى يسار القيمة الأصلية (قبل الإزاحة) هي 1. وبالتالي لإختبار التحويل MixColumn على العمود الأول, يجب علينا أن نثبت ما يللي: هنا معادلة ومصفوفات وصفت وثائق AES طريقة أخرى لتميز التحويل MixColumns وذلك على شكل حساب كثيرات ا لحدود. فبشكل قياسي يعرف التحويل MixColumn عن طريق إعتبار كل عمود من جدول الحالة على أنه كثير حدود بأربعة حدود ومعاملاته تنتمي إلى الحقل GF(28). يتم ضرب كل عمود بكثير حدود ثابت a(x) وذلك بالقياس (x4+1). حيث يعطي كثير الحدود الثابت با لشكب: a(x)={03}x3+{01}x2+{01}x+{02}. . . . (7-5) يبين الملحق A-5 في نهاية هذا الفصل أن ضرب كل عمود من جدول الحالة بكثير ا لحدود a(X) يمكن أن يكتب على شكل مصفوفة الضرب المذكورة في المعادلة (3-5). يمكن بشكل مشابه رؤية أن التحويل في المعادلة (5-5) يتوافق مع معالجة عمود على شكل كثير حدود ذي أربعة حدود, وضرب كل عمود بكثير الحدود b(X) المعطي بالشكل: b(x)={0B}x3+{0D}x2+{09}x+{0E}. . . . (8-5) يمكن بسهولة تبيان أن: B(x)=a-1(x)mod(x4+1) المبدأ تعتمد معاملات مصفوفة المعادلة (3-5) على شيفرة خطية مع أكبر مسافة بين كلمات الشيفرة, والتي تتضمن مزجاً جيداً بين بايتات كل عمود. إن جمع التحويل بمزج العمود مع التحويل بإزاحة السطر يضمن أنه بعد عدة دورات سوف تعتمد كل خانات الخرج على خانات الدخل. بالإضافة إلأى ذلك, يتاثر إختيار معاملات التحويل MixColumn, وهي {01} و {02} و {03} , بإعتابرات خاصة بكيفية التطبيق. فكما هو مشروح سابقاً, الضرب هذه المعاملات يضم على الأغلب عمليتين هما الإزاحة وعملية XOR . أما المعاملات في التحويل InvMixColumns فتطبيقها أكثر صعوبة. ولكن على أية حال تعتبر التعمية أهم من فك التعمية للسببين التاليين: 1. في أنماط أنظمة التشفير CEB و OFB (الأشكال 13-3 و 14-3), تستخدم التعمية فقط. 2. كما هوالحال في أي نظام تعمية كتلي, يمكن أن نستخدم خوارزمية AES لبناء شيفرة إثبات هوية الرسالة (والذي سيتم شرحه في الفصل الثامن والفصول 3. اللحقة), وفي هذه الحالة تستخدم التعمية فقط.
التحويل بإضافة مفتاح الجولةيطلق على التحويل المباشر بإضافة مفتاح الجولة الاسم AddRoundKey , وهو عبارة عن إضافة كل خانة من خانات الحالة والبالغ عددها 128 بواسطة عملية XOR إلى خانات مفتاح المرحلة ذي الطول 128 خانة. يوضح الشكل b4-5 هذا التحويل على شكل عملية جارية على الأعمدة بين 4 بايتات من عمود الحالة S وكلمة واحدة من مفتاح الجولة. يمكن كذلك إظهار هذا التحويل على شكل على مستوى البايتات. فيما يلي مثال على التحويل AddRoundKey. هنا يوجد شكل المصفوفة الأولى هي الحالة, بينما المصفوفة الثانية هي مفتاح الجولة. التحويل العكسي بإضافة مفتاح الجولة مطابق تماماً للتحويل المباشر, وذلك لأن عملية XOR تعاكس نفسها. المبدأ يعتبر التحويل بإضافة مفتاح الجولة بسيطاً للغاية ويؤثر على كل خانات الحالة. إنما يتم تأمين وضمانة سرية الخوارزمية AES من خلال تعقيد عملية توسيع مفتاح الجولة, إضافة إلى تعقيد بقية مراحل الخوارزيمة.
توسيع المفتاح في خوارزمية AESخورازمية توسيع المفتاح دخل خوارزمية توسيع المفتاح هو عبارة عن الأربع كلمات (16 بايت) المؤلفة للمفتاح, وتنتج هذه الخوارزمية مصفوفة خطية مؤلفة من 44 كلمة (56 خانة). وهذا يكفي لتقديم مفتاح جولة ذو أربعة كلمات للمرحلة البدائية "إضافة مفتاح جولة", ولكل واحدة من المراحل اللعشرة لخوارزيمة التعمية. الشيفرة التمثيليلة التالية توضح عملية التوسيع: هنا معادلة يتم نسخ المفتاح في أول أربع كلمات من المفتاح الموسع. يتم ملء الباقي من المفتاح الموسع بمقدار أربع كلمات في كل مرة. تعتمد كل كلمة مضافة w[i] . يتم إستخدام عملية XOR بسيطة في ثلاث من الحالت الأربع, أما الكلمة التي يكون موقعها في المصفوفة W من مضاعفات العدد 4, فيستخدم لإنتاجها تابع أعقد من ذلك. يبين الشكل 6-5 عملية توليد أول ثماني كلمات من المفتاح الموسع, لاحظ أننا إستخدمنا الرمز g لتمثيل التابع المعقد. يتألف التابع g من التوابع الفرعية التالية: 1. التابع الفرعي RotWord والي ينفذ عملية إزاحة دورانية نحو اليسار بمقدار بايت واحد وهذا يعني أن كلمة الدخل سوف تحول إلى كلمة [b0,b1,b2,b3]. 2. التابع الفرعي SubWord والذي يقوم بعميلة تبديل بايت ببايت آخر, وذلك لكل بايتات كلمة الدخل, مستخدماً لذلك الصندوق S (الجدول 4a-5). 3. تتم عملية النتيجيتين الصادرتين عن الخطوة الأولى والثانية بواسطة عملية XOR مع ثابت الجولة Rcon[j] ثابت الجولة هو عبارة عن كلمة تكون فيها قيم البايتات الثلاثة الواقعة في أقصى اليمين صفراً دائماً. وبالتالي فإن عملية XOR بين الكلمة والثابت Rcon ستؤول إلى تنفيذ عملية XOR على البايت اليساري فقط من الكلمة. يختلف ثابت الجولة من جولة إلى أخرى ويعرف بالشكل: Rcon[j]=(RC[j]0,0,0) حيث: RC[1]=1 و RC[j]=2.RC[j-1] وحيث أن عملية الضرب معرفة على الحقل GF(28). فإن قيم RC[j] الست عشرة هي: هنا جدول فعلى سبيل المثال سنفترض أن مفتاح الجولة الخاص بالجولة الثامنة هو: EA D2 73 21 B5 8D BA D2 31 2B F5 60 7F 8D 29 2F عندها سيتم حساب البايتات الأربعة الأولى (العمود الأول) من مفتاح الجولة الخاص بالجولة التاسعة كما يلي: هنا جدول المبدأ لقد قام طاقم تطوير Rijnael بتصميم خوارزيمة توسيع المفتاح لتقاوم كل أنواع الهجوم بتحليل التعمية المعروفة. يؤدي تضمين ثابت الجولة – الذي يتعلق بالجولة – إلى التخلص من التناظر, أو التشابه, بين طرائق توليد مفاتيح الجولات في مختلف الجولات في مختلف الجولات. المعايير المستخدمة هي: • معرفة جزء من مفتاح التعمية أو مفتاح الجولة لا يؤهل لحساب أية خانات أخرى من مفتاح الجولة. • التحويل عكوس [أي أن معرفة أي NK كلمة متسلسلة من مفتاح موسع يمكن من إعادة توليد المفتاح الموسع بالكامل (NK =حجم المفتاح بالكلمات). • السرعة في مجال واسع من المعالجات. • إستخدام ثوايت الجولات للتخلص من التناظر. • الإختلافات في بعثرة مفتاح التعمية بين مفاتيح الجولات, أي أن كل خانة من المفتاح تؤثر على عدة خانات من مفتاح الجولة. • عدم خطية كافية لمنع التحيدد الكامل للإختلافات بين مفاتيح الجولات إنطلاقاً من إختلافات مفاتيح التعيمة فقط. • بساطة الشرح. لم يقدر المؤلفون النقطة الأولى من اللائحة السابقة, إنما تتلخص الفكرة في أنه إذا عرفت NK كلمة متتالية سواءً في مفتاح التعمية أو من واحد أو أكثر من مفاتيح الجولات, عندها سيكون من الصعب إكتشاف أو معرفة الخانات غير المعروفة. وكلما قلت عدد الخانات المعروفة , كلما كان من الصعب إكتشاف بقية خانات المفتاح.
مكافئ نظام فك التعميةذكرنا سابقاً أن نظام فك التعمية في AES ليس مطابقاً لنظام التعمية (الشكل 1-5). أي أن تسلسل التحويلات في فك التعمية يختلف عنه في التعمية, مع أن شكل أو نموذج إستخدام المفاتيح هو واحد في كل من التعمية وفك التعيمة. تعتبر هذه النقطة من السلبيات, حيث يلزم برنامجين أو جهازين منفصلين للتطبيق الذي يستخدم عمليتي التعمية وفك التعمية. لكن هناك نسخة مكافئة نفس تسلسل التحويلات الموجود في خوارزمية التعمية (مع تبديل هذه النسخة المكافئة نفس تسلسل التحويلات الموجودة في خوارزيمة التعمية (مع تبديل التحويلات بعكسها). غير أن تطبيق هذا التكافؤ يستدعي إجراء تغيير في إستخراج المفاتيح. لمطابقة بينة خورازيمة التعيمة مع بنية خورازمية فك التعمية, يلزم إجراء تغييرين منفصلين. تضم جولة التعمية البنية التاليةٍSubBytes : AddRoundKey, MixColumns, ShiftRows, . أما جولة فك التعمية القياسية فتملك البنية التالية: InvMixColumns, AddRoundKey, InvSubBytes, InvShiftRows وبالتالي يجب التبديل بين الخطوتين الأولتين في جولة فك التعمية, كما يلزم تبديل الخطوتين الأخيرتين من جولة فك التعمية. المبادلة بين InvShiftRows و InvSubBytes يؤثر التحويل InvShiftRows على تسلسل البايتات في الحالة (state), لكنه لا يغير البايتات ولا يعتمد على مضمون البايتات لإتمام هذا التحويل. في حين يؤثر التحويل InvSubBytes على مضمون بايتات الحالة (state) لكنه لا يغير ترتيب هذه البايتات ولا يعتمد على ترتيب البايتات لإنجاز التحويل. وبالتالي يمكن تعديل هذه العمليات ويمكن تبديلها بين بعضها بعض. فمن أجل حالة ما Si يكون: InvShiftRows[InvSubBytes(Si)]=InvSubBytes[InvShiftRows(Si)] المبادلة بين AddRoundKey و InvMixColumn لا يغير أي من التحويلين AddRoundKey و InvMixColumn من ترتيب البايتات في الحالة (state). فإذا نظرنا إلى المفتاح على شكل تسلسل من الكلمات, عندها يعالج كل من التحويلين السابقين الحالة (state) عموداً تلو الآخر. هاتان العمليتان خطيتان بالنسبة لعمود الدخل أي أنه من أجل حالة معينة Si ومفتاح موافق Wi يكون: هنا معادلة ولتوضيح ذلك سنفترض أن العمود الأول من الحالة Si هو عبارة عن التسلسل (Y0,Y1,Y2,Y3) والعمود الأول من مفتاح الجولة Wi هو (K0,K1,K2,K3). عندها يجب أن نثبت ما يلي: هنا معادلة يمكن بالمعاينة فقط التأكد من صحة هذه المعادلة. وبالتالي يمكن تبديل AddRoundKey و InvMixColumn بين بعضهما بعض, مع الأخذ بعين الإعتبار تطبيق InvMixColumns على مفتاح الجولة أولاً. لاحظ أننا لا نحتاج لنطبيق التحويل InvMixColumns على مفتاح الجولة لدخل التحويل الأول AddRoundKey (الذي يسبق الجولة الأولى) ولا على التحويل AddRoundKey الأخير (في الجولة 10). ذلك لأانه لا تتم مبادلة هذين التحويلين مع التحويل InvMixColumns لإنتاج خوارزيمة فك التعمية المكافئة. (صورة:خورازمية فك التعمية المكافئة). اعتبارات تطبيقيةقد عرض Rijndeal بعض الإقتراحات للتطبيق الفعال على المعالجات ثمانية الخانة, المستخدم بشكل أساسي في البطاقات الذكية الحالية, وعلى المعالجات ذات افثنان والثلاثون خانة المستخدمة في الحواسب. المعالجات ثمانية الخانة يمكن تطبيق AES بشكل فعال جداً على المعالجات ذات 8 خانات. التحويل AddRoundKey هو عبارة عن عملية XOR خانة لخانة. والتحويل ShiftRows هو عبارة عن عملية إزاحة بسيطة لبايت. التحويل SubBytes يعمل على مستوى البايت ويحتاج فقط لجدول مؤلف من 256 بايتاً. التحويل MixColumns يتطلب عملية ضرب المصفوفات في الحقل GF(82), واذلي يعني أن جميع العميلات تجري على بايتات. يتطلب التحويل الضرب بالمعاملات {02} و {03} فقط, والذي كما رأينا, يتضمن عمليات إزاحة بسيطة, عمليات XOR شرطية, وعمليات XOR. (صورة: نظام فك التعمية المكافئ) يمكن تطبيق ذلك بطريقة أكثر فعالية تحد من الإزاحات وعمليات XOR الشرطية. تبين جملة المعادلات (4-5) المعادلات المتضمنة في التحويل MixColumns على عمود واحد. يمكن بإستخدام المطابقة التالية ******* إعادة كتابة مجموعة المعادلات (4-5) كما يلي: هنا معادلات
يتضمن الضرب بالمعامل {02} عملية إزاحة وعملية XOR شرطية. يمكن لمثل هذه التطبيقات أن تكون ضعيفة تجاه الهجوم الزمني من النوع الموصوف في المقطع 4-3. لمعاكسة هذا الهجوم ولزيادة كفاءة النعالجة من وجهة نظر التكاليف المدفوعة على التخزين, يتم تبديل هذا التطبيق بعملية بحث في جدول. لنعرف الجدول X2 المؤلف من 256 بايتاً بالشكل X2[02].i عندها يمكن إعادة كتابة مجموعة المعادلات (9-5) بالشكل: هنا معادلات
هنا معادلتين
الملحق A-5 كثيرات الحدود ذات معاملات في الحقل gf(28)تمت في المقطع 4-5 مناقشة حساب كثير الحدود الذي تكون معاملاته من Zp, حيث تم تعرفي كثيرات الحدود هذه بقياس كثير الحدود M(x) تكون أعلى قوة فيه عدد صحيح ما n. تجري في هذه الحالة عمليات الجمع والضرب لمعاملاته ضمن الحقل Zp, أي أن عملايت الجمع والضرب تنجز بالقياس p. تعرف وثائق AES حساب كثير الحدود من الدرجة 3 أو أقل مع كون المعاملات من الحقل GF(28). تطبق في هذه الحالة القواعد التالية: 1. يتم إنججاز عملية الجمع عن طريق جمع المعاملات المترابطة في GF(28). فكما أشرنا في المقطع 4-5, إذا عالجنا عناصر الحقل (F(28 كسلاسل ذات ثماني خانات, عندها يمكن مكافئة الجمع بعملية XOR. وبالتالي إذا كان لدينا: a(x)=a3x3+a2x2+a1x+a0 (8-5) b(x)=b3x3+b2x2+b1x+b0 (9-5) عندها سيكون: هنا معادلة 2. ينفذ الضرب كما هو الحال في الضرب الإعتيادي لكثيرات الحدود, مع إدخال عمليتي التحسين التاليتين: a) يتم ضرب المعاملات في الحقل GF(28). b) يتم تخفيض أو إختزال النتيجة بالقياس (x4+1). يجب أن يكون واضحاً لدينا عن أية كثيرات حدود يجري الكالم. تذكر من المقطع 6-4 أن كل عنصر من GF(28) هو عبارة عن كثير الحدود من الدرجة 7 أو أقل مع معاملات ثانية, ويتم تنفيذ الضرب بقياس كثير الحدود من الدرجة 8 . بشكل مكافئ يمكن النظر إلى كل عنصر من GF(28) على انه بايت ذو ثماني خانات والذي تتعلق قيم خاناته بالمعاملات الثنائية لكثير الحدود الموافق. فمن أجل المجموعات المعرفة في هذا المقطع, سنعرف زمرة كثيرات الحدود والتي يكون كل عنصر منها عبارة عن كثير الحدود من الدرجة 3 أو أقل ومعاملاته من GF(28), ويتم تنفيذ الضرب بقياس كثير حدود من الدرجة 4. بشكل مكافئ يمكن النظر إلى كل عنصر من هذه الزمرة على شكل كلمة ذات أربعة بايتات والتي تكون قيم بايتاتها هي عناصر من GF(28) والتي تتعلق بالمعاملات ثمانية الخانة لكثير الحدود الموافق. هنا ثلاث صفحات معادلات. التحويل MixCoulumnsذكرنا عند مناقشة التحويل MixColumns، بأن هناك طريقتان متكافئتان لتعريف هذا التحويل. الأولى هي ضرب المصفوفات المبينة في المعادلة (3-5) والتي سنعيدها هنا: (صورة:معادلة) الطريقة الثانية هي معالجة كل عمود من الحالة (state) على شكل كثير حدود ذي أربعة حدود وعوامله في GF(28). يتم ضرب كل عمود بكثير حدود ثابت a(X) وذلك بقياس (X4+1)، حيث أن كثير الحدود الثابت يعطي بالشكل: A{X}={03}X3+{01}X2+{01}X+{02} من المعادلة (8-5) لدينا , a3={03} a0={02}, a1={01}, a2={01} فمن أجل العمود ذي الرقم j من الحالة (state)، سيكون لدينا كثير الحدود: Co1j(X)=S3,j ,X3 +S2.j X2+S1.j X+S0.j بالتبديل في المعادلة (12-5) يمكن التعبير عن: d(X)=a(X).colj(X) كما يلي: (صورة:معادلة) وهي تكافئ المعادلة (3-5). الضرب بالحد xسندرس ضرب كثير الحدود من الزمرة بالحد X: (صورة:معادلة) وبالتالي الضرب بالحد X يوافق إزاحة يسارية دائرية بمقدار بايت واحد وذلك للأربعة بايتات في الكلمة التي تمثل كثير الحدود. فإذا مثلنا كثير الحدود على شكل شعاع عمودي مؤلف من أربعة بايتات، عندها سيكون: (صورة:معادلة) أنظمة التعمية المتناظرة المعاصرةيبحث هذا الفصل في بعض أهم أنظمة التعمية المتناظرة المستخدمة حالياً. تم إختيار هذه الأنظمة إنطلاقاً من عدة معايير: 1. تقدم هذه الأنظمة مستوى تعمية جيد. 2. هذه الأنظمة منتشرة في التطبيقات المعتمدة على الإنترنت. 3. تبين هذه الأنظمة تقنيات التعمية المتناظرة الحديثة التي تم تطويرها بعد تقديم خورازمية DES. سندرس في هذا الفصل أنظمة التعمية الكتلية المتناظرة التالية: triple DES و Blowfish و RC5. يلي ذلك ملخص للميزات الهامة الخاصة بأنظمة التعمية الكتلية المتناظرة المتطوةر. ينتهي الفصل بمناقشة خوارزمية RC4, والتي تعبتر نظام التعمية التسلسلي الأكثر إنتشاراً. DES الثلاثيبعد كشف نقاط الضعف الكامنة في خوارزمية DES تجاه الهجوم بإستخدام الكسر الأعمى ظهرت إهتماكات كبيرة بإيجاد البديل. إنطلقت إحدى التودجيهات نحو خوارزمية جديدة كلياً, والتي نتج عنها عدة أمثلة من بينها تلك المطروحة في هذا الفصل. التوجه الآخر, واذلي حاول الحفاظ على البرمجيات والأجهزة الموجودة, كان نحو إستخدام خوارزمية DES للتعمية عدة مرات وبمفاتيح مختلفة. سنبدأ بدرساة المثال الأبسط من هذا التوجه. سنلقي بعد ذلك نظرة على التوجه المقبول على نطاق واسع وهو خوارزمية DES الثلاثية (Triple DES-3DES) .
انظر الشكل a1-6)): X=Ek1[P]=Dk2[C] فإذا كان لدينا الزوج (C,P), عندها سيتم الهجوم بالشكل التالي. أولاً, تتم تعمية P من أجل جميع القيم المحتملة للمفتاح K1 والتي عددها 256. نخزن هذه النتائج في جدول, بعد ذلك نرتب هذا الجدول حسب قيم X. نقوم بعدها بفك تعمية C بإستخدام كل قيم المفتاح K2 المحتملة والتي عددها 256. وكلما قمنا بعدها بعملية فك التعمية يجب مقارنة النتجة مع الجدول السابق للتبيان فيما إذا كانت هناك مطابقة. إذا حدثت مطابقة, عندها يجب إختبار المفتاحين الناتجين وذلك من خلال زوج جديد للنص الصريح – النص المعمي. إذا أنتج المفتاحين نصاً مشفراً صحيحاً عندا سيتم قبولها كمفاتيح صحيحة. من أجل أية قيمة معطاة للنص الصريح P, سيكون هناك 264 قيمة محتملة للنص الشمفر اذلي يمكن إنتاجه بواسطة DES الثنائية. تستخدم خورازمية DES الثنائية مفتاحاً بطول 112 خانة, وبالتالي هناك 2112 مفتاحاً محتملاً. وبالتالي, من أجل نص صريح معطي, سيكون العدد الوسطي للمفاتيح المختلفة ذات 112 خانة والتي تنتج نصاً مشفراً معطى C هو 2112/264=248. وبالتالي ستنتج الإجرائية السابقة حوالي 248 تنبيهاً كاذباً (عن حقيقة المطابقة), وذلك من أجل أول زوج (C,P). تدل مناقشة مشابهة لما سبق, أنه مع 64 خانة إضافية من النص الصريح والنص المشفر, سينخفض عدد التنبيهات الكاذبة إلى 248-64=2-16. بمعنى آخر, إذا تم تطبيق الهجوم بإستخدام طريقة "المقابلة في الوسط", وبإستخدام كتلتين من النصوص الصريحة المشفرة, فإن إحتمال الحصول على المفتاح الصحيح هو 1-2-16. والنتيجة هي أن الهجوم بإستخدام النص الصريح المعروف سينجح ضد خورازمية Des الثنائية, والتي تملك مفتاحاً بطول 112 خانة, ويتطلب هذا الهجوم عدداً من المحاولات من مرتبة 265 أي ليس أكثر بكثير من الهجوم على DES المفرد والذي يتطلب جهوداً من مرتبة 255 محاولة. خوارزمية DES الثنائيةالمضاد الواضح للهجوم بطريقة "المقابلة بالوسط" هو إستخدام ثلاثة مراحل تعمية مع ثلاثة مفاتيح مختلفة. يرفع هذا الأمر من كلفة الهجوم بإستخدام النص الصريح المعروف إلى 2112, والذي يعتبر غير عملي وحتى في المستقبل البعيد. إلا أن هذا الأمر سلبية وهي الحاجة إلى مفتاح بطول 56x3=168 خانة, والذي يعتبر غير عملي إلى حد ما. وكبديل لذلك, اقترح Tuchman التعمية الثلاثية بإستخدام مفتاحين فقط, حيث تتم العملية وفق التسلسل: تعمية-فك تعمية- تعمية (encryption-decrytion-encryption EDE) (الشكل 1b-6). C=Ek1[Dk2[Wk1[P]]] لا تملك عملية فك التعمية في المرحلة الثانية أية أهمية من وجهة نظر التعمية. الفائدة الوحيدة منها هي السماح لمستخدمي 3DES بفك تعمية المعطيات التي تمت تعميتها من قبل مستخدمي خورازمية DE المفردة القديمة. C=Ek1[Dk2[Ek1[P]]]=Ek1[P] تعتبر خورازيمة 3DES مع مفتاحين البديل الشائع نسبياً لخورازمية DES وقد تم إختيارها للأغستخدام في الخورازيمات القياسية لإدارة المفاتيح ISO 8732, ANS X9, 17. لاتوجد حالياً أية عمليات هجوم عملية على 3DES. وقد وضح Coppersmith أن كلفة البحث عن المفتاح بطريقة "الكسر الأعمى" ف يخورازيمة 3DES هي من مرتبة 2122=5x1033, وقد خمن أ، كلفة تحليل التعمية التفاضلي سيعاني من نمو أسي, مقارنة بخورازمية DES المرفدة, ويزيد عن 1052. من الجدير بالإهتمام الترعف على عدة أنواع مقترحة للهجوم على 3DES والتي, مع أنها غير عملية, تعطي فكرة عن أنواع الهجوم التي تم التفكير فيها والتي يمكن أن تكل قاعدة لعمليات هجوم مستقبلية ناجحة. أتى أول عرض جدي من Merkle و Hellmen. تضمنت خطتهم إيجاد النص الصريح التي تعطي أول قيمة مرحلية ل A=0 (الشكل 1b-6). وبعد ذلك إستخدام الهجوم بطريقة "المقابلة في الوسط" لتحديد المفتاحين. مستوى المحاولات هو 256, إلا أن هذه التقنية تحتاج إلى 256 زوجاً مختاراً من النص الصريح – المشفر وعلى الأغلب لن يكون هذا العدد من الأزواج مقدماً من قبل حامل المفاتيح. تم طرح طريقة أخرى من الهجوم بإِستخدام النص الصريح المعروف. تعتبر هذه الطريقة تحسيناً لطريقة النص الصريح المختار, إلا أنها تحتاج لمحاولات أكثر. يعتمد الهجوم على الملاحظة التي تقول أنه إذا عرفنا A و C (الشكل b1-6), عندها ستنخفض المشكلة إلى الهجوم على خوارزمية DES الثنائية من الطبيعي أن المهاجم لا يعرف A, حتى ولو أنه عرف كلاً من P, C, بالإضافة إلى أن كلا المفتاحين غير معروفين. إلا أن المهاجم يستطيع إختيار قيمة مبدئية لA ومن ثم يحاول إيجاد زوج معروف (C,P) بحيث ينتج A. يتم الهجوم بالتسلسل التالي: 1. الحصول على n زوج (C,P). هذا هو النص الصريح المرعوف. يتم وضع هذه الأزواج في جدول (الجدول 1) بحيث تكون مرتبة حسب قيم P (الشكل 2b-6). 2. يتم إنتقاء قيمة كيفية a لA, ويتم إنشاء جدول ثاني (الشكل 2c-6) حيث ستكون مداخلة معرفة بالطريقة التالية: لكل مفتاح محتمل k1=j من المفاتيح التي يبلغ عددها 256, نحسب قيمة النص الصريح Pi الذي ينتج القيمة a: Pi=Di[a] فمن أجل كل Pi التي تطابق مدخلاً في الجدول 1, يجب إنشاء مدخل في الجدول 2 والذي يتألف من القيمة K1 وقيمة B التي تنتج من الزوج (C,P) المأخوذين من الجدول 1, آخذين بعين الإعتبار قيمة K1: B=Di[c] يجب في نهاية هذه الخطوة ترتيب الجدول 2 حسب قيم B. 3. لدينا الآن عدد من القيم المرشحة ل K1 موجودة في الجدول 2 وهي جاهزة لبدء عملية البحث عن قيمة K2. الآن من ا<ل كل مفتاح من المفاتيح المحتملة K2=j والبالغ عددها 256 , يجب حساب القيمة المرحلية الثانية وذلك من أجل القيمة a التي إخترناها: Bj=Dj[a] يجب في كل خطوة البحث عن Bj في الجدول 2. فإذا تم إيجاد هذه القيمة, عندها سيشكل المفتاح الموافقi من الجدول 2 بإلاضافة إلى القيمة j, القيم الرمشحة للمفاتيح غير المرعوفة (K1,K2). لماذا؟ ذلك لأننا وجدنا زوجاً من المفاتيح (i,j) ينتج زوجاً معروفاً (C,P). (الشكل 2a-6). هنا الشكل 2-6: الهجوم على DES الثلاثية بإستخدام طريقة النص الصريح المرعوف 4. إختير الزوج الرمشح من المفاتيح (i.j) على عدة أزواج أخرى من النص الصريح-النص المشفر. فإذا أنتج زوج المفاتيح النصوص المشفرة المطلوبة, عندها يكون قد تم إنجاز اامهمة, أما إذا لم ينجح هذا الزوج من المفاتيح, عندها يجب تكرار الخطوة 1 مبتدئين بقيمة a الجديدة. إحتمال إختيار قيمة وحيدة a تؤدي مباشرة إلى النجاح, وذلك من أجل زوج وحيد معطى (C,P), هو 1/264. وبالتالي إذا كان لدينا n زوج (C,P), فإن إحتمال النجاح في إختيار قيمة وحيدة a هو n/264. النتيجة الأساسية في نظرية الإحتمالات تقول أن عدد مرات السحب اللازمة لسحب كرة حمراء واحدة من صندوق يحوي n كرة حمراء و N-n كرة خضراء هو (N+1)/(n+1), وذلك إذا لم يتم إعادة الكرات إلى الصندوق وبالتالي الرقم المحتمل لقيم a التي يجب تجريبها, ومن أجل قيم كبيرة للعدد n سيكون: هنا معادلة نستنتج من ذلك أن الزمن المتوقع اللازم لتنفيذ الهجوم سيكون من المرتبة: هنا معادلة خوارزمية DES الثلاثية بثلاثة مفاتيحعلى الرغم من أن الهجوم الشمروح أعلاه يبدو غير عملي, إلا أن أن أي شخص يستعمل خورازيمة DES الثلاثية بمفتاحين يسشعر ببعض القلق. لذلك شعر العديد من الباحثين أن الحل البديل سيكون بإستخدام خورازمية 3DES إنما مع ثلاثة مفاتيح. تملك خوارزمية 3DES ذات المفاتيح الثلثاة طول مفتاح فعال مؤلف من 168 خانة, وتعرف كما يلي: C=Ek2[DK3Ek1[P]]] يمكن الحصول على التوافقية المرجعية مع خورازمية DES عن طريق وضع K3=K2 أو K1=K2. تبني العديد من التطبيقات المعتمدة على الإنترنت خورازيمة 3DES ثلاثية المفتاح, بما في ذلك PGP و S/MIME, والتي سيتم شرحهما في الجزء الثاني من الكتاب. النظام بلوفيش Blowfishبلوفيش عبارة عن نظام تعمية كتلي متماثل تم تطويره من قبل Bruce Schneier. صمم هذا النظلم ليملك الخصائص التالية: • السرعة: يعمي نظام بلوفيش المعطيات بإستخدام المعالجات ذات 32 خانة وبمعدل 18 نبضة ساعة لكل بايت. • الصغر في الحجم: يمكن تشغيل نظام بلوفيش بأقل من 5k من الذاكرة. • البساطة: تؤدي البنية البسيطة لنظام بلوفيش إلى تطبيق هذا النظام بسهولة وإلى تسهيل مهمة تحديد قوة الخورازمية. • مستوى الأمن المتغير: إن طول المفتاح في هذا النظام متغير ويمكن أن يصل إلى 448 خانة. يساعد هذا الأمر على الموازنة بين السرعة العالية والسرية العالية. يحول نظام بلوفيش كتل النص الصريح ذات 64 خانة إلى كتل نص مشفر ذات 64 خانة أيضاً. يطبق نظام بلوفيش في العديد من المنتجات وتعرض لمقدار كبير من التفحص الدقيق, وقد بقي هذا النظام حتى الآن غير محترق.
توليد المفاتيح الفرعية والصناديق Sيستخدم نظام بلوفيش مفتاحاً يتراوح طوله بين خانة و 488 خانة (من كلمة وحتى أربع عشرة كلمة ذات 32 خانة). يستخدم هذا المفتاح فرعياً كل منها ذو 32 خانة وكذلك لتوليد أربعة صناديق S ذات الأبعاد 8x32, تحوي بالمجمل 1024 مدخلاً ذوات 32 خانة. وبالتالي يكون المجموع هو 1024 قيمة ذات 32 خانة أو 4168 بايتاًِ. يتم تخزين المفاتيح بالمصفوفة K: K1,K2,. . . .. . Kj 1≤j≤14 ويتم تخزين المفاتيح الجزئية في المصفوفة P: P1,P2,. . . . . . P18 هناك أربعة صناديق S لكل منها 256 مدخلأً حجم كل منها 32 خانة: S1,0,S1,1, . . .. . S1,255 S2,0,S2,1,. . . . . . S2,255 S3,0,S3,1,. . . . . . S3,255 S4,0,S4,1,. . . . . . S3,255 خطوات توليد المصفوفة P والصناديق S هي التالية: 1. نهيئ المصفوفة P أولاً ثم صناديق S الأربعة بالترتيب وبإستخدام خانات القسم الكرسي من الثابت JI. وبالتالي الخانات الإثنتان والثلاثون اليسارية من القسم الكسري للثابت JI ستشكل P1, وهكذا. فعلى سبيل المثال في التمثيل الست عشري سيكون: P1=243F6A88 P2=85A308D3 . . . . . . . . . . . . . . . . . . . . . . . . S4,254=578FDE3 S4,255=3AC372E6 2. تنفذ عملية XOR خانة بخانة بين المصفوفة P والمصفوفة K, مع إعادة إستخدام الكلمات من المصفوفة K حسب الحاجة. فعلى سبيل المثال, من أجل الطول الأعظمي للمفتاح (14 كلمة ذات 32 خانة). هنا معادلة 3. نشفر الكتلة ذات 64 خانة الحاولة على أصفار فقط بإستخدام المصفوفات P و S الحالية, نبدل P1 و P2 بنتائج التشفير. 4. نشفر خرج المرحلة الثالثة بإستخدام المصفوفات P و S الحالية, ونبدل P3 و P4 بالنص الناتج المشفر. 5. نتابع هذه العملية حتى يتم تحديث كل عناصر P ومن ثم بالترتيب عناصر S, مستخدمين في كل خطوة خرج خورازمية بلوفيش المتغيرة بإستمرار. يمكن تلخيص عملية التحديث المشروحة آنفاً كما يلي: P1,P2=EP,S[0]] P3,P4=EP,S[P1IIP2] P17,P18=EP,S[P15IIP16] S1,0S1,1=EP,S=EP,S[P17,P18] S4,254,S4,255=EP,S[S4,252,S4,253] حيث EP,S[Y] يمثل النص المشفر الناتج عن عملية تشفير Y بإستخدام خوارزمية بلوفيش مع المصفوفات S و P. نحتاج لتنفيذ خورازمية التعمية بلوفيش 521 مرة من اجل الحصول على المصفوفات S و P النهائية. وبالتالي, لا تناسب خوارزمية بلوفيش التطبيقات التي يتم فيها تغيير المفتاح السري بتردد كبير. بالإضافة إلى ذلك, من أجل التنفيذ السريع للخورازمية, يمكن تخزين المصفوفات S و P عوضاً عن إستنتاجها من المفتاح في كل مرة تنفذ فيها الخوارزمية. ويتطلب هذا الأمر أكثر من 4KByte من الذاكرة. وبالتالي لا تصلح خورازيمة بلوفيش في التطبيقات التي تكون فيها الذاكرة محدودة, مثل البطاقات الذكية. التعمية وفك التعميةتستخدم خورازمية بلوفيش عمليتين بسيطتين: • الجمع: جمع الكلمات, والتي يرمز لها با لرمز + ويتم إنجازها بالقياس 232. • عملية XOR خانة ويرزمة لها بالرمز *** المهم في هذه العمليات أنها غير تبادلية, مما يجعل تحليل التعمية أصعب. يوضح الشكل 3a-6 عملية التعمية. يتم تقسيم النص الصريح إلى نصفين كل منهما 32 خانة, هما LE0 و RE0. نستخدم المتغيرات LE0 و RE0 للإشارة إلى النصفين اليساري واليميني بعد إنتهاء المرحلة i. يمكن وصف الخورازمية عن طريق الشيفرة التمثيلية التالية: هنا الشيفرة *** يتم إحتواء النص المشفر الناتج ضمن المتغيرين LE17 و RE17 يوضح الشكل 4-6 التابع F. يتم تقسيم الدخل للتابع F والمؤلف من 32 خانة إلى أربعة بايتات. إذا أعطينا هذه البايتات الرموز التالية a, b, c, d, عندها يمكن تعريف التابع F كما يلي: وبالتالي تضم كل مرحلة إستخدام الجمع بالقياس 232 والعملية XOR بالإضافة إلى عملية تبديل الخانات بإستخدام الصناديق S. يوضح الشكل b3-6 عملية فك التعمية, والتي يمكن إستنتاجها بسهولة من خورازمية التعمية. يتم في هذه الحالة إسناد النص المشفر المؤلف من 64 خانة إلى المتغيرين LD0 و RD0, حيث يتألف كل منهما من كلمة واحدة. نستخدم المتغيرات LDi و RDi للإشارة إلى النصف اليساري والنصف اليميني للمعطيات بعد المرحلة i. نستخدم خورازمية فك التعمية بلوفيش, كما هو الحال في معظم أنظمة التعمية الكتلية, المفاتيح الجزئية أو الفرعية بترتيب معاكس. إلا أنه, وعلى النقيض معظم انظمة التعمية الكتلية, تنفذ عملية فك التعمية في خورازمية بلوفيش بنفس الإتجاه الخورازمي لعملية التعمية, عوضاًِ عن العكس. يمكن تعريف الخورازمية كما يلي: الشكل 3-6: التعمية وفك التعمية وفق خوازمية بلوفيش
المناقشةيعتبر نظام بلوفيش من أنظمة التعمية المتناظرة المتميزة. فعلى النقيض من نظام DES, تعتمد صناديق S في نظام بلوفيش على المفاتيح. بالإضافة إلى هذا هناك المزيد من المزايا التي يمكن طرحها, فقدتم تعميم بعض أنظمة التعمية, مثل RC5, بحيث أن احد التوابع المنفذة خلال المرحلة يعتمد على المعطيات (في حالة RC5, هذا التابع هو الدوران المغلق). أما في خوارزمية بلوفيش, فإن كلا من المفاتيح الفرعية وصناديق S يتم إنتاجها من خلال العملية الناتجة عن التطبيقات المتتالية لخوارزمية بلوفيش نفسها. يؤدي هذا الأمر إلى تشويه الخانات بشكل كامل ويجعل عملية تحليل التعمية معقدة للغاية. ومع أن هناك بعض المنشورات عن تحليل تعمية بلوفيش, إلا أنه لم يتم إيجاد أية نقطة ضعف عملية فيها. هناك جانب آخر جدير بالإهتمام بالنسبة لتصميم بلوفيش, وهي أن العمليات تطبق على كلا نصفي المعطيات في كل مرحلة, وهو أمر مختلف عن تصميم أنظمة تعمية فيستيل, حيث يتم في الأخيرة تطبيق العمليات على نصف واحد فقط من المعطيات. ويؤدي هذا الأمر إلى ـأمين قوة تعمية أكبر, مع أن العمليات الإضافية هي عمليات خطية (XOR). وكدعم لهذا المعتقد, لاحظ العديد من المحللين أن تضمين تحويلات خطية في كل مرحلة من مراحل شبكة تبديل الخانات-تبديل المواقع (Substitution-Permuation Network SPN) يحسن من الخصائص التراكمية لنظام التعمية الكتلي (علماً أن هذه الدراسات لم تخص خورازمية بلوفيش, إنما كان التحليل لكل الشبكات تبديل الخانات-تبديل المواقع بشكل عام). بالنسبة للهجوم بإستخدام الكسر الأعمى, فإن خورازمية بلوفيش تعتبر منيعة إذا تم إنتقاء طول مناسب للمفتاح, والذي يمكن أن يصل إلى 448 خانة. كذلك تعتبر خورازمية بلوفيش سريعة في التنفيذ بشكل مثير للإعجاب. الجدول 1-6 والموضوع من قبل Schneier يقارن بين عدد نبضات الساعة اللازمة لمعالج بينتيوم وذلك من أجل خورازميات مختلفة تم تطبيقها بلغة C. يتضح من خلال هذا الجدول أن خورازمية بلوفيش هي الأسرع في التنفيذ. الجدول 1-6: مقارنة السرعة لأنظمة تعمية كتلية على معالج بنتيوم قدم Schneier عرضاً هاماً للأأحكام التصميمية التي دخلت في تفاصيل بلوفيش. وفيما يلي بعض النقاط الهامة في هذا التقرير: 1. إن الهجوم بِإستخدام الكسر الأعمى أصعب مما يبدو عليه من خلال طول المفتاح, ويعود السبب في ذلك إلى ضياع الوقت الناتج عن عملية توليد المفاتيح الجزئية. حيث يجب تنفيذ خورازيمة التعمية 552 مرة لإختبار مفتاح واحد. 2. يعطي التابع F خورازمية بلوفيش أوقى تأثير تراكمي بالمقارنة مع فيستيل. ففي المرحلة i تؤثر كل خانة من Li-1 على جميع خانات Ri-1. بالإضافة إلى ذلك, تتأثر كل خانة من المفتاح الجزئي بكل خانة من المفتاح الرئيسي, وبالتالي يمتلك التابع F تأثيراً تراكمياً ممتازاً بين المفتاح (Pi) والنصف الأيمن من المعطيات (Ri) بعد كل مرحلة. 3. يتم إستخدام كل خانة دخل للتابع F كدخل لصندوق S واحد فقط. بينما في خورازمية DES, يتم إستخدام عدة خانات كدخل لصندوقي S, بما يقوي الخورازمية تجاه الهجوم التحليلي التفاضلي. يعتقد Schneier بأن هذا التعقيد الإضافي غير ضروري مع صناديق S المعتمدة على المفتاح. 4. على النقيض مع بعض أنظمة التعمية الكتلية, لا يعتمد التابع F في خورازيمة بلوفيش على المرحلة. ويعتقد Schneier بأن مذل هذا الإعتماد لا يضيف أية ميزة من وجهة نظر التعمية, ذلك لأن تبديل الخانات المتمثل بمصفوفة P يعتمد على المرحلة. نظام التعمية RC5RC5 هي عبارة عن خورازيمة تعيمة متماثلة تم وضعها من قبل Ron Rivest. تم تصميم هذه الخورازيمة لتتحلى بالمواصفات التالية: • مناسبة للتطبيقات البرمجية والجهازية: تستخدم خورازمية RC5 عمليات حسابية بسيطة متوفرة في أغلب المعالجات. • سريعة: حيث أن خورازمية RC5 بسطية ومعتمدة على الكلمة. تطبق معظم العمليات على كلمات كاملة في وقت واحد. • يمكن ملاءمتها مع المعالجات ذات أطوال الكلمات المختلفة: إن عدد الخانات في الكلمة الواحدة هو أحد المعاملات في RC5. فألأطوال المختلفة للكلمات تعطي خورازميات مختلفة. • عدد المراحل متغير: عدد المراحل هو عبارة عن المعامل الثاني في خورازمية RC5. يسمح هذا المعامل بالموازنة بين السرعة العالية ومستوى المن العالي. • طول المفتاح متغير: طول المفتاح هو عبراة عن المعامل الثالث في خورازمية RC5. يسمح هذا المعامل كذلك بالموازنة بين السرعة ومستوى الأمن. • البساطة: البنية البسيطة لخورازمية RC5 تسهل تطبيقها وتسهل كذلك مهمة تحديد قوة الخروازيمة. • المتطلبات المنخفضة للذاكرة: المتطلبات المنخفضة لذلاكرة تجعل خورازمية RC5 مناسبة للبطقات الذكية ولبقية الأجهزة ذات الذاكرة المحدودة. • مستوى أمني عالي: تقدم خورازمية RC5 مستوى أمني عالي عند إختيار معاملات مناسبة. • دوران معتمد على المعطيات: تضم خورازمية RC5 عمليات دوران (إزاحات دورانية) تعتمد قيمتها على المعطيات. يؤدي هذا الأمر إلى تقوية الخورازيمة تجاه تحليل التعمية. معاملات RC5يمكن إعتبار RC5 عملياً عائلة من خورازيمات التعيمة التي تتحدد من خلال ثلاثة معاملات كما يليل: هنا جدول يتضح من ذلك أن خورازمية RC5 تعمي كتل نص صريح بطول 32 أو 64 أو 128 خانة وتنتج كتل نص مشفر بنفس الطول. يتغير طول المفتاح من 0 وحتى 2040 خانة. النسخة الخاصة من خورازمية RC5 تأخذ الإسم RC-w/r/b. فعلى سبيل المثال RC-32/12/16 تفترض عمية كلمات بطول خانة (نص صريح ونص مشفر بطول 64 خانة), وذلك من خلال 12 مرحلة تعمية وفك تعمية وبإستخدام مفتاح بطول 16 بايت (128 خانة). إقترح Rivest إستخدام الخورازيمة RC-32/12/16 كنسخة قياسية. توسيع المفتاحتطبق خورازمية RC5 مجموعة معقدة من العمليات على المفتاح السري لإنتاج t مفتاح جزئي. يتم إستخدام مفتاحين جزئيين في كل مرحلة, ويتم إستخدام مفتاحين جزئيين في عمليات إضافية غير تابعة لأي مرحلة. وبالتالي سيكون t=2r+2. طول كل مفتاح كلمة واحدة (w خانة). يوضح الشكل 5-6 التقنية المستخدمة لتوليد المفاتيح الجزئية. يتم تخزين المفاتيح الجزئية في مصفوفة مؤلفة من t كلمة وتأخذ الأسماء S[0],S[1],S[1-1]. . . . يتم إستخدام المعاميلن r و w كدخل لتهيئة هذه المصفوفة وإعطائها نموذجاً اولياً عشوائي من خانات. يتم بعد ذلك تحويل المفتاح المؤلف من b بايت K[0 . . . . .b-1] إلى مصفوفة مؤلفة من C كلمة L[0. . . . . .C-1]. يمكن إنجاز ذلك, عن طريق تصغير المصفوفة L ونسخ السلسلة K مباشرة في المواقع الذاكرية الممثلة بالمصفوفة L. إذا لم تكن قيمة b مضروباً صحيحاً من w, عندها سيبقى الجزء اليمني من المصفوفة L يحمل أصفاراً. أخيراً تطبق عملية خلط والتي تعطي محتويات L إلى القيمة الإبتدائية للمصفوفة S, وذلك لإنتاح القيمة النهائية للمصفوفة S. لندرس هذه العمليات بتفصيل أكثر. تستخدم العملية الإبتدائية ثابتين, كل منهما بطول كلمة واحدة, معرفينم كما يلي: Pw=Odd[(e-2)2w] Qw=Odd[(Ø-2)2w] هنا الشكل 5-6: توسيع المفتاح في خورازمية RC5 القيمة Odd[x] هي عبارة عن القيمة المفردة الصحيحة الأقرب إلى القيمة x (مقربة إلى x+1 إذا كانت x هي عبارة قيمة صحيحة زوجية, مع أن هذه الحالة لن تحدث هنا). فعلى سبيل المثال Odd[e]=3 و Odd[Ø]=1 بالرجوع إلى القيم المسموحة للمعامل w ستكون هذه الثوابت (بالست عشري) كما يلي: هنا جدول يمكن بإستخدام هذه الثوابت تهيئة المصفوفة S بالطريقة التالية: S[0]=Pwi For . . i=1. . . to . . .t-1 . . . do S[i]=S[i-1]Qwj حيث يجري الجمع بالقياس 2w. بعد ذلك تخلط المصفوفة المهياة مع مصفوفة المفتاح L لإنتاج المصفوفة S النهائية الممثلة للمفاتيح الجزئية. ولإجراء ذلك يجب المرور ثلاث مرات في المصفوفة الأكبر بين المصفوفتين, أما المصفوفة الأصغر فتتم معالجتها عدد أكبر من المرات. هنا مصفوفة أشار Rivest إلى أن لتابع توسيع المفتاح صفة الإتجاه الوحيد إلى حد كبير, أي أنه ليس من السهل إستنتاج K في حال معرفة S. التعميةتستخدم خورازمية RC5 ثلاث عمليات بسيطة (وعكسها):
هنا الشكل 6-6: عمليتي التعمية وفك التعمية في خورازمية RC5. لاحظ أن النص الصريح يوضع بشكل مبدئي في المسجلين A و B, طول كل منهما w خانة. نستخدم المتغيرات ,LEi REiلإشارة إلى النصفين اليساري واليميني من المعطيات بعد إنتهاء المرحلة i. يمكن تعريف الخورازمية عن طريق الشيفرة التمثيلية التالية: هنا الشيفرة تضم كل مرحلة من المراحل r عملية تبديل خانت بإستخدام كلتا الكلمتين من المعطيات وعملية تبديل مواقع بإستخدام كلتا الكلمتين من المعطيات أيضاً, بالإضافة إلى عملية تبديل الخانات المعتمدة على المفتاح. لاحظ البساطة المتناهية في العمليات المستخدمة, والتي يمكن التعبير عنها بخمسة سطور شيفرة فقط لاحظ أيضاً أنه تم تعديل كلا نصفي المعطيات في كل مرحلة. وبالتالي تكافئ مرحلة واحدة من الخورازمية RC5 إلى حد ما مرحلتين من خورازمية DES فك التعميةيمكن إستنتاج خورازمية فك التعمية والمبينة في الشكل b6-6 من خورازمية التعمية بسهولة. يتم في هذه الحالة وضع النص المشفر ذي الطول 2w خانة بشكل مبدئي في المتغيرين LDr و RDr, حيث طول كل منهما كلمة واحدة. نستخدم المتغيرات LDi و RDi للإشارة إلى الصفين اليساري واليميني من المعطيات قبل بدء المرحلة i, حيث يتم ترقيم المراحل من r نزولاً حتى 1. هنا معادلة تتمتع خورازمية RC5 بميزتين ملفتتين للنظر هما ببساطة الخورازمية وإستخدام الدروان المعتمد على المعطيات. تشكل الإزاحات الدوارنية الجزء غير الخطي الوحيد في الخوارزمية. وقد شعر Rivest أنه بسبب تغير مقدار الإزاحة الدورانية بالإعتماد على قيمة المعطيات المارة عبر الخورازمية, فإن تحليل التعمية الخطي وغير الخطي سيكون صعباً للغاية. وهناك عدة دراسات غطت هذا الموضوع بالذات. أنماط RC5وضحت وثائق RFC2040 أربعة أنماط مختلفة لخورازمية RC5, وذلك بغية تحسين كفاءة تطبيق هذه الخورازمية في مجالات متعددة: • KCS-ECB- التشفير الكلي: وهو عبارة خورازمية التعمية الأساسية بدون أي تغيير, والتي يكون دخلها كتل من المعطيات ذات حجم ثابت (2w خانة), وتنتج كتل نص مشفر بنفس الطول وذلك بإستخدام التحويلات المعتمدة على المفتاح. يعرف هذا النمط على الغالب بإسم "كتاب الشيفرة الالكتروني" (Electronic Codebook-ECB) – انظر الشكل 11-3. • Rc5-CBC: وهو عبارة عن نمط الربط السلاسلي لكتل الشيفرة (Clipher Block Chaining-CBC) في الخورازمية RC5. تم شرح CBC في الفصل الثالث (الشكل 12-3). يعالج CBC الرسائل التي يكن طولها من مضاعفات طول كتلة RC5 (من مضاريب 2w). وكما تبين في الفصل الثالث, فإن CBC يقدم تحسيناً لمستوى الأمن مقارنة مع ECB, وذلك لأن الكتل المكتكررة من النص الصريح تنتج كتل نص مشفر مختلفة. • RC5-CBC-Pad: وهو عبارة عن النمط CBC الذي يتعامل مع نص صريح بأي طول. سيكون النص المشفر في هذه الحالة أطول من النص الصريح بحدود حجم كتلة واحدة من كتل RC5 تقريباً, • RC5-CTs: وهو عبارة عن نمط النص المشفر المسروق (Cliphertext Stealing mode), واذلي يعتبر أيضاً من النمط CBC للخورازمية. يعالج هذا النمط الصريح بأي طول. ويعطي نصوصاً مشفرة بأطوال متساوية. النمطين الأخيرين في القائمة الشابقة يضمنان إمكانية التوسع. عندما يستعمل النمط CBC في تعمية رسالة ما, فإننا بحاجة إلى تقنية ما لإكمال الرسائل اليت لا يكون طولها من مضاعفات طول الكتلة. بطريقة الأبسط لتحقيق ذلك هي إستخدام الطبعات. يفترض في RC5 ا، الرسالة عبارة عن عدد صحيح من البايتات, تتم إضافة عدد من الطبعات في نهاية الرسالة بطول يتراوح بين 1 و bb يساوي حجم الكتلة في RC5 مقاساً بالبايت (bb=2w/8). تكون كل بايتات الطبعة متشابهة وتوضع بقيمة تمثل عدد بايتات الطبعات الكلي. فعلى سبيل المثال إذا كان هناك ثمانية بايتات للإلحاق (الطبعات). فإن كل بايت يا×ذ النموذج 00001000. ربما لن تكون عملية إلحاق الطبعات مناسبة دائماً. فعلى سبيل المثال, ربما ير غب أحد ما بتخزين ال معطيات المعماة في نفس العازل الذاكري الذي يحتوي النص الصريح. في هذه الحالة يجب أن يكون طول النص المشفر مساوياً لطول النص الصريح. يقدم النمط RCS-CTS هذه الإمكانية (الشكل 7-6). نفترض أن الكتلة الأخيرة من النص الصريح تحوي L بايتاً فقط, حيث 2w/8>L. سيكون تسلسل التعمية كما يلي: 1. نعمي أول (N-2) كتلة بإستخدام تقنية CBC التقليدية. 2. نطبق عملية XOR بين PN-1 وكتلة النص المشفر السابقة CN-2 لإنتاج YN-1. 3. نعمي YN-1 منتجين EN-1. 4. نختار أول L بايت من EN-1 لإنشار CN. 5. نلحق أصفاراً بنهاية الكتلة PN, ونطبق عليها عملية XOR مع EN-1 لإنتاج YN. 6. نعمي YN لإنشاءCN-1. تكون الكتلتان النهايتين في النص المشفر في هذه الحالة هما CN-1 و CN. مميزات نظم التعمية الكتلية المتناظرة المطورةتتشابه كل أنظمة التعمية الكتلية المتناظرة المعاصرة في بعض النواحي نظام DES وبينة نظام التعمية الكتلي فيستيل. إلا أنه نتيجة تطور المعرفة في قضايا تحليل التعمية ونتجية الحاجة إلى برمجيات تعمية سريعة, كان لابد من إجراء بعض التحسينات. توضح الفقرات التالية هذه التحسينات المضمنة في أهم أنظمة التعمية الكتلية المتناظرة الحديثة, وذلك عن طريق إلقاء الضوء على بعض الميزات الرئيية الموجودة في بعض من هذه الخورازميات وغير الموجودة في DES. • طول المفتاح متغير: إذا تم تصميم منظومة التعمية لتكون مقاومة بشكل جيد لتحليل التعمةي, فإن قوتها ستحدد من خلال طول المفتاح السمتخدم. فكلما كان الفمتاح أطول أخذ البحث عن المفتاح بطريقة الكسر الأعمى وقتاً اطول. تدعم خورازميتي Blowfish و RC5 أطوالاً متغيرة للمفاتيح. • العمليات المختلطة: إن إستخدام أكثر من عملية حسابية و/أو منطقية تعقد عمليات تحليل التعمية. خاصة إذا لم توافق هذه العمليات قوانين الترتيب والتوزيع. تعطي هذه الطريقة ميزة عدم الخطية كبديل عن صناديق S. تستخدم كل الخوارزيمات المشروحة في هذا الفصل ما عدا خورازمية 3DES هذه الطريقة. • الدروان المعتمد على المعطيات: يعتبر إعتماد الدروان المعتمد على المعطيات بديلاً مثيراً للإستغراب لإستخدام صنايدق S. حيث يمكن أن تقدم هذه التقنية. عند إختيار عدد كاف من المراحل, عمليتي نشر وبعثرة ممتازين, لأن الدروانات في المراحل المختلفة تعتمد على قيمة كنل المعطيات المترحكة خلال هذه المراحل, بدلأً من الإعتماد على المفاتيح الفرعية. تجعبل هذه الطريقة عملية إكتشاف المفاتيح الفرعية اكثر صعوبة. تستخدم خورازمية RC5 الدروانات المعتمدة على المعطيات • صناديق S المعتمدة على المفتاح: بدلأً من تصميم صناديق S ثابتة ذات ميزة تعمية مطلوبة ومحددة, كما هو الحال في خورازمية DES وخورازمية CAST-128, فإن محتوى صناديق S يمكن أ، يعتمد على المفتاح. حيث تولد المفاتيح المختلفة صناديق S مختلفة. تعطي هذه الطريقة, وخاصة مع صناديق S كبيرة (على سبيل المثال 8x32), نتائج غير خطية بدرجة عالية ويفترض أن يكون تحليل التعمية في هذه الحالة صعباً للغاية. تستخدم خوارزمية Blowfish صناديق S المعتمدة على المفتاح. • آلية طويلة لإستنتاج المفتاح: وهو عبارة عن تكتيك حاذق مطبق في خوارزمية Blowfish. تأخذ عملية توليد المفاتيح الفرعية زمناً أطول بكثير من عملية تعمية/فك تعمية واحدة. وكنتيجة لذلك ستنامى بشكل كبير الجهود المبذولة في عملية الهجوم بإستخدام "الكسر الأعمى". • طول كتلة نص صريح/نص مشفر متغير: تعطي الكتل الأطول قوة تعمية أكبر. إضافة إلى ذلك فإن الطول المتغير يقدم إمكانية ملائمة الخوارزمية مع التطبيقات المختلفة. تدعم خورازمية RC5 هذه الإستراتيجية. • عدد مراحل متغير: إذا تساوت كل الأمور, فإن زيادة عدد المراحل سيؤدي إلى زيادة قوة التعمية. ومن الطبيعي أن زيادة عدد المراحل سيزيد من زمن التعمية/فك التعمية. وبالتالي, فإن إمكانية التحكم بعدد المراحل سيعطي المستخدم إمكانية إختيار نقطة التوازن المناسبة بين مستوى السرية وسرعة التنفيذ. تقدم خوارزمية RC5 إمكانية التحكم بعدد المراحل. • معالجة كلا نصفي المعطيات في كل مرحلة: في نظام التعمية فيستيل التقليدي, يتم تغيير نصف واحد من المعطيات فقط في كل مرحلة. فإذا طبقت عملية بسيطة على النصف الآخر الذي يتغير, فإن مستوى الأمن سوف يرتفع مع زيادة بسيطة جداً في زمن التنفيذ. تعالج خورازميتي RC5 و Blowfish كلا النصفين من المعطيات في كل مرحلة. • تابع F متغير: غن إستخدام تابع F متغير من مرحلة إلى أخرى يمكن أن يعقد عملية تحليل التعمية. • الدوران المعتمد على المفتاح: يمكن إستخدام الدوران المعتمد على المفتاح بدلأً من الإعتماد على المعطيات.
نظام التعمية التسلسلي RC4تعمي أنظمة التعمية التسلسلية التقليدية النصوص الصريحة على شكل بايت واحد في كل عملية (بنفس الوقت), علماً أنه يمكن تصميم مثل هذه الأنظمة لتعالج خانة تلو أخرى أو لتعالج وحدات أكبر من البايت بنفس الوقت. يمثل الشكل 8-6 مخططاً لبنية نظام التعمية التسلسلي. يمثل المفتاح في هذه البنية دخل مولد خانات شبه عشوائي, واذلي ينتج سلسل من الأعداد العشوائية ذات الثماني خانات. سنناقش مولد الأعداد شبه الشعوائية في الفصل السسباع. أما الآن, فسنقول ببساطة أن السلسلة شبه العشوائية لا يمكن التنبؤ بها بدون معرفة مفتاح الدخل. يدعى خرج المولد "سلسلة المفتاح" (Key stream). ويتم الربط بين كل بايت من بايتات هذا المفتاح وبايت واحد من سلسلة النص الصريح بإستخدام العملية XOR. فعلى سبيل المثال, إذا كان البايت التالي المولد بواسطة مولد البايتات شبه العشوائي هو 01101100 وكان البايت التالي من النص الصريح هو 11001100, فإن بايت النص المشفر الناتج هو : هنا الشكل 8-4: مخطط نظام التعمية التسلسلي تتطلب عملية فك التعمية إستخدام التسلسل شبه العشوائي نفسه: هنا فك التعمية نظام فك التعمية التسلسلي يشابه الطبعة ذات الإستخدام الوحيد الشمروحة في الفصل الثاني. الفرق هو أن الطبعة ذات الإستخدام الوحيد سلسلة أعداد عشوائية تماماً, بينما يستخدم نظام التعمية التسلسلي سلسلة أعداد شبه عشوائية. وفيما يلي بعض الإعتبارات التصميمية الهامة لنظام التعمية التسلسلي: 1. يجب أن نستخدم عملية التعمية دوراًً تكرارياً طويلاً. حيث يستخدم مولد الأعداد شبه العشوائية تابعاً لتوليد سلسلة محددة تماماً من الخاااانات تكرر بشكل دوري. وكلما كان دور التكرار أطول, كلماكان القيام بتحليل التعمية أعقد. تمت مناقشة هذا الأمر نفسه عند دراسة نظام التعمية فيجنر, وبالتحديد قلنا أنه كما كانت الكلمة أطول كان تحليل التعمية أصعب. 2. يجب أن يقترب المفتاح المتسلسل قدر المستطاع من خصائص سلسلة الأعداد العشوائية الفعلية. فعلى سبيل المثال, يجب أن يكون عدد الوحدات قريباً جداً من عدد الأصفار. فإذا تم التعامل مع المفتاح المتسلسل على شكل سلسلة من البايتات, فإن كل القيم والبالغ عددها 256 يجب أن تظهر بشكل متساو تقريباً. وكلما كان المفتاح المتسلسل أقرب إلى العشوائية, كلما كان النص الشمفر أكثر عشوائية أيضاً, مما يجعل تحليل التعمية أعقد. 3. يلاحظ من الشكل 8-3 أن خرج مولد الأعداد شبه العشوائية محكوم بقيمة مفتاح الدخل. وبالتالي للحماية من "الكشر الأعمى" يجب ا، يكون المفتاح طويلاً بالقدر الكافي. الإعتبارات المطبقة على نظام التعمية الكتلي ستكون فعالة هنا. وبالتالي يجب أن يكون طول المفتاح 128 خانة على الأقل وذلك مع الأخذ بعين الإعتبار التقنيات الحالية. إذا كان مولد الأعداد شبه العشوائية مصمماً بشكل مناسب, فإن درجة أمن نظام التعمية التسلسلي ستكون قريبة من تلك المحققة بنظام تعمية كتلي له نفس طول المفتاح. الميزة الأساسية لنظام التعمية التسلسلي هي أن هذه الأنظمة تكون أسرع على الغالب وتتطلب شيفرة أقل لتحقيقها من تلك اللازمة لنظام التعمية الكتلي. يمكن تطبيق المثال النطروح في هذا الفصل, وهو خورازمية RC4, من خلال عدة أسطر من الشيفرة فقط. يحوي الجدول 2-6 معطيات لمقارنة زمن تنفيذ خوارزمية RC4 مع أنظمة التعمية الكتلية المتناظرة الثلاثة المعروفة جيدأً. الجدول 2-6: مقارنة سرعة أنظمة التعمية المتناظرة على المعالج Pentium II. هنا الجدول أما ميزة أنظمة التعمية الكتلية فتتلخص في إمكانية إعادة إستخدام المفاتيح. إلا أنه إذا تم التعمية نصين صريحين بإستخدام نفس مفتاح التعمية في نظام التعمية التسلسلي, فإن تحليل التعمية سيكون امراً بسيطاً للغاية في هذه الحالة. فإذا تم تطبيق عملية XOR بين سلسلتي نصين مشفرين, فإن الناتج هو عبارة عن ناتج العملية XOR بين النصفين الصريحين الأصلين. وبالتالي إذا كانت النصوص الصريحة هي عبارة عن سلاسل نصية, أو أرقام إئتمان أو أية سلسلة بايتات ذات خصائص معروفة فإن تحليل التعمية سيكون ناجحاً على الأغلب. تصلح أنظمة التعمية التسلسلية للتطبيقات التي تطلب تعمية/فك تعمية معطيات تسلسلية, مثل تعمية الإتصالات الجارية عبر قناة إتصال أو إرتباطات مستكشف الإنترنت, وما شابه ذلك. أما المعطيات التي تتعامل مع كتل من المعطيات, مثل نقل الملفات, البريد الإلكتروني, وقواعد المعطيات, فإن أنظمة التعمية الكتلية ستكون مناسبة في هذه الحالة. علماً بأن كلا النوعين من التعمية يمكن أن يستخدم عملياً في أٍ تطبيق. خوارزمية RC4تم تصميم خورازمية التعمية التسلسلية RC4 من قبل Ron Rivest. حيث تمثل نظام تعمية تسلسلي ذا طول مفتاح متغير تطبق العمليات فيه على البايتات المفردة. تعتمد الخورازمية على إستخدام التبديل العشوائي. دلت التحاليل أن الدرو التكراري لهذا النظام أكبر من 10100. ويحتاج هذا النظام من ثمانية إلأى ست عشرة عملية حاسب لإخراج بايت واحد, ويتوقع أن يعمل هذا النظام بشكل سريع جداً في التطبيقات البرمجية. يعتبر نظام RC4 نظام التعمية التسلسلي الأكثر إنتشاراً. يستخدم هذا النظام في المقياس (Secure Sockets Layeer/Transport Layer Security) المستخدم في الإتصال بين مستكشفات الويب والخدمات. ويستخدم أيضاَ في بروتوكول (Wired Equivalent WEP) والذي يشكل جزءاً من المقياس IEEE802.11 للشبكات المحلية اللاسلكية. بعتبر نظام RC4 في منتهى البساطة ومن السهل جداً شرحه. يستخدم المفتاح ذو الطول المتغير من 1 وحتى 256 بايت (من 8 وحتى 2048 خانة) في تهيئة شعاع الحالة S المؤلف من 256 بايت, والذي يضم العناصر S[255]. . . . . ,S[1],S[0]. يحوي الشعاع S دائماً ترتيب تغيير المواضع لكل الأعداد ذات الثماني خانات من 0 وحتى 256. يتم توليد البايت K في عملية التعمية وفك التعمية (كما هو مبين في الكل 8-6) من الشعاع S عن طريق إختيار واحد من 256 مدخلأً. وكلما تم توليد قيمة K ، يتم تغيير مواضع المداخل في S مرة أخرى. تهيئة الشعاع S تأخذ كل مداخل الشعاع S في البداية قيماً مرتبة تصاعدياً من 0 وحتى 256, أي أن: S[0]=0, S[1]=1, . . . . S[255]=255. كذلك يتم إنشاء شعاع مؤقت T. إذا كان طول المفتاح K هو 256 بايتاً, عندها يتم نقل K إلى T. أما في الحالة المعاكسة, وبفرض أن طول المفتاح هو Keylen, فإنه يتم ملء أول Keylen عنصر من الشعاع T بعناصر المفتاح K, ومن ثم يكرر المفتاح K عدداً من المرات إلى أ، يتم ملء الشعاع T بالكامل. يمكن تلخيص هذه العمليات التمهيدية كما يلي: /*Initialization*/ For i=0 to 255 do S[i]=I ; T[i]=K[I mod key-len]; يستخدم بعد ذلك الشعاع T لإناج شعاع تبديل المواضع الأولي S. يتضمن هذا الأمر البدء بالعنصر S[0] والمتابعة حتى S[255], ومن أجل كل S[i] يتم تبديل ببايت آخر من S, وذلك حسب المخطط المفروض من T[i]: /*Intial Permutaion of S*/ J=0; For i=0 to 255 do j=(j+S[i]+T[i] mod 256; Swap (S[i],S[j]; وبما أن العملية الوحيدة المطبقة على S هي التبديل, فإن التأثير الوحيد الناتج هو تبديل المواضع. لاحظ أن S مازال يحوي كل الأعداد من 0 وحتى 255. توليد السلسلة بعد أن تتم تهيئة الشعاع S, لن يستخدم المفتاح مرة أخرى. يتضمن توليد السلسلة البدء بالعنصر S[0] ومن ثم المتابعة حتى S[255], ومن ثم يتم تبديل كل S[i] ببايت آخر من S حسب المخطط المفروض من التشكيل الحالي للشعاع . بعد الوصول إلى S[255] تتم متابعة العملية بالبدء مرة أخرى بالعنصر S[0]: /*Stream Generation*/ Ij=0; While (true) I=(i+1) mod 256; J=(j+S[i] mod 256; Swap (S[i],S[j]; T= S[i]+ S[j] mod 256; K=S[t]; ففي عملية التعمية تطبق العملية XOR بين القيمة k والبايت التالي من النص الصريح. أما عند فك التعمية فتطبق عملية XOR على التعمية k والبايت التالي من النص المشفر, يلخص الشكل 9-6 المنطق المتبع في الخوارزمية RC4. هنا الشكل 9-6: خورازمية RC4
قوة الخوارزمية RC4نشر عدد من المقالت حول تحليل طرق الهجوم على الخوارزمية RC4. إلا أنه لم يكن هناك أية طريقة عملية ضد هذه الخوارزمية وخاصة عند إختيار طول مفتاح معقول, مثل 128 خانة. إلأ أن إحدى المقالت طرخت مشكلة جادة وهي أن بروتوكول WEP (الموجه لتحقيق السرية في الشبكات اللاسلكية المحلية) ضعيف تجاه أحد أنواع الهجوم ولكن في الحقيقة لم تكن هذه المشكلة ناتجة عن الخوارزمية RC4 بالتحديد, إنما عن الطريقة التي يتم فيها توليد المفاتيح المستخدمة كدخل للخوارزمية RC4. لا يبدو أن هذه المشكلة موجودة في التطبيقات الأخرى التي تستخدم RC4 وحتى يمكن تفاديها في بروتوكول WEP بتغيير الطريقة التي يتم فيها توليد المفاتيح. وقد أظهرت هذه المشكلة صعوبة تحقيق نظام حماية يتضمن كلاً من وظائف التعمية الجيدة والبروتوكولات التي سوف تستخدمها. السرية باستخدام التعمية المتناظرةتم التركيز تاريخياً في علم التعمية على استخدام التعمية المتناظرة لتأمين السرية والخصوصية. ولم يتم تضمين العديد من المفاهيم مثل إثبات الهوية والكمالية والتوقيع الرقمي والتعمية باستخدام المفتاح العمومي في علوم التعمية النظرية والعملية إلا في العقود الأخيرة فقط. سوف نركز قبل دراسة بعض هذه المفاهيم في هذا الفصل، على استخدام التعمية المتناظرة لتأمين السرية. يبقى هذا الموضوع هاماً بحد ذاته، بالإضافة إلى أن فهم المواضيع المطروحة هنا سيساعد في فهم دوافع تطوير التعمية باستخدام المفتاح العمومي، يفسر المواضيع المطروحة في تطبيقات التعمية الأخرى مثل إثبات الشخصية. سنبدأ أولاً بمناقشة مكان وجود آلية التعمية، والخيار الأساسي هنا هو بين ما يسمى الارتباط والتعمية طرفاً لطرف. ننتقل بعد ذلك لدراسة استخدام التعمية ضد الهجوم عن طريق تحليل تيار المعطيات. ثم نناقش مشكلة توزيع المفاتيح. وأخيراً سنناقش المبادئ التي تشكل البنية التحتية لأداة هامة في بناء خدمات السرية وهي مولد الأعداد العشوائية. مكان وظيفة التعميةإذا قررنا استخدام التعمية لتأمين الدفاع ضد الهجوم على السرية والخصوصية، فيجب أن نعلاف ماذا سنعمي وأين ستتوضع آلية التعمية. قبل الإجابة على هذا السؤال سيشرح المقطع التالي المواضع المحتملة للقيام بالهجوم ومن ثم ننتقل إلى دراسة المكانين الرئيسيين لتوضع آلية التعمية: الارتباط والطرف لطرف. الأماكن المحتملة لخرق السريةسنأخذ كمثال للتحليل محطة عمل لمستخدم في مؤسسة تجارية قياسية. يوضح الشكل 1-7 أنواع خدمات الاتصالات التي يمكن أن تستخدم من قبل محطة العمل أو مثيلاتها، وبالتالي يشير إلى نقاط الضعف الممكنة. تتصل محطات العمل في معظم المؤسسات مع شبكات محلية (LAN)، حيث يمكن للمستخدم، بالشكل القياسي، الوصول إلى بقية محطات العمل والحواسب المضيفة والمخدمات الموصولة على الشبطة المحلية مباشرة. كما يمكنه الوصول إلى بقية الشبكات المحلية الموجودة في نفس البناء والتي تكون عادة متصلة مع بعضها البعض عن طريق جسور (Bridges) أو موجهات (Routers). وبالتالي تظهر هنا نقطة الضعف الأولى. حيث ستشكل عملية التصنت من قبل موظف آخر الهاجس الأول. فالشبكة المحلية عادة هي عبارة عن شبكة إذاعة عامة: أي أن الإرسال من أية محطة عمل إلى أية محطة عمل أخرى سيكون مرئياً من قبل المحطات الموصولة إلى وسط النقل الخاص بالشبكة المحلية المدروسة. تنقل المعطيات عادة على شكل إطارات، حيث يحوي كل إطار على عنوان الطرف المرسل وعنوان الطرف المستقبل. يمكن للمتصنت مراقبة كل تيار المعطيات الموجود على الشبكة المحلية والتقاط ما هو مطلوب على أساس عناوين المرسل والمستقبل. الأكثير من ذلك لا يحتاج المتصنت حتى أن يكون موظفاً في نفس المبنى. فإذا كانت الشبكة المحلية تقدم إمكانية الدخول بالطلب الهاتفي، سواء عن طريق مخدم اتصالات أو عن طريق أحد الحواسب المضيفة، عندها يمكن للدخيل العبور إلى الشبكة ومراقبة تيار المعطيات عن بعد. تتوفر على الغالب إمكانية الدخول إلى العالم من الشبكة المحلية إما على شكل موجه يساعد على الاتصال بالإنترنت، أو عن طريق مودم الطلب الخارجي، أي نوع آخر من مخدمات الاتصالات. حيث يصدر عن مخدم الاتصالت خط يؤدي إلى خزانة التوصيل. تعمل خزانة التوصيل عمل لوحة توزيع خطوط الاتصال الداخلي والخطوط الهاتفية، وذلك كنقطة مرحلية للاتصالات الخارجية. تعتبر الاتصالات بحد ذاتها نقطة ضعف. فإذا استطاع الدخيل الوصول إلى هذه الخزانة, فإنه يستطيع تفحص كل الخطوط لمعرفة تلك المستخدمة لنقل المعطيات. وبعد تمييز واحد أو أكثر من تلك الخطوط، يستطيع الدخيل وصل وحدة إرسال لاسلكية منخفضة القدرة. يمكن التقاط الإشارات الناتجة عن هذه الوحدة من أي مكان قريب (سيارة أو بناء قريب). (صورة: نقاط الضعف) يمكن كذلك إجراء عدة عمليات إعادة توجيه من خزانة التوصيل. حيث يؤمن التمديد القياسي إمكانية الدخول إلى أقرب مركز اتثالات (مقسم). يتم جمع كل الخطوط في الخزانة على شكل كابل، والذي يندمج في النهاية مع باقي كابلات البناء في خزانة توصيل رئيسية، حيث يمتد من هناك كابل أرضي إلى مركز الاتصالات. إضافة إلى ذلك يمكن أن نؤمن خزانة التوصيل وصلة ما مع هوائي أمواج مكروية، سواء كان هذا الهوائي تابعاً لمحطة اتصال مع الأقمار الصناعية، أو تابعاً لمحطة اتصال مكروية نقطة لنقطة. يمكن أن تكون وصلة الهوائي جزءاً من شبكة خاصة، أو أن تكون وصلة عبور لمسافات بعيدة (محطة ربط أو مكرر). كذلك يمكن أن تؤمن خزامة التوصيل أيضاً وصلة مع معقدة من شبكة تحويل الحزم (Packet Switching Network) . ويمكن أن تكون هذه الوصلة على شكل خط مأجور، أو خط خاص مباشر، أو وصلة تحويل عبرشبكة الاتصالات العامة مثل ISDN. تمر المعطيات داخل هذه الشبكة عبر عدد من العقد والوصلات بين العقد التي يتصل معها المستلم مباشرة. يمكن أن يتم الهجوم في أي من الوصلات الموضحة. ففي الهجوم الفعال، يحتاج المهاجم إلى الحصول على التحكم الفيزيائي في جزء من الوصلة، وأن يكون قادراً على غرس معطيات أو التقاطها. أما في الهجوم السلبي، فيحتاج المهاجم فقط إلى أن يكون قادراً على مراقبة المعطيات المرسلة. يمكن بشكل عام تحقيق الاتصالت إما بشكل سلكي (هاتفية، زوج مجدول، كابل محوري، كابل ضوئي)، أو وصلات أمواج مكروية، أو أقنية اتصال مع الأقمار الاصطناعية. ويمكن مهاجمة الزوج المجدول أو الكابل المحوري إما باستخدام الأسنان العدوانية (أسنان تغرس مباشرة في الكابل) أو باستخدام الأجهزة التحريضية التي تستطيع التقاط الأشعة الكهرومغناطيسية. تسمح الأسنان العدوانية بتنفيذ كل من نوعي الهجوم السلبي والفعال، في حين تصلح الأجهزة التحريضية في تنفيذ الهجوم السلبي فقط. غيرأن كلا النوعين لا يصلحان لتنفيذ الهجوم على الكابلات الضوئية، مما يعطي هذا الوسط ميزات إضافية. لا تولد الكابلات الضوئية إشعاعات كهرومغناطيسية وبالتالي لا يعتبر ضعيفاً تجاه الأجهزة التحريضية. وكسر هذا النوع من الكابلات سيؤدي إلى خفض جودة الإشارة مما يكشف هذا النوع من الهجوم مباشرة. يمكن اعتراض التراسل باستخدام الأمواج المكروية والأقمار الصناعية وبأقل نسبة مخاطرة بالنسبة للمهاجم. ينطبق هذا الكلام بشكل خاص على الاتصالات عبر الأقمار الصناعية التي تعطي مساحة جغرافية كبيرة. وبالتالي فإن الهجوم الفعال على الاتصالات المكروية وعبر الأقمار الصناعية ممكن، علماً بأن التحقيق ومكلف إلى حد ما. إضافة إلى نقاط الضعف المحتملة في وصلات الاتصالات المختلفة، فإن الأنواع المختلفة للمعالجات هي عرضة أيضاً للهجوم. حيث يمكن أن يكون غرض الهجوم تغيير المواصفات الجهازية أو تبديل أو تحوير البرمجيات من أجل الوصول إلى الذاكرة العملياتية أو الذواكر الدائمة (الأقراص). ومع أن هذا النوع من الهجوم قليل الحدوث نسبياً إذا ما قورن بالهجوم على الاتصالات، إلا أنه يبقى قائماً وبشكل منيع خطر لا يستهان به. نستنتج مما سق أن هناك العديد من الأماكن التي تعتبر عرضة للهجوم. والأكثر من ذلك نرى أنه في حال الاتصالات البعيدة، فإن العديد من هذه الأماكن لا تكون تحت السيطرة المباشرة للمستخدم. وحتى في حال الشبكات المحلية التي تكون خاضعة للسيطرة الفيزيائية المباشرة، لا يستبعد وجود موظفين غير مأمونين. تعمية الوصلة مقابل التعمية طرف لطرفتعتبر التعمية الطريقة الأقوى والأكثر انتشاراً لحماية نقاط الضعف الموضحة في الفقرة السابقة. فإذا قررنا استخدام التعمية لمقاومة هذه الأنواع من الهجوم، فيجب أن نقرر: ماذا نعمي وأين يجب ان تتوضع آلية التعمية. يوضح الشكل 2-7 الاحتمالين الأساسيين: تعمية الوضلة مقابل التعمية طرف لطرف. (صورة: التعمية ضمن شبكة تعتمد تبادل الحزم) الاتجاهات الأساسيةتتلخص فكرة تعمية الوصلة بتجهيز كل وصلة اتصال مستهدفة بجهاز تعمية يوضع في كلا طرفي هذه الوصلة. وبالتالي سيكون كل تيار المعطيات في كافة وصلات الاتصال آمناً. ومع أن تطبيق هذه الفكرة يحتاج إلى أجهزة تعمية كثيرة في حال الشبكات الكبيرة، إلا أن فائدتها واضحة. إحدى مساوئ هذه الطريقة هي أنه بجي فك تعمية الرسالة في كل مرة تعبر فيها هذه الرسالة من خلال مبدلة ما، وذلك لأن هذه المبدلة يجب أن تقرأ العنوان (رقم الاتصال المنطقي) الموجود في ترويسة الرزمة وذلك من أ<ل توجيه إطار هذه الرسالة بالاتجاه الصحيح. وبالتالي تكون الرسالة عرضة للمهاجمة عند كل مبدلة. فإذا كان العمل يتم في شبكة عامة، فليس هناك أية سيطرة أمنية من قبل المستخدم على عقد الاتصال. يجب ملاحظة عدة أمور في طريقة تعمية الوصلة. فلكي تكون هذه الاستراتيجية فعالة، يجب أن تكون كل الوصلات المحتملة لمسار ما من المصدر إلى المآل معماة. يجب أن يشترك كل زوج من العقد الموجودة على طرفي وصلة ما بمفتاح منفرد يختلف عن المفتاح المستخدم في وصلة أخرى. وبالتالي يجب الأخذ بعين الاعتبار الكم الكبير من المفاتيح المطلوبة لتحقيق هذه الاستراتيجية، علماً بأن كل مفتاح يجب إيصاله إلى عقديتن فقط. أما في التعمية طرف لطرف، فإن عملية التعمية تجري في كلا النظامين الطرفيين، حيث يقوم الحاسب المضيف المصدر بتعمية المعطيات ومن ثم يتم إرسال المعطيات المعماة دون أن يطرأ عليها أي تغيير عبر الشبكة حتى تصل إلى المآل. يشترك المآل مع المصدر المفتاح، وبالتالي سيكون قادراً على فك تعمية المعطيات. يبدو أن هذه الطريقة تحمي التراسل من الهجوم على وصل ات الشبكة أو على المبدلات. و بالتالي تحرر استراتيجية التعمية طرف لطرف المستثمر من هموم التفكير في درجة السرية للشبكة بشكل عام، إلا أنه مازالت هناك بعض نقاط الضعف. لندرس الحالة التالية: لدينا حاسب مضيف ما موصول إلى الشبكة ويهيئ الاتصال المنطقي بحاسب آخر ويجهز لإرسال المعطيات إلى ذلك الحاسب مستخدماً لذلك استراتيجية التعمية طرف لطرف. يتم إرسال المعطيات عبر هذه الشبكة على شكل إطارات، يحوي كل منها ترويسة وجزء من المعطيات الحزمة بالكامل، بما في ذلك الترويسة. لن تنجح هذه الطريقة في إرسال المعطيات ذلك لأننا وضحنا أن المال فقط هو الذي يستطيع القيام بعملية فك التعمية. وبالتالي لن تكون قادرة على إعادة توديه هذه الحزمة. نجد مما سبق ان الحاسب المصدر يجب أن يقوم بتعمية المعطيات المحمولة بالحزمة فقط وترك الترويسة على حالها. نستنتج مما تم عرضه أن التعمية طرف لطرف تحمي معطيات المستخدم. إلا أنها لا تحمي تيار المعطيات تجاه التحليل، ذلك لأنه يتم إرسال الترويسة بشكل صحيح. من وجهة نظر أخرى تؤمن التعمية طرف لطرف نوعاً من التحقق من الهوية أو إثبات الهوية. فإذا اشترك نظامان طرفيان في مفتاح التعمية، فإن المستقبل سيكون متأكداً من أن الرسالة التي وصلت إليه صادرة عن المرسل المحدد، وذلك لأنه المرسل هو الطرف الوحيد الذي يشترك معه بالمفتاح. مثل هذا الإثبات لا يتوفر في استراتيجية تعمية الوصلة. لتأمين درجة سرية كبيرة، تستخدم كلا الإسترتيجيتين: تعمية الوصلة والتعمية طرف لطرف، كما هو مبين بالشكل 2-7. فعندما تستخدم كلتا الإستراتيجيتين فإن الحاسب المصدر يعمي جزء المعطيات في الحزمة فقط باستخدام مفتاح التعمية طرف لطرف. ومن ثثم تتم تعمية الحزمة بالكامل باستخدام مفتاح تعمية الوصلة. فعندما تنتقل الحزمة عبر الشبطة، فإن كل مبدلة تقوم بفك التعمية مستخدمة لذلك مفتاح تعمية الوصلة وذلك من أجل قراءة الترويسة, ومن ثم تعيد تعيمة الحزمة بالكامل لإرسالها عبر الوصلة التالية. والآن تبقى الحزمة آمنة بالكامل ما عدا الزمن الذي تكون فيه الحزمة موجودة في ذاكرة مبدلة، حيث تكون الترويسة في هذه الحالة بالشكل الصريح يلخص الجدول 1-7 الميزات الرئيسية لكلتا الإستراتيجيتين.
المكان المنطقي لتوظيفة التعمية طرف لطرفيتم تطبيق وظيفة التعمية، في حالة تعمية الوصلة، على مستوى منخفض من التركيبة الهرمية للاتصالات. ففي حال اتباع نموذج OSI في الشبكات (Open Systems Interconnection)، فإن تعمية الوصلة تتم إما في الطبقة الفيزئائية او في طبقة الاتصال. أما في استراتيجية التعمية طرف لطرف، فهناك عدة خيارات محتملة للتوضع المنطقي لوظيفة التعمية. ففي أدنى مستوى عملي، يمكن تحقيق وظيفة التعمية في طبقة الشبكة. فعلى سبيل المثال يمكن أن ترتبط التعمية ببروتوطول ATM أو بتشكيل الإطار، وبالتالي ستتم تعمية المعطيات لكل الإطارات او خلايا ATM. في التعمية المحققة على مستوى الشبكة، يرتبط عدد الكيانات، المعرفة والمحمية بشكل مستقل, بعدد الأنظمة الطرفية في الشبكة، يرتبط كل نظام طرفي أثناء عملية تبادل التعمية مع نظام طرفي آخر إذا كان الطرفان مشتركين بمفتاح التعمية. تستخدم كل العمليات والتطبيقات في النظام الطرفي نفس مخطط التعمية ونفس مفتاح التعمية من اجل الوصول إلى النظام الطرفي الهدف المحدد. يمكن هذا الشكل أن يصبح من المفيد تحميل أعباء وظيفة التعمية لنوع ما من المعالجات الطرفية (غالباً تحمل هذا ال عبء بطاقة الاتصالات في النظام الطرفي). يوضح الشكل 3-7 وظيفة التعمية الملقاة على عاتق معالج طرفي (front processor "TEP"). يستقبل المعالج FEP من جهة الحاسب المضيف الحزم. تتم تعمية قسم المعطيات من الحزمة فقط، بينما تعبر الترويسة دون المرور على وظيفة التعمية والتأثر بها. يتم نقل الحزمة الناتجة عبر الشبكة. في الطرف المقابل تصل الحزمة من الشبكة ويتم فك تعمية المعطيات فقط ومن ثم تعبر الحزمة بشكل كامل إلى الحاسب المآل. إن استخدام خدمات التعمية في بروتوكولات طرف لطرف، مثل بروتوكولات طبقة الشبكة في النموذج OSI و TCP يقدك سرية تيار المعطيات طرف لطرف ضمن كامل الشبكة. إلا أن مثل هذه الخدمات لا يمكن أن تؤمن سرية تيار المعطيات الذي يتخطى حدود الشبكة مثل البريد الإلكتروين وتبادل المعطيات الرقمية ونقل المعطيات. (صورة:وظيفة المعالج الطرفي) يوضح الشكل 4-7 النقاط المتضمنة فيما سبق. في هذا المثال، تستخدم عبارة البريد الإلكتروين لتوصيل الشبكة المبينة على أساس OSI مع شبكة أخرى مبينة على أساس النموذج TCP/IP. في مثل هذه الحالة لن يكوت هناك بروتوكولات طرف لطرف أدنى من مستوى التطبيقات. حيث تنتهي اتصالات كل من طبقة النقل وطبقة الشبكة لكل من النظامين الطرفيين في عبارة البريد الإلكتروين، والتي تهيئ اتصالات جديدة على مستوى طبقة النقل وطبقة الشبكة للربط مع النظام الطرفي الآخر. بالإضافة إلى أن مثل هذا السيناريو غير مقيد في حالة العبارة بين بنيتين مختلفتين. فحتى لو استخدم كلا الطرفين النموذج TCP/IP أو OSI، سيكون هناك الكثير من المراحل في التشكيلة الحقيقية والتي تعمل فيها عبارة البردي الإلكتروين أو مثيلاتها للوصل بين شبكتين معزولتين. وبالتالي، في التطبيقات التي تشابه البريد الإلكتروني والتي توجد فيها إمكانية التخزين والإرسال، سيكون المكان الوحيد الذي يمكن أن تطبق فيه التعمية طرف لطرف هو طبقة التطبيقات. (صورة: تضمين التعمية في اتصالات نظام من النوع "التخزين والإرسال") الناحية السلبية في التعمية المنفذة على مستوى طبقة التطبيقات هي أن عدد الكيانات التي يجب أن تؤخذ بالحسبان تتزايد بشكل كبير جداً. فالشبطة التي تضم مئات الحواسيب يمكن أن تضم آلاف المستخدمين والفعاليات. وبالتالي سيتطلب الأمر توليد وتوزيع عدد كبيرجداً من المفاتيح. هناك طريقة جيدة لإظهار البدائل وهي ملاحظة انه كلما ارتفعنا إلى الأعلى في هرم الاتصالات، كلما نقص حجم المعلومات التي ستعمى ولكن سيزيد في نفس الوقت مستوى السرية. يوضح الشكل 5-7 هذه النقطة، وذلك باستخدام البنية TCP/IP كمثال. تشير العبارة على متسوى التطبيقات الموضحة في الشكل إلى جهاز من النوع "التخزين والإرسال" والذي يعمل في مستوى التطبيق. في التعمية المنفذة على مستوى التطبيق (الشكل 5a-7)، ستتم تعمية جزء معطيات المستخدم فقط من المقطع TCP. أما ترويسات TCP و IP ومستوى الشبكة ومستوى الوصلة وكذلك ذيل مستوى الوصلة فستبقى بشكلها الصريح. وللمقارنة نجد أنه لو تمت التعمية على مستوى TCP (الشكل 5b-7)، فعندها، في اتصال وحيد "طرف – طرف"، ستتم تعمية معطيات المستخدم وترويسة TCP. أما ترويسة IP فتبقى بشكلها الصريح، وذلك لأنها ضرورية لعمل الموجهات من أجل توجيه رزمة IP من المصدر إلى المآل. لاحظ، من ناحية أخرى، أنه إذا مرت الرسالة من خلال العبارة، فإن اتصال TCP سوف ينتهي ويتم اتصال نقل جديد من أجل الخطوة اللاحقة. بالإضافة إلى ذلك نلاحظ أنه تم التعامل مع العبارة كوجهة من قبل البنية التحتية للبروتوكول IP. وبالتالي جزء وحدة المعطيات التي تمت تعميته سوف تفك تعميته في العبارة. إذا كانت هناك خطوة جديدة من خلال شبكة TCP/IP، إلا أنه سيتم تخزين المعطيات بشكل مؤقت في العبارة نفسها وبشكل صريح تماماً. أخيراً، في التعمية على مستوى الوصلة وتذليلها، وذلك من أجل كل وصلة، ولكن ستكون وحدة المعطيات بالكامل صريحة في كل موجة وعبارة. سرية تيار المعطياتلاحظنا في الفصل الأول أنه، في بعض الحالا، يهتم المستخدمون بتأمين السرية تجاه تحليل تيار المعطيات. حيث أن معرفة عدد الرسائل وأطوالها بين العقد يمكن أن يساعد المعتدي على تحديد المعطيات. حيث أن معرفة عدد الرسائل وأطوالها بين العقد يمكن أن يساعد المعتدي على تحديد هوية الأشخاص الذي يقومون بالتراسل. يمكن أن يكون لهذا الأمر تأثير بالغ في النطاق العسكري على وجه الخصوص. وحتى في التطبيقات التجارية، يمكن أن يؤدي تحليل تيار المعطيات إلى توليد معلومات يتمنى أصحابها كتمانها. فيما يلي بعض أنواع المعطيات التي يمكن استنتاجها من تحليل تيار المعطيات:
(صورة:العلاقة بين التعمية ومستويات أو طبقات البروتوكول) هناك ناحية أخرى مرتبطة بتيار المعطيات وهي استخدام نماذج تيارات المعطيات لإنشاء قناة سرية أو خفية. والقناة الخفية هي نوع من الاتصالات لا تكون عادة مخططة أو محسوب حسابها من قبل مصممي خدمة الاتصالات. تستخدم هذه القناة عادة لإرسال معلومات بطريقة تتطاير معها السياسة الأمنية المتبعة. فعلى سبيل المثال، ربما يرغب موظف ما بإيصال معلومات إلى خارج نطاق منظومته بطريقة لا تكون مكشوفة من قبل الإدارة وتتطلب عملية تنصت أو استراق سمع بسيطة من قبل أشخاص خارج المنظومة. يمكن أن يضع كلا المشتركين شيفرة ما بينهما، كأن يتم تمثيل الرسالة الشرعية الظاهرة بصفر منطقي إذا كان طول هذه الرسالة أقل من طول محدد، بينما تتم تمثيلها بواحد منطقي إذا كان طول هذه الرسالة أكبر من طول محدد. هناك طبعاً أساليب وطرق أخرى ممكنة لإقامة القناة المخفية. إستراتيجية تعمية الوصلةعند استخدام استراتيجية تعمية الوصلة، ستتم تعمية ترويسات طبقة الشبكة (أي ترويسة الإطار أو الخلفية)، وبالتالي سيقل احتمال إمكانية تحليل تيار المعطيات. لكن مايزال المهاجم، في مثل هذه الحالات، قادراً على الدخول إلى كمية معينة من المعطيات في الشبكة ومراقبة كم هذه المعطيات الداخل والخارج إلى كل نظام طرفي. هناك طريقة فعالة لمواجهة مثل هذا الهجوم وتتلخص بإلحاق نماذج معينة بتيار المعطيات، كما هو موضح بالشكل 6-7. تنتج عملية الإلحاق نصاً مشفراً مستمراً، حتى في حال فياب النص الصريح. حيث يتم توليد سيالة معطيات عشوائية مستمرة. فعندما يكون النص الصريح متوفراً، تتم تعميته وإرساله. وعندما يكون النص الصريح متوفراً فتتم تعمية المعطيات العشوائية وإرسالها. تؤدي هذه الطريقة إلى حعل المهاجم غير قادر إطلاقاً على التمييز بين المعطيات الحقيقية والمعطيات الملحقة ولالتالي يصبح من المستحيل تخمين كمية المعطيات المنقولة. (صورة:جهاز إلحاق نص معمى بتيار المعطيات) إستراتيجية التعمية طرف لطرفتعتبر عملية إلحاق معطيات بتيار المعطيات على الشبكة إحدى وظائف تعمية الوصلة. أما إذا اتبعت استراتيجية التعمية طرف لطرف فإن التدابير المعاكسة لامتوفرة لدى المدافع ستكون محدودة. فعلى سبيل المثال، إذا كانت التعمية تتم على مستوى التطبيقات، فإن المهاجم سيكون قادراً على تحديد هوية كيانات النقل المشتركة في عملية التبادل. وإذا كانت تقنية التعمية موضوعة في طبقة النقل، فإن عنوان طبقة الشبكة ونموذج المعطيات سيبقيان صريحين. توزيع المفاتيحيحتاج العمل لاصحيح لخوارزميات التعمية المتناظرة إلى أن يشترك المستخدمان، الممثلان لطرفي تبادل المعطيات، في نفس مفتاح التعمية، ويجب ان يكون هذا المفتاح بشكل دوري وذلك من أجل الحد من الآخرون. إضافة إلى ذلك يجب أن يتم تغيير هذه المفاتيح بشكل دروي وذلك من أجل الحد من كمية المعلومات المفضوحة في حال استطاع المعتدي الحصول على المفتاح. وبالتالي فإن قوة أي نظام تعمية مرتبطة بشكل وثيق بتقنية توزيع المفاتيح المستخدمة. وتعني تقنية توزيع المفاتايح الطريقة والآلية التي يتم وفقها إيصال المفتاح إلى الطرفين الراغبين بتبادل المعطيات فيما بينهما، وذلك دون أن يطلع آخرون على هذا المفتاح. يمكن تحقيق توزيع المفاتيح بين الطرفين A و B لطرق عديدة، كما هو مبين أدناه: 1-يمكن أن يختار الطرف A مفتاحاً ويقوم بإيصاله فيزيائياً إلى الطرف B (بالطرق التقليدية، أي عن طريق مراسل أو شخصياً أو بالبريد ...) 2-يمكن أن يختار طرف ثالث وسيط المفتاح بوصله بالطرق التقليدية إلى كلا الطرفين A و B. 3-إذا كان لدى الطرفين A و B مفتاحاً سابقاً ومازال مستخدماً، فيمكن لأحدهم إرسال المفتاح الجديد إلى الطرف الآخر بعد تعميته باستخدام امفتاح القديم. 4-إذا امتلك كل من A و B وصلة معماة مع طرف وسيط C، فيمكن لهذا الطرف الثالث إيصال المفتاح عبر هذه الوصلة المعماة إلى كل من الطرفين A و B. يستتخدم الخياران الأول والثاني في عملية توزيع المفاتيح اليدوية أو التقليدية. وسيكون هذان الخياران معقولين في حالة تعمية الوصلة، حيث سيعمل كل جهاز في طرف من أطراف هذه الوصلة على تبادل المعلومات مع الطرف الآخر. إلا أن هذه الطرق ستكون غير وافية بالغرض في حالة التعمية طرف لطرف. ففي حالة الأنظمة الموزعة على نطاق واسع. يتوقف حجم المشكلة على عدد الأزواج المشتركة في الاتصالات. فإذا تم حقيق اتعمية طرف لطرف على مستوى الشبكة أو المستوى IP، فسيلزم مفتاح واحد لكل زوج من الحواسيب المضيفة على الشبكة والتي ترغب في إقامة الاتصال فيما بينها. فإذا كان عدد هذه الحواسيب المضيفة على الشبكة والتي ترغب في إقامة الاتصال فيما بينها. فإذا كان عدد هذه الحواسيب هو N فسيلزم (N(N-1)/2 مفتاحاً. أما إذا تم تحقيق التعمية على مستوى التطبيق، فعندها سيلزم مفتاح واحد لكلك زوج من المستخدمين أو من العمليات التي تتطلب إقامة الاتصال. وبالتالي إذا ضمت الشبكة مئات الحواسيب المضيفة، فربما شتضم آلاف المستخدمين والعمليات التي تتطلب وجود اتصال فيما بينها. يبين الشكل 7-7 تنامي حجم الأعمال اللازمة لتوزيع المفاتيح في حالة التعمية طرف لطرف. إذا ضمت الشبكة التي تستخدم التعمية على مستوى العقدة ألف عقدة، فإنها تتطلب توزيع حوالي نصف مليون مفتاح. وإذا دعمت هذه الشبكة 10000 تطبيق، فإن عدد المفاتيح اللازمة سيصبح حوالي 50 مليون مفتاح. بالعودة إلى القائمة السابقة نجد أن الخيار الثالث صالح سواء في حالة تعمية الوصلة أو في حالة التعمية طرف لطرف، إلا أنه إذا نحج المهاجم في الحصول على مفتاح واحد فإن كل المفاتيح التالية ستكون مكشوفة. بالإضافة إلى أن مشكلة التوزيع الأولى للمفاتيح لا تزال قائمة. يستخدم الخيار الرابع وبعض تعديلاته بشكل واسع في حال التعمية طرف لطرف. ففي هذا المخطط لتوزيع المفاتيح، يكون مركز التوزيع مسؤولاًعن عميلة توزيع المفاتيح إلى أزواج المستخدمين (حواسيب مضيفة، عمليات أو فعاليات، تطبيقات) عند الطلب. يتشارك كل مستخدم مع مركز التوزيع بمفتاح فريد وذلك بتخديم عملية توزيع المفاتيح. يعتمد استخدام مركز توزيع المفاتيح على هرمية المفاتيح. فعلى الأقل يتم استخدام مستويين من المفاتيح (الشكل 8-7). تعمى الاتصالات بين الأنظمة الطرفية باستخدام مفتاح مؤقت، يسمى في أغلب الأحيان مفتاح الجلسة (Session Key). يستخدم مفتاح الجلسة عادة لفترة اتصال منطقي، مثل اتصال الأطراف، او اتصال نقل، ومن بعد ذلك يتم إلغاؤه. يتم الحصول على كل مفتاح جلسة من مركز توزيع المفاتيح عبر نفس الخدمات الشبكية المستخدمة للاتصال بين المستخدمين. وبالتالي يتم نقل مفاتيح الجلسة بصيغة معماة، مستخدمين لذلك مفتاحاً رئيسياً (Master key) والذي يكون مشتركاً بين مركز توزيع المفاتيح النظام الطرفي أو المستخدم. (صورة:استخدام هرمية المفتاح) يتوفر مفتاح رئيسي فريد لكل نظام أو مستخدم، والذي يكون مشتركاً بين هذا النظام الطرفي ومركز توزيع المفاتيح. يجب توزيع هذه المفتاح بطريقة ما طبعاً. ولكن مع ذلك نرى أن حجم المشكلة سيتناقص بشكل كبير. فإذ كان هناك N كيان يريدون الاتصال فيما بينهم على شكل أزواج، فإنه سيلزم [N(N-1)/2] مفتاح جلسة في كل مرة. إلا انه سيلزم N مفتاح رئيسي فقط، واحد لكل كيان. وبالتالي يمكن توزيع المفاتيح الرئيسية بطرق غير معتمد على التعمية، مثل الإيصال الفيزيائي أو التقليدي. سيناريو توزيع المفاتيحيمكن تحقيق مفهوم توزيع المفاتيح بطرق عديدة. يوضح الشكل 9-7 السيناريو التقليدي. يفترض هذا السيناريو أن كل مستخدم يشارك بمفتاح فريد مع مركز توزيع المفاتيح (Key Distribution Center-KDC). لنفترض أن المستخدم A يريد إقامة اتصال منطقي مع المستخدم B، ويحتاج إلى مفتاح جلسة للاستخدام مرة واحدة وذلك من أجل جماية المعطيات المنقولة خلال هذا الاتصال. يملك المستخدم A مفتاحاً سرياً Ka والذي يعرفه هو ومركز توزيع المفاتيح فقط، بشكل مشابه المستخدم B مركز توزيع المفاتيح السري Kb. الآن ستحدث الخطوات التالية: 1-يصدر الطرف A طلباً إلى مركز توزيع المفاتيح للحصول على مفتاح جلسة لحماية وصلة منطقية مع B. يضم الطلب هوية كل من A و B ومعرفاً فريداً لهذا الطلب هوية كل من A و B ومعرفاً فريداً لهذا الطلب N1، والذي يطلق عليه "Nonce. ويمكن لهذا المعرف ان يتمثل بطابع الوقت أو عداد او رقم عشوائي. التطلبات الدنيا لهذا المعرف هو أن يختلف كم طلب لآخر. كذلك يجب أن يكون من الصعب على المعتدي توقع هذا المعرف وذلك لمنع عملية التخفي. لذلك فإن الرقم العشوائي يعتبر خياراً جيداً. 2-يستجيب مركز توزيع المفاتيح عن طريق الرد برسالة معماة باستخدام Ka. وبالتالي سيكون الطرف A هو الحيد القادر على قراءة هذه الرسالة بنجاح، كذلك سيكون المستخدم A متأكداً من أن مركز توزيع المفايتح هو الذي قام بتوليد هذه الرسالة حتماً. تضم هذه الرسالة عنصرين خاصين بالمستخدم A:
يستطيع المستخدم A بهذا الشكل أن يتاكد من أنه لم يجري أي تبديل على طلبه الأصلي قبل أن يصل إلى مركز توزيع المفاتيح، وأن هذا الرد لم يصدر عن أي طلب سابق. بالإضافة إلى ذلك تضم الرسالة عنصرين خاصين بالمستخدم B:
ستتم تعمية العنصرين الأخيرين بواسطة المفتاح Kb (المفتاح الرئيسي بين الطرف B ومركز توزيع المفاتيح). وهما مخصصان للإرسال إلى الطرف B من اجل إقامة الاتصال والتأكد من هوية A. 3-يخزن المستخدم A مفتاح الجلسة لاستخدامه في الجلسة القادمة، ويرسل إلى B المعلومات الخاصة به والتي تم توليدها في مركز توزيع المفاتيح، وهي بالتحديد [Ks ||IDA] Ekb. وبما أن هذه المعلومات معماة باستخدام Kb، لذلك ستكون محمية اتجاه التصنت. عندما تصل الرسالة إلى B، فإنه سيعرف مفتاح الجلسة Ks، وسيعلم أيضاً أن الطرف المقابل له هو A (من المعرف IDA)، كذلك سيكون متأكداً أن هذه المعلومات صادرة قطعاً عن مركز توزيع المفايتح (لأنها معماة بواسطة المفتاح Kb المعرف صادرة قطعاً عن مركز المفاتيح (لأنها معماة بواسطة المفتاح Kb المعروف من قبل مركز توزيع المفاتيح فقط). سيكون في هذه النقطة قد تم إيصال مفتاح الجلسة إلى كل من A و B بشكل سري، ويمكنهما بدء التراسل المحمي. إل انه هناك خطوتان إضافيتان مطلوبتان. 4-يرسل الطرف B معرفاً (Nonce) N2 إلى الطرف A، مستخدماً لذلك مفتاح الجلسة. 5-كذلك باستخدام المفتاح Ks يستجيب الطرف A بقيمة f(N2)، حيث f هو عبارة عن تابع يجري بعض التغيير على المعرف N2 (على سبيل المثال يضيف الرقم واحد). تؤكد هذه الخطوات للطرف B بأن الرسالة الأصلية المستقبلة (الخطوة 3) لم تكن عبارة عن تكرار. لاحظ أن عملية توزيع المفايتح بحد ذاتها تتضمن الخطوات من 1 وحتى 3. غير أن الخطوتين 4، 5 بالإضافة إلى 3 تنفذ وظيفة إثبات شخصية (هوية) فقط. التحكم الهرمي بالمفاتيحليس من الضروري حصر مسؤولية توزيع المفايتح بمركز توزيع وحيد. ففي الحقيقة في حالة الشبكات الكبيرة لن يكون الاقتصار على مركز وحيد حلاص عملياً. وكبديل لذلك يتم اتباع سياسة التوزع الهرمي لمراكز توزيع المفاتيح. فعلى سبيل المثال، يمكن أن يكون هناك مراكز توزيع مفاتيح محلية، بحيث يكون كل واحد من هذه المراكز مسؤولاً عن نطاق صغير من الشبكة الكلية، كشبكة وحيدة أو مبنى وحيد. فمن أجل تأمين الاتصال بين الطرفيات المنتمية إلى نفس النطاق المحلي، سيكون مركز توزيع المفاتيح مسؤولاً عن عملية توزيع المفاتيح على هذه الطرفيات. أما في حال انتماء الطرفيات إلى بطاقات مختلفة، فعندها يمكن أن تتصل مراكز التوزيع المحلية فيما بينها عن طرق مركز توزيع عام. يمكن في هذه الحالة ان يكون أي من المراكز الثلاثة مسؤولاً عن اختيار المفتاح. كما يمكن توسيع المفهوم الهرمي ليصل إلى ثلاث أو أربع طبقات، وربما أكثر، وذلك حسب عدد السمتخدمين الموجودة في نطاق جغرافي واحد من الشبكة. يقلل المخطط الهرمي الجهود المبذولة في عملية توزيع المفاتيح الرئيسية إلى الحد الأدنى، وذلك لأن معظم المفاتيح الرئيسية ستكون مؤلفة من تلك المفاتيح المشتركة بين مركز التوزيع المحلي والطرفيات التابعة له. بالإضافة إلى ذلك يحد هذا المخطط من حجم الخطر الممكن نتيجة انهيار مركز توزيع المفاتيح أو السطو عليه، لينحصر المحلي فقط. عمر مفتاح الجلسةيؤدي التغيير بسرعة لمفتاح الجلسة إلى زيادة مستوى الأمان، ذلك لأنه سيتوفر لدى المهاجم نصوصاً أقل من أجل تحليلها. يؤدي هذا التغيير المتكرر بالمقابل إلى تاخير أية عملية تراسل وإلى وضع حدود على حجم الشبكة. يجب أن يحاول المدير الأمني للشبكة موازنة هذين المتناقضين وذلك عند تحديد عمر مفتاح الجلسة المحدد. ففي حالة البروتوكولات المعتمدة على الوصلة، من الواضح أن الحيار البديهي هو استخدام نفس المفتاح الجلسة مادام الاتصال قائماً، ويتم استخدام مفتاح جلسة جديد عند كل جلسة جديدة. أما إذا استمرت الوصلة المنطقية لفترة زمنية طويلة، فعندها من الحكمة تغيير مفتاح الجلسة بشكل دوري، على سبيل المثال عندما يتم يروتوكول وحدة المعطيات (Protocol Data Unit-PDU) دورة أرقام كاملة. أما في البروتوكولات غير المعتمدة على العملية (دفقة عمليات Transaction-oriental), فليس هناك عملية بدء أو إنهاء واضحة للاتصال. وبالتالي ليس واضحاً متى سيتم تغيير المفتاح. الطريقة الأكثر أماناً في هذه الحالة هي استخدام مفتاح جلسة جديد في كل عملية تبادل معطيات. إلا أن هذا الأمر سيلغي إحدى الميزات الهامة للبروتوكولات غير المعتمدة على الاتصال، وهي التأحير الأقل الممكن والعبء الأقل الممكن في كل دفقة عمليات. لذلك فإن الاستراتيجية الأفضل في هذه الحالة هي استخدام مفتاح الجلسة لفترة زمنية محددة فقط أو لعدد محدد من العمليات. المخطط الشفاف للتحكم بالعملياتتملك الطريقة المبينة بالشكل 9-7 أشكالاً مختلفة، وسيتم شرح أحد هذه الأشكال في هذا المقطع. تصلح الطريقة الموضحة في الشكل 10-7 لتامين التعمية طرف لطرف على مستوى الشبكة أو مستوى النقل وبطريقة شفافة أو غير مرئية بالنسبة للمستخدم النهائي. تفترض هذه الطريقة ان الاتصالت تتم وفق بروتوطول طرف لطرف معتمد على الوصلة، مثل TCP. العنصر الجدير بالملاحظة في هذه الكريقة هو المعالج الطرفي (Front-End Processor-FEP) والذي يقوم بعمليات التعمية طرف لطرف ويحصل على مفاتيح الجلسات نيابة عن الحاسب المضيف أو الطرفية الخاصة به (هذه الطريقة موضحة 3-7). يوضح الشكل 10-7 الخطوات المتبعة أثناء إقامة الاتصال. عندما يرغب أحد الحواسيب المضيفة بإقامة اتصال مع حاسب مضيف آخر، فإنه يرسل حزمة طلب اتصال (الخطوة 1). يحفظ المعالج الطرفي هذه الحزمة ويتوجه إلى مركز توزيع المفاتيح للسماح بإقامة اتصال (الخطوة 2). الاتصالات بين FEP ومركز توزيع المفاتيح تكون معماة باستخدام مفتاح رئيسي خاص بين هذا المعالج الطرفي والمركز. إذا وافق مركز توزيع المفاتيح على طلب الاتصال، فإنه يولد مفتاح جلسة ويرسله إلى المعالجين الطرفيين المناسبين أو المهتمين بالاتصال، وذلك باستخدام مفتاح فريد ثابت لكل من المعالجين (الخطوة 3). يمكن ببمعالج الذي تقدم بالطلب الآن أن يصدر حزمة طلب اتصال، ومن بعدها سيقام الاتصال بين الطرفين (الخطوة 4). ستكون كل معطيات المتسخدمين المتبادلة بين الأنظمة الطرفية معماة من قبل المعالجات الطرفية الخاصة بها وباستخدام مفتاح الجلسة المخصص لمرة واحدة. (صورة:التوزيع الآلي للمفاتيح من أجل البروتوطولات المعتمدة على الوصلة) تتميز هذه الطريقة بأنها تخفف العبء على الأنظمة الطرفية. فمن وجهة نظر الحاسب المضيف يظهر المعالج الطرفي كعقدة تبديل حزم، بينما تبقى وحدة المواجهة مع الشبكة في الحاسب المضيف بدون تغيير. أما من وجهة نظر الشبكة، فيبدو المعالد الطرفي وكأنه المضيف، ولن تتغير في هذه الحالة وحدة المواجهة مع الحاسب المضيف والخاصة بتبديل الحزم. التحكم غير المركزي بالمفتاحيفترض استخدام مراكز توزيع المفاتيح تحقيق المتطلبات المفروضة عليه والقاضية بأن يكون هذا المركز محمي من عملية المراقبة وموثوق. يمكن إلغاء هذه المتطلبات بشكل كامل إذا كانت عملية توزيع المفاتيح غير مركزية بشكل كامل. إلا أن عدم المركزية ستكون غير عملية في حالة الشبكات الكبيرة المستخدمة للتعمية المتناظرة فقط، وإنما ستكون مفيدة في النطاق المحلي فقط. يتطلب تنفيذ الطريقة غير المركزية أن يكون كل نظام طرفي قادر على الاتصال بكافة الشركاء المحتملين في عملية الاتصال عبر وصلة آمنة وذلك بغرض توزيع مفتاح الجلسة. وبالتالي يجبأن يكون هناك [n(n-1)/2] مفتاحاً رئيسياً في حال كون الشبكة مؤلفة من n طرفية. يمكن إيصال مفتاح الجلسة من خلال تسلسل الخطوات التالي (الشكل 11-7): 1-يصدر الطرف A طلباً إلى الطرف B من أجل مفتاح جلسة ما، يتضمن الطلب المعرف N1(NONCE). 2-يجيب الطرف B برسالة معماة باستخدام المفتاح الرئيسي المشترك مع الطرف A. وتتضمن الرسالة: مفتاح الجلسة المختار من قبل B، معرف الطرف B، القيمة f(N1) ومعرف آخر N2. 3-يعيد الطرف A إلى الطرف B القيمة f(N2)، مستخدماً لذلك مفتاح الجلسة الجديد. وبالتالي، على الرغم من أن كل عقدة سوف تحوي (n-1) مفتاحاً رئيسياً، إلا أنها ستكون قادرة على توليد أي عدد مطلوب من مفاتيح الجلسات. وبما أن الرسالة المعماة باستخدام المفتاح الرئيسي تكون على الغالب قصيرة، لذلك سيكون تحليل تعميتها معقداً. تستخدم مفاتيح الجلسات لفترة زمنية محددة أيضاً وذلك من أجل حمايتها. (صورة:التوزيع غير المركزي للمفتاح) التحكم باستخدام المفاتيحلقد عمل مفهوم هرمية المفاتيح واستخدام تقنية مؤتمنة لتوزيعها على تخفيض عدد المفاتيح التي يجب معالجتها وتوزيعها يدوياً. ربما يجب فرض بعض التحكم على الطريقة التي يتم بها استخدام المفاتيح الموزعة آلياً. فعلى سبيل المثال، بالإضافة إلى فصل المفاتيح الرئيسية عن مفاتيح الجلسات، ربما يجب تعريف أنواع مختلفة الجلسات حسب استعمالهم، مثل أن يكون:
ولتوضيح قيمة فصل المفاتيح حسب النوع، سندرس الحالة التي يتم فيها استيراد المفتاح الرئيسي إلى الجهاز على شكل مفتاح تعمية معطيات. يتم عادة تأمين المفتاح الرئيسي فيزيائياً ضمن أجهزة التعمية الخاصة بمركز توزيع المفاتيح وبالنظام الطرفي. ستكون مفاتيح الجلسات المعماة بواسطة هذا المفتاح متوفرة للبرامج التطبيقية، مثل المعطيات التي تمت باستخدام مفاتيح الجلسات هذه. إلا أنه إذا تم التعامل مع المفتاح الرئيسي مثل مفتاح الجلسة، فربما سيكون ممكناً لتطبيق ما (غير مرخص له) ان يحصل على النص الصريح لمفتاح الجلسة المعماة بواسطة ذلك المفتاح الرئيسي. وبالتالي، ربما يكون من المفضل إقامة تحكم ما في النظام بحيث يحدد الطرق التي تستخدم فيها المفاتيح، وذلك بالاعتماد على الخصائص المرتبطة بتلك المفاتيح. تتلخص إحدى الطرق البسيطة يربط لاحقة مع كل مفتاح. تم اقتراح هذه التقنية للاستخدام مع خوارزمية DES وذلك باستخدام ثماني خانات إضافية في كل مفتاح من مفاتيح DES ذات الطول 64 خانة. أي أن الخانات الثماني التي لا تنتمي في الأصل إلى المفتاح والمحجوزة عادة لاختيار الازدواجية ستكون هي اللاحقة. نوضح فيما يلي عمل هذه الخانات:
وبما أن هذه اللاحقة مضمنة في المفتاح، فستتم تعميتها مع المفتاح عند توزيعه، وبالتالي تتحقق حمايتها. النقاط السلبية لهذا المخطط هي: (1) طول اللاحقة مقدي بثماني خانات، وبالتالي سيكون هناك تقييد وتحديد في المرونة والوظائفية، (2) بما أنه لا يتم إرسال اللاحقة بشكل صريح، فإنه يمكن الاستفادة منها في نقطة فك التعمية فقط، وبالتالي سيكون هناك تقييد في الطرق التي يتم من خلالها التحكم باستخدام المفتاح. (صورة:شعاع التحكم في التعمية وفك التعمية) هناك طريقة أكثر مرونة تدعى شعاع التحكم. يرتبط كل مفتاح جلسة، في هذه الطريقة، بشعاع تحكم مؤلف من عدد من الحقول التي تحدد استخدام او عدم استخدام هذا المفتاح. طول شعاع التحكم غير ثابت. يتم جمع شعاع التحكم بشكل معمى مع المفتاح عند توليد المفتاح في مركز توزيع المفاتيح. الشكل 12-7 يوضح عمليتي الجمع والفك. يتم في الخطوة الأولى تمرير شعاع التحكم من خلال وظيفة المزج (Hash function) والتي تنتج قيمة طولها مساو لطول مفتاح التعمية. جوهرياً، تحول وظيفة المزج القيم من مجال كبير إلى مجال أصغر، مع نشر معقول ذو شكل موحد. فعلى سبيل المثال إذا تم تمرير أعداد في المجال من 1 وحتى 100 على وظيفة المزج فنتاج أعداد في المجال من 1 وحتى 10% من القيم المصدرية سوف يتم تحويلها إلى كل قيمة من قيم المآل. بعد ذلك سيتم جمع خرج قيم وظيفة المزج مع المفتاح الرئيسي بواسطة الوظيفة XOR لإنتاج الخرج الذي يستخدم كمفتاح دخل التعمية مفتاح الجلسة. أي أن: Hashvalue=H=h(CV) Keyinput=Km+H [K5] Ciphertext=Ekm+H حيث Km هو المفتاح الرئيسي و Ks هو مفتاح الجلسة. يتم استراجاع مفتاح الجلسة إلى نص صريح عن طريق العملية المعاكسة: [[Ks=Dkm+H]Ekm+HKs عندما يرسل مفتاح الجلسة إلى المستخدم من مركز توزيع المفاتيح، يتم مرافقته بشعاع التحكم بشكل صريح. يمكن استرجاع مفتاح الجلسة عن طريق استخدام كل من المفتاح الرئيسي وشعاع التحكم فقط. وبالتالي لابد من مرافقة شعاع التحكم لمفتاح الجلسة. يملك استخدام شعاع التحكم ميزتين بالمقارنة مع استخدام اللاحقة ذات الثماني خانات. أولاً، ليس هناك أية قيود على طول شعاع التحكم، بما يضمن تحكماً مرناً ومعقداً على استخدام المفاتيح. ثانياً، يتوفر شعاع التحكم بشكل صريح في كل المراحل، وبالتالي يمكن التحكم باستخدام المفتاح في مواقع متعددة. توليد الأرقام العشوائيةتلعب الأرقام العشوائية دوراً هاماً في التعمية وفي مختلاف تطبيقات حماية الشبكات. سنعرض في هذا المقطع بشكل مختصر، فكرة عن استخدام الأرقام العشوائية في أمن الشبكات، وبعد ذلك سنلقي نظرة على طرق توليد الأرقام العشوائية. استخدام الأرقام العشوائيةيستخدم العديد من خوارزميات أمن الشبكات المعتمدة على التعمية، الأرقام العشوائية ومن هذه الخوارزميات:
تفرض هذه التطبيقات مطلبين مستقلين على تسلسل الأرقام العشوائية، وليس بالضرورة أن يكونا متوافقين: العشوائية وعدم القدرة على التوقع أو التخمين. العشوائية ينصب الاهتمام عند توليد سلسلة أرقام عشوائية، بأن يكون تسلسل هذه الأرقام عشوائياً من وجهة نظر دراسة إحصائية معرفة تماماً. يستخدم المعيارين التاليان للحكم على عشوائية تسلسل ما من الأرقام:
على الرغم من وجود اختبارات جيدة لتحديد فيما إذا كانت السلسلة تطابق توزيعاً محدداً، مثل التوزع الطبيعي، إلا أنه لا يوجد أي اختبار لإثبات الاستقلالية. لكن هناك اختبارات مختلفة تطبق لإظهار أن السلسلة لا تحقق ا لاستقلالية. فالاستراتيجية العامة هي إجراء العديد من هذه الاختبارات إلى أن تكون ثقة بأن الاستقلالية محققة بشكل قاطع. تستخدم سلسلة الأرقام التي تبدو انها عشوائية إحصائية في تصميم خوارزميات التعمية. فعلى سبيل المثال، المطلب الأساسي لخوارزمية التعمية باستخدام المفتاح العمومي –RSA والتي ستتم مناقشتها في الفصل التاسع، والتي ستتم مناقشتها في الفصل التاسع، هو إمكانية توليد أعداد أولية. وبشكل عام، يصعب التحقق من كون N على كل الأعداد الصحيحة الفردية التي يكون أصغر من . إذا كان العدد N من المرتبة 10150، على سبيل المثال، وهو ليس بالرقم الكبير أو الغريب بالنسبة لخوارزميات التعمية باستخدام المفتاح العمومي، فإن هذه الطريقة ستكون فوق طاقة المحللين وحواسيبهم. إلا أن هناك العديد من الخوارزميات الفعالة المستخدمة لاختبارات أولية لرقم ما، وذلك عن طريق استخدام سلسلة من الأعداد الصحيحة المختارة عشوائياً كدخل لعملية حساب بسيطة نسبياً. فإذا كانت السلسلة طويلة بالقدر الكافي (لكنها أقل بكثير من )، فإنه يمكن إثبات أولية العدد بثقة تقريبية. يستخدم هذا النوع من الاختبارات، والذي يدعي العشوائي، بشكل كبير في تصميم الخوارزميات. وبشكل عام، إذا كانت المشكلة معقدة جداً وتستهلك وقتاً كبيراً لحلها بشكل دقيق، عندها تستخدم طرق أبسط وأقصر تعتمد على العشوائية وذلك لتقديم الحل من أي مستوى مطلوب من الثقة. عدم القدرة على التوقع او التخمينلا تعتبر المتطلبات على بعض التطبيقات، مثل تحديد هوية الأطراف وتوليد مفاتيح الجلسات، قاسية بالنسبة للعشوائية (من وجهة نظر إحصائية)، إنما يجب ألا يكون بالإمكان توقع العناصر المتتالية في السلسلة، وبالتالي لا يمكن توقعها أو تخمينها. إلا أنه، وكما ذكرنا سابقاً، نادراً ما تستخدم الأرقام او الأعداد العشوائية الحقيقية، إنما بالمقابل يتم استخدام سلاسل أعداد مولدة بواسطة خورازمية ما تبدو وكأنها عشوائية. في هذه الحالة الأخيرة، يجب أخذ الحذر من ألا يكون المعتدي قادراً على التنبؤ بالعنصر التالي من السلسلة بالاعتماد على العناصر السابقة. مصادر الأرقام العشوائيةمن الصعب الحصول على مصادر الأرقام العشوائية الحقيقية. فكثرة مولدات الضجيج الفيزيائي، مثل كواشف النبضات في أحداث الإشعاع الأيواني، وانابيب تفريغ الغاز، وتسريب المكثفات، يمكن أن تكون مصادر ممكنة. إلا ان مثل هذه الجهزة تقدم خدمات محددة لتطبيقات أمن الشبكات. هناك جملة من المسائل المتعلقة بعشوائية ودقة تمثيل هذه الأرقام، فضلاً عن المتطلبات اللازمة لوصل أحد هذه الأجهزة مع كل نظام في الشبكة. البديل الآخر هو اعتماد مجموعة من الأرقام العشوئية المنتقاة بشكل جيد والتي تم نشرها. إلا أن هذه المجموعات تقدم مصدراً محدوداً جداً بالمقارنة مع المتطلبات المفروضة من قبل تطبيقات أمن الشبكات القابلة للنمو. بالإضافة إلى أن على الرغم من عشوائية الأرقام الموجودة في هذه المجموعات، إلا أنها تبقى قابلة للتخمين، وذلك لأن المعتدي الذي يعرف بأنه تم اعتماد غحدى هذه المجموعات سيعمل على اقتناء نسخة منها حتماً. نستنتج مما سبق أن تطبيقات التعمية تعتمد عادة خوارزميات لتوليد الأرقام العشوائية. تعمل هذه الخوارزميات وفق خطة محددة مسبقاً، وبالتالي ستنتج تسلسلاً من الأرقام ال تي لا تتمتع بالصفات العشوائية إحصائياً. إلا أنه إذا كانت الخوارزمية جيدة فسوف تمر بشكل معقول عبر عدة اختبارات للعشوائية. تدعى هذه الأرقام عادة بالأرقام شبع العشوائية. ربما ستكون قلقاً إلى حد ما من جراء استخدام أرقام مولدة بواسطة خوارزمية ذات تصرف محدد تماماً، بينما من المفروض ان تكون هذه الأرقام عشوائية. إلا أنه على الرغم مما يدعى الاعتارض الفلسفي لذلك، إلا أن هذه الطريقة سوف تعمل عموماً. وذلك حسب ما وضع من قبل أحد الخبراء في نظرية الاحتمالات، والذي يمكن اختصاره بالقول: اننا مضطرون لأغراض عملية أن نقبل بما يسمى العشوائية النسبية والتي تعني أنه لا يوجد مبرر لقولنا أنه لا تتحقق العشوائية وذلك مع الأخذ بعين الاهتبار المجال المدروس. فهذا الأمر شخصي إلى حد كبير، حيث يقول الإحصائيون أننا سنأخذ مثالاً عشوائياً- آملين بذلك أن تمتلك نتيجة المثال المأخوذ نفس الخصائص تقريباً لكامل النطاق الذي أخذ منه هذا المثال. مولدات الأرقام شبه العشوائيةالتقنية الأكثر استخداماً في توليد الأرقام شبه العشوائية هي الخوارزمية التي قدمها Lehmer، والتي تعرف باسم الطريقة الثلاثية الخطية (The Linear congruential method) . يتم تهيئة هذه الخوارزمية بواسطة أربعة معاملات هي: m القياس m>0 a الضارب m>a>=0 c التزايد m>X0>=0 X0 القيمة البدائية، او البذرة m>X0>=0 يتم الحصول على الأرقام العشوائية [Xn] من خلال تكرار المعادلة التالية: Xn+1=(aXn+c) mod m فإذا كان كل من m و a و c و X0 اعداداً صحيحة، فإن هذه التقنية سوف تنتج سلسلة من الأعداد الصحيحة الواقعة في المجال m>Xn>=0 . يلعب اختيار قيم الأعداد a و c و m دوراً هاماً في إنتاج مولد أرقام عشوائية جيد. فعلى سبيل المثال، سنفرض أن a=c=1. من الواضح أن السلسلة الناتجة غير مرضية. الآن إذا أخذنا a=7 و m-32 و X0=1، فإن السلسلة المتولدة ستكون (7, 17, 23, 1, 7, ….) ، والتي تبدو أيضاً غير مرضية. حيث يتم استخدام أربع قيم فقط من كل القيم المحتملة والتي تبلغ عددها 32 قيمة، وبالتالي يقال عن هذه السلسلة أنه تملك الدور 4. إذا غيرنا قيمة a إلى 5، عندها ستصبح السلسلة (5, 25, 29, 17, 21, 9, 13, 1, ….)، أي سيزيد الدور إلى 8. نرغب ف يجعل القيمة m كبيرة جداً، بحيث يكون هناك إمكانية لتوليد سلسلة طويلة من الأرقام العشوائية المختلفة. الحل الشائع هو جعل قيمة m قريبة من العدد الصحيح غير السالب العظمى الممكن تمثيلها في الحاسوب المحدد. وبالتالي فإن قيمة m ستكون قريبة من أو تساوي 231 في الحواسيب الاعتيادية الحديثة. هناك ثلاثة اختبارات مقترحة لتقويم مولد الأرقام العشوائية: T1: يجب أن تكون الوظيفة هي وظيفة توليد بدور كامل. أي أن الوظيفة يجب أن تولد كل الأرقام بين 0 و m و قبل أن تعاد هذه القيم. T2: يجب أن تبدو السلسلة المولدة عشوائية. حيث أن السلسلة ليست عشوائية، لأنها مولدة بطريقة محددة تماماً. هناك العديد من الاختبارات الإحصائية التي يمكن استخدامها لمعاينة درجة عشوائية السلسلة. T3: يجب أن تكون الوظيفة قابلة للتطبيق بشكل فعال في الوحدات الحسابية ذات 32 خانة. يمكن تجاوز هذه الاختبارات الثلاثة إذا تم انتقاء قيم مناسبة لكل من a و c و m. ففيما يخص الاختبار الأول T1، يمكن تبيان أنه إذا كان m أولياً و c=0، فإنه من أجل قيم محددة للمعامل a، سيكون دور تابع التوليد هو m-1، وذلك بافتقاد القيمة 0 فقط. أما من أجل الحسابات ذات 32-بايت فستكون القمية الأولية 231-1 مناسبة من أجل m. وبالتالي يصبح التوليد: Xn+1=(aXn) mod (231-1) القيم المناسبة للمعامل a والتي تساعد في تجاوز الاختبارات الثلاثة، والتي يمكن اختيارها من بين أكثر من 2 بليون قيمة، ليست بالكثيرة . إحدى هذه القيم هي a=75=16807، والتي كانت مختارة بالأصل للاستخدام مع عائلة الحواسيب IBM360. يستخدم هذا المولد بشكل واسع، وقد كان عرضة للاختبار أكثر من أي مولد أرقام شبه عشوائي آخر. وينصح باستخدامه دائماً في الأعمال الإحصائية وأعمال المحاكاة. تنبع قوة الخوارزمية التلاؤمية الخطية في أنه لو تم اختيار الضارب والقياس بشكل جيد، فإن سلسلة الأرقام الناتجة ستكون غير قابلة للتمييز عن السلسلة العشوائية الناتجة عن مجموعة 1, 2, …m-1 (ولكن بدون أي تبديل). إلا أنه لا يوجد أي شئ عشوائي تماماً في كل ما يخص الخوارزمية، ما عدا اختيار القيمة الابتدائية X0. ولكن عندما يتم اختيار هذه القيمة، فإن بقية الأرقام في السلسلة ستكون محددة تماماً. لهذا الأمر تطبيقاته في تحليل التعمية. إذا عرف المعتدي أن الخوارزمية الثلاثية الخطية مستخدمة، وإذا تمت معرفة المعاملات المستخدمة في هذه الخوارزمية (على سبيل المثال m=231-1, C=0, a=75)، عندها إذا تم اكتشاف رقم واحد، فإن كل الأرقام التالية ستكون معروفة. حتى إذا عرف المعتدي ان الخوارزمية التلاؤمية الخطية هي قيد الاستخدام فقط، فإن معرفة جزء صغير من السلسلة سيكون كافياً لتحديد معاملات الخوارزمية. لنفترض أن المعتدي استطاع أن يحدد القيم X0, X1, X2, , X3 عندها: X1=(aX0+c) mod m X2=(aX1+c) mod m X3=(aX2+c) mod m ومن الواضح أنه يمكن حل هذه المعاملات واستنتاج قيم a و c و m. وبالتالي، على الرغم من الفائدة الناتجة عن استخدام مولد أرقام عشوائية، إلا أن المطلوب هو جعل التسلسل الحقيقي للأرقام المستخدمة غير قابل للتخمين، بحيث أن معرفة جزء من السلسلة لن يكون كافياً للمعتدي من أجل تحديد العناصر التالية من هذه السلسلة. يمكن الوصول إلى هذا الهدف بعدى طرق. فعلى سبيل المثال، يمكن استخدام ساعة النظام الداخلية لتعديل سلسلة الأرقام العشوائية. حيث يمكن إعادة بدء توليد السلسلة بعد كل N رقم واستخدام قيمة الساعة الحالية (بالقياس m) كأساس جديد. يمكن استخدام الساعة بطرق أخرى مثل إضافة قيمة الساعة الحالية إلى الرقم العشوائي (بالقياس m). الأرقام العشوائية المولدة عن طريق التعميةيمكن في تطبيقات التعمية الاستفادة من خوارزمية التعمية المتوفرة لإنتاج أرقام عشوائية. تستخدم عدة طرق لذلك، وسندرس في الفقرات اللاحقة ثلاثة أمثلة. التعمية الدوارةيوضح الشكل 13-7 إحدى الطرق المقترجة. تستخدم الإجرائية في هذه الحالة لتوليد مفاتيح جلسات من مفتاح رئيسي. يقدم العداد ذو الدور N دخلاً لخوارزمية التعمية. فعلى سبيل المثال، إذا كان المطلوب إنتاج مفاتيح DES ذات 56 خانة، عندها يمكن استخدام عداد بدور 256 خانة. بعد إنتاج كل مفتاح ستتم زيادة العداد بمقدار 1. وبالتالي سيتم إنتاج أرقام شبه عشوائية بهذه الطريقة على الدور: يعتمد كل واحد من قيم الخرج X0, X1, ….Xn-1 على قيمة مختلفة للعداد، وبالتالي نجد أن . وبما أن المغتاح الرئيس محمي، فلن يكون من الممكن حسابياً تخمين أي من المفاتيح السرية بمجرد معرفة واحد أو أكثر من المفاتيح السابقة. (صورة: توليد أرقام شبه عشوائية بالاعتماد على عداد) لتقوية الخوارزمية أكثر من ذلك، يمكن جعل الدخل هو نفسه خرج مولد الأرقام شبه العشوائية العامل على كل الدور بدلاً من العداد البسيط. نمط التغذية العكسية من خرج DESيمكن استخدام نمط التغذية العكسية من خرج DES، الموضح في الشكل 14-3، لتوليد المفاتيح وكذلك من أجل التعمية التسلسلية. لاحظ أن خرج كل مرحلة من العملية هو عبارة عن قيمة ذات 64 خانة، والتي يتم فيها إرجاع الخانة الأكثر أهمية (في أقصى اليسار) كتغذية عكسية لعملية التعمية. تتألف قيم الخرج المتتالية ذات 64 خانة في تسلسل من الأرقام شبه العشوائية ذات المواصفات الإحصائية الجيدة. وكما هو الحال في الطريقة المقترحة في الفقرة السابقة، فإن المفتاح الرئيسي المحمي سوف سوف يساهم في حماية مفاتيح الجلسات. مولد الأرقام شبه العشوائية ANSI X9.17يعتبر مولد الأرقام شبه العشوائية ANSI X9.17 أحد أقوى المولدات المتوفرة. وهناك عدد من التطبيقات التي تستخدم هذا المولد، بما في ذلك تطبيقات أمنية-مالية و PCP. يوضح الشكل 14-7 الخوارزمية التي تستخدم DES الثلاثية للتعمية. العناصر الأساسية هي:
نعرف القيم التالية: DTi قيم التاريخ والوقت في بداية المرحلة رقم i من التوليد. Vi قيمة البذرة في بداية المرحلة رقم i من التوليد. Ri الرقم العشوائي الناتج من مرحلة التوليد رقم i. K1, K2 مفاتيح DES المستخدمة في كل مرحلة. (صورة: مولد الأرقام شبه العشوائية ANSI X9.17) عندها يكون: (صورة: معادلة) حيث DES يعني التسلسل "تعمية-فك تعمية-تعمية" المستخدم في خوارزمية DES الثلاثية ذات المفتاحين. هناك عدة عوامل تسهم في تحديد قوة هذه الخوارزمية من وجهة نظر التعمية. تتضمن هذه التقنية مفتاحاً ذا 112 خانة وثلاث مراحل تشفير EDE تحتوي بمجموعها على تسع عمليات تعمية وفق خوارزمية DES . تتم قيادة هذه الخطة بدخلين شبه عشوائيين، قيمة الوقت والتاريخ، وقيمة البذرة الناتجة عن المولد والتي تختلف عن الأرقام شبه العشوائية الناتجة عن المولد. وبالتالي فإن حجم المعطيات التي يجب أن يسيطر عليها المعتدي لن تكون قليلة على الإطلاق. حتى ولو تم كشف الرقم شبه العشوائي Ri، فسيككون من المستحيل تخمين الرقم من خلاله، وذلك لأنه ناتج عن تطبيق عمليات EDE إضافية. مولد Blum Blum Shubهناك طريقة شائعة لتوليد شبه عشوائية آمنة معروفة باسم Blum Blum Shub حيث أخذت هذا الاسم من مصمميها. وربما تعتبر هذه الطريقة الأقوى نتيجة لقوة التعمية المستخدمة فيها. يتلخص عملها فيما يلي: أولاً، يتم انتقاء عددين أوليين كبيرين p و q، بحيث يكون لكل منهما الباقي 3 عندما يقسم على 4، أي أن: p=q=3 (mod 4) تم شرح هذا الموضوع بشكل مفصل في الفصل الرابع, ويعني ببساطة أن: (p mod 4)=(q mod 4)=3. فعلى سبيل المثال العددان 7 و 11 يحققان هذه العلاقة، أي أن 7=11=3 (mod 4). ليكن n=p*q . ثانياً، نختار رقماً عشوائياً S، بحيث يكون S أولياً بالنسبة للعدد n، هذا يكافئ القول بأن p و q لا يشكلان عوامل للعدد S. بعد ذلك ينتج المولد BBS سلسلة من الخانات Bi وذلك حسب الخوارزمية التالية: X0=S2 mod n For i=1 to Xi=(Xi-1)2 mod n Bi=Xi mod 2 وبالتالي، يتم الحصول على الخانة الأقل أهمية في كل دورة. الجدول 2-7 يبين مثالاً عن عمليات BBS. لاحظ أن n=192649=383*503، وأن البذرة S=101355. (جدول: خصائص تعمية الوصلة والتعمية طرف لطرف) يطلق على BBS مولد الخانات شبه العشوائية الآمن من وجهة نظر التعمية: (CSPRBG-Cryptograhically Secure Pseudorandom Bit Generator). يعرف CSRPBG بأنه غحدى المولدات التي تختار اختبار الخانة التالية، والذي يعرف بدوره كما يلي: "يقال عن مولد الخانات شبه العشوائية أنه يجتاز اختبار الخانة التالية، إذا لم يكن هناك خوارزمية كثير الحدود زمني بحيث إذا أعطي كدخل أو K خانة من سلسلة الخرج، كان بالإمكان الحصول على الخانة رقم (K+1) باحتمال اكبر من 1/2 بكثير". بكلمات أخرى، إذا تم الحصول على أول K خانة من السلسلة، فيجب ألا يكون هناك خوارزمية عملية تساعد على تقدير قمية خانة الخرج باحتمال أكبر من النصف. فمن أجل كل الأهداف العملية تبقى السلسلة غير قابلة للتنبؤ. تعتمد سرية BBS على صعوبة الحصول على عوامل العدد n. أي أنه من أجل n ما معطى، يجب تحديد العامليين الأوليين p و q.
القسم الثاني: التعمية باستخدام المفتاح العمومي ووظائف المزجمقدمة إلى نظرية الأعدادتحتل العديد من المفاهيم والقضايا المطروحة في نظرية الأعداد مكاناً أساسياً عند تصميم خوارزميات التعمية ذات المفتاح العمومي. يقدم هذا الفصل لمحة عن المفاهيم والمبادئ التي سيتم استخدامها في بقية الفصول. يمكن للقارئ المطلع على هذه المواضيع عدم قراءة هذا الفصل، والانتقال مباشرة إلى الفصول اللاحقة. الأعداد الأوليةتعتبر الأعداد الأولية مركز اهتمام نظرية الأعداد. وسنقدم في هذا المقطع لمحة سريعة عن المواضيع المتعلقة بالأعداد الأولية. يقال عن عدد ما P>1 أنه عدد اولي إذا، وفقط إذا كانت قواسمه هي +-1 و P +- تلعب الأعداد الأولية دوراً هاماً في نظرية الأعداد وفي التقنيات الموضحة في هذا الفصل. يبين الجدول (1-8) الأعداد الأولية النحصورة بين 1 و 2000. يمكن تحليل أي عدد a>1 إلى عوامله بطريقة فريدة بالشكل: a=p1a1p2a2 …..p1a1 حيث P1 …….{2 و P1 هي أعداد أولية، و a1 هو عدد صحيح موجب.
(صور:جدول الأعداد الأولية التي تقل عن 2000) من المفيد طرح هذا الموضوع بالشكل التالي. إذا كانت P هي عبارة عن مجموعة الأعداد الأولية كلها، عندها يمكن التعبير عن أي عدد صحيح موجب a بالشكل التالي: (صورة:معادلة) الطرف اليميني هو عبارة عن مضاريب كل الأعداد الأوليى المحتملة، معظم الأسس ap ستأخذ القيمة صفر من أجل قيمة محددة للعدد a.
يمكن تحديد قيمة أي عدد صحيح موجب عن طريق سرد الأسس غير الصفرية الواردة في الشكل السابق.
إن ضرب عددين بعضهما ببعض يكافئ جمع الأسس المتوافقة. Kp=mp+npk=m*n من أجل كل
ماذا تعني بقولنا أن العدد a يقسم العدد (a|b) b، من وجخة نظر العوامل الأولية؟ يمكن لأي عدد صحيح pk أن يقسم فقط بواسطة عدد صحيح أخر والذي تكون عوامله الولية بأسس تساوي أو أصغر من أسس العوامل الأولية ذاتها في العدد المقسوم. أي يمكن القول: (صورة: معادلة)
من السهل تحديد القاسم المشترك الأعظم لعددين صحيحين موجبين إذا عبرنا عن كل منهما على شكل مضاريب عوامله الأولية.
وبشكل عام: (صورة:معادلة) لا يعتبر تحديد العوامل الأولية لعدد كبير بالأمر السهل، وبالتالي لا تشكل العلاقة السابقة طريقة عملية لحساب القاسم المشترك الأعظم. نظريات فيرمات وأويلرهناك نظريتان تلعبان دوراً هاماً في التعمية باستخدام المفتاح العمومي، هما نظرية فيرمات ونظرية أويلر. نظرية فيرماتتنص نظرية فيرمات على ما يلي: إذا كان p عدد أولياً، وكان a عدداً صحيحاً موجباً لا يقبل القسمة على p, فإن: ap-1=1 mad p (1-8) البرهان: نعرف من الفص الرباع انه تم ضرب كل عناصر Zp، حيث Zp هي مجموعة الأعداد الصحيحة (0,1,….p-1)، بالعدد a وبالقياس p فإن النتيجة ستتألف من كل عناصر Zp بترتيب معين. بالإضافة إلى أنه a*0=0 mod p. وبالتالي فإن (p-1) عدداً (a mod p, 2a mod p, … (p-1) a mod p) ستكون هي تماماً الأعداد (1,2, … p-1) وفق ترتيب محدد. حاصل ضرب الأرقام في كلا المجموعتين بالقياس p يعطي: (صورة: معادلة) يمكن اختصار الحد (p-1) لأنه عدد أولي بالنسبة لعدد p [راجع المعادلة 2-4]. نحصل في النتيجة على المعادلة (1-8).
هناك صيغة أخرى مفيدة لهذه النظرية: إذا كان p عدداً اولياً وكان a أي عدد صحيح موجب، فإن: ap=a mod p (2-8)
تابع أويلرنحتاج قبل الدخول بنظرية أويلر إلى تقديم قيمة هامة في نظرية الأعداد، تعرف باسم تابع أويلر، وتكتب بالشكل حيث هي عبارة عن عدد الأرقام الصحيحة الموجبة التي أصغر تماماً من العدد n واولية بالنسبة له.
من الواضح أن لأي عدد أولي P سيكون لنفرض الأن أنه لدينا عددان أوليان p و q، حيث p=/q. عندها. ومن أجل n=pq سيكون: (صورة:معادلة) لإيضاح أن ، سنعتبر ان مجموعة عناصر Zn هي {0,1,….pq-1}. مجموعة العناصر غير الأولية بالنسبة للعدد n هي المحموعة {p,2p,….(q-1)p}، والمجموعة {p,2p,….(q-2)p}، والصفر. وبالتالي فغن: (صورة: معادلة) (صورة: جدول) نظرية أويلرتنص نظرية أويلر على أنه من أجل أي عددين a، n أوليين فيما بينهما فإن: (صورة: معادلة) البرهان: المعادلة (صورة: معادلة) البرهان: المعادلة (3-8) صحيحة إذا كان n أولياً، حيث أنه في هذه الحالة سيكون وبالتالي تتحقق نظرية فيرمات. إلا أنها ستكون محققة أيضاً من اجل أي عدد صحيح n. تذكر أن هو عبارة عن عدد الأعداد الصحيحة الموجبة الأصغر من n والتي تكون اولية بالنسبة له. لنأخذ مجموعة الأعداد الصحيحة، والمعطاة بالصيغة: ( صورة: معادلة) المجموعة S هي عبارة عن المجموعة R مع تبديل مواضع عناصرها، وذلك وفق الخطوات المنطقية التالية: 1-بما أن a عدد أولي بالنسبة للعدد n و xi اولي بالنسبة للعدد n، فإن axi سيكون أولياً بالنسبة للعدد n. أي أن كل عناصر المجموعة S هي عبارة عن الأعداد الصحيحة الأصغر من n والأولية بالنسبة له. 2-ليس هناك أي تكرار في S. فحسب المعادلة (2-4)، إذا كان axi mod n=azi mod n، فإن xi=xj. وبالتالي: (صورة:معادلة) يمكن إظهار نتيجة نظرية أويلر لتوضيح صحة خوارزمية RSA (الفصل التاسع). من اجل الأعداد الاولية P و q المعطاة، والأعداد الصحيحة n=pq و m، حيث 0<m<n فإن العلاقة التالية تكون محققة: (صورة:معادلة) إذا كان ged (m,n) =1، أي إذا كان m أولياً بالنسبة للعدد n, عندها ستكون العلاقة محققة، استناداً إلى نظرية أويلر [العلاقة (3-8)]. لنفرض أن ged (m, n) =/ 1. ماذا يعني هذا؟ بما أن n=pq فإن المساواة ged (m, n)=1 تكافئ التعبير المنطقي (m ليست من مضاريب p) و (m ليست من مضاريب q) . إذا كانت m من مضاريب q، فإن n و m مشتركان في العامل الأولي q وغير أوليين بالنسبة لبعضهما بعض. وبالتالي يجب أن يكون التعبير ged (m, n)=/1 مكافئ لنقيض التعبير المنطقي السابق. وبالتالي فإن ged (m, n) =1 مكافئ للتعبير المنطقي (m من مضاعفات p) أو (m من مضاعفات q). لناخذ الحالة التي يكون فيها m من مضاعفات p، والتي يمكن التعبير عنها بالعلاقة m=cp، حيث c عدد صحيح موجب ما. يجب أن يكون في هذه الحالة ged (m, q)=1. وإلأ فإن m من مضاعفات p و m من ضماعفات q وعلاوة على ذلك m<pq. إذا كان ged (m, q)=1، عندها ستكون نظرية أويلر محققة: (صورة:معادلة) اختبار الأوليةتعتمد العديد من خوارزميات التعمية على اختيار واحد او أكثر من الأعداد الأولية الكبيرة جداً وبشكل عشوائي. وبالتالي نحن نواجه مشكلة تحديد فيما بعد إذا كان العدد المنتخب اولياً أم لا. لا يوجد حتى الآن طريقة فعالة وبسيطة لإنجاز هذا الغرض. يعرض هذا الفصل خوارزمية مشهورة تلبي هذا الغرض. ستستغرب عندما تعلم أن هذه الخوارزمية تعطي أرقاماً ليست بالضرورة أولية، إنما تعطي رقماً سيكون على الأغلب اولياً. وسنشرح ذلك بالأمثلة. تستفيد هذه الخوارزمية من نظرية فيرمات [معادلة (1-9)]، والتي تقول بان aa-1= 1 mod n إذا كان n اولياً. يمكن شرح الخوارزمية كما يلي. من اجل رقم فردي صحيح مرشح 3<=n، سنأخذ الرقم الزوجي (n-1). يمكن التعبير عن هذا الرقم على شكل قوة ما للعدد 2 مضروبة برقم فردي: n-1=2kq حيث k>0 و q فردي. أي أننا قسمنا (n-1) على العدد 2 حتى أصبح الناتج فردياً، وبالتالي كان عدد مرات التقسيم هي k. نختار بعد ذلك عدداً صحيحاً a في المجال n-1>n>1. تتضمن الخوارزمية عندها حساب البواقي بالقياس n لتسلسل القوى التالي: aq, a2q, …..a2k-1q, a2kq (7-8) فإذا كان n أولياً، فإننا نعلم من نظرية فيرمات أن a2kq mod n=an-1 mod n=1. ربما يكون او لا يكون هناك عنصر يسبق السلسلة (7-8) والذي يملك الباقي 1. ولتوضيح ما سيلي، سنعبر عن السلسلة (7-8) بالشكل التالي: {a2kq,0<=j<=k}. عندها، إذا كان n أولياً، فسنأخذ أصغر قيمة للعدد (0<=j<=k)، والتي تحقق a2kq mod n =1 . وسيكون هناك حالتان للدراسة.
(a2kq-1) mod n =(a2j-1q-1)( a2j-1q +1) mod n=0 وهذا يتضمن حقيقة أن n يقسم إما (a2kq-1) أو ( a2j-1q +1)، وذلك لأنه حسب الفرض j هو عبارة عن أصغر عدد صحيح بحيث يكون n قاسماً للتركيب (a2kq-1) و n (a2jq-1)، وبالتالي فإن n يقسم ( a2j-1q +1) أو ما يكافئ ذلك وهو: a2jq mod n = (-1) mod n=n-1 تؤدي الاعتبارات السابقة إلى أن n هو عدد أولي، فإما أول عنصر من قائمة البواقي (a2, a2q, ….2k-1q) يساوي الواحد، أو أن عنصر ما من القائمة يساوي (n-1)، فيما عدا ذلك فإن n هو عدد مركب (أي أنه غير أولي). إلا أنه حتى ولو تحقق اشلرط، فهذا لا يعني أن n أولي بالضرورة. يمكن وضع إجرائية الاختبار Test بشكل منهجي، بحيث يكون دخل هذه الإجرائية هو العدد الصحيح المرشح n، والناتج سيكون التعبير "composite" (مركب) إذا كان n محدداً تماماً على أنه غير أولي، بينما ستعطي النتيجة "inconclusive" (غير حاسم) إذا كان من ال محتمل أن يكون n أولياً. Test (n) 1-يجب أن نجد الأعداد الصحيحة k و q بحيث k>0 و n-1=2kq 2-نختار عدداً عشوائياً a، حيث 1<a<n-1 3-إذا كان a2 mod n=1، عندها نعيد النتيجة "غير حاسم" 4-نكرر الحلقة من أجل j=0 وحتى j=k-1 5-إذا كان a2kj mod n=n-1 عندها نعيد النتيجة "غير حاسم" 6-أعد النتيجة "مركب"
مسائل احتماليةهناك مسألتان في الاحتمالات يجب معالجتهما: الأولى- كيف يمكننا استخدام خوارزمية Miller-Rabin لتحديد فيما إذا كانالعدد أولياً أم لا وبدرجة عالية من الثقة. الثانية- ماهو مدى صعوبة اختيار رقم أولي كبير عشوائي؟ الاستخدام المتكرر لخوارزمية Miller-Rabinرأينا أنه إذا أعادت الوظيفة Test (n) القيمة "Composite"، فإن العدد a ليس أولياً. يمكن إظهار أنه من أجل رقم فردي n غير أولي، فإن اختبار Miller سوق يعيد على الأكثر (n-1)/4 عدداً صحيحاً a، حيث n-1>=a>=1. وبالتالي، من أجل العدد الصحيح المركب n والعدد الصحيح المختار عشوائياً a، سيكون احتمال إعادة نتيجة غير حاسمة (inconcolusive) من الاختبار Test (هذا يعني الفشل في تحديد فيما إذا كان n عدداً غير أولي هو: (صورة:معادلة) يعطينا هذا الأمر أساساً للحكم فيما إذا كان العدد الفردي n هو عدد أولي وذلك بدرجة عالية من الثقة. يتم هذا الإجراء كما يلي: سنكرر الاختبار Test (n) باستخدام قيم مختارة بشكل عشوائي للعدد a. إذا أعطي Test في أية لحظة النتيجة "مركب" (Composite)، عندها يتم الحكم بشكل قطعي على العدد n بانه غير أولي. أما إذا أعطي الاحتبار النتيجة "غير حاسم" (inconcolusive) t مرات متتالية، عندها فإن احتمال أن يكون n عدداً أويلاً هو على الأقل 1-4-1. فعلى سبيل المثال إذا كان t=10، فإن اجتمال كون n عدداً أولياً سيتجاوز 0.999999. وبالتالي، إذا كانت قيمة t كبيرة بما فيه الكفاية، فإننا نستطيع وبثقة عالية اعتبار n عدداً أولياً، وذلك إذا كانت نتائج الاختبار Miller هي "غير حاسم" طبعاً. توزع الأعداد الأوليةمن المفيد معرفة عدد الأعداد التي يمكن أن ترفض قبل إيجاد العدد الأولي باستخدام اختبار Miller-Rabin أو أي اختبار آخر. هناك نتيجة من نظرية الأعداد، تعرف باسم نظرية العدد الأولي، تقول أن الأعداد الأولية الموجودة حول عدد ما n تتباعد وسطياً بمسافة (In n) عدد صحيح. وبالتالي يجب إجراء اختبارات من مرتبة In (n) مرة قبل إيجاد العدد الأولي. وبما أنه سيتم رفض كل الأعداد الزوجية وكل الأعداد التي تنتهي بالرقم 5 مباشرة، فإن المعامل الصحيح سيكون 0.4 In (n). فعلى سبيل إذا كان البحث جارياً عن عدد أولي من المطال 2200، فإنه يلزم إجراء حوالي 0.4 In (n200) محاولة لإيجاد العدد الأولي. على كل حال هذا المعامل هو عبارة عن الوسطي فقط. ففي بعض الأماكن على طول محور توزع الأعداد تكون الاعداد الأولية متقاربة إلى بعضها بعض، وفي أماكن أخرى تكون هناك فجوات كبيرة بينها.
نظرية الباقي الصينيتعتبر نظرية الصيني(CRT) من أكثر العناصر فائدة في نظرية الأعداد. ينص جوهر هذه النظرية على أنه من الممكن إعادة بناء أعداد صحيحة في مجال معين انطلاقاً من البواقي الناتجة عن القياس بالنسبة لمجموعة مؤلفة من مجموعة من الأعداد الأولية بالنسبة لبعضها مثنى مثنى. يمكن إعادة تركيب الأعداد العشرة في (0, 1, ….9) Z10 انطلاقاَ من العددين الباقيين عن القياس بالنسبة للعدد 2 والعدد 5 (العوامل الأولية بالنسبة للعدد 10). لنفرض أننا نعرف الباقيين للعدد العشري X، وهما r2=0 و r5=3، أي أن، X mod 2=0 و X mod 5=3. وبالتالي، فإن X هو عبارة عن عدد زوجي من Z10، والذي يكون باقي القسمة منه على العدد 5 هو 3. الحل الوحيد هو X=8. يمكن التعبير عن CRT بعدة طرق. نعرض هنا التعبير الرياضي الأكثر فائدة من وجهة نظر تطبيقاتنا الحالية. (صورة:معادلة) حيث m1 عدد أولي من مجموعة الأعداد الأولية بالنسبة لبعضها مثنى مثنى، أي أن ged (mi, mj)=1 وذلك من أجل i>=1 و k>=j، و i=/j. يمكن إعادة تشكيل أي عدد صحيح في Zm عن طريق مجموعة مؤلفة من k عنصراً من Zmi باستخدام التوافق التالي: A(a1, a2, a3, ….ak) (8-8) حيث و ai=A mod mi من أجل 1<=i<=k. لنظرية الباقي الصيني تأكيدان: 1-العلاقة في المعادلة (8-8) هي تطابق واحد لواحد بين Zm والجداء الديكارتيZm2* ….*Zmk Zm1*. أي أنه من أجل كل عدد صحيح A، حيث 0<=A<=M، هناك مجموعة وحيدة ذات k عنصر (a1, a2, …ak)، حيث o<=a<=mi، يمكن أن تمثل هذا العنصر، ومن أجل كل مجموعة ذات K عنصر (a1, a2, …ak) هناك عدد وحيد من Zm. 2يمكن تطبيق العمليات الجارية على عناصر Zm بشكل مكافئ على مجموعة العناصر k الموافقة، وذلك بتطبيق العمليات بشكل مستقل في كل موقع من النظام الموافق. يمكن التعبير عن النقطة الثانية كما يلي: إذا كان A(a1, a2, ….ak);(b1, b2, ……bk) عندها يمكن أن نكتب: (A+B) mod M((a1+b1) mod m1,….(ak,bk) mod mk) (A-B) mod M((a1,b1) mod m1,…..(ak-bk) mod mk) (A*B) mod M((a1*b1) mod m1,…..(ak*bk) mod mk) بنوضح التأكيد الأول. من الواضح أن التحويل من A إلى (a1, a2, …ak) وحيد، لنأخذ الآن ai=A mod mi. يمكن أن يتم حساب A من (a1, a2, …ak) كما يلي: ليكن M1=M/mi من أجل 1<=i<=k. لاحظ أن Mi=m1*m2*….mi-18m+1*…mk، أي أن Mi=0 (mod mj) من أجل j=/i. ليكن عندها: Ci=Mi*(Mi-1 mod mi); (9-8) وذلك من أجل 1<=i<=k ومن تعريف M1 نستنتج أن M1 اولي بالنسبة للعدد m1، وبالتالي يملك نظيراً وحيداً بالنسبة للضرب بالقياس m1. وبالتالي المعادلة (9-8) معرفة بشكل جيد وستنتج قيمة وحيدة Ci. يمكن الآن حساب مايلي: (صورة:معادلة) إحدى الميزات الهامة لنظرية الباقي الصيني هي أنها تقدم طريقة لمعالجة الأعداد بالقياس M (عملياً أعداد كبيرة جداً)، وذلك من خلال مجموعات من الأعداد الأصغر. يمكن أن تكون هذه الميزة بالغة الأهمية عندما يكون طول M من مرتبة 150 رقماً عشرياً أو أكثر.
اللوغاريتمات المتقطعةتعتبر اللوغريتمات المتقطعة أساساً للعديد من خوارزميات التعمية بالمفتاح العمومي، بما في ذلك خوارزيمة Diffie-Mellman المستخدمة لتبادل المفاتيح وللتوقيع الرقمي (DSA). يقدم هذا المقطع نظرة عامة مختصرة عن اللوغريتمات المتقطعة.
قوى العدد الصحيح بالقياس nنتذكر من نظرية Euler (المعادلة 3-8) أنه أنه من أجل أي عددين a و n أوليين فيما بينهما يمكن أن نطتب: (صورة:معادلة) حيث تابع Euler المنتهي، هو عبارة عن عدد صحيح موجب أصغر من n وأولي بالنسبة له. لنأخذ الآن العبارة العامة: Am=1 mod n (11-8) إذا كان a و n عددين أوليين بالنسبة لبعضهما، عندها سيكون هناك على الأقل عدد صحيح واحد m يحقق المعادلة (11-8)، وهو بالتحديد . يمكن التعبير عن الأس الموجب الأقل قيمة الذي يحقق العبارة (11-8) بعدة طرق:
يمكن بشكل عام القول أن الأس الأعظمى الممكن والذي يمكن أن ينتمي له الرقم بالقياس (mod n) هو . إذا كان الرقم من هذا الترتيب، عندها يطلق عليه اسم الجذر البسيط Primitive root للعدد n تنبع أهمية هذه الملاحظة من أنه إذا كان a حذراً بسيطاً للعدد n، فإن قواه: (صورة:معادلة) ستكون مختلفة (mod n) وستكون كلها أولية بالنسبة للعدد n. وبشكل خاص من أجل عدد أولي ما p، إذا كان a هو عبارة عن جذر بسيط للعدد p، عندها: a, a1, …..ap-1 ستكون مختلفة (mod p). من أجل العدد الأولي 19والذي جذوره البسيطة هي: 15, 14, 13, 10, 3, 2. لا تملك كل الأرقام الصحيحة جذوراً بسيطة. في الحقيقة الأعداد الصحيحة التي تملك جذوراً بسيطة هي من الشكل حيث p هو عبارة عن عدد أولي مفرد و هو أي عدد صحيح موجب. (صورة: قوى الأعداد الصحيحة بالقياس 19) الدلائلفي الأعداد الحقيقة الموجبة الاعتيادية، تابع اللوغاريتم هو عبارة عن مقلوب تابع الرفع إلى أس. هناك تابع مشابه في الرياضيات القياسية. لنراجع باختصار خصائص اللوغاريتمات العادية. يعرف لوغاريتم رقم ما على أنه القوى التي يجب أن يرفع إليها عدد موجب (ماعدا الواحد) من أجل الحصول على رقم محدد. أي أنه، من أجل أساس ما X ومن أجل قيمة ما أخرى Y، Y=XLogX(Y) تتضمن خصائص اللوغرايتمات مايلي: logx(1)=0 logx(X)=1 logx(YZ)=logx(Y)+logx(Z) (12-8) logx(Yr)=r*logx(Y) (13-8) لنأخذ جذراً أساسياً a لرقم اولي ما p (يمكن توسيع هذا المفهوم ليشمل الأرقام غيرالأولية أيضاً). عندها نعرف أن قوى العدد a من 1 وحتى (p-1) سوف تنتج كل رقم صحيح من 1 وحتى (p-1) مرة واحدة فقط. نعرف أيضاً أنه يمكن التعبير عن أي رقم صحيح b بالشكل: 0<=i<=(p-1) حيث b= r mod p وذلك من تعريف الرياضيات القياسية. ينتج من ذلك أنه من أجل أي عدد صحيح b وجذر بسيط a للعدد الأولي p, يمكن أن نجد أساً وحيداً يحقق ما يلي: 0<=i<=(p-1) حيث b= ai mod p يطلق على هذا الأس i دليل الرقم b من أجل الأساس a (mod p). أعطينا هذه القيمة الرمز inda-p(b). لاحظ التالي: (14-8) a0 mod p=1 mod p=1 inda-p (1)=0 a1 mod p=a (15-8) وذلك لأن inda-p (a)=1
(صورة:معادلة) تذكر انه يوجد لوغاريتم متقطع وحيد بالقياس m لأساس ما a إذا كان a هو جذر بسيط للعدد m فقط.
حساب اللوغاريتمات المتقطعةلنفرض المعادلة التالي y=gx mod p والتي تسمح بحساب Y مباشرة انطلاقاَ من قيم الأعداد g و X و p. في أسوء الأحوال يجب تطبيق عملية الضرب X مرة (في حال عدم توفر التابع السي)، وهناك خوارزميات لإيجاد ذلك بكفاءة أعلى. في الحالة المعاكسة إذا كان لدينا Y و g و p، فإنه عموماً من الصعب جداً حساب X (الحصول على اللوغاريتم المتقطع). درجة الصعوبة في هذه الحالة من مرتبة درجة صعوبة تحليل الأعداد الأولية المطلوبة في خوارزمية RSA. الخوارزمية الأسرع حتى الآن للحصول على اللوغاريتم المتقطع بقياس عدد أولي تمتلك المرتبة التالية والتي تعتبر غير عملية من أجل الأعداد الأولية الكبيرة. (صورة:جدول اللورغاريتمات المتقطعة بالقياس 19) التعمية باستخدام المفتاح العمومي - خوارزمية RSAيعتبر إيجاد التعمية باستخدام المفتاح العمومي القفزة النوعية الأكبر – وربما الوحيدة - في تاريخ علم التعمية بشكل عام. اعتمدت كل أنظمة التعمية منذ البدايات وحتى الآن على الأداتين الأساسيتين: تبدل المواقع وتبديل المحارف. فبعد ألف عام من العمل مع الخوارزميات التي يمكن تطيبقها وحسابها يدوياً، حصل تطور رئيسي في التعمية المتناظرة، وذلك مع تطوير آلات التعمية / فك التعمية الدوارة. ساهمت الآلات الدوراة الكهروميكانيكة في تطوير أنظمة تشفير معقدة للغاية. ومع توفر الحواسيب تم ابتكار أنظمة أكثر تعقيداً، حيث كان أبرزها مشروع Lucifer من شركة IBM، والتي تتوجت بإنتاج مقياس تعمية المعطيات (Data Encyption Standard-DES). إلا أن كلا من الآلات الدوارة، ونظام DES كانا يعتمدان على الأداتين الأساسيتين: تبديل الحروف وتبديل المواقع. قدمت التعمية باستخدام المفتاح العمومي طريقاً مختلفاً تماماً عن كل ما سبقها. حيث اعتمدت خوارزميات المفتاح العمومي على التوابع الرياضية بدلاً من تبديل الحروف وتبديل المواضع. والأكثر أهمية هو أن التعمية باستخدام المفتاح العمومي هو من النوع غير المتناظر، والذي يتضمن استخدام مفتاحين منفصلين وذلك على نقيض التعمية المتناظرة اتي تستخدم مفتاحاً واحداً فقط. يملك استخدام مفتاحين أهمية بالغة في مجالات السرية، وتوزيع المفاتيح، وتحديد الهوية كما سوف نرى. لابد في البداية من ذكر بعض الأفكار الخاطئة الشائعة المتعلقة بأنظمة التعمية المعتمدة على المفتاح العمومي. وتتلخص إحدى هذه الأفكار الخاطئة بأن التعمية باستخدام المفتاح العمومي أكثر أمناً وسرية من التعمية المتناظرة. وقد ظهر هذا الإدعاء في العديد من المراجع، على سبيل المثال، في الكتاب المشهور Scientific American للمؤلف Garfner. تعتمد درجة أمن أي خوارزمية، في الحقيقة، على طول المفتاح المستخدم وحجم العمل الحسابي اللازم لكسر الشيفرة. فلا يوجد العمل الحسابي اللازم لكسر الشيفرة. فلا يوجد شئ جوهري يميز التعمية المتناظرة عن التعمية باستخدام الفمتاح العمومي، من وجهة نظر تحليل التعيمة. تقول الفكرة الخاطئة الثانية أن التعمية باستخدام المفتاح العمومي هي تقنية قابلة للاستعمال في جميع المجالات وأصبحت التعمية المتناظرة تقنية بائدة أو غير ذات فائدة. الحقيقة مخالفة لذها الاعتقاد حيث لا يوجد أي احتمال متوقع للتخلي عن التعمية المتناظرة، وذلك بسبب العبء الحسابي الكبير اللازم لتنفيذ خوارزميات التعمية باستخدام المفتاح العمومي الحايلة. وقد وضح احد مصممي خوارزميات المفتاح العمومي ذلك بقوله :"حدود استخدام التعمية بالمفتاح العمومي هي تطبيقات إدارة المفاتيح والتوقيع الرقمي". أخيراً، هناك شعور بأن عملية توزيع المفاتيح تصبح سهلة، بل وسخيفة، عند الاعتماد على خورازميات التعمية بالمفتاح العمومي، وذلك بالمقارنة مع عمليات المصافحة البطيئة اللازمة لعمل مراكز توزيع المفالتيح عند استخدام التعمية المتناظرة . وفي الحقيقة لابد من وجود شكل ما من البروتوكولات، والتي تتضمن عادة وسيطاص مركزياً، بالإضافة إلى أن الإجراءات اللازمة ليست أبسط ولا أكثر كفاءة من تلك المطلوبة من أجل التعمية المتناظرة. يقدم هذا الفصل، والفصل الذي يليه نظرة عامة على أنظمة التعمية باستخدام المفتاح العمومي. ستتم أولاً دراسة المفهوم العام للعمل. الجدير بالذكر هنا أنه تم تطوير ونشر مبادئ هذه التقنية قبل تبيان إمكانية تحقيقها العملي. ننتقل بعد ذلك إلى دراسة خورازمية RSA، والتي تعتبر من أهم خورازيمات التعمية / فك التعمية التي بينت إمكانية تحقيق التعمية بالمفتاح العمومي. سيتم بعد ذلك استعراض موتضيع أرخى في الفصل التالي. تعتمد نظرية التعمية بالمفتاح العمومي على نظرية الأعداد بشكل كبير. فإذا كان الدارس على استعداد لقبول النتائج المطروحة هنا، فليس هناك ضرورة ماسة إلى فهم نظرية الأعداد، إلا أنه يجب فهم نظرية الأعداد إذا كان المطلوب فهم وإدراك خورازميات التعمية بالمفتاح بشكل كامل. مبادئ أنظمة التعمية ذات المفتاح العمومينتج المبدأ العام للتعمية بالمفتاح العمومي من محاولة التعامل مع اثنتين من أصعب المشاكل المتعلقة بالتعمية المتناظرة. المشكلة الأولى هي مسألة توزيع المفاتيح والتي تمت دراستها بشكل مفصل إلى حد ما في الفصل السابع. فكما رأينا، يتطلب توزيع المفاتيح في حالة التعمية إما (1) أن يكون بين الطرفين المشتركين في عملية التراسل مفتاحاً مشتركاً أصلاً، والذي تم إيصاله إليهما بطريقة ما، أو (2) استخدام مركز توزيع مفاتيح. أكد Whitfield Diffie، وهو أحد مكتشفي التعمية بالمفتاح العمومي (مع نظيره Martin Mellmano، العاملين في جامعة ستانفورد)، على أن المطلب الثاني ينافي جوهر التعمية: وهو القدرة على المحافظة على السرية المطلقة في كل اتصالات. فقد قال Diffie: "ما هي الفائدة من تصميم نظام تعمية غير قابل للاختراق في الوقت الذي يجبر فيه مستخدموه على مشاركة مفاتيحهم مع مركز توزيع المفاتيح والذي يمكن أن تكشف أسراره إما من خلال السطو أو من خلال الاستجواب الحكومي مثلاً؟". المشكلة الثانية التي لاحظها Diffie، والتي يتضح أنها لا تتعلق بالأولى، هي مسألة "التوقيع الرقمي" (Digital Sigmature). فإذا تم استخدام التعمية على نظاق واسع، وليس فقط في المجال العسكري، بل في المجال التجاري والمجال الخاص، عندها ستحتاج الوثائق الإلكتروينة إلى ما يكافئ التوقيع الحقيقي على الوثائق الورقية. أي، هل يمكن ابتكار طريقة تضمن أن الرسالة الإلكتروينة قادمة من شخص محدد بالذات؟ يعتبر هذا المطلب أعم إلى حد ما من تحديد الهوية، وستتم تغكية خصائصه وتفاصيله في الفصل 13 من الجزء الثاني. أنجز Diffie و Mellman تقدماً مذهلاً عام 1976 بإصدارهما لطريقة تحل المشكلتين السابقتين والتي كانت مختلفة بشكل جذري عن كل الأشكال السابقة للتعمية. سنلقي في المقطع التالي نظرة عامة على مبدأ عمل التعمية بالمفتاح العمومي. وسندرس بعد ذلك متطلبات خوارزميات التعمية / فك التعمية والتي تعتبر جوهر هذه الطريقة. أنظمة التعمية بالمفتاح العموميتعتمد خوارميات التعمية بالمفتاح العمومي على وجود مفتاح لعملية التعمية ومفتاح آخر مختلف، إنما مرتبط بالأول، خاص بعملية فك التعمية. تمتلك هذه الخوارزيمات الميزة الهامة التالية:
بالإضافة إلى ذلم تضيف بعض الخوارزميات، مثل RSA الميزة أخرى هي:
يمتلك مخطط التعمية بالمفتاح العمومي ستة أجزاء (الشكل 1a-9 قارنه بالشكل 1-2).
أما الخطوات الأساسية للعمل فهي: 1-يولد كل مستخدم زوجاً من المفاتيح لاستخدامها في تعمية / فك تعمية الراسلة. 2-يضع كل مستخدم أحد المفاتيح المولدة في سجل عام أو في ملف ما يمكن الدخول إليه من قبل الجميع. يسمى هذا المفتاح بالمفتاح العام. أما المفتاح الآخر المرتبط به فهو المفتاح الخاص. فكما يقترح الشكل 1a-9، يمكن لكل مستخدم الحصول على مجموعة المفاتيح العامة المقدمة من قبل الآخرين. 3-إذا أراد زيد إرسال رسالة سرية إلى عمر، لكل مستخدم زيد بتعميتها مستخدماً لذلك مفتاح عمر العمومي. 4-عندما يستقبل عمر الرسالة يقوم بفك تعميتها مستخدماً مفتاحاً مفتاحه الخاص، لن يستطيع أي شخص آخر استقبال الرسالة وفك تعميتها، وذلك لأن عمر فقط هو الذي يعرف مفتاحه الخاص. يملك جميع المشتركين، حسب هذه الطريقة، إمكانية الوصول إلى المفاتيح العمويمة، بينما يتم توليد المفاتيح الخاصة محلياً من قبل كل مشترك، وبالتالي ليس هناك أية حاجة لتوزيعها. وطالما أن المستخدم يسطير على مفتاحه الخاص، ستبقى جميع اتصالاته آمنة. يمكن لأي شخص وبأي وقت تغيير مفتاحه الخاص ونشر المفتاح العام الموافق من أجل استبدال المفتاح السابق. (صورة: التعمية باستخدام المفتاح العمومي) يلخص الجدول (1-9) بعض النقاط الهامة للتعمية المتناظرة والتعمية بالمفتاح العمومي. وللتمييز بين الاثنين سندعو عموماً المفتاح المستخدم في التعمية المتناظرة بالمفتاح السري (Secret Key). أما المفتاحين المستخدمين في التعمية بالمفتاح العمومي، فسندعوهما المفتاح العام، والمفتاح الخاص. يبقى المفتاح الخاص سرياً بشكل دائم، إنما يدعى المفتاح الخاص بدلاً من المفتاح السري لتفادي الخلط مع التعمية المتناظرة.
لنلقي نظرة عامة على العناصر الأساسية لمخطط التعمية باستخدام المفتاح ال عمومي، وذلك باستخدام الشكل (2-9) (قارنه مع الشمل 2-2). ليكن هناك مصدر ما A ينتج رسالة بشكلها الصريح X=[X1, X2, …XM]. عناصر الرسالة البالغ عددها M هي عبارة عن أحرف عبارة عن أحرف من مجموعة محارف منتهية. هذه الرسالة موجهة للطرف B. يقوم الطرف B بتوليد زوج من المفاتيح المترابطة: مفتاحاً عمومياً KUb، ومفتاحاص خاصاً KRb. المفتاح KRb معروف من قبل الطرف B فقط، بينما يتوفر المفتاح KUb للعموم، وبالتالي يمكن للطرف A الحصول عليه. يقوم الطرف A بتشكيل النص المشفر Y=[Y1,Y2, ….YN]، وذلك باستخدام الرسالة X ومفتاح التعمية KUb: Y=Ekub(X) يستطيع المستقبل المخصص، عن طريق حيازته للمفتاح الخاص الموافق، عكس عملية التحويل الجارية سابقاً: X=DKRb(Y) سيحاول المعتدي الذي يراقب Y والذي يملك إمكانية الحصول على KUb، ولكن لا يستكيع الوصول إلى KRb أو X، استخلاص X و/أو KRb. يفترض أن المعتدي على علم بخوارزمية التعمية E، وبخوارزمية فك التعمية D. إذا كان المعتدي متهم بهذه الرسالة فقط، فإن تركيز الجهود سينصب على محاولة استرجاع X، وذلك عن طريق توليد نص صريح ما مقدر X. إلا أن المعتدي يهتم على الغالب في إمكانية قراءة الرسائل المستقبلية أيضاً، وبالتالي سيحاول في هذه الحالة اكتشاف المفتاح KRb عن طريق توليج مفتاح تقديري KRb. ذكرنا سابقاً أنه يمكن استخدام أي من المفتاحين المترابطين للتعمية، وعندها يمكن استخدام المفتاح الآخر لفك التعمية. يساعد هذا الأمر على تطبيق مخطط تعمية مختلف. فبينما يوضح الشكل (2-9) كيفية تأمين السرية، بيبن الشكلان 1b-9 و 9-3 استخدام التعمية بالمفتاح العمومي لتامين التحقق من الهوية: Y=EkRa(X) X=DkUa(Y) يحضر الطرف A في هذه الحالة الرسالة المراد للطرف B ويقوم بتعميتها مستخدماً لذلك مفتاحه الخاص، ومن ثم يرسلها. يمكن للطرف B أن يقوم بفك تعمية هذه الرسالة مستخدماً لذلك مفتاح A العام. وبما أن تعمية هذه الرسالة تمت باستخدام مفتاح A الخاص، فإنها ستكون صادرة عن A حصراً، لأنه الوحيد الذي يستطيع الوصول إلى هذا المفتاح. نلاحظ مما سبق أن الرسالة المعماة بالكامل في هذه الحالة تشكل التوقيع الرقمي. بالإضافة إلى ذلك من المستحيل تغيير مضمون الرسالة بدون الدخول إلى مفتاح A الخاص، لذلك سنكون قد تحققنا من الرسالة سواء من وجهة نظر المصدر أو من وجهة نظر المضمون. (صورة: نظام التعمية بالمفتاح العمومي، تحقيق إثبات الهوية) نشاهد في المخطط السابق تعمية الرسالة بشكل كامل، بحيث تؤمن التحقق من المؤلف والمضمون على السواء، وبالتالي يلزم لتحقيق هذا المخطط حجم أكبر للتخزين. حيث يجب الاحتفاظ بالرسالة بشكلها الصريح للاستخدامات المستقبلية، كما يجب الحتفاظ بشكلها الصريح للاستخدامات المستقبلية، كما يجب الاحتفاظ بشكلها المعمى وذلك من أجل التحقق من هذه الرسالة ومقارنتها مع الأساس، في حال نشوب خلاف. هناك طريقة أكثر كفاءة لتحقيق نفس النتائج، وذلك من خلال تعمية كتلة صغيرة من معطيات الوثيقة، والتي تكون على الأغلب ذات أهمية ما. تدعى مثل هذه الكتل بالمحددات أو المعرفات، ويجب أن تملك خاصية، بحيث يكون من غير الممكن تغيير الوثيقة بدون تغيير هذا المعرف. فإذا تمت تعمية المعرف باستخدام المفتاح الخاص للمرسل، فعندها ستشكل توقيعاص يمكن من خلاله التأكد من المصدر، والمحتوى، والترتيب. من المهم جداً إدراك أن عملية التعمية الموصوفة آنفاً لا تؤمن السرية. أي أن الرسالة التي تم إرسالها محصنة من التغيير ولكنها غير محصنة ضد المراقبة. ويتضح هذا الأمر بشكل جلي في حالة التوقيع الذي يعتمد على جزء من الرسالة، ذلك لأنه الجزء الباقي من الرسالة سوف يتم إلاساله بشكل صريح. حتى في حال تعمية الرسالة بشكل كامل، كما هو مبين في الشكل (3-9) لا تؤمن هذه الطريقة سرية الرسالة، ذلك لأ، المراقب يمكن أن يفك تشفير هذه الرسالة باستخدام المفتاح العمومي للمرسل. على كل الأحوال، يمكن تأمين وظيفة التحقق والسرية معاً عن طريق الاستخدام المضاعف لمخطط التعمية باستخدام المفتاح العمومي (كما مبين في الشكل 4-9): Z=EKUb [EKRb(X)] X=DKUa[DKRb(Z)] نبدأ في هذه الحالة كما في السابق عن طريق تعمية الرسالة باستخدام المفتاح الخاص للمرسل. ونكون في هذه الحالة قد حققنا وظيفة التوقيع الرقمي. بعد ذلك، نعمي هذه الرسالة مرة أخرى باستخدام المفتاح العمومي للمستقبل. يمكن فك تعمية الرسالة المعماة النهائية من قبل المستقبل الموجهة إليه فقط، والذي يملك المفتاح الخاص الموافق. ونكون بذلك قد حققنا وظيفة السرية الناحية السلبية في هذه الطريقة هي الاضطرار إلى تنفيذ خوارزمية التعمية، والتي تعد معقدة، إلى حد ما، أربعة مرات في كل مرة يتم فيها إرسال رسالة ما. (صورة: نظام التعمية بالمفتاح العمومي، تأمين السرية والتحقق معاً) تطبيقات نظام التعمية باستخدام المفتاح العموميلابد قبل المتابعة من توضيح أمر هام متعلق بأنظمة التعمية باستخدام المفتاح العمومي، وإلا سوف نقع في بعض التشويش أو عدم الوضوح. تتميز أنظمة التعمية بالمفتاح العمومي باستخدام نوع من خوارزميات التعمية ذات المفتاحين، حيث يتم الحتفاظ بأحدهما سرياً خصوصياً، بينما يتم إعلان الآخر للجميع. وحسب التطبيق المستخدم، يستخدم المرسل إما مفتاح ال مرسل الخاص او مفتاح المستقبل العام، أو كلاهما، وذلك لتطبيق وظيفة تعمية ما. وبشكل عام يمكن تصنيف تطبيقات أنظمة التعمية باستخدام المفتاح العمومي كما يلي: 1-تعمية / فك تعيمة: يستخدم المرسل في هذه الحالة المفتاح العام للمستقبل. 2-التوقيع الرقمي: يوقع المرسل الرسالة باستخدام مفتاحه الخاص. ينجز التوقيع هنا عن طريق تطبيق خورازمية تعمية على الرسالة أو على كتلة صغيرة منها تشكل صلب الرسالة. 3-تبادل المفاتيح: يشترك الطرفان بتبادل مفتاح الجلسة. هناك عدة طرق ممكنة تتضمن استخدام المفتاح الخاص لأحد الطرفين أو كليهما. تكون بعض الخورازميات مناسبة لكافة أنواع التطبيقات، في حين يمكن استخدام بعضها الآخر لنوع أو نوعين من هذه التطبيقات فحسب. يبين الجدول (2-9) لاتطبيقات المدعومة من قبل الخوارزيمات المشروحة في هذا الكتاب.
متطلبات نظام التعمية ذي المفتاح العمومييعتمد نظام التعمية الموضح في الأشكال من 2-9 وحتى 4-9 على خوارزمية تعمية مبنية على أساس استخدام مفتاحين مترابطين. لقد افترض كل من Diffie و Hellman وجود هذا النظام قبل أن يثبت وجوده على أرض الواقع فعلاص. وعلى أي حال قاما بوضع الشروط التي يجب أن تخضع لها هذه الخوارزميات: 1-يجب أن يكون من السهل حسابياً على الطرف B توليد زوج من المفتاتيح (مفتاح عمومي KUb ومفتاح خصوصي KRb). 2-يجب أن يكون من السهل حسابياً على المرسل A ، بعد معرفة المفتاح العمومي للطرف B والرسالة المراد إرسالها، توليد الرسالة المعماة الموافقة: C= EKUb(M) 3-يجب أن يكون من السهل حسابياً على الطرف المستقبل B، فك تعمية النص المعمى المستقبل مستخدماً لذلك المفتاح الخاص، وذلك من أجل استرجاع النص الأصلي: M = DKRb (C) = DKb [EKUb (M)] 4-يجب أن تكون عملية اكتشاف المفتاح الخاص KRb من قبل المعتدي بمجرد معرفة المفتاح العمومي KUb عملية غير مجدية حسابياً. 5-يجب أن تكون عملية استرجاع النص الأصلي M من قبل المعتدي بمجرد معرفة المفتاح العمومي KUb، والنص المعمى C، عملية غير مجدية حسابياً. يمكننا إضافة شرط سادس، وهو غير ضروري بالنسبة لكل التطبيقات، إنما مفيد في بعض الأحيان: 6-يمكن تطبيق عمليتي التعمية وفك التعمية بأي ترتيب: M= EKUb [DKRb (M)] =DKUb [EKRb (M)] هناك متطلبات دقيقة، وقد ثبت بالحقيقة أن خوارزميتين فقط من هذه الخوارزميات (RSA والتعمية بالقطع الإهليجي) لاقتا قبولاً واسعاً جداً في السنوات الأخير، منذ أن تم تقديم مفهوم نظام التعيمة باستخدام المفتاح العمويم. قبل الشروع في تفصيل سبب دقة هذه المتطلبات، سنعيد صياغتها. يمكن تلخيص هذه المتطلبات بالحاجة إلى تابع مصيدة ذو اتجاه واحد. التابع ذو الاتحاه الواحد هو ذلك التابع الذي يحول النطاق إلى مجال وبالتالي لكل قيمة من هذا التابع قيمة عكس وحيدة، مع وجود شرط وهو أن يكون حساب التابع سهلاً، بينما يكون حساب العكس صعباً أو غير مج: سهل Y=f(X) صعب X=f1(Y) بشكل عام يعرف التعبير "سهل" على أنه المشكلة التي يمكن حلها بزمن على شكل كثير حدود تابع لطول الدخل. وبالتالي إذا كان طول الدخل n خانة، فإن زمن حساب التابع سيكون متناسباً مع na حيث a ثابت محدد. تنتمي مثل هذه الخوارزميات إلى الصنف P. ويعتبر التعبير "غير مجد" أكثر غموضاً. وبشكل عام، يقال عن مشكلة ما أنها غير مجدية إذا كانت الجهود اللازمة لحلها تتنامى أسرع من زمن كثير الحدود التابع لحجم الدخل. فعلى سبيل المثال، إذا كان طول الدخل هو n خانة وكان الزمن اللازم لحساب التابع متناسباً مع 2n، فإن حل المشكلة يعتبر غير مجد. لسوء الحظ، من الصعب تحديد فيما إذا كانت خوارزمية ما تبدي هذا التعقيد. بالإضافة إلى ذلك، فإن الفكرة العامة التقليدية حول تعقيد الحساب تركز على الحالة الأسوأ أو على الحالة الوسطى لتعقيد الخوارزمية. تعتبر هذه القياسات عديمة الجدوى بالنسبة للتعمية، والتي تتطلب أن يكون من غير المجدي عكس التابع وذلك من اجل جميع قيم الدخل، وليس من أجل الحالة الأسوأ أو الحالة الوسطى. نأتي الآن على تعريف تابع المصيدة وحيد الاتجاه، وهو الذي يمكن حسابه بسهولة في اتجاه ما، بينما يكون من غير المجدي حسابه بالاتجاه المعاكس، ما لم تتوفر معلومات إضافية. أما عندما تتوفر هذه المعلومات الإضافية، فيمكن إجراء الحساب بزمن كثير الحدود. يمكن تلخيص ما سبق كما يلي: تباع المصيدة وحيد الاتجاه هو عبارة عن عائلة من التوابع العكوسة fx، والمعرفة كما يلي: سهل إذا عرف X و k Y=fk(X) سهل إذا عرف Y و K X=fk-1 (Y) غير مجد إذا كان Y معروفاً، بينما K غير معروف X=fk-1(Y) وبالتالي، فإن تطوير مخطط مفتاح عمومي عملي يعتمد على اكتشاف تابع مصيدة وحيدة الاتجاه. تحليل التعمية بالمفتاح العموميكما هو الحال في التعمية التناظرية، تعتبر التعمية بالمفتاح العمومي عرضة للاختراق تجاه الهجوم الأعمى. تبقى مضادات هذا الهجوم هي نفسها: المفاتيح الطويلة. إلا أن هناك ناحية يجب أن توجد بعين الاعتبار. تعتمد أنظمة التعمية بالمفتاح العمومي على استخدام نوع من التوابع الرياضية العكوسة. يمكن ألا يتناسب تعقيد حساب هذه التوابع بشكل خطي مع عدد خانات المفتاح، إنما بشكل أسرع من ذلك. لذلك يجب أن يكون حجم المفتاح كبيراً بالشكل الكافي لجعل الهجوم الأعمى غير عملي، إنما من ناحية أخرى يجب أن يكون صغيراً بحيث تصبح التعمية / فك التعمية مجدية. إن حجم المفتاح المقترح عملياً يجعل الهجوم الأعمى غير عملي، إلا أنه يؤثر على سرعة عمليتي التعمية / فك التعمية ويجعلهما بطيئتان بالنسبة للاستخدامات العامة. لذلك وكما ذكر سابقاً بقيت التعمية باستخدام المفتاح العمومي محصورة حتى الآن بتطبيقات إدارة المفاتيح والتوقيع الرقمي. هناك نوع آخر من الهجوم وهو إيجاد طريقة لحساب المفتاح الخاص انطلاقاً من معرفة المفتاح العام. لم يثبت رياضياً حتىالآن عدم فعالية استخدام هذا النوع من الهجوم على أي من خورازميات التعمية بالمفتاح العمومي. وبالتالي يمكن الشك في أية خوارزمية من هذه الخوارزميات، بما في ذلك خورازمية RSA واسعة الانتشار. يبين التاريخ تحليل التعمية أن المشكلة التي تبدو عديمة الحل من وجهة نظر معينة يمكن إيجاد حل لها إذا نظرنا إليها بمنظور آخر مختلف تماماً. أخيراً، هناك نوع غريب من الهجوم بالنسبة لنظم المفتاح العمومي. وهو في الجوهر هجوم الرسالة المحتملة. لنفرض على سبيل المثال، أن الرسالة المراد إرسالها مؤلفة من مفتاح DES ذي 56 خانة. يمكن للمعتدي تعمية كل المفاتيح المحتملة باستخدام المفتاح العمومي، ويمكنه كسر تعمية أية رسالة عن طريق مطابقة الرسالة المرسلة مع أحد المفاتيح اعماة. وبالتالي لن يقف طول مفتاح نظام التعمية بالمفتاح العمومي عائقاً أمام عملية الكسر، وينقلب الهجوم في هذه الحالة ليصبح شبيهاً بالهجوم الأعمى على رسالة ذات 56 خانة. يمكن مقاومة هذا الهجوم عن طريق إضافة بعض الخانات العشوائية إلى الرسالة الأصلية. خوارزمية RSAقدمت النشرة الطليعية لكل من Diffie و Hellman مساراً جديداً في عالم التعمية، ووضعت التحديات أمام العاملين في هذا المجال لإنتاج خورازمية تعمية تحقق الشروط المطلوبة من نظام المفتاح العمومي. أحد الردود على هذه التحديات تم تقديمه عام 1977 من قبل Ron Rivest و Adi Shamir و Len Adlman وتم نشره عام 1978. ومنذ ذلك الحين على بقى مخطط Rivest-Shamir-Adlman أو RSA الطريقة العامة الأكثر انتشاراً وتطبيقاً في عالم التعمية بالمفتاح العمومي. مخطط RSA هو عبارة عن نظام تعمية كتلية دخله وخرجه أو النص الأصلي فيه والنص المعمى هما عبارة عن أرقام صحيحة تتراوح قيما بين 0 و n-1 من أجل قيما ما للعدد n. الحجم النموذجي للعدد n هو 1024 خانة، أو 309 خانة عشرية. سندرس في هذا المقطع خوارزمية RSA بشئ من التفصيل، مبتدئين بشرح الخوارزمية. بعد ذلك سندرس بعض القضايا الحسابية وقضايا التعمية المتضمنة في هذه الخوارزمية. وصف الخوارزميةيستخدم المخطط المقدم من قبل Rivest-Shamir-Adlman تعابيراً رياضية أسية. تتم تعمية النص الصريح على شكل كتل، حيث أن القيمة الثنائية لأية كتلة أقل من عدد افتراضي n. أي أن حجم الكتلة يجب أن يكون أقل أو يساوي القيمة Log2(n)، عملياً حجم الكتلة هو k خانة، حيث 2k<n<=2k+1. تأخذ عمليتا التعمية وفك التعمية الشكل التالي، حيث M هي كتلة النص الصريح و C هي كتلة النص المعمى: C=Me mod n M=Cd mod n=(Me) mod n = Med mod n يجب أن يعرف كل من المرسل والمستقبل القيمةn . ويجب أن يعلم المرسل القيمة e، في حين أن المستقبل فقط هو الذي يعرف القيمة d. وبالتالي سيكون لدينا خورازمية تعمية عمومية ذات مفتاح عمومي هو KU={e, n}، ومفتاح خصوصي هو KR={d, n}. ولكي تكون هذه الخوارزمية مرضية كخوارزمية تعمية بالمفتاح العمومي، يجب أن تلبي المتطلبات التالية: 1-يجب أن يكون من الممكن إيجاد القيم e و d و n بحيث Med=M mod n وذلك من أجل جميع قيم M التي تكون أصغر من (M<n). 2-يجب أن يكون من السهل نسبياً حساب Me و Cd من أجل جميع قيم M<n. 3-يجب أن يكون من غير المجدي تحديد قيمة d انطلاقاً من e و n فقط. سنركز الآن على المطلب الأول، وسننظر في بقية المتطلبات لاحقاً. يجب أن نجد علاقة من الشكل: Med=M mod n . تحقق نتيجة نظرية أويلر المعروضة في الفصل الثامن هذا الغرض: فإذا كان لدينا عددان أوليان هما p و q عددان صحيحان هما n و m، بحيث أن n=pq و أن 0<m<n و كان لدينا عدد ما K، عندها يمك كتابة العلاقة التالية: (صورة: معادلة) حيث هو تابع Euler Totient، وهو عبارة عن رقم صحيح موجب أصغر من n وهو أولي بالنسبة للعدد n. وكما هو مبين في الفصل الثامن فإنه من أجل عددين أوليين p و q فإن . وبالتالي يمكننا تطبيق العلاقة المطلوبة إذا كان: (صورة: معادلة) أي أن e و d هي نظائر بالنسبة للضرب بالقياس . لاحظ أنه حسب قواعد الرياضيات القياسية، فإن هذا محقق فقط إذا كان d (وبالتالي e) أولياً بالنسبة للقيمة . أو بشكل مكافئ . نحن الآن جاهزون لتوصيف مخطط RSA. المكونات هي: (صورة: معادلة) يتألف المفتاح الخصوصي من {d, n}، بينما يتألف المفتاح العمومي من {e, n}. لنفرض أن المستخدم A قام بنشر مفتاحه العمومي وأن المستخدم B يريد إرسال الرسالة M إلى المستخدم A. عندها سيقوم المستخدم B بحساب C=Me (mod n) ومن ثم إرسال C. عند استقبال هذه الرسالة سيقوم الطرف A بفك تعميتها وذلك بإجراء الحساب M=Cd (mod n). من المفيد تلخيص مسوغات هذه الخوارزمية. لقد اخترنا e و d بحيث: (صورة: معادلة) عندها يكون ed من الشكل . إلا أنه بتحقيق نظرية أويلر المعروضة في الفصل الثامن وبوجود عددين أوليين p و q وعددين صحيحين n=pq و M، مع الأخذ بعين الاعتبار أن 0<M<n يمكن أن نكتب: (صورة: معادلة) الشكل (5-9) يلخص خورازمية RSA. كما يوضح الشكل (6-9) مثالاً على تطبيق هذه الخوارزمية. تم توليد المفاتيح في هذا المثال كما يلي: 1-نختار عددين أوليين p=17 و q=11. 2-نحسب n=pq=17*11=187. 3-نحسب . 4-نختار e بحيث يكون أولياً بالنسبة لقيمة وأصغر منها، وفي هذا المثال اخترنا e=7. 5-نحدد قيمة d بحيث يكون de=1 mod 160 وبحيث يكون d<160. والقيمة الصحيحة ستكون d=23، ذلك لأن 23*7+161=10*160+1، يمكن حساب d بستخدام نظرية إقليدس الموسعة المذكورة في الفصل الرابع. (صورة: جدول) (صورة: مثال تطبيقي لخوارزمية RSA) المفاتيح الناتجة هي المفتاح العمومي KU={7, 187} والمفتاح الخصوصي KR={23, 187}. يوضح المثال استخدام هذه المفاتيح عندما تكون قيمة النص الصريح 88. ففي عملية التعمية يجب حساب قيمة النص المعمى من المعادلة C=887 mod 187. بالاستفادة من خصائص الرياضيات القياسية يمكن إجراء التالي: 887 mod 187=[(884 mod 187)*(882 mod 187)*(881 mod 187)] mod 187 881 mod 187=88 882 mod 187=7744 mod 187=77 884 mod 187=(882 mod 187)2 mod 187)=772 mod 187=132 887 mod 187=(88*77*132) mod 187=984,432 mod 187=11 في عملية فك التعمية يجب حساب M=1123 mod 187: 1123 mod 187=[(111 mod 187)*(112 mod 187)*(114 mod 187)*(118 mod 187)*(118 mod 187)] mod 187 111 mod 187=11 112 mod 187=121 114 mod 187=14.641 mod 186=55 118 mod 187=(11*21*55*33*33) mod 187=79.720.245 mod 187=88 نقاط حسابيةستتوجه الآن إلى دراسة تعقيد الحسابات المطلوبة في خوارزمية RSA رفع عدد صحيح إلى قوة عدد صحيح آخر ومن ثم أخذ النتيجة بالقياس n. إذا تم إنجاز الرفع إلى أس على الأعداد الصحيحة، ومن ثم تخفيض النتيجة بالقياس n، فإن القيم المرحلية يمكن أن تكون ضخمة جداً. لحسن الحظ، وكما يظهر في المثال السابق، يمكن استخدام خصائص الرياضيات القياسية: وبالتالي يمكن تخفيض القيم المرحلية بالقياس n، مما يجعل الحساب ممكناً وعملياً. هناك اعتبار آخر وهو كفاءة الرفع إلى أس، حيث أننا في خوارزمية RSA نتعامل مع قيم أس كبيرة عملياً. ولتوضيح كيف يمكن رفع فعالية العمل سنفترض أننا نريد حساب القيمة X16. الطريقة المباشرة هي إجراء عملية الضرب 15 مرة: X16=X*X*X*X*X*X*X*X*X*X*X*X*X*X*X إلا أننا نستطيع الوصول إلى نفس النتيجة النهائية عن طريق أربعة عمليات ضرب فقط إذا كررنا عملية تربيع كل نتيجة جزئية، وبالتتالي ينتج X16, X8, X4, X2. وبشكل أعم، لنفرض أننا نريد الحصول على قيمة am، حيث أن كلا من a و m عددان صحيحان موجبان. إذا عبرنا عن m كعدد ثنائي من الشكل و bk,, bk-1,……b1, b0، عندها سيكون: (صورة:معادلة) يمكن عندها تطوير خوارزمية حساب ab mod n، والمبينة بالشكل (7-9). يوضح الشكل (8-9) مثالاً عن تنفيذ الخوارزمية. لاحظ أن المتغير c غير لازم، وهو وارد هنا لأغراض توضيحية فقط. القيمة النهائية للمتغير c هي قيمة الأس. (صورة:معادلة) (صورة: مثال عن حساب ab mod n، n=561, b=650=100110000) أمن خوارزمية RSAقبل تطبيق او استخدام نظام التعمية بالمفتاح العمومي، لابد أن يتم توليد زوج من المفاتيح لكل طرف من الأطراف. يتضمن ذلك مايلي:
لنأخذ اولاً عملية اختيار كل من p و q. بما أن n=pq سيكون معروفاَ من قبل أي معتد محتمل، ولمنع اكتشاف p و q بطريقة معروفة، يجب اختيار هذه الأعداد الأولية من مجموعة كبيرة إلى حد ما (أي أن p و q يجب أن تكون أرقاماً كبيرة). بالمقابل يجب أن يكونا طريقة إيجاد طريقة أعداد أولية كبيرة فعالة بشكل مقبول. لا توجد في الوقت الحاضر تقنية مفيدة لتوليد أعداد أولية كبيرة، لذلك نحن بحاجة إلى طرق أخرى لمعالجة هذه المشكلة. تنحصر الإجرائية المستخدمة عادة بانتقاء رقم فردي بشكل عشوائي وبترتيب محدد للمطال، ويتم إجراء اختبار للتأكد فيما إذا كان هذا العدد اولياً. إذا لم يكن أولياً يتم انتقاء الرقم العشوائي التالي، وهكذا حتى نحصل على المطلبو. لقد تم تطوير طرق مختلفة للاختبار. إلا أن معظمها كان يعتمد على مبدأ الاحتمالات. أي أن الاختبار سيحدد احتمالية كون العدد أولياً. وعلى الرغم من ضعف هذه العملية، إلا أن هذه الاختبارات تنفذ بطريقة بحيث يكون احتمال أقرب ما يكون إلى 1. وكمثال سنأخذ إحدى هذه الخوارزميات والأكثرها انتشاراً وهي خوارزمية Miller-Rabin والموضحة في الفصل الثامن. ففي هذ الخوارزميات ومثيلاتها، تتلخص إجرائية اختبار فيما إذا كان هذا عدد ما معطى n أولياً أم لا في إجراء بعض الحسابات، والتي تتضمن العدد n وعدد آخر مختاراً بشكل عشوائي a. فإذا لم ينجح n في الاختبار فهذا يعني أن n ليس أولياً قطعاً، أما إذا عبر n الاختبار فهذا يعني ازدياد احتمالية كون n أولياً. إذا عبر العدد n عدة اختبارات مع أرقام مختلفة عشوائية a، عندها يمكن القول بثقة عالية أن n أولياً. يمكن أن نلخص إجرائية اختيار عدد أولي بما يلي: 1-اختر عدداً مفرداً صحيحاً n بشكل عشوائي (على سبيل المثال باستخدام مولد أرقام شبه عشوائي). 2-اختر رقماً n<a بشكل عشوائي أيضاً. 3-نفذ اختبار الأولية الاحتمالي، مثل اختبار Miller-Rabin. إذا لم ينجح n في الاختبار فإنه يرفض ونعود إلى الخطوة الأولى. 4-إذا اجتاز n عدداً كافياً من الاختبارات، عندها يقبل n، وإلا نعود للخطوة 2. يعتبر هذا الإجراء عملياً إلى حد ما. على أي حال، يطبق هذا الإجراء بتردد قليل نسبياً (لا يتم تطبيق هذا الإجراء كثيراً)، إنما يطبق فقط عند الحاجة لزوج جديد من المفاتيح (KU, KR). من الجدير ملاحظة عدد الأرقام التي ترفض قبل أن يتم إيجاد رقم أولي. هناك نتيجة في نظرية الأعداد، معروفة باسم نظرية العدد الولي، تنص على أن الأعداد الأولية حول N تتوزع بتوسط مقداره واحد كل (In N) عدد صحيح. وبالتالي، وسطياً، يمكن إجراء الاختبار بترتيب حول In (N) عدد صحيح قبل إيجاد العدد الأولي. وعملياً، بما أن كل الأعداد الزوجية مرفوضة، لذلك فإن القيمة الصحيحة هي In (N)/2. على سبيل المثال، إذا أردنا البحث عن رقم أولي من المطال 2200، عندها سيكون هناك حوالي In (2200)/2=70 اختبار لإيجاد العدد الأولي. بعد إيجاد العددين الأوليين p و q، يمكن إتمام عملية توليد المفاتيح باختبار قيمة للعدد e ومن ثم حساب d، أو بشكل آخر اختيار قيمة للعدد d ومن ثم حساب e. فبافتراض الحالة الأولي، سنقوم باختيار قيمة للعدد e، بحيث يكون ومن ثم نحسب . لحسن الحظ، هناك خوارزمية واحدة تقوم بحساب القاسم المشترك الأعظم لرقمين، وإذا كان القاسم المشترك الأعظم هو 1، عندها تقوم هذه الخوارزمية بنفس الوقت بتحديد نظير أحد هذه الأرقام الصحيحة بالنسبة للآخر. هذه الخوارزمية هي خوارزمية إقليدس الموسعة التي تم شرحها في الفصل الثامن. وبالتالي الإجراء هو توليد سلسلة من الأرقام العشوائية، اختبار كل منها مقابل ، حتى نجد عدداً أولياً بالنسبة له. يمكننا مرة أخرى طرح السؤال التالي: كم هو عدد الأرقام الأولية التي يجب اختبارها حتى نجد الرقم المطلوب، أي الرقم الأولي بالنسبة للقيمة ؟ يمكن بسهولة تبيان أن احتمال كون الرقمين أوليين قيما بينهما يتراوح حول 0.6، وباتالي يلزم عد قليل من الاختبارات لإيجاد العدد الصحيح المناسب. أمن خوازمية RSAهناك ثلاثة طرق لمهاجمة خوارزمية RSA، هي على التوالي:
طريقة الدفاع ضد الهجوم الأعمى على خوارزمية RSA تشابه طرق الدفاع ضد نفس الهجوم على أية خوارزمية أخرى، وبالتحديد هي باستخدام مفاتيح طويلة. وبالتالي كلما كانت قيمة كل من e و dكبيرة كلما ارتفع مستوى الحماية. إلا أنه نتيجة لتعقيد عمليات الحساب سواء في عملية توليد المفاتيح أو في عمليتي التعمية / فك التعمية، فإن تكبير المفتاح سوف يؤثر سلباً على سرعة عمل النظام بشك لعام. سنعرض في الفقرات التالية نظرة عامة على الهجوم الرياضي والهجوم الزمني. مشكلة التحليل إلى عوامليمكن تعريف ثلاث طرق لمهاجمة خوارزمية RSA رياضياً:
تركز معظم النقاشات الخاصة بتحليل تعمية RSA على تحليل n إلى عاملين أوليين. تحديد من خلال معرفة n هو مكافئ لتحليل n إلى عاملين أوليين. يظهر من الخوارزميات المعروفة حتى الآن لتحديد d بالاعتماد على معرفة e و n، أ،ها تستهلك زمناً مشابهاً للزمن اللازم لإجراء التحليل إلى عوامل أولية. وبالتالي يمكننا استخدام سرعة وإداء عملية التحليل إلى عوامل كتقسيم لمدى أمن خوارزمية RSA. من أجل قيم كبيرة للعدد n وبالتالي قيم كبيرة للعوامل المؤلفة له، تعتبر عملية التحليل من العمليات الصعبة. إلا أنه ليست صعبة بالقدر الذي يفترض أن تكون عليه. وفيما يلي عرض واضح لذلك. قام مبتكرو خوارزمية RSA عام 1977 بتحدي قراء مجلة Scientific American، وذك من خلال طرح مسألة في أحد أعمدة المجلى (عمود الألعاب الرياضية Mathematical Games) وهي فك ترميز شيفرة طبعت في هذا العمود. وقد طرحوا مكافأة مقدارها !00$ لمن يستطيع استرجاع النص الأصلي لهذه الشيفرة. وقد توقعوا أن حل هذه المشكلة سيستغرق ما يقرب من 40 كودريليون سنة (الكودريليون "quadrillion" هو رقم مؤلف من 1 وإلى يمينه 15 صفراً – في الولايات المتحدة وفرسنا – و 24 صفراً – في بريطانيا وألمانيا). وفي آذار من عام 1994 استحقت مجموعة عاملة على الإنترنت هذه الجائزة بعد عملها لمدة ثمانية أشهر فقط. لقد استخدم في هذا التحدي مفتاحاً عمومياً (طول n) بطول 129 رقماً عشرياً، أو حوالي 428 خانة ثنائية. وكما هو الحال في خوارزمية DES، نشرت مختبرات RSA خلال هذا الوقت تحديات لخوازمية RSA بمقتاح طوله 100, 110, 120، .... رقماً. وقد كان التحدي الأخير الذي تمت مواجهته هو التحدي RSA-155 والذي يستخدم مفتاحاً بطول 155 رقماً عشرياً، أو حوالي 512 خانة. يبين الجدول (3-9) النتائج حتى الوقت الحاضر. لقد تم قياس مستوى الجهود بالواحدة MIPS-Year: مليون عملية في الثنائية لمعالج يعمل لسنة واحدة (Million Instrction-per-Second Processor running for one year)، أي حوالي 3*1013 عملية منفذة. يعتبر المعالج Pentium بتردد 1 GHz آلة ذو 250 MIPS. إحدى الجوانب الملفتة للنظر في الجدول (3-9) هي الطريقة المستخدمة. فحتى أواسط عام 1990 تم استخدام الهجوم بتحليل العوامل الطريقة المسماة :المنخل التربيعي" (quadratic sieve). لقد استخدم الهجوم على RSA-130 خوارزمية جديدة نسبياً، وهي م"نخل حقل الرقم المعمم" Generalized Number Field Sieve-GNFS، والتي استطاعات تحليل الأعداد الكبيرة بحوالي 20% فقط من الجهد المصروف في عملية الحساب للتحدي RSA-129. إن التهديد الموجه إلى المفاتيح الطويلة مضاعف: تسارع ازدياد القوة الحسابية، واستمرار تحسين خوارزميات النحليل العادي. لقد لاحظنا أن الانتقال إلى خوارزمية مختلفة أدى إلى زيادة هائلة في السرعة. يمكن أن نتوقع تحسينات جديدة على خوارزمية GNFS وهي "منخل حقل الرقم الخاص" Special Number Field Sieve، ويمكنها تحليل الأرقام ذات الشكل الخاص بسرعة أكبر من خوارزمية الأم. يبين الشكل (9-9) مقارنة بين أداء هاتين الخوازميتين. من الممكن أن نتوقع تقدماً ما يجعل أداء الخوارزمية GNFS قريباً من SNFS أو حتى أفضل منها. للذلك من الضروري الانتباه عند اختبار طول المفتاح في خوارزمية RSA. يعتبر المفتاح ذو الطول الذي يتراوح في المجال من 1024 وحتى 2048 معقولاً في الوقت الحاضر وللمستقبل القريب.
بالإضافة إلى تحديد قياس العدد n، فقد اقترح الباحثون وضع عدة قيود أخرى. فحتى نتفادى قيم n التي يمكن تحليلها بسهولة، اقترح مخترعو الخوارزمية القيود التالية على p و q: 1-يجبان يختلف p عن q بالطول وبمقدار بضعة خانات عشرية. وبالتالي من أجل المفتاح ذي الطول 1024 خانة (309 خانة عشرية) – فإن كلاً من p و q يجب أن يكون من رتبة 1075 إلى 10100. 2-يجب أن يحوي كل من (p-1) و (q-1) عدداً أولي اً كبيراً. 3-يجب أن يكون القاسم المشترك الأعظم للقيمتين (p-1) و (q-1) صغيراً. (صورة: الجهود اللازمة لعملية التحليل العددي) بالإضافة إلى ذلك، فقد تم تبيان أنه إذا كان e<n و d<n1/4، عندها يمكن تحديد d بسهولة. الهجوم الزمنيإذا أراد أحدنا أن يتعلم مدى صعوبة التعدي على أمن خوارزمية تعمية، فإن ما يبديه الهجوم الزمني يمكن أن يكون ردساً جيداً وواضحاً. وضح Paul Kocher (وهو مستشار في مجال التعمية) أن متطفلاً ما يستطيع تحديد المفتاح الخاص من خلال متابعة الزمن اللازم للحاسب لفك تشفير الرسالة. الهدوم الزمني قابل للتطبيق ليس فقط على خوارزمية RSA، إنما على كل أنظمة التعمية الأخرى التي تستخدم المفتاح العمومي. يعتبر هذا الهجوم مباغت لسببين: أولهما أنه يأتي من اتجاه متوقع كلياً، ثانيهما انه هجوم على النص المشفر فقط. الهجوم الزمني يشابه عملية تخمين اللص لتركيبه مفاتيح الخزنة، وذلك عن طريق مراقبة الزمن اللازم لشخص ما من أجل إدارة القرص من رقم لآخر. يمكننا شرح هذا الهجوم باستخدام خوارزمية الرفع إلى أس القياسية الموضحة بالشكل (7-9)، إلا أنه يمكن ملائمة الهجوم ليعمل في أي تطبيق غير عامل ضمن زمن محدد. في هذه الخوارزمية، يتم تنفيذ الرفع إلى أس القياسي خانة لتو أخرى، حيث يتم تنفيذ عملية ضرب قياسية واحدة في كل دورة ويتم تنفيذ عملية جمع قياسية عند كل خانة واحدة. وكما أشار Kocher في مشنوره، يمكن فهم الهجوم ببساطة عندما يكون في حالته الجدية. لنفرض أن النظام المدروس يستخدم تابع ضرب قياسي سريع جداً في كل الحالات تقريباً، إلا أنه في بعض الحالات يستغرق وقتاً أطول بقليل من الزمن الوسطي الكلي لعملية الرفع إلى أس القياسية. يتقدم الهجوم خانة أخرى، مبتدئاً بالخانة الواقعة في أقصى اليسار، bk. لنفرض أن أول j خانة معروفة (للحصول على الأس الكلي، ابدأ بالقيمة j=0 وكرر الهجوم حتى تتم معرفة كامل الأس). فمن أجل نص مشفر معطى، يمكن للمهاجم إكمال أول j دورة من حلقة for. تعتمد العمليات في المرحلة الفرعية على خانة الأس غير المعروفة. فإذا كانت هذه الخانة مرفوعة (تحمل القيمة 1) فسيتم تنفيذ ما يلي: d(d*a) mod n. فمن أجل قيم محددة لكل من a و d ستتم عملية الضرب القياسي ببطء شديد. وسيعرف عندها المهاجم هذه القيم. عندها، إذا كان تنفيذ عملية فك التعمية بطيئاً دائماً عندما تكون هذه الدورة الخاصة بطيئة مع خانة واحدة، عندها سيستنتج المعتدي أن هذه الخانة 1. أما إذا كان التنفيذ لكل الخوارزمية سريعاً، فسيستنتج المعتدي أن هذه الخانة 0. في الحياة العملية لا يملك تطبيق الرفع إلى أس القياسي مثل هذه الفروق الزمنية الحدية، وفي هذه الحالة يمكن أن يزيد زمن تنفيذ دورة واحدة عن الزمن الوسطي لتنفيذ كل الخوارزمية. وعلى الرغم من ذلك يبقى هناك فروق كافية لجعل هذا ال نوع من الهجوم عملياً. مع أن الهجوم الزمني يعتبر من التهديدات الجادة، إلا أن هناك بعض المضادات البسيطة التي يمكن أن تستخدم من بينها:
يجسد أمن RSA ميزة الموارة في بعض منتجاته. يتم تطبيق عملية المفتاح الخصوصي M=Cd mod n كما يلي: 1-توليد رقم عشوائي سري r محصورة بين 0 و n-1. 2-نحسب C'=C(re) mod n ، حيث e هو الأس العمومي. 3=نحسب M'=(C') mod n وفق التطبيق الاعتيادي لخوارزمية RSA. 4-نحسب M=M'r-1 mod n . حيث r-1 في هذه المعادلة هو عبارة عن النظير الضربي للعدد r بالقياس n، راجع الفص الثامن لتوضيح هذا المفهوم. يمكن توضيح أن هذه النتيجة صحيحة من خلال ملاحظة red= mod n= r mod n. أوضح أمن المعطيات بتطبيق RSA أن تطبيق الموارة أدى إلى رفع الأداء بنسبة 2 إلى 10%. ادارة المفاتيح ومنظومات أخرى للتعمية بالمفتاح العموميبقي هذا الفصل المزيد من الضوء على منظومات التعمية باستخدام المفتاح العمومي. حيث سيبحث في توزيع وإدارة مفايتح منظومات التعمية بالمفتاح العمومي بما في ذلك مناقشة نظام تبادل المفاتيح Diffie-Hellman. أخيراً سنعرض مقدمة التعمية بالمنحتى الإهليجي. ادارة المفاتيحناقشنا في الفصل السابع مشكلة توزيع المفاتيح السرية. أحد الأهداف الرئيسية لأنظمة التعمية بالمفتاح العمومي هو حل مشكلة توزيع المفاتيح. عملياً هناك مجالان مستقلان لاستخدام نظام التعمية بالمفتاح العمومي لهذا الغرض:
ستتم دراسة كل من هذين المجالين بشكل منفصل. توزيع المفاتيح العموميةلقد تم اقتراح أكثر من تقنية لتوزيع المفاتيح العمومية. يمكن تصنيف كل هذه المقترحات عملياً وفق المخطط العام التالي:
الاعلان العام للمفاتيح العموميةيتلخص جوهر عملية التعمية باستخدام المفتاح العمومي توفير المفاتيح العمومية لكل المشتركين أو للعموم. وبالتالي إذا كانت هناك خوارزمية تعمية بالمفتاح العمومي مستخدمة بشكل واسع، مثل RSA، فإن أي مشترك يمكن أن يرسل مفتاحه العمومي لأي مشترك آخر أو أن ينشر مفتاحه على كل المشتركين (1-10). فعلى سبيل المثال نتيجة للانتشار الواسع لنظام PGP (Pretty Good Privacy)، والذي يستخدم خوارزمية RSA، فقد اعتاد مستخدمو PGP على إلحاق المفتاح العمومي بالرسالة التي يرسلونها إلى المنتديات العامة، مثل مجموعة الأخبار USENET ولائحة مراسلات الإنترنت (Internet mailing list). (صورة: توزيع المفتاح العمومي بشكل غير محكوم) ومع أن هذه الطريقة مناسبة وتلبي الغرض، إلا أنها تتمتع بنقطة ضعف رئيسية. يمكن لأي شخص أن يزور هذا الإعلان العام. أي يمكن لشخص ما أن يقدم نفسه على أنه المستخدم A، ويرسل مفتاحه العام المشترك آخر أو ينشر هذا المفتاح للجميع، وإلى أن يحين الوقت الذي يكتشف فيه المستخدم A الحقيقي هذا التوزير ويقوم بإعلام بقية المشتركين، سيكون المزور قد استطاع قراءة كل الرسائل المعماة المرسلة أصلاً للمستخدم A، كما يستطيع استخدام المفتاح المزور للتعريف عن نفسه (3-9). شهادات المفاتيح العموميةيمكن رفع مستوى السرية عن طريق التعامل مع مجلد ديناميكي عام يحوي المفاتيح العمومية. يجب أن تكون عملية صيانة وتوزيع المجلد العام من مسؤولية هيئة أو مرجعية موثوقة (الشكل 2-10). يمكن أن تتضمن مثل هذه الخطة مايلي: 1-تنظم الهيئة المسؤولة الدليل على أساس سجلات لكل مشترك من الشكل [اسم، مفتاح عمومي]. 2-يجب على كل مشترك أن يسجل مفتاحه العمومي لدى الهيئة، ويكون التسجيل إما بالحضور شخصياً إلى مقر الهيئة أو عن طريق أي شكل من الاتصالات الآمنة والتي يمكن تحديد مصدرها. (صورة: نشر المفتاح العمومي في المجلد العام) 3-يمكن للمشترك أن يبدل مفتاحه العمومي الحالي بآخر جديد في أي وقت، وذلك إما بسبب رغبته في تبديل هذا المفتاح الذي تم استخدامه لتعمية كمية كبيرة من المعطيات، أو بسبب فضح المفتاح الخاص الموافق بأية طريقة من الطرق. 4-تقوم الهيئة بشكل دوري بنشر المجلد بأكمله أو تحديثات له. على سبيل المثال يمكن أن تتوفر نسخة مطبوعة منه شبيهة جداً بدليل الهاتف، أو أن يتم نشر تحديث لهذا المجلد في إحدى المجلات الواسعة الانتشار. 5-يمكن للمشتركين الدخول إلى هذا المجلد بشكل إلكتروني أيضاً، ولهذا الغرض يجب أن يتوفر اتصال آمن ومحدد للهوية من الهيئة إلى المشترك. من الواضح أن هذه الخطة أكثر أمناً من الإعلان العام الشخصي عن المفاتيح العمومية، لكن ما يزال هناك بعض نقاط الضعف. إذا استطاع المعتدي الحصول على (أو الحساب) المفتاح الخاص للهيئة المالكة للمجلد، عندها يستطيع تمرير مفاتيح عامة مزورة, وبالتالي انتحال شخصية أي مشترك من أجل التنصت على الرسائل الموجهة إليه. هناط طريقة أخرى للوصول إلى نفس النتيجة وهي عبث المعتدي بالسجلات المحفوظة لدى الهيئة. هيئة المفاتيح العموميةيمكن الوصول إلى درجة أكبر من الأمن في توزيع المفاتيح العمومية عن طريق تطبيق ضبط أكثر إحكاماً على عملية توزيع المفاتيح من ذلك الموجود في المجلد العام. يبين الشكل 3-10 سيناريو قياسي لهذا الغرض. يفترض هذا السيناريو، كما هو في السابق، وجود هيئة مركزية تحتفظ بمجلد ديناميكي للمفاتيح العمومية لكل المشترطين. بالإضافة إلى ذلك، يعرف كل مشترك بشكل موثوق المفتاح العمومي لهذه الهيئة، بحيث لا أحد يعرف المفتاح الخاص الموافق سوى الهيئة. تحدث وفق هذا السيناريو الخطوات التالية (والتي تبين أرقامها على الشكل 3-10): 1-يرسل الطرف A رسالة تحوي "الطابع الزمني" (الزمن الحقيقي ويمكن أن يتضمن التاريخ أيضاً) إلى هيئة المفاتيح العمومية، كما تحوي هذه الرسالة طلباً لإرسال المفتاح العمومي الحالي الخاص بالطرف B. 2-تستجيب الهيئة بإرسال رسالة معماة باستخدام مفتاح الهيئة الخاص، KRauth. سيكون A بالطبع قادراً على فك تعمية الرسالة باستخدام مفتاح الهيئة العمومي. وبالتالي سيكون A متأكداً من أن مصدر الرسالة هو الهيئة بالفعل. تتضمن هذه الرسالة مايلي:
3-يخزن الطرف A مفتاح B العمومي ويستخدمه أيضاً لتعمية رسالة موجهة إلى B تحوي معرفاً له (للطرف A) IDA، وإشارة ما N1, والتي تستخدم لتمييز هذه الرسالة بشكل وحيد. 4،5-يحصل الطرف B على المفتاح العمومي للطرف A من الهيئة بنفس الطريقة التي حصل فيها A على المفتاح العمومي للطرف B. 6-يرسل B رسالة إلى الطرف A معماة باستخدام مفتاح A العمومي – Kua، وتحوي الإشارة التي إرسلها (N1) A بالإضافة إلى إشارة جديدة يولدها (N2) B. وبما أن B هو الوحيد الذي استطاع فك تعمية الرسالة المرسلة في الخطوة 3، فإن وجود الإشارة N1 في الرسالة 6 هو تأكيد للطرف A بأن الطرف الآخر هو B. 7-يعيد الطرف A الإشارة N2 بعد تعميتها بواسطة مفتاح B العمومي، وذلك للتأكيد للطرف B بأن الطرف الآخر هو A. (صورة: سيناريو توزيع المفاتيح العمومية) إن الخطوات السبع السابقة مطلوبة لإقامة وصلة آمنة. إلا أن الخطوات الأربعة الأولى تنفذ أقل من غيرها ذلك لأن كلا من A و B يمكن أن يتحفظوا بالمفاتيح العمومية لبعضهم من أجل المراسلات اللاحقة، وهو ما يعرف باسم تقنية التخزين المؤقت (caching). يجب أن يطلب كل مستخدم، بشكل دوري، نسخاً جديدة من المفاتيح العمومية لشركاته وذلك للتأكد من صلاحية المفاتيح التي يملكها. شهادات المفاتيح العموميةيبدو السيناريو الموضح بالشكل 3-10 جيداً، إلا أنه مازال يملك بعض الثغرات. يمكن أن تشكل هيئة توزيع المفاتيح العمومية عنق الزجاجة إلى حد ما في هذا النظام، حيث يجب على المستحدم أ، يناشد الهيئة للحصول على المفتاح العمومي لكل مستخدم آخر يردي مراسلته. وكما هو الحال في السابق، فإن مجلد الأسماء والمفاتيح العمومية الذي تحتفظ به الهيئة يبقى قابلاً للاختراق. (صورة: تبادل شهادات المفتاح العمومي) تقترح الطريقة البديلة، والتي قدمها Kohnfelder لأول مرة، وهي استخدام شهادات والتي يمكن أن تستخدم بدورها لتبادل المفاتيح بدون الرجوع إلى هيئة المفاتيح العمومية، بحيث تبقى هذه الطريقة موثوقة كما لو تم الحصول عليها مباشرة من قبل الهيئة. يتم إنشاء كل شهادة، حاوية على مفتاح عمومي ومعلومات أخرى، من قبل هيئة منح الشهادات وتسلم إلى المشترك مع المفتاح الخاص الموافق. يرسل المشترك معلومات مفتاحه إلى مشترك آخر عن طريق إرسال شهادته. يرسل بقية المشتركين التأكد من أن الشهادة صادرة عن هيئة منح الشهادات فعلاً. يمكن وضع المتطلبات التالية على هذا المخطط: 1-يمكن لأي مشترك أن يقرأ الشهادة لتحديد اسم مالك الشهادة ومفتاحه العمومي. 2-يمكن لأي مشترك التأكد من أن الشهادة صادرة عن هيئة منح الشهادات وليست مزورة. 3-يمكن لهيئة منح الشهادات فقط إنشاء شهادة جديدة أو تحديث أخرى قديمة. تلبي هذه المتطلبات بالمقترح المقدم من قبل Kohnfelder. وقد أضاف Denning المطلب التالي: 4-يمكن لأي مشترك اختبار صلاحية الشهادة. يبين الشكل 4-10 مخطط استخدام الشهادات. يقدم كل مشترك طلباً إلى الهيئة للحصول على شهادة، ويرفق هذا الطلب بالمفتاح العمومي الخاص به. يجب أن يكون تقديم الطلب إما بالحضور ذاتياً إلى مقر الهيئة أو عن طريق اتصال آمن ومعروف للهوية. تمنح الهيئة للطرف A شهادة من الشكل: CA= EKRauth [T, IDA, KUR] حيث KRauth هو المفتاح الخاص المستخدم من قبل الهيئة. يمكن للطرف A عندها أن يمرر هذه الشهادة إلى أي مشترك آخر، والذي يمكنه أن يقرأها ويختبر الشهادة كما يلي: DKUauth[CA] = DKUauth [EKRauth [T, IDA, KUa]]=(T, IDA, KUa) يستخدم المستقبل المفتاح العمومي للهيئة KUauth، لفك تعمية الشهادة. وبما أن الرسالة ستكون مقروءة باستخدام المفتاح العمومي للهيئة، فإن هذا يضمن أن الشهادة صادرة عن هيئة منح الشهادات بالذات وليست مزورة. يقدم العنصران IDA و KUa معلومات للمستقبل حول اسم حامل الشهادة ومفتاحه العمومي. أما الطابع الزمني T فيلزم للتحقق من صلاحية الشهادة. يستخدم الطابع الزمني لمقاومة الحالة التالية: لنفرض أن المعتدي قد عرف بطريقة ما مفتاح A الخاص. يقوم الطرف A عندها توليد زوج جديد من المفاتيح الخاص / العام، ويقدم طلباً لهيئة منح الشهادات من أجل الحصول على شهادة جديدة. يقوم المعتدي في غضون ذلك بتوجيه الشهادة القديمة للطرف B. إذا قام الطرف B عندها بتعمية الرسائل مستخدماً لذلك المفتاح العمومي القديم المفضوح، فإن المعتدي سيكون قارداً على قراءة هذه الرسائل جميعها. يمكن مقارنة فضح المفتاح الخصوصي في هذه الحالة مع ضياع بطاقة الائتمان. يقوم مالك بطاقة الائتمان في هذه الحالة بإلغاء رقم بطاقة الائتمان، إلا أنه يبقى عرضة للخطر حتى يتم إبلاغ كل الأطراف التي يمكن أن تقبل بطاقته بأن البطقاة القديمة أصبحت غير فعالة. وبالتالي يخدم الطابع الزمني هنا بما يشابه تاريخ الانتهاء. إذا كانت الشهادة قديمة نسبياً، فيفترض أنها غير صالحة. استخدام المفاتيح العمومية لتوزيع المفاتيح السريةبعد أن يتم توزيع المفاتيح العمومية أو حالماً يصبح الحصول عليها ممكناً. عندها يمكن إقامة اتصال آمن مقاوم للتصنت (الشكل 2-9) أو لكليهما (الشكل 4-9). إلا أن القليل من المستخدمين يرغبون باستخدام المفتاح العمومي حصراً لعملية التعمية، والسبب في ذلك البطء النسبي في عملية التعمية وفك التعمية. وفقاً لذلك، يمكن النظر إلى التعمية باستخدام المفتاح العمومي على أنها مناسبة كعربة لتوزيع المفاتيح السرية المستخدمة في التعمية التقليدية. التوزيع البسيط للمفاتيح السريةطرح Merkle مخططاً مبسطاً جداً لتوزيع المفاتيح السرية، وهو موضح بالشكل 5-10. إذا أراد A إقامة اتصال مع B، فسيقام الإجراء التالي: 1-يولد A زوجاً من المفاتيح – عمومي / خصوصي ويرسل رسالة إلى B مؤلفة من KUa ومعرف له . 2-يولد B مفتاحاً خاصا، Ka، ويرسله إلى A بعد تعميته بمفتاح A العمومي. 3-يقوم A بإجراء الحساب التالي DKRa [EKUa[Ks]] لاستخراج المفتاح السري. وبما أن A وحده الذي يستطيع فك تعمية الرسالة، فإن A و B فقط هما اللذان يعلمان بماهية Ka. 4-يهمل A المفاتيح KUa و KRa، كما يقوم B بإهمال KUa. (صورة: الشكل البسيط لاستخدام المفتاح العمومي من أجل تبادل المفتاح السري) يستطيع A و B إقامة اتصال آمن الآن باستخدام التعمية المتماثلة ومفتاح الجلسة Ks. عند انتهاء جلسة الاتصال الحالية يهمل كل من A و B المفتاح Ks. يعتبر هذا البروتوكول من البروتوكولات الجيدة نظراً لبساطته. لا تتوفر أية مفاتيح قبل بدء الاتصال، ولن تبقى أ]ى مفاتيح بعد انتهاء الاتصال. وبالتالي يصبح احتمال فضح المفاتيح أصغرياً. وفي نفس الوقت يبقى الاتصال آمناً تجاه التصنت. إلا أن هذا البروتوكول ضعيف تجاه الهجوم الفعال. فإذا كان المعتدي E قادراً على الوصول إلى قناة الاتصال واعتراضها، فإنه يستطيع فضح الاتصال بالطريقة التالية دون أن يكشف: 1-يولد A زوجاً من ا لمفاتيح العمومي / الخصوصي {KUa/KRa} ويرسل رسالة موجهة إلى B تحوي المفتاح العمومي KUa والمعرف الخاص به IDA. 2-يقاطع المعتدي E الرسالة، ويولد زوج مفاتيح عمومي / خصوصي خاصاً به {KUe, KUe}، ويرسل الرسالة KUe||IDA إلى الطرف B. 3-يولد B المفتاح السري Ka ويرسله بالشكل EKUe[Ks]. 4-يقاطع E الرسالة ويعلم من خلالها المفتاح Ks عن طريق إجراء الحساب DERe[EKUe[Ks]]. 5-يرسل E الرسالة EKUa[Ks] إلى A. نتيجة لذلك سيعلم كل من A و B المفتاح Ks ولا يعلمان أن Ks مكتشف من قبل E. يمكن للأطراف A و B أن يتبادلا الرسائل باستخدام Ks. لن يتدخل E مجدداً بشكل فعال، إلا أنه سيتنصت فقط على المراسلات. وبما أنه يعرف المفتاح Ks، فإن يستطيع قراءة كل الرسائل السرية المتبادلة بين A و B دون أن يعلما بذلك. وبالتالي نجد أن هذا البروتوكول البسيط سيكون مفيد في حالة البيئة التي تكون فيها مخاطر تنصت فقط. تبادل المفاتيح السرية مع تأمين السرية وتحديد الهويةيقدم المخطط المبين بالشكل 6-10 الحماية ضد الهجوم السلبي والفعال بآن واحد. سنبدأ من النقطة التي يفترض بها أن كلا من A و B قد قاما بتبادل المفاتيح العمومية مستخدمين لذلك واحدة من الخطط المشروحة سابقاً في هذا المقطع. تحدث بعد ذلك الخطوات التالية: (صورة: استخدام المفاتيح العمومية لتوزيع المفاتيح السرية) 1-يستخدم الطرف A المفتاح العمومي الخاص بالطرف B ليعمي رسالة موجهة إلى B تحوي المعرف الخاص به (المعرف الخاص بالطرف A، IDA) وإشارة ما (N1)، والتي ستستخدم لتعريف عملية النقل الحاصلة بشكل منفرد. 2-يرسل B رسالة إلى الطرف A، معماة بواسطة المفتاح KUa، وتخوي الإشارة المرسلة من قبل (N1) A بالإضافة إلى إشارة جديدة مولدة من قبل (N2) B. وبما أن B هو الوحيد القادر على فك تعمية الرسالة الأولى، فإ، وجود N1 في الرسالة الثانية سيؤكد للطرف A أن الطرف المقابل هو B فعلاً. 3-يعيد الطرف A الإشارة N2، بعد تعميتها بواسطة مفتاح B العمومي KUb، وذلك ليؤكد للطرف B بأن الطرف المقابل له هو A فعلاً. 4-يختار A مفتاحاً سريا Ks ويرسله بالشكل M=EKUb[EKRa[KKRa]] إلى الطرف B. تعمية هذه الرسالة قادراً على قرائتها، والتعمية التالية بواسطة مفتاح A الخصوصي سيضمن أن A هو فعلاً الذي أرسلها. 5-يفك الطرف B تعمية الرسالة على الشكل DKUa[DKRb[M]] وذلك للحصول على المفتاح السري. لاحظ أن الخطوات الثلاث الولى من هذا المخطط هي نفسها الخطوات الثلاث الأخيرة من المخطط الموضح بالشكل 3-10. يضمن هذا المخطط كما نلاحظ كلاً من السرية وتحديد الهوية عند تبادل المفاتيح. المخطط المختلطهناط طريقة أخرى لاستخدام المفتاح العمومي من أجل توزيع المفاتيح السرية، وهذه الطريقة مستخدمة في الحواسيب المركزية (main frames) التي تنتجها شركة IBM. تعتمد هذه الطريقة على استخدام مركز توزيع المفاتيح (Key Distribution Center-KDS) والذي يتشارك مع كل مستخدم بمفتاح أساسي Master Key ويقوم بتوزيع المفاتيح السرية للجلسات بعد تعميتها بالمفتاح الأساسي. يستخدم مخطط المفتاح العمومي لتوزيع المفاتيح الأساسية. لقد تم تعليل سبب استخدام هذه الطريقة ثلاثية المستوى بما يلي: 1-الأداء: يتم في العديد من التطبيقات، تلك التي تعتمد على وصلات نقل المعطيات Transaction-oriented، تبديل المفاتيح بتردد كبير. لذلك فإن توزيع مفاتيح الجلسات باستخدام التعمية بالمفتاح العمومي سوف ينقص من الأداء العام للنظام، وذلك نتيجة للحمل الحسابي العالي الذي تفرضه عمليتي التعمية وفك التعمية. أما مع البنية الهرمية ثلاثية المستوى، فإن استخدام المفتاح العمومي سيكون قليلاً نسبياً وذلك لتحديث المفتاح الأساسي بين المستخدم والمركز KDC فقط.
إن إضافة طبقة المقتاح العمومي سيزيد من مستوى الأداء والسرية عند توزيع المفاتيح الأساسية. تظهر فائدة هذه الطريقة في حال وجود مخدم KDC وحيد مستخدم لمجموعة موزعة بشكل كبير من المتسخدمين طريقة Diffie وHellman لتبادل المفاتيحهذه هي أول خوارزمية مفتاح عمومي ثم نشرها من قبل Diffie و Hellman. وتهدف إلى تعريف التعمية بالمفتاح العمومي وأطلق عليها اسم "طريقة Diffie و Hellman لتبادل المفاتيح". وقد استخدمت العديد من التطيبقات التجارية هذه التقنية لتبادل المفاتيح. هدف الخوارزمية هو إعطاء الإمكانية لمستخدمين أن يتبادلا المفتاح بشكل سري، بحيث يمكن استخدامه لاحقاً في تعمية مراسلاتهما. تنحصر الخوارزمية بحد ذاتها في عملية تبادل المفاتيح. تعتمد خوارزمية Diffie-Hellman لرفع فعاليتها على صعوبة حساب اللورغاريتمات المتقطعة. يمكن باختصار تعريف اللوغاريتمات المتقطعة كما يلي: سنعرف أولاً الجذر البسيط للعدد الأولي p على انه ذلك العدد الذي تولد قواه كل الأرقام الصحيحة من 1 وحتى p-1. أي أنه، إذا كان a حذراً بسيطاً للعدد الأولي p، فإن الأعداد A mod p, a2 mod p, ……….ap-1 mod p هي أعداد مختلفة عن بعضها بعض وتتألف من الأعداد الصحيحة الواقعة في المجال من 1 وحتى p-1 وبترتيب ما. من أجل أي عدد صحيح b وجذر بسيط a للعدد الأولي p، يمكن أن نجد أساً وحيداً i يحقق ما يلي: 0<=i<=p-1 حيث b=ai mod p يطلق على الأس i اللوغاريتم المتقطع او الدليل للعدد b من أجل الأساس a بالقياس p. ويرمز لهذه القيمة بالرمز inda-o (p). يمكن مراجعة الفصل الثامن لمناقشة اللوغاريتمات المتقطعة بالتفصيل. يمكن استخدام هذه المعلومات تعريف طريقة Diffie و Hellman لتبادل المفاتيح والملخصة بالشكل 7-10. يوجد في هذا المخطط عددان معروفان للعموم هما: العدد الأولي q والعدد الصحيح وهو عبارة عن الجذر البسيط للعدد q. لنفترض أن الطرفين A و B يريدان تبادل المفاتيح. يختار الطرف A عدداً صحيحاً عشوائياَ q>XA ويحسب . بشكل مشابه ولكن مستقل يختار B عدداً صحيحاً عشوائياً q>XB ويحسب . يتحفظ كل الأطراف بالقيمة X لديه دون إعلانها، بينما يجعل القيمة Y متوفرة للعموم، بحيث يمكن معرفتها من قبل الطرف المقابل. بحسب الطرف A المفتاح كما يلي: K=(YB)XA mod q، وبحسب الطرف B المفتاح بالشكل K=(YA)XB mod q. نستنتج هذه الحسابات نتائج متطابقة: K=(YB)XB mod q=(aXB mod q) mod q (صورة: خوارزمية Diffie-Hellman لتبادل المفاتيح) النتيجة هي أن كلا من الطرفين قاما بتبادل المفاتيح السرية. بالإضافة إلى ذلك، بما أن XA، و XB بقيت خاصة، فإن المعتدي يمكن العناصر التالية فقط q و a و YA و YB. وبالتالي فهو مضطر لحساب اللوغاريتم المتقطع من أجل تحديد المفتاح. لنحاول مثلاً الحصول على المفتاح السري الخاص المستخدم B. يجب على المعتدي إجراء الحساب التالي: XB=inda-q (YB) يستطيع المعتدي بعدها حساب المفتاح K بنفس الطريقة التي يحسبه فيها الطرف B. تعتمد درجة أمن طريقة Diffie و Hellman في تبادل المفاتيح على حقيقة أنه، رغم السهولة النسبية لحساب الأس بقياس عدد أولي، فإنه من الصعب جداً حساب اللوغاريتمات المتقطعة. وتعتبر المهمة الثانية (حساب اللوغاريتمات المتقطعة) غير مجدية في حال الأعداد الأولية الكبيرة. لنأخذ المثال التالي: يعتمد تبادل المفاتيح على استخدام العدد الأولي q=353، الجذر البسيط للعدد 353 هو a=3. يختار كل من A و B المفاتيح السرية XA=97 و XB=233 على التوالي. بحسب كل منهما المفتاح العمومي الخاص به: YA=397 mod 353=40 YB=3323 mod 353=248 يمكن لكل منهما حساب المفتاح السري بعد أن يتبادلا المفاتيح العمومية: سيقوم A بالحساب التالي: K=(YB)XA mod 353=24897 mod 353=160 سيقوم B بالحساب التالي: K=(YA)XA mod 353=40233 mod 353=160 نفترض أنه سيتوفر لدى المهاجم المعلومات التالية: Q=353:a=3; YA=40; YB=248 يمكن في هذا المثال البسيط تحديد المفتاح السري 160 بالتجريب (الكسر الأعمى). عملياً يمكن للمعتدي E تحديد المفتاح المشترك عن طريق إيجاد حل للمعادلة 3a mod 353=40 أو المعادلة 3b mod 353=248. يتم ذلك وفق طريقة الكسر الأعمى لحساب قوى العدد 3 بالقياس 353 والتوقف عندما نحصل على النتيجة 40 أو 248. يتم التوصل إلى النتيجة عند الأس 97 والذي يحقق 397 mod 353=40. تصبح هذه الطريقة غير عملية عندما تكون الأعداد أكبر من ذلك. يبين الشكل 8-10 بروتوكولاً بسيطاص يستخدم حسابات Diffie-Hellman. لنفرض أن المستخدم A يرغب بإقامة اتصال آمن مع الطرف B مستخدماً لذلك مفتاحاً سرياً. يولد الطرف A مفتاحاً خاصاً للاستخدام مرة واحدة هو XA، ويستخرج بناء عليه YA ويرسله إلى B. سوف يستجيب الطرف B بتوليد القيمة الخاصة XB، ويحسب من خلالها القيمة YB ويرسلها إلى الطرف A. يمكن لكلا الطرفين الآن استخراج المفتاح. يجب أن تكون القيم العامة q و a معرفوة مسبقاً. الحل البديل هو أن يختار الطرف A قيماً للأعداد q و a ويضمنهما في رسالته الأولى. (صورة: طريقة Diffie و Hellman لتبادل المفاتيح) يمكن أن نعرض مثالاً آخر لاستخدام خوارزمية Diffie-Hellman. لنفرض أن كل فرد من مجموعة مستخدمين ما (لنقل كل المستخدمين في شبكة محلية ما) يقوم بتوليد قيمة خاصة طويلة الأمد XA ويستخرج بناء عليها القيمة العمومية YA. يمكن تخزين هذه القيم العمومية q و a في مجلد مركزي ما. يمكن في أي وقت أن يحصل الطرف B على القيمة العمومية للطرف A ويستخرج المفتاح السري ويستخدمه لإرسال رسالة معماة إلى الطرف A. إذا كان المجلد المركزي موثوقاً، فإن هذه الطريقة تؤمن السرية وإلى حد ما تحديد الهوية. وبما أن A و B فقط هما القادران على تحديد المفتاح، فلن يستطيع أي مستخدم آخر قراءة رسائلهما (تأمين السرية). يعرف الطرف A أن الطرف B فقط هو القادر على إنشاء الرسالة باستخدام هذا المفتاح (تحديد الهوية)، إلا أن هذه الطريقة لا تحمي ضد الهجوم بالإعادة. رياضيات المنحنى الإهليجيتعتمد معظم المنتجات، التي تستخدم التعمية بالمفتاح العمومي سواء بغرض التعمية أو بغرض التوقيع الرقمي، على خوارزمية RSA. وكما رأينا، زاد طول المفتاح المستخدم مع هذه الخوارزمية في السنوات الأخيرة، مما أدى إلى زيادة العبء الحسابي على التطبيقات التي تستخدم هذه الخوارزمية. يؤدي هذا العبء إلى عواقب متعددة، خصوصاً في حالة مواقع التجارة الإلكترونية التي تملك عدداً كبيراً من الاتصالات الآمنة. ظهر أخيراً نظام منافس يتحدى RSA: التعمية باستخدام المنحنى الإهليجي (ECC-Elliptic Curve Cryptography). ينبع تميز ECC بالمقارنة مع RSA من أن هذا النظام يقدم مستوى سرية ثابت حتى في حالة المفاتيح الصغيرة جداً، وبالتالي ينخفض العبء الحسابي المطلوب. بالقابل، وعلى الرغم من أن نظرية ECC كانت معروفة، إلا أنه لم تظهر تطبيقاته إلا في الآونة الأخيرة. وبعد ذلك بدأت الدراسات التحليلية بهدف إظهار نقاط ضعف هذا النظام. وبالتالي فإن مستوى الثقة في النظام ECC لم يتضح الآن، وبذلك فلا نستطيع مقارنته بالنظام RSA. يعتبر شرح أسس النظام ECC أصعب من RSA أو من Diffie-Hellman، والوصف الرياضي الكامل يتعدى حدود هذا الكتاب. يعطي هذا المقطع والمقطع الذي يليه خلفية لا بأس بها عن المنحنى الإهليجي وعن نظام التعمية باستخدام (ECC). سنبدأ بمراجعة سريعة لمفاهيم البنى الحقيقة. ويلي ذلك نظرة عن المنحنيات الإهليجية المعرفة على الحقول المنتهية. سيكون بمقدورنا أخيراً دراسة نظام التعمية باستخدام المنحنى الإهليجي. ربما سيلزم للقارئ أن يراجع الفصل الرابع والذي يبحث في الحقول المنتهية قبل متابعة البحث. البنى الرقمية (مجموعات Abel)تذكر من الفصل الرابع، أن بينى ما G ويرمز لها أحياناً بالرمز {G}، هو عبارة عن مجموعة من العناصر مع عملية ثنائية يرمز لها بالرمز .، والتي تربط زوجاً من عناصر المجموعة G هو (a, b) مع عنصر من G أيضاً هو (a.b)، بحيث تحقق المجموعة البديهيات التالية: (A1) أن تكون المجموعة مغلقة بالنسبة للقانون المعرف عليها (closure): إذا كان a و b ينتميان إلى المجموعة G فإن a.b ينتمي أيضاً إلى المجموعة G. (A2) أن يكون القانون تجميعاً في المجموعة (Associative): أي أن يتحقق ما يلي من أجل جميع عناصر المجموعة G، a.(b.c)=(a.b).c. (A4) أن يكون هناك عنصر حيادي في المجموعة بالنسبة للعملية .: أي أن يكون هناك عنصر e من المجموعة G يحقق ما يلي: a.e= e.a= a وذلك مهما كان a من G. (A4) أن يكون هناك عنصر نظير في المجموعة بالنسبة للعملية .: لكل عنصر a من المجموعة G هناك عنصر موافق a' من G يحقق ما يلي a.a'= a'.a= e. (A5) أن يكون القانون تبادلياً في هذه المجموعة: أي أن يكون a.b=b.a مهما كان a و b من G. يعتمد العديد من أنظمة التعمية بالمفتاح العمومي على استخدام البنى. على سبيل المثال، تتضمن خوارزمية Diffie-Hellman لتبادل المفاتيح عملية ضرب أزواج من الأعداد الصحيحة غير الصفرية بقياس عدد أولي q. يتم توليد المفاتيح عن طريق الرفع إلى أس من المجموعة، مع تعريف الرفع إلى أس على أنه ضرب متكرر. فعلي سبيل المثال: (صورة: معادلة) لمهاجمة خوارزمية Diffie-Hellman، يجب على المهاجم تحديد k بمعرفة a و aK، وهي عبارة عن مسألة لوغاريتم متقطع. في التعمية باستخدام المنحنى الإهليلجي، يتم استخدام عملية على المنحنى الإهليجي تدعى الجمع. يتم تعريف الضرب على أنه جمع متكرر. فعلى سبيل المثال: (صورة: معادلة) حيث يتم تطبيق الجمع على المنحنى الإهليلجي. يتضمن تحليل التعمية في هذه الحالة تحديد قيمة k انطلاقاُ من a و a*k. يعرف المنحنى الإهليلجي بمعادلة ذات متحولين ومجموعة عوامل. يتم في التعمية تقييد المتحولات والعوامل بمجموعة عناصر من حقل منتهي، والذي ينتج من تعريف بنية منتهية. قبل دراسة ذلك، لابد من دراسة المنحنى الإهليلجي الذي تكون متحولاته وعوامله أعداده أولية. ربما ستكون هذه الحالة أسهل للبيان والإظهار. المنحنى الإهليجي المعرف على الأعداد الحقيقيةيختلف المنحنى الإهليلجي عن القطع الناقص. والسبب في إعطائه هذا الاسم هو توصيفه بمعادلة من الدرجة الثالثة، مثل تلك التي تستخدم لحساب محيط القطع الناقص. بشكل عام تأخذ المعادلة من الدرجة الثالثة التي تصف المنحنى الإهليجي الشكل التالي: Y2+axy+by=x3+cx2+dx+e حيث a و b و c و d و e هي أعداد حقيقية و x و y تأخذ قيماً من مجموعة الأعداد الحقيقية. يكفي لأغراضنا أن نقيد المعادلة بالشكل: Y2=x2+ax+b (1-10) يطلق على هذه المعادلة اسم المعادلة المكعبة أو معادلة من الدرجة الثالثة، وذلك لأن الأس الأعلى في هذه المعادلة هو 3. يتضمن تعريف المنحنىالإهليجي أيضاً نقطة يرمز لها بالرمز "0" وتدعى نقطة اللانهاية أو النقطة الصفرية، والتي سنناقشها فيما بعد. لرسم هذا المنحنى يجب حساب القيمة: (صورة: معادلة) فمن أجل قيم معلومة لكل من a و b، يتألف المنحنى من قيم موجبة وقيم سالبة للمتحول y وذلك من أجل كل قيمة من قيم x. وبالتالي سيكون كل منحنى متناظراً حول y=0. يبين الشكل 9-10 مثالين عن المنحنى الإهليجي. وكما يظهر من الشكل يمكن أن تعطي المعادلات منحنيات ذات أشكال عجيبة. لنأخذ الآن مجموعة النقاط E(a, b) المؤلفة من كل النقاط (x, y) التي تحقق المعادلة 1-10 مع العنصر 0. يمكن أن ينتج استخدام قيمة مختلفة للزوج (a, b) مجموعة E(a, b) مختلفة. باستخدام هذا الاصطلاح نجد أن المنحنيات المبينة في الشكل 9-10 نصف المجموعتين E(1, 0) و E(1,1) على التوالي. الوصف الهندسي للجمعنستطيع تبيان أن المجموعة التي يمكن تعريفها بالاعتماد على المجموعة E(a, b) باعتبار x3+ax+b لا تملك أية عوامل متكررة. وهذا مكافئ للشرط: 4a3+27b2=/0 سنعرف الآن عملية، تدعى الجمع ويرمز لها +، مطبقة على المجموعة E(a, b)، حيث a و b تحقق المعادلة 2-10. يمكن من وجهة نظر هندسية تعريف الجمع كما يلي: إذا وقعت ثلاث نقاط من المنحنى الإهليلجي على خط مستقيم فإن مجموعها هو 0. يمكن من خلال هذا التعريف وضع قواعد الجمع على المنحنى الإهليلجي. 1-تعمل النقطة 0 كعنصر حيادي بالنسبة للجمع. وبالتالي 0=-0، ومن أجل أية نقطة p من المنحنى الإهليجي فإن p+0=p. نفترض فيما سيلي أن p=/0 و Q=/0. 2-النقطة السلبية للنقطة p هي عبارة عن نقطة لها نفس الإحداثي x والقيمة السالبة للإحداثيy [أي أنه إذا كانت p=(x, y) فإن p=(x, y)]. لاحظ أنه يمكن جمع هاتين النقطتين بمستقيم عمودي. ولاحظ أيضاً أن p+(-p)=p-p=0. (صورة: مثال عن المنحنيات الإهليجية) 3-لجمع نقطتين مختلفتين P و Q مختلفتين بالإحداثي x، يجب رسم خط مستقيم بينهما وإيجاد نقطة التقاطع الثالثة R. من السهل تبيان أن هناك نقطة وحيدة R هي نقطة التقاطع (ما لم يكن هذا المستقيم مماساً للمنحنى في أي من P أو Q، وفي هذه الحالة نعتبر R=P أو R=Q على التوالي). نحتاج من أجل تشكيل بينة المجموعة، إلى تعريف الجمع في هذه النقاط الثلاثة كما يلي: P+Q=-R. أي أننا عرفنا P+Q على أنه مرآة نقطة الثالثة (بالنسبة للمحور x). يوضح الشكل 9-10 هذه البنية. 4-يمكن تطبيق التفسير الهندسي للفقرة السابقة على النقطتين P و –P المشتركين بالإحداثي x. يتم جمع النقطتين بمستقيم عمودي والذي يمكن إظهاره على أنه يقطع المنحنى في اللانهاية. لذلك نقول ان P=(-P)=0 وهو مطابق للفقرة 2. 5-لمضاعفة النقطة Q، يجب رسم المستقيم المماس للمنحنى في هذه النقطة وإيجاد نقطة تقاطع أخرى S. والتي سيكون عندها Q+Q=2Q=-S. الوصف الجبري للجمع=يعرف هذا المقطع بعض النتائج التي تساعد في تنفيذ الجمع على المنحنى الإهليجي. فمن أجل نقطتين من المنحنى الإهليجي P=(xp, yp) و Q=(xQ, yQ) واللتان لا تشكل إحداهما القيمة السلبية للأخرى، سيكون ميل المستقيم / الواصل بينهما هو (صوة: معادلة). المنحنى الإهليجي في الزمرة Zpتستفيد التعمية باستخدام المنحى الإهليلجي من المنحينات الإهليلجية التي تكون متحولاتها وعوامهل مقدية بعناصر من حقل منتهي. هناك عائلتان من المنحنيات الإهليلجية مستخدمة في تطبيقات التعمية: المنحينات الأولية المعرفة في الزمرة Zp والمنحينات الثنائية المبنية على الحقل GF(2n). وقد أشارت العديد من المراجع أن المنحينات الأولية هي المفضلة للتطبيقات البرمجية، ذلك لأن عمليات العبث أو تغير الخانات الموسعة والمطلوبة من قبل المنحنيات الثنائية غير مطلوبة هنا، وأن المنحنيات الثنائية هي الأفضل للتطبيقات الجهازية، والتي تحتاج إلى عدد قليل من البوابات المنطقية لإقامة نظام تعمية قوي وسريع. سوف ندرس هاتين العائلتين في هذا المقطع وفي المقطع التالي. لا توجد أية تفسيرات هندسية واضحة لحسابات المنحنى الإهليلجي في الحقول المنتهية. التفسير الجبري المستخدم في حسابات المنحنى الإهليلجي على الأعداد الحقيقية يبقى ساري المفعول، وهذه هي الطريقة التي ستتبعها. في المنحنيات الإهليلجية على الزمرة Zp، سوف نستخدم المعادلة من الدرجة الثالثة والتي تأخذ فيها كل المتحولات والعوامل قيماً في مجموعة الأعداد الصحيحة من 0 إلى p-1، وذلك من أجل عدد أولي p، والذي تجري فيها الحسابات بالقياس p. وكما هو الحال مع الأعداد الحقيقية، سنتقيد بمعادلات من شكل المعادلة 1-10، ولكن في هذه الحالة مع معاملات ومتحولات من الزمرة Zp: Y2 mod p=(x3+ax+b) mod p (5-10) على سبيل المثال، تتحقق المعادلة (5-10) من أجل p=23, y=7, x=9, b=1, a-1: 73 mod 23=(93+9+1) mod 23 49 mod 23=739 mod 23 3=3 لنأخذ الآن المجموعة E(a, b) المؤلفة من كل أزواج الأعداد الصحيحة (x, y) التي تحقق المعادلة (5-10)، مع نقطة اللانهاية 0. ليكن على سبيل المثال p=23 ولنأخذ المنحنى الأهليلجي الموصوف بالمعادلة y2=x3+x+1. في هذه الحالة a=b=1. لاحظ أن هذه المعادلة هي نفسها الموصوفة بالشكل 9b-10. يبين الشكل منحنياً متصلاً مؤلف من كل النقاط الحقيقية التي تحقق المعادلة. فمن أجل E23(1, 1)، سنهتم فقط بالأعداد الصحيحة غير السالبة في الربع من (0, 0) وحتى (p-1, p-1) والتي تحقق المعادلة بالقياس p. يسرد الجدول 1-10 النقاط التي تشكل جزء من E23(1, 1) (غير النقطة 0). يرسم الشكل 10-10 نقاطاً من E23(1, 1) ، لاحظ أن النقاط متناظرة حول y=11.5، ماعدا استثناء واحد. (جدول) (صورة: المنحنى الإهليلجي E23(1,1)) يمكن تبيان أنه من الممكن تعريف البنية المنتهية بالاعتماد على المجموعة E23(a, b) بشرط أن (x3+ax+b) mod p لا يملك معاملات متكررة. وهذا مكافئ للشرط: (4a3+27b2) mod p=/0 mod p (6-10) لاحظ أن المعادلة (6-10) تملك نفس شكل المعادلة (2-10). تنسجم قواعد الجمع المطبقة على E(a, b) مع التقنيات الجيرية التي تشرح المنحنيات الإهليلجية على الأعداد الحقيقية. فمن أجل كل النقاط : 1-P+0=P 2-إذا كان P(xp, yp)، عندها p+(xp, -yp). النقطة (xp, yp) هي عبارة عن القيمة السالبة للنقطة P، والتي تأخذ الرمز –P. على سبيل المثال، في E23(1,1)، ومن أجل النقطة p(13, 7) سيكون p=(13, -7). لكن 7 mod 23=16. لذلك –p=(13, 16)، والتي ستكون أيضاً من E23(1, 1). (صورة: معادلات) التعمية باستخدام المنحنى الإهليجي في GF(2m)تذكر من الفصل الرابع أن الحقل المنتهي GF(2m) يتألف من 2m عنصراً، بالإضافة إلى عمليات الضرب التي يمكن أن تعرف على كثيرات ال حدود. فمن أجل المنحنيات الإهليلجية في GF(2m)، يمكن استخدام معادلة من الدرجة الثالثة والتي تكون كل متحولاتها ومعاملاتها هي قيم من GF(2m)، وذلك من أجل عدد ما m، والذي تجري فيه الحسابات باستخدام قواعد الحساب في GF(2m). يبدو أن شكل المعادلة من الدرجة الثالثة والمناسبة لتطبيقات التعمية باستخدام المنحنيات الإهليلجية مختلفة في GF(2m) عما هي عليه في Zp. والشكل هو: Y2+xy=x3+ax2+b من الواضح أن المتحولات x و y والعوامل a و b هي عبارة عن عناصر من GF(2m) وأن الحسابات تتم في GF(2m). لنفرض الآن أن المجموعة E2m(a, b) تتألف من كل أزواج الأعداد الصحيحة (x, y) والتي تتحقق المعادلة (7, 10)، بالإضافة إلى نقطة اللانهاية 0. يمكن إظهار أنه يمكن تعريف البنية المنتهية بالاعتماد على المجموعة E2m(a, b)، بشرط أن b=/0. يمكن وضع قواعد الجمع كما يلي: من أجل كل النقاط P و Q التي تنتمي إلى E2m(a, b): (صورة: معادلات) التعمية باستخدام المنحنى الإهليلجيتعتبر عملية الجمع في ECC نظيرة الحساب القياسي في RSA والجمع المتكرر هو نظير الرفع إلى أس بالقياس. لتشكيل نظام تعمية باستخدام المنحنى الإهليلجي، نحتاج لأن نجد "مشكلة صعبة الحل" بما يشابه تحل يل الجداء إلى عامين أوليين أو الحصول على اللوغاريتم المتقطع. لنأخذ المعادلة Q=kp، حيث Q و p تنتميان إلى Ep(a, b) و k<p. من السهل نسبياً حساب Q إذا توفر k و p، ولكن من العصب نسبياً تحديد k إذا كانت Q و p فقط معروفتين. يدعى ما سبق بمسألة اللوغاريتم المتقطع في المنحنى الإهليلجي. سنورد فيما يلي مثالاً مأخوذاً من الواقع (www.certicom.com). ليكن لدينا المجموعة E23(9, 17). تعرف هذه المجموعة بالمعادلة y2 mod 23=(x3+9x+17) mod 23. ما هو اللوغاريتم المتقطع k من أجل Q=(4, 5) وللأساس ?p=(16, 5) تتلخص طريقة الكسر الأعمى (التجريب) بحساب مضاريب p حتى نحصل على Q. وبالتالي: P=(16, 5); 2p=(20, 20); 3p=(14, 14); 4p=(19, 20); 5p=(13, 10) 6p=(7, 3); 7p(8, 7); 8p=(12, 17); 9p=(4, 5) بما أن 9p=(4, 5)=Q، فإن اللوغاريتم المتقطع للقيمة Q=(4, 5) بالنسبة للأساس p=(16, 5) هو k=9. يجب في التطبيقات الحقيقية، أن يكون k كبيراً جداً بحيث تصبح طريقة الكسر الأعمى غير مجدية. سنوضح في تتمة هذا المقطع طريقتين لتحقيق ECC واللتان تعطيان أشكال هذه التعمية. نظام مخطط تبادل المفاتيح باستخدام طريقة Diffie-Hellmanيمكن إجراء عملية تبادل المفاتيح باستخدام المنحنىالإهليلجي بالطريقة التالية. يتم أولاً اختيار عدد صحيح كبير p، والذي يجب أن يكون إما أولياً أو عدداً صحيحاً من الشكل 2m وبارامترين من المنحنى الإهليلجي a و b الموجودين في المعادلة (5-10) أو (7-10). نحدد بهذا الشكل مجموعة النقاط Eq(a, b) للإهليلج. نختار بعد ذلك نقطة أساس G=(x1, y1) من Ep(a, b) والذي يكون ترتيبها هو قمية كبيرة n. الترتيب n للنقطة G على المنحنى الإهليلجي هو عبارة عن عن أصغر عدد صحيح موجب n يحقق ما يلي: nG=0. Eq(a, b) و G هما بارامترا نظام التعمية المعروفان من قبل جميع المشتركين. يمكن أن تتم عملية تبادل المفاتيح بين المستخدمين A و B بالشكل التالي (الشكل 11-10): 1-يختار A عدداً صحيحاً nA أصغر من n. وهذا هو مفتاح A الخاص. يمكن أن يولد A عندها المفتاح العمومي PA=bA*G، المفتاح العمومي هو نقطة من Eq(a, b). 2-يختار B بشكل مشابه مفتاحاً خاصاً nB ويحسب المفتاح العمومي PB. 3-يولد A المفتاح السري K=nA*PB. ويولد B المفتاح السري K=nB*PA. (صورة: تبادل المفاتيح باستخدام ECC) تنتج الحسابات في الخطوة الثالثة نفس النتائج: nA*PB=nA*(nB*G)=nB*(nA*G)=nB*PA لكسر هذا المخطط يجب أن يكون المهاجم قارداً على حساب k بمجرد معرفة G و KG، والتي من المفترض أنها صعبة للغاية. على سبيل المثال، سنفرض أن P=211، و Ep(0, 4)، وهو ما يكافئ المنحنى y2=x2=x3-4 و G=(2, 2). يمكن الحصول على 240g=0. مفتاح A الخصوصي هو nA=121، وبالتالي سيكون مفتاحه العمومي هو PA=121(2, 2)=(115, 49)، مفتاح B الحصوصي هو 121(130, 203)=203(115, 48)=(161, 69). لاحظ أن المفتاح السري هو زوج من الأرقام. إذا تم استخدام هذا المفتاح كمفتاح جلسة من أجل التعمية التقليدية، فيجب توليد رقم واحد. يمكننا ببساطة استخدام الإحداثي x أو تابع ما بسيط للإحداثي x. التعمية/فك التعمية باستخدام المنحنى الإهليجيحللت العديد من المراجع طرقاً مختلفة للتعمية / فك التعمية باستخدام المنحنى الإهليلجي. سنلقي نظرة في هذا الفصل على أبسطها المهمة الأولى في هذا النظام هي ترميز الرسالة الأصلية m لتصبح مجموعة من النقاط ذات الإحداثيات x و y والتي نرمز لها بالرمز pm على أنها النص الصريح، ومن ثم سيتم فك تعميتها. لاحظ أننا لا نستطيع ببساطة ترميز الرسالة على شكل إحداثين للنقطة، ذلك لعدم تواجد كل هذه الإحداثيات في Eq(a, b)، انظر على سبيل المثال إلى الجدول 1-10. هناك عدة طرق لإجراء هذا الترميز، ولن ندرسها هنا، وسنكتفي بالقول أن هناك تقنيات وضاحة نسبياً يمكن استخدامها لهذا الغرض. وكما هو الحال في نظام تبادل المفاتيح، فإ، نظام التعمية / فك التعمية يتطلب نقطة G ومنحنى إهليلجي Eq(a, b) كبارامترات للعمل. يختار كل مستخدم A مفتاحاً خاصاً nA ويولد مفتاحاً عمومياً PA=nA*G. لتعمية وإرسال الرسالة Pm إلى B، يقوم المستخدم A باختيار رقم صحيح عشوائي K وينتج النص المعمى Cm والذي يتألف من زوج من النقاط. Cm={KG, Pm+PB} لاحظ أن A يستخدم مفتاح B العام PB. لفك تعمية النص المشفر، يقوم B بضرب النقطة الأولى من الزوج المستقبل بمفتاحه الخاص ويطرح النتيجة من النقطة الثانية. Pm=KpB-nB(KG)=Pm+K(nBG)-nB(KG)=Pm يقوم A بهذا الشكل بتقنيع الرسالة Pm عن طريق إضافة KPB إليها. لا أحد سوى A يعرف القيمة K، وبالتالي لا يستطيع أحد نزع القناع KPB، مع أن PB مفتاحاً عمومياً. يضع A في الرسالة "مفتاح اللغز"، الكافي لترع القناع إذا عرف المفتاح الخصوصي nB. ولكي يستطيع مهاجم ما كشف الرسالة، فإ، ه يحتاج لاستنتاج K وذلك بعد معرفة G و KG، وهذه مسألة صعبة للغاية. سنأ×ذ مثالاً عن عملية التعمية. ليكن Ep(-1, 188) ,P=751، وهو ما يكافئ المنحنى y2=x3+x+188 و G=(0, 376). افرض أن A يرغب بإرسال رسالة إلى B والتي تم ترميزها بنقطة المنحنى الإهليلجي Pm=(562, 201) وأن A اختار الرقم العشوائي K=386. المفتاح العمومي للطرف B هو PB=(201, 5) فيكون لدينا: 386 (0, 376)=(676, 558), *562, 201)+386(201, 5)=(385, 328). وبالتالي سيرسل A النص المشفر التالي {(676, 558), (385, 328)}. مستوى سرية التعمية بالمنحنى الإهليجيتعتمد مستوى السرية ECC على مستوى صعوبة تحديد K وذلك عند توفر KP و P. يطلق على هذه المسألة اسم لوغاريتم المنحنى الإهليجي. الطريقة المعروفة الأسرع للحصول على لوغاريتم المنحنى الإهليلجي معروفة باسم طريقة Pollard rho. يقارن الجدول 2-10 كفاءة هذه الطريقة مع تحليل العدد إلى عاملين أوليين باستخدام طريقة التحليل العامة. وكما هو واضح، يمكن استخدام مفتاح صغير نسبياً مع ECC بالمقارنة مع RSA. بالإضافة إلى ذلك، إذا تساوت أطوال المفاتيح، فإن الجهود الحسابية اللازمة للنظام ECC والنظام RSA قريبة من بعضها بعض. لذلك فهناك امتياز من وجهة نظر الجهود الحسابية إذا ما استخدمنا النظام ECC بمفاتيح أقصر من تلك المتستخجمة مع RSA. (صورة: الجهود الحسابية اللازمة لكسر نظام التعمية بالمنحنى الإهليلجي) جدول المحتويات |