انجمن علمي رياضي دانشگاه اراک

 

 

معرفي انجمن    سيگما     همايش‌ها   اطلاعيه‌ها    کتاب‌هاي‌رياضي

 

اينجا: صفحه‌اصلي » مقالات  » دنياي سري کدها و رمزها

دنياي سرّي کدهـا و رمزهـا

 

   هر کدام از ما وقتي به دنياي ماموران مخفي و جاسوسان فکر مي‌کنيم چيزهاي زيادي به ذهنمان مي‌رسد: سفرهاي خارجي، ماموريت‌هاي خطرناک، اسلحه‌هاي عجيب و ماشين‌هاي سريع. کمتر کسي در کنار اين چيزها به رياضيات فکر مي‌کند. اما بايد بدانيم رياضيات در فهميدن پيام‌هاي سرّي و شکستن رمزها نقش اساسي بازي مي‌کند و در طول تاريخ رياضي‌دان‌ها نتيجه‌ي نبردهاي فراواني را با شکستن رمزها تغيير داده‌اند.
   اوّلين‌بار سزار، امپراتور روم باستان براي آنکه بتواند بدون اطلاع دشمن با ارتش خود در سراسر دنيا در ارتباط باشد نوعي رمز را به‌کار گرفت. اين رمز به اين شکل بود که براي فرستادن يک پيام، جاي هر حرف را با سوّمين حرف بعد از آن در الفبا عوض مي‌کردند، مثلا به جاي 'A' حرف 'D' و به جاي 'X' حرف 'A' را مي‌گذاشتند.
   بنابراين براي از کد خارج‌کردن پيام‌ها کافي بود دريافت‌کننده جاي هر حرف را با سوّمين حرف بعد از آن در الفبا عوض کند. مثلاً سعي کنيد اين پيغام سزاري را از رمز خارج کنيد:

hqhpb dssurdfklqj
wkluwb ghdg
uhwuhdw wr iruhvw

خوب، ممکن است بپرسيد چه رياضياتي در کار است. رياضي وقتي وارد ماجرا مي‌شود که به هر حرف يک عدد نسبت دهيم. در اين صورت فرايند کد کردن مثل اضافه‌کردن عدد 3 به عدد اوليه خواهد بود.

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
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

  مثلا برای به رمز درآوردن 'A' : داریم 0+3=3
  برای اینکه در مورد حرف های نزدیک به پایان الفبا دچار مشکل نشویم بهتر است به جای جمع معمولی از جمع به پیمانه 26 استفاده کنیم، یعنی به جای هر عدد از باقیمانده تقسیم آن عدد بر 26 استفاده کنیم.
مثلا برای 'X' داریم: (به پیمانه 26) 23+3=26=0
مثلا برای 'Y' داریم: (به پیمانه 26) 24+3=27=1
مثلا برای 'T' داریم: (به پیمانه 26) 19+3=21=21

   برای از رمز درآوردن هم می‌توانیم از تفریق به پیمانه 26 استفاده کنیم. واضح است که می‌توانیم به جای انتقال 3 تایی از هر انتقالی بین 1 و 25 استفاده کنیم، اما همانطور که احتمالا حدس زده اید شکستن این رمز خیلی ساده است یعنی یک جاسوس می‌تواند با امتحان کردن همه 25 انتقال ممکن به سرعت رمز را بشکند.

با روشی که توضیح دادیم این نوشته را از رمز در آورید: RFYM KTW FQQ

حالا به سراغ یک روش پیچیده تر می‌رویم. فرض کنید به ازای هر حرف الفبا یک علامت جایگزین کنیم، مثلا '*' به جای 'A' و '+' به جای 'B'. مثل رمزی که ماری ملکه اسکاتلند برای مکاتباتش بر علیه الیزابت اول ملکه انگلیس بکار می‌گرفت و نمونه آن را می‌بینید.

 

کد مورس و الفبای بریل هم در حقیقت رمزهایی از این نوع هستند.

تا مدت‌ها مردم فکر می‌کردند شکستن این رمز ناممکن است تا اینکه سرو کله آمار ریاضی پیدا شد.

نموداری که می‌بینید فراوانی حروف الفبا را در زبان انگلیسی نشان میدهد. این اطلاعات از شمارش حروف مختلف در حجم زیادی از نوشته‌ها مثل کتاب‌ها و روزنامه‌ها بدست آمده است. این نمودار مثلا نشان می‌دهد به طور میانگین 13.5 درصد از حروف بکار رفته در متن های انگلیسی E هستند، که فراوان ترین حرف الفبا است. بنابراین وقتی رمزی از نوع بالا داریم احتمالا علامتی که بیش از همه تکرار می‌شود علامت متناظر E است و فراوانترین علامت بعد از آن متناظر 'T' است. سرنخ های دیگری هم وجود دارد مثلا تنها دو کلمه یک حرفی در انگلیسی وجود دارد: 'I' و 'A' و همچنین 'AND' و 'THE' کلمات خیلی معمولی هستند با کمک این سرنخ‌ها و کمی آزمایش و خطا میتوان اینگونه رمزها را شکست.همین روش باعث شد که ماری سرش را از دست بدهد.

خوب است سعی کنیم جدولی مثل جدول بالا برای زبان فارسی بسازیم. برای شروع سعی کنید با بررسی متن های اطرافتان سه تا از فراوانترین حروف در فارسی را پیدا کنید.

این‌ها چندتایی از روش های مقدماتی رمز نگاری و رمزگشایی و شکستن رمزها بود برای مطالعه بیشتر در این زمینه می‌توانید به این کتاب مراجعه کنید:

آشنایی با رمزگشایی به روش ریاضی، آبراهام سینکوف، ترجمه عبادالله محمودیان، ریاضیات پیش دانشگاهی - 22 ، مرکز نشر دانشگاهی، 1374

 
 

 

 

 

اراک - دانشگاه اراک - دانشکده علوم پايه - انجمن علمي رياضي