هر کدام از ما وقتی به دنیای ماموران مخفی و جاسوسان فکر می کنیم چیز های زیادی به ذهنمان می رسد: سفرهای خارجی، ماموریت های خطرناک، اسلحه های عجیب و ماشین های سریع. کمتر کسی در کنار این چیزها به ریاضیات فکر می کند. اما باید بدانیم ریاضیات در فهمیدن پیامهای سری و شکستن رمزها نقش اساسی بازی می کند و در طول تاریخ ریاضیدان ها نتیجه نبردهای فراوانی را با شکستن رمزها تغییر داده اند.
نمیدانم فیلم "ذهن زیبا" را دیده اید یا نه؟ این فیلم که زندگی واقعی یک ریاضیدان به نام جان نش را به تصویر می کشد
این ریاضیدان ابتدا برای شکستن کدها ی سری به استخدام سازمان سیا در می آید . ولی پس از مدتی به بیماری شیزوفرنی دچار میشود. ولی پس از مدتها بیماری دوباره به صحنه علم برمیگردد و جایزه نوبل اقتصاد را دریافت میکند.
همین چند خط در مورد این ریاضیدان کاربردهای وسیع این علم در علوم مختلف از جمله در زمینه کشف کدها و رمزها آشکار میکند.
امروزه در کشور ما نیز دوره دکترای رمزنگاری که از شاخه های رشته ریاضی کاربردی میباشد برگزار میشود.



شروع و توسعه رمزنگاری

اولین بار سزار امپراتور رم باستان برای آنکه بتواند بدون اطلاع دشمن با ا ارتشش در سراسر دنیا در ارتباط باشد نوعی رمز را بکار گرفت. این رمز به این شکل بود که برای فرستادن یک پیام جای هر حرف را با سومین حرف بعد از آن در الفبا عوض می کردند، مثلا به جای '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'. مثل رمزی که ماری ملکه اسکاتلند برای مکاتباتش بر علیه الیزابت اول ملکه انگلیس بکار می گرفت .
تا مدت ها مردم فکر می کردند شکستن این رمز ناممکن است تا اینکه سرو کله آمار ریاضی پیدا شد

نموداری که می بینید فراوانی حروف الفبا را در زبان انگلیسی نشان میدهد.


Letter freq


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