الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الحل لمشكلة تكرار حروف Key في Substitution Cipher

بدأه Abdullah.Alshammeri في 30 ديسمبر 2009 · 8 رد · 6,374 مشاهدة · في قسم أمن المعلومات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ،

في Substitution cipher ،

و أردت استخدام key معين تكرر فيه الحروف مثل RFR فانني لن أكون قادر على عمل decrypted - اعادة الكلمة المشفرة لأصلها - حيث سأواجه مشكلة مثلاً مع الحرف R ، لا أعرف هل أصله A أو C ؟

-السؤال ، ماهو الحل لهذه المشكلة ؟ باستخدام نفس الخوارزمية بعد التعديل عليها لعلاج المشكلة ،

قرأت عن Transposition cipher

هي هي الحل لهذه المشكلة ؟ أم هناك حل اخر ؟

تم تعديل هذه المشاركة بواسطة الشمري في 30 ديسمبر 2009 في 11:04

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

أخي الشمري هناك انواع كثيره تنطوي تحت الsusbtituation cipher ، فما هو النوع الذي تعمل عليه ؟

بالتوفيق،

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

السلام عليكم

أخي العزيز الاجابة عن السؤال الرئيسي التالي يوضّح الامر:

ما هو الهدف من استخدام Keys على شكل كلمات والتي تسمى بـ (one-time pad)؟

هذا السؤال يقودنا الى التذكير بـ Ceasar substitution cipher ذات الـ Key الثابت والتي

من السهل جدا" ان تجرب كافة احتمالات الازاحة Offset (والبالغة 26 في حالة استخدام الاحرف

الانكليزية)... أي (offset between 0 to 25) من المعروف هنا ان جميع الاحرف المكررة في

النص المراد تشفيره ستنتج نفس الحرف باعتبار الـ key ثابت ..

بالعودة الى حالتنا كيف يمكن ان ننتج تشفير بحيث أن اي حرف مكرر في النص المراد تشفيره

ينتج حرف مختلف عن الاخر ؟

الجواب على ذلك يكون بايجاد offset مختلفة لنفس الحرف بحيث ينتج اختلاف في التشفير

,من هنا اتت فكرة one-time pad التي يصعب كسرها لكثرة احتمالاتها

بمعنى عليك ان تستخدم هذه المفاتيح كـ Offset بعد توزيعها بالترتيب على النص المراد فك

تشفيره .. ربما المثال في الاسفل يوضح الصورة ..

post-76890-12621867851047_thumb.jpg

لاحظ الحرفان S ,G سيعودان بنفس الحرف B

لاحظ الحرفان U ,A سيعودان بنفس الحرف D

فالعودة بالنص المشفر الى الطبيعي مرهون بكاتب التشفير لأنه وكيل حصري الـ Keys المستخدمة

وأطوالها ومواقعها..

بالتوفيق..

#4

المعذرة على عدم التوضيح ،

الطريقة التي وضعتها أخ Devd ، أعرفها باسم Vigenere cipher ، وهي تعالج المشكلة ،

ولكن نحن الان نستخدم نوع اخر ( لا أعرف اسمه ) ، وهو الواضح في هذه الصورة :

post-42837-12621943099967_thumb.png

key : في السطر الثاني .

حيث نضيف حروف معينة في أول key ، والباقي نستخدم حروف الهجاء بالترتيب - باستثناء الحروف التي اخترناها -

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

تم تعديل هذه المشاركة بواسطة الشمري في 30 ديسمبر 2009 في 21:11

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#5

السلام عليكم ..

الشمري كتب:

post-42837-12621943099967.png

أخي الشمّري:

مع أنني لم أسمع بهذه الطريقة في التشفير ولكن وسواس ما :wink: يقول لي أن هناك خطأ في الوثيقة (ان هذا الوسواس استمد حجته من المثال الموجود في أعلى صورتك المرفقة والذي يشير الى المفتاح الثابت Key = 2 والذي حوّل من خلاله الأحرف ABCD الى CDEF) و الكاتب هنا يقصد Ceasar substitution cipher ثابتة المفتاح ,لماذا؟

نعلم ان طريقة التشفير وفق Ceasar substitution cipher هي :

CryptLetter = Letter + Key

بتطبيق ذلك على المثال الثاني نجد أن key = -3 صحيح على جميع الحروف باستثناء الحرفين A,C ....(المتعاكسين في التشفير) وهنا الخطأ في رأيي

هذا تحليلي ....

تم تعديل هذه المشاركة بواسطة Devd في 31 ديسمبر 2009 في 00:58

#6

أعتقد في مثل هذه الحالات يتم تجاهل الحرف اذا تكرر ويتم التشفير mapping بشكل عادي ،،

يبدوا ان الطريقة تعمل كالتالي:

تضع حروف التشفير مقابل الأحرف الأبجديه ، اذا تكرر حرف من المفتاح لا تضعه مره أخرى ، وبعدها تكمل بقية الأحرف التي لم تظهر بدءا من A .. التشفير والفك يكون بأخذ المقابل mapping للحرف الأصلي أو المشفر.

لا أعرف اسما لهذه الشفرة ولكنها تتخذ نفس اسلوب طريقة تسمى playfair في عملية التهيئة.

بالمناسبة يبدوا من الصورة أنها تتكلم عن نوعين من التشفير من النوع substituation ، الأولى هو باستخدام مفتاح 2 كما في قيصر وهي معروفة ولذلك ABCD تحولت لCDEF ، أما الثانية هي بكتابة المفتاح ZYX بدون تكرار واكمال بقية الحروف الأبجدية والتشفير والفك يكون بأخذ المقابل ،،

والله أعلم .

بالتوفيق :) .

تم تعديل هذه المشاركة بواسطة Wajdy Essam في 31 ديسمبر 2009 في 08:51

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#7

السلام عليكم

يا جماعه انتم عقدتم المساله والمساله كما اشار الاخ devd هناك خطا

المساله هي تشفير تعويض بسيط جدا: الاول يقوم بازاحت الاحرف حرفين لليسار

substitute with 2 letter in front

يعني للامام يعني A نعوض عنه ب C وهلم جرا

الثاني هو ازاحه لليمين بمقدار ثلاثه احرف يعني زي rotate بالاسمبلي الحرف الاخير يدخل من البدايه

xyzabcdefghijklmnopqrstuvw

وهنا الخطا ..... الخطا في ترتيب xyz

المهم في الموضوع ان ما فيش طريقه جديده للتشفير هي الطريقه المعروفه بس الخطا في فهم السوال

والله تعالى اعلى واعلم

تم تعديل هذه المشاركة بواسطة another_one في 31 ديسمبر 2009 في 13:17

#8

في الحقيقة لا أعلم ان كانت السلايدات التي أقرأ منها فيها خطأ ، فأنا مبتدئ في هذا المجال ،

لكن الخوارزمية التي أدرسها الان ، تعمل كما وضحها الاخ وجدي ، مثال :

plain Text : example

key: car

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
C A R B D E F G H I J K L M N O P Q S T U V W X Y Z

فتكون الكلمة example بعد التشفير :DXCLOKD

الدكتور طرح علينا سؤال " Bonus :D " ، وهو : لو كانت key مثلاً cac بدلاً من car فاننا لا نستطيع اعادة الكلمة DXCLOKD لأصلها example ،فهل توجد طريقة ممكن اضافتها للخوارزمية السابقة بحيث نعالج هذه المشكلة ؟

اقتباس
اذا تكرر حرف من المفتاح لا تضعه مره أخرى

سآخذ بهذا الحل ان شاء الله ،

جزاكم الله خير ..

بالمرفقات السلايدات التي تتكلم عن الموضوع ،

Cryptographic algorithms.zip

تم تعديل هذه المشاركة بواسطة الشمري في 31 ديسمبر 2009 في 15:09

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#9

الشرح الخاص بالـ substitution cipher على موقع ويكيبيديا يذكر بوضوح مسألة عدم الأخذ بالأحرف المكررة

ubstitution over a single letter—simple substitution—can be demonstrated by writing out the alphabet in some order to represent the substitution. This is termed a substitution alphabet. The cipher alphabet may be shifted or reversed (creating the Caesar andAtbash ciphers, respectively) or scrambled in a more complex fashion, in which case it is called a mixed alphabet or deranged alphabet. Traditionally, mixed alphabets are created by first writing out a keyword, removing repeated letters in it, then writing all the remaining letters in the alphabet.

المهم أن تتذكر أن قوة هذا النوع من التشفير يعتمد على طول المفتاح + عشوائيته (يفضل أن يشمل حروفاً من جميع أجزاء الأبجدية حتى لا تبقى حروف مثل TUVXYZ في نهاية الـ cipher في معظم الأوقات)

خذ على سبيل المثال كلمة MISSISSIPPI، لاحظ كم حرف ستهمل، لكن تبقى الكلمة النهائية MISP نوعاً ما كافية بإزاحة الأحرف وبعثرتها.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة