بسم الله الرحمن الرحيم
أهلاً و سهلاً بكم في مقالٍ جديد، في هذا المقال ننتقل بكم إلى عالم آخر .. ألا و هو عالمُ التشفير. سنتطرق لشرح عملية Block cipher كيف تتم؟
أولاً علينا أن نلقي نظرة على الجدول التالي:
غالباً تستخدم الحروف الهجائية الإنجليزية كاملة في خانة Plaintext ، لنفرض أننا نريد تشفير الجملة التالية " I AM READY TO CHANGE " كيف يمكننا فعل ذلك؟!
الفكرة باختصار شديد أن كل حرف في هذه الجملة نقوم باستبداله بما يقابله من حرف في خانة Ciphertext ، السؤال الذي يطرح نفسه !! ماذا يحتوي Ciphertext ؟
يحتوي على الحروف الهجائية كاملة لكن بعد ازاحتها لجهة اليمين بحرف واحد أو حرفين أو .. بعدد المفتاح " Key " إما أن يكون 1 أو 2 أو 3 أو .. .
لنفرض أن المفتاح = 1 ، إذاً سوف يتم ازاحة الأحرف في خانة Ciphertext إلى اليمين بحرف واحد فيكون الجدول كالتالي:
Ciphertext = Plaintext >> 1
لنرى كيف تكون جملتنا بعد التشفيرنستبدل كل حرف من Plaintext بما يقابله في Ciphertext :
H ZL QDZCX SN BGAMFD
الآن اصبحت جملتنا جاهزة ! ..
يمكن لـ Block cipher القيام بالعملية بشكل عكسي حيث تكون الكلمة أو الجملة المشفرة كـ Plaintext و الجملة الأصلية يمكن إيجادها عن طريق Ciphertext.
القاعدة العامة لـ Block cipher تنص على:
E(K,M) = M >> K
حيث أن حرف E يدل على Encryption
و K يدل على Key
و M تدل على Plaintext Message
و في الحالة العكسية تكون كالتالي:
E-1(K, E(K,M)) = M
.
.
.
إلى هنا تنتهي رحلتنا في Block cipher ، أتمنى أنها نالت مبتغاكم و وجدتم ضالتكم من خلالها ... نلقاكم في مقالٍ تقني تعليمي جديد ، إلى اللقاء
يمكنك رؤية هذا الكود بلغة الجافا كتبته تطبيقاً برمجياً عليه:
التعليقات (4)
شكراً لك .. تم تحديث المقال بإضافة كود برمجي بلغة الجافا
سلمت اناملك اختي
ولدي سؤال
ماذا اذا اردت انا اقوم بتشفير التطبيق الذي اعمل عليه بالكامل..حتى لا يستطيع شخص ما سرقة مجهودي والاطلاع على الاكواد
هل هناك طريقة لذلك
علما انني استخدم برنامج اندرويد ستديو
دمتي بود
لا أعلم كيف يتم ذلك، لكن الذي أعلمه أنه لا يمكن لأحد من رؤية أكوادك التي كتبتها طالما أنك لم تنشرها.
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !