در اين مقاله مي خواهيم نشان دهيم كه چطور رياضيات واقعي و اصيل فرما و اويلر كه روزگاري حتي در تصور يك رياضيدان طراز اول بي فايده بودند، اين روزها كفيل امنيت اطلاعات روي اينترنت شده اند.
در بخش اول بعضي خواص اعداد اول را كه براي ادامه بحث لازم هستند بررسي مي كنيم.
در بخش دوم مفهوم `رمزنگاري با كليد همگاني را كه كاربردهاي گسترده اي در تضمين امنيت اطلاعات و تاييد هويت افراد و سازمان ها روي اينترنت دارد، شرح مي دهيم.
در بخش سوم جزييات الگوريتم RSA كه يكي از مشهورترين الگوريتم هاي رمزنگاري با كليد باز است را توصيف مي كنيم و در آزمايشگاه رمزنگاري مي توانيد به صورت عملي با الگوريتم RSA كار كنيد.
● شكار اعداد اول
يكي از اولين و در عين حال درخشانترين كارهاي بشر در نظريه اعداد، اثبات اقليدس از نامتناهي بودن اعداد اول در كتاب اصول است كه امروزه مي توان آن را در كتاب هاي درسي دبيرستاني خواند. نمونه اي عالي از زيبايي و سادگي رياضيات. يوناني ها اعداد اول را مي شناختند و از نقش آن ها به عنوان بلوك هاي سازنده ديگر اعداد آگاه بودند. بعد از اين دستاوردهاي بزرگ طبيعي ترين سوالي كه به ذهن بشر رسيد اين بود كه چه نظمي بر دنباله اعداد اول حاكم است، چگونه مي توان اعداد اول را يافت و چطور مي توان اعدادي را كه اول نيستند به عوامل اول شان تجزيه كرد. شايد اولين پاسخ به اين سوال غربال اراتستن بوده باشد. تا امروز تلاش هاي زيادي براي يافتن يك فرمول توليد كننده اعداد اول و يا الگويي براي ظهور اعداد اول در ميان ديگر اعداد انجام شده است كه هر چند كمك هاي زيادي به گسترش نظريه اعداد كرده اند اما ساختار پيچيده اعداد اول همچنان در مقابل اين تلاش ها مقاومت مي كند.
● جستجو براي الگوهايي از نظم در اعداد اول
يك نمونه ساده: ۳۱ ۳۳۱ ۳۳۳۱ ۳۳۳۳۱ ۳۳۳۳۳۱ ۳۳۳۳۳۳۱ ۳۳۳۳۳۳۳۱ همه اولند اما ۳۳۳۳۳۳۳۳۱ حاصلضرب دو عدد اول ۱۷ و ۱۹۶۰۷۸۴۳ است.
▪اعداد اول مرسن: اگر p اول باشد اعدادي به شكل ۲p ۱ را عدد مرسن ميگوييم. اگر اين اعداد اول باشند به آن ها عدد اول مرسن مي گوييم. به ازاي p برابر ۲ و ۳ و ۵ و ۷ عدد مرسن اول است اما اگر p را ۱۱ بگيريم مركب است. تا امروز ۳۹ عدد اول مرسن شناخته شده اند كه آخرينشان به ازاي p=۱۳۴۶۶۹۱۷ به دست مي آيد و ۴۰۵۳۹۴۶ رقم دارد. يعني بين همه اعداد اول كوچكتر از ۱۳۴۶۶۹۱۷ تنها ۳۹ تا عدد اول مرسن توليد مي كنند.
▪ اعداد اول دوقلو: به اعداد اولي كه پشت سر هم هستند اعداد اول دوقلو مي گوييم مثلا ۳ و ۵ و يا ۱۱ و ۱۳. هيچ كس نمي داند كه پراكندگي اين اعداد در ميان ساير اعداد چگونه است و آيا تعداشان متناهي است يا نه بزگترين جفت شناخته شده ۱ ۲۱۶۹۶۹۰×۳۳۲۱۸۹۲۵ و ۱+۲۱۶۹۶۹۰×۳۳۲۱۸۹۲۵ هستند.
براي پيدا كردن اطلاعاتي راجع به جستجوي اعداد اول مي توانيد به سايت پروژه GIMPS سر بزنيد.
در نظر گذشتگان آزمايش اول بودن يك عدد و يافتن عوامل اول آن يك سوال بودند. كافي بودن عدد مورد نظر را به ترتيب به همه اعداد كوچكتر از آن تقسيم كنيم. اگر به هيچ كدام بخشپذير نبود اول است و اگر بخشپذير بود به اين ترتيب عوامل اول آن معلوم مي شوند. كم كم اين فرايند ساده تر شد، مثلا حالا مي دانيم كه تقسيم كردن به همه اعداد كوچكتر از جذر عدد مورد نظر كافيست ( چرا؟ )، همچنين در صورتيكه اعداد اول كوچكتر از عدد مورد نظر شناخته شده باشند، تقسيم كردن به اين اعداد كافيست. اين روش ها براي اعداد نسبتا كوچك كار مي كنند اما وقتي با عددي مثلا ۱۰۰ رقمي طرف باشيم اوضاع فرق مي كند. حتي با سريع ترين كامپيوترها هم تقسيم كردن يك عدد ۱۰۰ رقمي به همه اعداد كوچكتر از آن خيلي بيشتر از عمر عالم طول مي كشد.
● يك محاسبه سرانگشتي
فرض كنيد بخواهيم يك عدد ۱۰۰ رقمي را به همه اعداد كوچكتر از خودش تقسيم كنيم. براي اين كار بايد حدود ۱۰۹۹ تقسيم انجام دهيم اگر كامپيوتر ما بتواند در هر ثانيه ۱۰۰۰ ميليارد يعني ۱۰۱۲ تقسيم انجام دهد براي انجام كل كار ۱۰۸۷ ثانيه وقت لازم است.
يك سال ۲۴×۳۶۰۰×۳۶۵=۳۱۵۳۶۰۰۰ ثانيه است يعني حدود ۱۰۸ ثانيه و اين يعني كار ما ۱۰۷۹ سال طول خواهد كشيد. عمر عالم دست بالا ۱۵ ميليارد سال تخمين زده مي شود. حتي يك دهم يا يك صدم يا يك هزارم اين محاسبه هم غير قابل انجام است.
حوالي قرن هفدهم توجه رياضيدانان به اين نكته جلب شد كه شايد راه هاي ساده تري براي آزمايش اول بودن يا نبودن يك عدد وجود داشته باشد چرا كه روش تقسيم مقدار زيادي اطلاعات اضافي ( ليست عوامل اول، وقتي كه جواب سوال منفي است ) توليد مي كند كه براي پاسخ گفتن به اين سوال نيازي به آن ها نيست. فرما مدتي بعد نشان داد كه اين حدس صحيح بوده است. فرما (۱۶۰۱ ۱۶۶۵) قضيه اي را ثابت كرد كه تا امروز اساس همه روش هاي آزمايش اول بودن اعداد است و ما آن را با نام قضيه كوچك فرما مي شناسيم.
▪ قضيه كوچك فرما: اگر p عددي اول و b عدد دلخواهي باشد كه p و b نسبت به هم اول باشند، آن گاه باقيمانده تقسيم بر p و باقيمانده تقسيم b بر p هميشه برابرند.
بنابراين براي اينكه بدانيم عددي مثل a اول است يا نه كافيست عدد دلخواهي مثل b كه نسبت به a اول باشد انتخاب كنيم و باقيمانده تقسيم بر a را بيابيم اگر اين باقيمانده برابر b نباشد عدد ما اول نيست.
تنها مشكلي كه وجود دارد اين است كه از آنجا كه عكس قضيه فرما لزوما درست نيست يعني ممكن است بعضي از اعداد مركب هم اين خاصيت را داشته باشند اگر باقيمانده b باشد نمي توان در مورد اول بودن يا نبودن a اظهارنظري كرد. اين مشكل هم ۳۰۰ سال بعد در تابستان ۲۰۰۲ بوسيله سه رياضيدان هندي به نام هاي Agrawal، Kayal و Saxena حل شد و حالا مي توانيم در كسري از ثانيه در مورد اول بودن عددي با ۱۰۰ رقم اظهارنظر كنيم.
▪ قضيه كوچك فرما: اگر p عددي اول و b عدد دلخواهي باشد كه p و b نسبت به هم اول باشند، آن گاه باقيمانده تقسيم بر p و باقيمانده تقسيم b بر p هميشه برابرند.
بنابراين براي اينكه بدانيم عددي مثل a اول است يا نه كافيست عدد دلخواهي مثل b كه نسبت به a اول باشد انتخاب كنيم و باقيمانده تقسيم بر a را بيابيم اگر اين باقيمانده برابر b نباشد عدد ما اول نيست.
تنها مشكلي كه وجود دارد اين است كه از آنجا كه عكس قضيه فرما لزوما درست نيست يعني ممكن است بعضي از اعداد مركب هم اين خاصيت را داشته باشند اگر باقيمانده b باشد نمي توان در مورد اول بودن يا نبودن a اظهارنظري كرد. اين مشكل هم ۳۰۰ سال بعد در تابستان ۲۰۰۲ بوسيله سه رياضيدان هندي به نام هاي Agrawal، Kayal و Saxena حل شد و حالا مي توانيم در كسري از ثانيه در مورد اول بودن عددي با ۱۰۰ رقم اظهارنظر كنيم.
بعد از ۲۰۰۰ سال مساله آزمايش اول بودن اعداد پاسخ خوبي پيدا كرد اما مساله دوقلو يعني يافتن عوامل اول همچنان مقاومت مي كند و كسي نمي داند آيا اين مساله راه حل ساده تري دارد يا نه؟
وقتي تلاش براي ساده تر كردن راه حل اين مساله به جايي نرسيده رياضيدانان تصميم گرفتند از پيچيدگي اين مساله براي ساختن روش هاي رمز نگاري استفاده كنند. حالا، كمتر از ۳۰ سال از آغاز اين تلاش، امنيت پيچيده ترين و امن ترين سيستم هاي رمزنگاري عالم وابسته به سختي تجزيه اعداد بزرگ است و امن تر كردن اين روش ها بخش عمده اي از وقت نظريه اعداد دان هاي دنيا را پر مي كند. جالب است بدانيد بزرگ ترين استخدام كننده رياضيدان ها در دنيا آژانس ملي امنيت ايالات متحده آمريكاست كه بيشتر نظريه اعداددان ها را استخدام مي كند. شايد ديگر كمتر نظريه اعدادداني مايل به حل كردن مساله تجزيه اعداد بزرگ باشد