هل فكرت أن الجمع بين أكثر من خوارزمية تشفير قد ينتج شفرة أكثر أمناً؟ خوارزمية تشفير أفيني تطبق هذا المفهوم المهم. لا تبدأ من نقطة الصفر، بل تبدأ من حيث انتهى الاخرون.قبل أن تواصل القراءة عن خوارزمية أفيني، أرجو منك أن لا تعتقد بأن تطبيق الخوارزمية أكثر من مرة يزيد من قوة الشفرة دائماً، و أن تطبيق أكثر من خوارزمية تشفير على الرسالة سيزيد من قوة الشفرة دائماً.
على كُلٍّ، الشفرة الناتجة من خوارزمية أفيني هي شفرة مرت بمرحلتين، المرحلة الأولى هي التشفير بخوارزمية التشفير بالمضاعفة و الثانية هي التشفير بخوارزمية التشفير بالإضافة. أي أن مخترع خوارزمية أفيني قد كون خوارزميته بتبني خوارزميتان.
هل تملك الرسالة التي ترغب بتشفيرها؟ هل ترغب بتجربة التشفير بخوارزمية أفيني؟ حسناً لديك طريقان، التشفير المباشر و التشفير المفصل:
- التشفير المفصل بأن تستخدم معرفتك بأن خوارزمية أفيني تتكون من خوارزمية التشفير بالإضافة و خوارزمية التشفير بالمضاعفة، فتطبق التشفير بالمضاعفة أولاً ثم التشفير بالإضافة، و بذلك تكون قد أنتجت شفرة عن طريق خوارزمية أفيني. و لكن يجب أن تراعي عند فك التشفير أن تعكس ترتيب تطبيق الخوارزميتان، أي أن تطبق فك تشفير خوارزمية الإضافة أولاً ثم فك تشفير خوارزمية المضاعفة.
- التشفير المباشر أن تستخدم خوارزمية واحدة تدمج خوارزميتي التشفير بالإضافة و التشفير بالمضاعفة كما هو أدناه.
عدد المفاتيح في خوارزمية التشفير أفيني
لن يفوت عليك وجود مفتاحان للتشفير K1 و k2، و ذلك لأن الخوارزمية تستخدم خوارزميتان، فالمفتاح الأول يستخدم في خوارزمية التشفير بالمضاعفة و الثاني يستخدم في خوارزمية التشفير بالإضافة. و وجود المفتاح لا يعني إرتباطهما ببعض بأي حال من الأحوال، فالمفتاح الأول قد يكون أي رقم كما قد يكون المفتاح الثاني أيضاً أي رقم.
أما إذا تساءلت عن ما هو فهو معكوس مفتاح التشفير و الذي شرحت طريقة الحصول عليه في تدوينة خوارزمية التشفير بالمضاعفة.
مثال للتشفير بخوارزمية أفيني
سنشفر أنا و أنت كلمة oolom بإستخدام مفتاحي التشفير 3 و 5.
- نحول كلمة oolom إلى أرقام بإستخدام جدول التشفير (إن لم تكن تعرفه ستجده هنا) لتكون
14، 14، 11، 14، 12. - نشفر هذه القيم بإستخدام التشفير المباشر و تحويل قيمة التشفير عبر جدول التشفير
تشفير 14 = 21 = v.
تشفير 11 = 12 = m.
تشفير 12 = 15 = p. - تصبح الشفرة vvmvp.
مثال لفك التشفير بخوارزمية أفيني
حسناً، تحصلت على الشفرة التي أرسلها لك صديقك بإسم المدونة التي وجد فيها هذه الخورازمية، و كانت الشفرة vvmp، و أنت تعلم أن المفتاح هو 3 و 5.
- أول خطوة هي الحصول على معكوس المفتاح الأول (3)، (شرح طريقة الحصول على المعكوس هنا)
معكوس 3 = 9. - تحويل الحروف إلى أرقام بإستخدام جدول التشفير و فك التشفير
v = 21، فك التشفير = ( (21-5) * 9) % 26 = 14 = o.
m = 12، فك التشفير = 11 = o.
p = 15، فك التشفير = 12 = p. - تصبح الرسالة الأصلية هي oolom.
مهاجمة خوارزمية التشفير أفيني
مرحباً بك في الجزء الممتع، حتى هنا لا يوجد ما هو جديد أيضاً، فخوارزمية التشفير أفيني بالإمكان مهاجمتها عن طريقة هجوم النص المعروف و الذي تحدثت عنه في تدوينتي عن أنواع الهجمات التي يهاجم بها القرصان. فإذا حصل القرصان على نص قصير و استطاع تشفيره في حاسب مرسل الرسالة بدون أن يعرف ما هو المفتاح. فسيكون قد تحصل على نص و الشفرة المقابلة له.
بعد ذلك كل ما عليه أن يفعله هو صنع معادلتين بمجاهيل محددة و هي مفتاحا التشفير الاول و الثاني. ثم حل المعادلتين ليحصل على قيمة المفتاحين! بمعنى آخر فإنه يكفي القرصان أن يشفر حرفان فقط للحصول على قيمتي المفتاحين ثم بعد ذلك بإستطاعته أن يهاجم أي رسالة ترسل من الحاسب الذي هاجمه لأنه يملك مفتاحي التشفير!
أتمنى أن تكون قد وجدت الفائدة في هذه التدوينة والتي تتحدث عن خوارزمية التشفير أفيني، لا تنسى أن تطلع على بقية الخوارزميات التقليدية من خلال هذه التدوينة التي أعددتها لفهرسة الخوارزميات، و إذا أعجبتك التدوينة إضغط على زر الإعجاب هذا و شارك ما يجول بخاطرك عن هذه التدوينة.
يوجد شرح فيديو لخوارزمية تشفير افين للرسالة النصيه
الشرح الموجود الآن نصي صوري فقط أخي سالم
السلام عليكم استاذ مصطفى..هل لك ان تساعدني ب affine cipher C++ program
لك جزيل الشكر استاذ مصطفى.
يسعدني تواجدك في مدونة علوم دائماً وأبداً.
أستاذ أريد شرح cryptosysteme mceliece لو بإمكانك وشكرا جزيلا على المجهودات التي تقومون بها
مرحباً بك نور الأمل،
شُكراً لك على هذا الإقتراح. تمت إضافة طلبك إلى قائمة الطلبات.
اريد معرفة برمجة تشفير قيصر وفينجير
لو تبين لنا تشفير لوحة المره الواحدة ؟
مرحباً سليمان،
ستجد شرح خوارزمية قيصر بإسم خوارزمية التشفير بالإضافة، أما بقية الخوارزميات لم أشرحها بعد، ربما يأتي شرحها لاحقاً.
اعتقد هناك خطا في معادلة الاولى
مرحباً علي،
أي معادلة تقصد؟
و ما هو الخطأ الذي تراه بالمعادلة الأولى؟