الفصل : 5
العنوان : تلخيص مفاهيم التشفير الأساسية (Summarizing Basic Cryptographic Concepts )
Cryptography
التشفير , وهو علم اخفاء البيانات , وهذا العلم في الحقيقة كان منتشر من مئات السنين , حيث كانو يتراسلون في وقت الحرب بطريقة خفية بحيث لا يعرف العدو ما هو محتوى الرسالة , بحيث بيقوموا بعمل encoding حيث بيتم تغيير صيغة وشكل الكلام او اللغة المكتوبة في الرسالة , واللي يعرف يقراها فقط هو ال destination فقط , لانهم بيكونوا متفقين مسبقا على قواعد كتابة ونوع التشفير المستخدم بينهم , وانتقل هذا العلم الى عالم التكنولوجيا ,والبيانات , حيث لا يهم من يقف في المنتصف او يتجسس في الوسط , لان الرسائل او البيانات تكون محمية بين الطرفين بالتشفير
اشكال ال Cryptography
Encryption سناخذه في هذا الدرس
Hashing سناخذه في هذا الدرس
Public key infrastructure (PKI)
مصطلحات ال Cryptography
Plaintext (or) Cleartext : وهي الرسالة الغير مشفرة
Cipher: وهو تكنيك او النوع اللي تم استخدامه في تشفير النص
Ciphertext : وهي الرسالة او النص اللي تم استخدام فيها تكنيك التشفير
Crypt analysis:
عكس التشفير , وهو فن كسر التشفير , حيث الاشخاص اللي يتجسسوا بيحاول انهم يفكوا التشفير ,ومعرفة نوع ال cipher المستخدم , والبحث عن نقاط الضعف فيه
Hashing Algorithms
وهي من احدى طرق التشفير الثلاثة اللي ذكرناهم في الاعلى , وتعتبر هي من ابسط انواع التشفير
ومن صفاتها بحيث هي Fixed Length:طول ثابت , يعني لو وضعنا 5 كلمات في ال input الخاص بالادخال الكلمات لتشفيرها , ممكن يطلع الهاش طوله 15 كلمة والطول يعتمد على نوع ال hash المستخدم ولو استخدمنا نفس النوع ووضعنا في الادخال ٢٠٠ كلمة , ايضا سيكون المخرج هو عدده 15 كلمة فقط
ويوجد لدينا انواع لل hash مثل : MD5 ,SHA-256
بحيث يكون كلهم خوارزميات لل hash وكل نوع ليه طوله المختلف وكل ما كان الطول اكبر كل ما كان كسره اصعب
استخدامات ومميزات ال hash
عند عمل ال hash لكلمة , لا يمكنك ان تسترجعها تاني , يعني ليس هناك مفتاح لفك الهاش , ويتم كسر الهاش من خلال التخمين ,بحيث الشخص اللي يريد كسر الهاش ويكون معه list فيها كلمات كثير مسوي لها هاش , ويبدا بعمل مقارنه لهم مع الهاش اللي امامه , والهاش المطابق ياخذ الكلمة الخاصة بالهاش ويكون تم فك الهاش
استخدام 1
عند تسجيل الدخول لجهازك لاول مرة , وتقوم بكتابة الpassword الخاص بالنظام الجديد , يتم حفظ كلمة السر في مكان ما ولكن باستخدام الهاش , يعني يحفظ على طريقة الهاش , بحيث لما تقوم مرة اخرة بتسجيل الدخول لجهازك وتكتب كلمة المرور ستتحول الى هاش ويتم مقارنتها بالهام المحفوظ في الجهاز , هنا تتم العملية
وهذا الموضوع له ميزة قوية , بحيث لو شخص قام بالدخول الى نظام مباشرة او من خلال اختراق وذهب الى ماكن حفظ ال pasword في النظام لا يمكنه ان بفك الباسورد اللي عندك بسهولة , الا بعد وقت طويل في التخمين والكسر
وتستخدم مواقع التواصل الاجتماعي مثل ال Facebook هذا النظام ايضا , بحيث يتم حفظ كلمة المرور على طريقة الهاش , ويتم حفظها في ال data base الخاصة بالسيرفرات الشركة , وتتم العملية بالظبط مثل ما شرحنا فوق
استخدام 2
لو فيه شركة بتقدم برنامج معين , ومنزله معاه hash الخاص بالبرنامج عشان لما الناس تقوم بتثبيت البرنامج وتحب تطمن قبل تشغيله , تقوم بحساب hash البرنامج اللي معاها وتقارنه بال hash اللي موجود في موقع الشركة , بحيث السبب هو انه لو شخص قام بالدخول للموقع وقام بتغيير نسخة البرنامج بنسخدة اخرى خطيرة او فيها Malware , يتاكد الناس ايضا من خلال ال hash بحيث لو تعرض الموقع للاختراق والتحكم بدون علم شخص , وغير النسخة , ستقول لماذا لا يقوم بتغيير ال hash ساقول لك لان ال hash يكون مرئي لجميع ,يكون الناس تعرفه , ومجرد ان يقوم بتغيير اي حرف واحد فقط من النسخة يتغيير ال hash تماما عن السابق , لذلك هنا تظهر قوة ال hash وفايدته العظيمة ,ولو تريد ان تعرف ال hash الخاص بالنص او بالصورة او بالبرنامج يوجد موقع باسم Online MD5 هو المسؤول عن هذه المهمة
Hash Algorithms
1-Secure Hash Algorithm(SHA):
وهو ينتج 256bit يعني هذا هو طوله , ويعبر الامن والافضل في الاستخدام
2-Message Digest Algorithm(MD5):
وهو ينتج 128bit
وهو لم يعد امن للاستخدام ,لوجود نقاط ضعف فيه كثيرة
Encryption
لما كنا نستخدم الهاش عشان نعمل integrity:سلامة للبيانات ,من اي تعديل , حيث بيستخدم لمقارنة مثل الاستخدامات اللي ذكرناه
ولكن لو انا معايا data واريد اني ارسلها لشخص ما , ولكن تكون محمية ضد اي هجمات مثل ال MITM ,هنا انا استخدم ال Encryption
وبالنسبة ل hash مش بنقدر نطلع منه الكلمة او الداتا ولكن في ال Encryption نقدر نعمل Decrypt باستخدام نفس الخوارزمية
ونستخدم ال key عشان نشفر ونفك التشفير , حيث لازم ال key , ويوجد لدينا نوعين من ال Encryption :
symmetric cipher
وهذا النوع يستخدم key واحد فقط للتشفير ولفك التشفير ايضا
وهو الاسرع في التشفير
مشكلته انه بيتوزع للاشخاص عشان يعرفوا يعملوا Decrypt لما تيجي ترسل ال key بتقوم بارساله في منطقة مفتوحة زي الشبكة يعني من الممكن شخص يستخدم ال MITM وياخذ المقتاح. ويكون التشفير ليس له اي فائدة
symmetric cipher |
asymmetric cipher
وهذا النوع يستخدم مفتاحين مختلفين ولكنهم متحدين
حيث مفتاحين هما ال private وال public ولازم يكونوا مع بعض
حيث يكون ال public للتشفير ولفك التشفير يكون لل private
ويتم استخدامه في ال prove identity:اثبات الشخصية , فمن يقوم بفك التشفير فهو صاحب التشفير الاساسي
asymmetric cipher |
مثال للتوضيح
لو pc1 يريد ارسال لpc2 شئ ما ولكن يريد السرية , ال pc2 سيرسل ال public key فقط لل pc1 بحيث هو لن يحتاج لل private , لانه كل شخص سيكون لديه المفتاحين واحد خاص بالتشفير والاخر لفك التشفير الفك التشفير هو ال private , اذا لو شخص مثل ال pc1 اراد ارسال شئ سيسخدم فقط ال public وال private لن يقوم ال pc2 باعطائه لاي شخص ايا كان هو معه فقط , لذلك هذا النوع هو ضد هجمات ال MITM ونكون هنا استفدنا من التشفير
واذا واجهتك اي مشكلة في الفهم او ما شابه , يمكنك على الفور الذهاب الى المجتمع الخاص بنا في Telegram للمناقشة والتواصل معنا من هنا
او اذا واجهتك مشكلة في الموقع او تريد اجابة سريعة يمكنك الذهاب الى اخر صفحة في الموقع ستجد صفحة اتصل بنا موجودة يمكنك ارسالة لنا مشكلتك , وسيتم الرد عليها بسرعة جدا ان شاء الله
ويمكنك الأنضمام الى المجتمع Hidden Lock بالكامل مع جميع قنواته للأستفادة في اخر الأخبار في عالم التقنية وايضا الكتب بالمجان والكورسات والمقالات من خلال الرابط التالي لمجموعة القنوات من هنا
يمكنك ايضا متابعتنا في منصات X او Twitter سابقا , لمشاهدة الاخبار والمقالات السريعة والمهمة من
وفقط كان معكم sparrow مقدم هذه الشهادة من فريق Hidden Lock