اختبار التشفير (Testing the Cipher) - كتاب الأمن السيبراني - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الأمن السيبراني - الصف 12 - الفصل 1 | المادة: الأمن السيبراني | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: اختبار التشفير (Testing the Cipher)

📚 معلومات الصفحة

الكتاب: كتاب الأمن السيبراني - الصف 12 - الفصل 1 | المادة: الأمن السيبراني | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

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

يتم بعد ذلك عرض اختبار عملي للتشفير باستخدام رسالة مثال ومفتاح محدد، حيث تُشفر الرسالة ثم تُفك تشفيرها باستخدام الدوال المناسبة، ويتم طباعة النتائج لتوضيح العملية. الناتج يظهر الرسالة المشفرة والمفكوكة، مما يؤكد دقة الخوارزمية.

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

📄 النص الكامل للصفحة

# Iterate through each character in the encrypted message for char in encrypted_message: # Check if character is a lowercase letter if char in alphabet_lower: # Find the index of the character in the lowercase alphabet list char_index = alphabet_lower.find(char) # Move the character to the left by the key new_char_index = (char_index - key) % 26 # Add the replaced character to the decrypted message decrypted_message += alphabet_lower[new_char_index] elif char in alphabet_upper: # Find the index of the character in the uppercase alphabet list char_index = alphabet_upper.find(char) # Move the character to the left by the key new_char_index = (char_index - key) % 26 # Add the replaced character to the decrypted message decrypted_message += alphabet_upper[new_char_index] else: # If the character is not a letter, add it to the decrypted message as it is decrypted_message += char # Return the decrypted message return decrypted_message اختبار التشفير (Testing the Cipher): # Testing the Caesar cipher message = "There are twenty three items in the inventory." key = 5 encrypted_message = caesar_encrypt(message, key) decrypted_message = caesar_decrypt(encrypted_message, key) print(encrypted_message) print(decrypted_message) Ymjmwj fwj ybjysyd ymwjj ns ymj nsajsywyd. There are twenty three items in the inventory. وزارة التعليم Ministry of Education 119 2025 - 1447 --- VISUAL CONTEXT --- **IMAGE**: Ministry of Education Logo Description: Logo of the Ministry of Education, featuring a stylized green pattern resembling dots or abstract foliage, with Arabic and English text below. Context: Branding and institutional identification for the textbook.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي الخطوات الأساسية لفك تشفير رسالة باستخدام خوارزمية قيصر في الكود المقدم؟

الإجابة: 1. التكرار على كل حرف في الرسالة المشفرة. 2. التحقق إذا كان الحرف حرفاً صغيراً أو كبيراً. 3. إيجاد مؤشر الحرف في قائمة الحروف المناسبة. 4. تحريك الحرف إلى اليسار بمقدار المفتاح (key) باستخدام العملية الحسابية (char_index - key) % 26. 5. إضافة الحرف الجديد إلى الرسالة المفكوكة. 6. إذا لم يكن الحرف أبجدياً، إضافته كما هو.

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

تلميح: ركز على الحلقة for والشرطين if و elif داخل الكود.

التصنيف: صيغة/خطوات | المستوى: متوسط

ما الغرض من استخدام العملية (char_index - key) % 26 في كود فك تشفير قيصر؟

الإجابة: الغرض هو تحريك مؤشر الحرف إلى اليسار بمقدار قيمة المفتاح (key)، مع ضمان بقاء الناتج ضمن نطاق مؤشرات الحروف الأبجدية (من 0 إلى 25) عن طريق استخدام عملية modulo (% 26). هذا يمنع الخروج خارج حدود قائمة الحروف.

الشرح: عملية modulo تضمن أن الناتج دائماً بين 0 و 25، مما يحافظ على دورة الأبجدية. مثلاً، إذا كان char_index = 2 و key = 5، فإن (2-5) = -3، و (-3) % 26 = 23، مما يعيدنا إلى نهاية الأبجدية.

تلميح: فكر في ما يحدث إذا كان ناتج الطرح سالباً أو أكبر من 25.

التصنيف: مفهوم جوهري | المستوى: صعب

في مثال اختبار تشفير قيصر، ما هي الرسالة المشفرة الناتجة عن تشفير "There are twenty three items in the inventory." بالمفتاح 5؟

الإجابة: الرسالة المشفرة هي: Ymjmwj fwj ybjysyd ymwjj ns ymj nsajsywyd.

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

تلميح: انظر إلى مخرجات دالة print(encrypted_message) في قسم الاختبار.

التصنيف: سؤال اختبار | المستوى: سهل

كيف يتعامل كود فك التشفير مع الأحرف التي ليست حروفاً أبجدية (مثل المسافات أو النقاط)؟

الإجابة: يتعامل معها من خلال الفرع else في الشروط، حيث تتم إضافتها إلى الرسالة المفكوكة (decrypted_message) كما هي دون أي تغيير.

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

تلميح: ابحث عن الجزء الذي لا ينطبق عليه شرطا if أو elif.

التصنيف: مفهوم جوهري | المستوى: سهل