التشفير بـ Block cipher

شرح لآلية عمل Block cipher

Zero To 0neمنذ 3 سنوات

بسم الله الرحمن الرحيم

أهلاً و سهلاً بكم في مقالٍ جديد، في هذا المقال ننتقل بكم إلى عالم آخر .. ألا و هو عالمُ التشفير. سنتطرق لشرح عملية 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 ، أتمنى أنها نالت مبتغاكم و وجدتم ضالتكم من خلالها ... نلقاكم في مقالٍ تقني تعليمي جديد ، إلى اللقاء

يمكنك رؤية هذا الكود بلغة الجافا كتبته تطبيقاً برمجياً عليه:

https://github.com/HSK201/blockCipher/blob/master/BlockCipher.java

 

 

كلمات دليلية: block التشفير
7
إعجاب
3820
مشاهدات
0
مشاركة
3
متابع
متميز
محتوى رهيب

التعليقات (4)

1337r00t:

 

مقال موفق ومرتب سلمتي على هذا الطرح

 

يفضل من بعد اذنك التعديل ووضع أمثله برمجية 

Zero To 0ne:

شكراً لك .. تم تحديث المقال بإضافة كود برمجي بلغة الجافا

حامد البلوي:

سلمت اناملك اختي

ولدي سؤال

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

 

هل هناك طريقة لذلك

علما انني استخدم برنامج اندرويد ستديو

 

دمتي بود

Zero To 0ne:

لا أعلم كيف يتم ذلك، لكن الذي أعلمه أنه لا يمكن لأحد من رؤية أكوادك التي كتبتها طالما أنك لم تنشرها.

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !