نمايش پست تنها
قديمي ۰۲-۲۱-۱۳۹۳, ۱۰:۱۰ بعد از ظهر   #3 (لینک دائم)
zeyton Female
عضو فوق فعال
 
آواتار zeyton
 
تاريخ عضويت: تير ۱۳۹۰
محل سكونت: همه جای ایران سرای من است..
پست ها: 26
تشكرها: 4
21 تشكر در 17 پست
My Mood: Mehrabon
Post مبانی رمزنگاری (قسمت سوم)

رمزنگاری دو حرفی Playfair:
در سال 1854، «ليون پلي فر»روشي را براي رمز نگاري متون به دربار بريتانيا پيشنهاد داد كه اصالتاً بايد آن را يك روش جانشيني دو حرفي به شمار آورد. بعداً مشخص شد كه اين روش را دوست دانشمند او«چارلز وتستون» ابداع كرده ولي چون «پلي فر»به دربار راه داشته،اين روش به نام او ثبت شده است.

در این روش ابتدا روی متن آشکار یک عملیات پیش پردازش انجام شده و جدول رمز ایجاد می شود، سپس عملیات رمزنگاری انجام می شود.

عملیات پیش پردازش:
1) فواصل بین حروف حذف می شود.
2) متن به صورت دو حرف دو حرف تفکیک می شود.
3) در صورت وجود دو حرف مشدد، بین آن ها x یا z قرار داده می شود.
4) یک جدول 5*5 در نظر گرفته می شود. (معادل 25 خانه، زیرا حروف انگلیسی 26 حرف است و J و I معادل در نظر گرفته می شوند.)
5) کلید رمز از بالا و چپ، با حذف حروف تکراری، در جدول نوشته می شود.
6) سایر خانه های جدول، به ترتیب، با حروف غایب جدول الفبا پر می شود.
اکنون جدول رمز آماده است.

برای رمزنگاری، متن اصلی به صورت دو حرف دو حرف طبق الگوریتم زیر جایگزین می شود:
1) هرگاه دو حرف اصلی در یک سطر جدول باشند، هر حرف با حرف سمت راست آن جایگذاری می شود.
2) هرگاه دو حرف اصلی در یک ستون باشند، هر حرف با حرف زیرین آن جایگذاری می شود.
3) هرگاه دو حرف اصلی در یک سطر و یک ستون نباشند، سطر محل حرف اول را ادامه می دهیم تا حرف محل تلاقی آن را با ستون حاوی حرف دوم را به دست آوریم. (حرف اول)آنگاه سطر حاوی حرف دوم را ادامه می دهیم تا حرف محل تلاقی آن را با ستون حاوی حرف اول به دست آوریم. (حرف دوم)
طبق الگوریتم فوق، کل متن به صورت دو حرف دو حرف، رمز خواهد شد. برای رمزگشایی این روش کافی است، عکس این الگوریتم را انجام دهیم.

عیب این روش این است که، برای شکستن چنین رمزی، می توان از شاخص آماری دو یا چند حرفی ها استفاده کرده و در نهایت نتایج را با دیکشنری مطابقت داد. بنابراین این روش در قرن بیستم جایی ندارد.

مثالی از روش Playfair:
كلمه FREEDOM ابتدا به FREXEDOM تبديل مي شود.سپس جدولي 5*5 (معادل 25 خانه) ترسيم وكليد رمز به ترتيب از سمت چپ وبالا در اين جدول درج مي شود مشروط بر آنكه حروف تكراري كلمه رمز حذف شوند. در زير فرض كنيد كليد رمز FIRSTAMMEND بوده است:
پس از درج كليد رمز باقيمانده خانه هاي اين جدول به ترتيب با بقيه حروف الفباي انگليسي كه در كلمه رمز نيامده اند پر مي شوند. حرف I و J نيز معادل هم ودر يك خانه فرض مي شود تا به جاي 26 حرف به 25 حرف بسنده شود وبتوان همه آنها را در جدولي 5*5 جا داد در مثال بالا با كسر حروف FIRSTAMMEND از حروف انگليسي پانزده حرف BCGHKLOPQUVWXYZ باقي مي ماند كه بايد از چپ به راست در جدول قرار بگيرد.

ابتدا متن به صورت دوحرف دوحرف تفکيک می شود (فواصل خالی حذف می شوند) و هرگاه دو حرف تکراری کنار هم باشند، بين آنها X يا Z قرار می گيرد. (FREEDOM FREXEDOM)
سپس در جدول 5*5 کليد رمز نوشته می شود و بقيه جدول با ديگر حروف الفبا پر می شود. حالا متن اصلی بصورت زير جايگزين می شود:

1) دو حرف اصلی در يک سطر: هر حرف با حرف کناری سمت راست عوض می شود.

2) دو حرف اصلی در يک ستون: هر حرف با پايينی خود جابجا می شود.
مثال: دوحرفی FI به IR دوحرفی OQ به PU

3) دو حرف اصلی نه در يک سطر نه دريک ستون: محل تقاطع سطر و ستون به صورت ضربدری جابجا می شوند.
مثال: دوحرفی IM به MC دوحرفی GX به PR
مثال: دوحرفی GU به KP دوحرفی YM به WN


حال متن اصلي به صورت دو حرف دو حرف طبق روال زير جايگزين مي شوند:

الف) هرگاه دو حرف اصلي در يك سطر از جدول قرار داشته باشند هر حرف با حرف كناري سمت راست آن عوض مي شود. به عنوان مثال طبق جدول قبل دو حرفي FI بهIR و OQ به PU تبديل مي شود طبق اين قرارداد KB نيز به BC تبديل خواهد شد.

ب) هرگاه دو حرف اصلي در يك ستون از جدول قرار داشته باشند هر حرف با حرف زيرين خود جايگزين مي شود طبق اين قرارداد IM به MC و GX به PR تبديل خواهد شد.

طبق روال فوق كل متن به صورت دو حرف دو حرف رمز خواهد شد براي رمز گشايي كافي است روال بالا را تكرار كنيد با اين تفاوت كه حركت به سمت راست يا پايين برعكس شود.
__________________

هرگاه خداوند تو را به لبه پرتگاه هدایت کرد به او اعتماد کن،
زیرا یا تو را از پشت میگیرد
یا به تو پرواز را می آموزد.

zeyton آفلاين است   پاسخ با نقل قول
از zeyton تشكر كرده است:
mahdiii (۰۲-۲۲-۱۳۹۳)