امنیت اویلریحتماً این سوال برایتان پیش آمده است که چه طور میتوان کلیدهایی با مشخصات شرح داده شده، ساخت. یکی از روش های انجام این کار الگوریتم RSA است که نامش را از حروف اول نام سازندگانش میگیرد. مبنای اصلی این الگوریتم قضیه ی تقریباً ساده ای در نظریه ی اعداد مقدماتی است که به قضیه ی اویلر معروف است.
اما جزئیات ساختن کلیدها:
جفت (N, k) را به عنوان کلید عمومی منتشر میکنیم و جفت(N, s) را به عنوان کلید خصوصی نگه میداریم.
برای فرستادن پیام، طرف مقابل باید ابتدا پیام را به یک عدد کوچک تر ازN مثل a ( یا در صورت طولانی بودن به چند عدد با همین شرط) تبدیل کند. سپس a را به توان k برساند و باقیمانده ی تقسیم برN را مخابره کند.
اگر s را مطابق روش گفته شده انتخاب کرده باشیم، همان طور که در کادر بعدی خواهیم دید، داریم:
یعنی برای باز کردن رمز کافی است عدد رسیده (مثلاً A) را به توان s برسانیم و باقیمانده ی تقسیم آن به N را محاسبه کنیم:
مشاهده می کنید که هر کس با دانستن k یا کلید عمومی میتواند برای شما پیغام بفرستد. اما بازگشایی رمز، مشروط به دانستن s و در نتیجه دانستن عوامل اول N یعنی p و q است. یعنی برای بازگشایی رمز باید یک عدد بزرگ با عوامل اول بزرگ را تجزیه کنیم. هر چه این عدد بزگ تر باشد، این تجزیه همان طور که در بخش های قبل گفتیم ناممکن تر است و اطلاعات ما امن تر خواهند بود. در کاربردهای عملی از اعدادی با حدود 100 رقم و بیش تر استفاده میکنند.
| |||||||
نویسنده: سید عباس موسوی