الگوریتم RSA

الگوریتم RSA پس از آنکه ران ریوست (Ron Rivest)، آدام شامیر (Adam Shamir) و لن ادلمن (Len Adleman) در سال ۱۹۷۷ آنرا بدست آوردند به این نام مشهور شد، هرچند تکنیک های اولیه آن پیشتر در سال ۱۹۷۳ توسط فردی بنام کلیفورد کوکس (Clifford Cocks) بدست آمده بود اما تا سال ۱۹۷۷ اولا” الگورتیم کاملا” محرمانه بود و ثانیا” به سادگی آنچه در زیر بیان خواهیم کرد نبود.
سه‌شنبه، 16 تير 1388
تخمین زمان مطالعه:
موارد بیشتر برای شما
الگوریتم RSA
الگوریتم RSA
الگوریتم RSA





الگوریتم RSA پس از آنکه ران ریوست (Ron Rivest)، آدام شامیر (Adam Shamir) و لن ادلمن (Len Adleman) در سال ۱۹۷۷ آنرا بدست آوردند به این نام مشهور شد، هرچند تکنیک های اولیه آن پیشتر در سال ۱۹۷۳ توسط فردی بنام کلیفورد کوکس (Clifford Cocks) بدست آمده بود اما تا سال ۱۹۷۷ اولا” الگورتیم کاملا” محرمانه بود و ثانیا” به سادگی آنچه در زیر بیان خواهیم کرد نبود.

تهیه کلید های عمومی و خصوصی

بطور خلاصه روش کار برای تهیه کلیدها به شرح زیر است :
۱- دو عدد بزرگ (هر چه بزرگتر بهتر) اول به نام های p و q را انتخاب می کنیم، بهتر است این اعداد از لحاظ سایز نزدیک به یکدیگر باشند.
۲- عدد دیگری بنام n را معادل با حاصلضرب p در q تعریف می کنیم : n = p x q
۳- عدد چهارم یعنی m را معادل حاصلضرب p-۱ در q-۱ تعریف می کنیم : (m = (p-۱) x (q-۱
۴- عدد e را که از m کوچکتر است آنگونه پیدا می کنیم که بزرگترین مقسوم علیه مشترک این دو یک باشد به عبارتی نسبت به هم اول باشند.
۵- عددی مانند d را پیدا کنید که باقیمانده حاصلضرب d در e تقسیم بر m مساوی عدد ۱ باشد، یعنی : d x e) mod m = ۱)
حال پس از طی این مراحل شما می توانید از e و n بعنوان کلید عمومی و از d و n بعنوان کلید اختصاصی استفاده کنید.

روش پنهان کردن و آشکار کردن

برای کد کردن اطلاعات کافی است عدد منتصب به هر کاراکتر - مثلا” ASCII - را که در اینجا M می نامیم در فرمول زیر قرار دهید و بجای ارسال آن عدد C = Me mod n را ارسال کنید. در واقع دراینجا شما توانسته اید با کمک کلید عمومی، کاراکتر M را به C تبدیل کنید.
حال گیرنده برای آشکار سازی کافی است عدد دریافتی یعنی C را با استفاده از کلید خصوصی به M تبدیل کند. برای اینکار کافی است از این فرمول استفاده کنید : M = Cd mod n ، بنابراین شما با دریافت کاراکتر کد شده C و در دست داشتن کلید خصوصی توانسته اید کاراکتر اصلی را مشخص نمایید.
یک مثال:
با توجه به روشی که در مطلب قبل ارایه کردیم در اینجا بعنوان نمونه مثالی از نحوه تعریف کلید های عمومی و خصوصی خواهیم آورد. اما برای سادگی محاسبات از اختیار کردن اعداد بزرگ دوری خواهیم کرد و توجه شما را به این نکته جلب می کنیم که هرچقدر اعداد اولیه بزرگتر باشند احتمال شکستن رمز در مدت زمان محدود ناچیزتر می شود.
۱- ابتدا باید دو عدد اول بزرگ انتخاب کنیم که در اینجا از اعداد ساده و هم اندازه ای مانند ۱۱ و ۳ استفاده می کنیم. پس p=۱۱ , q=۳
۲- حاصلضرب p در q که همان n است را به اینصورت خواهیم داشت : n = ۱۱ x ۳ = ۳۳
۳- حاصلضرب p-۱ در q-۱ که همان m است را به اینصورت خواهیم داشت : m = ۱۰ x ۲ = ۲۰
۴- برای انتخاب عدد e که نسبت به m=۲۰ اول باشد و کمتر از آن هم باشد ساده ترین گزینه یعنی عدد ۳ را انتخاب می کنیم.
۵- برای یافتن عدد d که در رابطه d x e) mod m = ۱) صادق باشد اعداد ۱,۲,۳,۴,۵ و … را امتحان می کنیم، بنظر می رسد که عدد ۷ برای اینکار مناسب باشد چرا که ۷×۳=۲۱ باقیمانده ای معادل ۱ بر m=۲۰ دارد.
حال می توانیم از زوج (۳۳,۳) بعنوان کلید عمومی و از زوج (۳۳,۷) بعنوان کلید خصوصی استفاده کنیم. حال اگر از فرمول هایی که در مطلب قبل برای کد کردن و آشکار سازی استفاده کنیم برای اعداد ۱ تا ۱۶۳۲ به جدول زیر خواهیم رسید.

m

۰

۱

۲

۳

۴

۵

۶

۷

۸

۹

۱۰

۱۱

۱۲

۱۳

۱۴

۱۵

۱۶

c

۰

۱

۸

۲۷

۳۱

۲۶

۱۸

۱۳

۱۷

۳

۱۰

۱۱

۱۲

۱۹

۵

۹

۴

m

۱۷

۱۸

۱۹

۲۰

۲۱

۲۲

۲۳

۲۴

۲۵

۲۶

۲۷

۲۸

۲۹

۳۰

۳۱

۳۲

۲۹

۲۴

۲۸

۱۴

۲۱

۲۲

۲۳

۳۰

۱۶

۲۰

۱۵

۷

۲

۶

۲۵

۳۲

بنابراین هم اکنون شما یک جدول تبدیل کد دارید که با کمک کلید عمومی اعداد صفر تا ۳۲ را به اعدادی کد شده و در همین رنج تبدیل کرده اید. اما اگر دقت کنید تعدادی از اعداد دقیقا” به همان عدد خود تبدیل شده اند که به اینها unconcealed یا مخفی نشده گفته می شود. اولآ باید بدانیم که ۰ و ۱ همواره به همین اعداد تبدیل می شوند و مطلب دیگر اینکه اگر رنج دو عدد اول ابتدایی را بزرگ در نظر بگیریم دیگر مشکلی پیش نخواهد آمد.
حال کافی است فرض کنیم A=۲ ، B=۳ ، C=۴ و … Z=۲۷ و جملات مربوطه را کد نماییم. دقت کنید که معمولا” از ۰ و ۱ برای کدینگ استفاده نمی شود.
منبع:http://www.academist.ir


نظرات کاربران
ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط
موارد بیشتر برای شما
دفاع آقای قاضی از حقوق معلمان و برخورد قاطع با مدیر متخلف
play_arrow
دفاع آقای قاضی از حقوق معلمان و برخورد قاطع با مدیر متخلف
ناگفته‌هایی از مادر سپهبد شهید محمد پاکپور
play_arrow
ناگفته‌هایی از مادر سپهبد شهید محمد پاکپور
اعتراف کم‌سابقه مقام آمریکایی درباره بلندی‌های جولان!
play_arrow
اعتراف کم‌سابقه مقام آمریکایی درباره بلندی‌های جولان!
خطیب‌زاده: مردم، مسئولان، سربازان و سرداران ایران به نام ایران ایستادند
play_arrow
خطیب‌زاده: مردم، مسئولان، سربازان و سرداران ایران به نام ایران ایستادند
سردار طلایی‌نیک: تولید تسلیحات و تجهیزات دفاعی پس از جنگ دوازده روزه دو برابر شد
play_arrow
سردار طلایی‌نیک: تولید تسلیحات و تجهیزات دفاعی پس از جنگ دوازده روزه دو برابر شد
ورود رونالدو به زمین در دیدار النصر و الریاض با ظاهری جدید
play_arrow
ورود رونالدو به زمین در دیدار النصر و الریاض با ظاهری جدید
مهارت فوق العاده یک نابینا با اسکیت‌برد
play_arrow
مهارت فوق العاده یک نابینا با اسکیت‌برد
برای رفع استرس قبل از امتحان چه دعایی بخوانیم؟
برای رفع استرس قبل از امتحان چه دعایی بخوانیم؟
اگر عربی بلد نباشیم، دعا قبول می شود؟
اگر عربی بلد نباشیم، دعا قبول می شود؟
اگر هنگام دعا کلمات را اشتباه بخوانیم چه می شود؟
اگر هنگام دعا کلمات را اشتباه بخوانیم چه می شود؟
تاجرنیا فدراسیون را تهدید کرد: جام را ندهید، سراغ فیفا و AFC می‌رویم
play_arrow
تاجرنیا فدراسیون را تهدید کرد: جام را ندهید، سراغ فیفا و AFC می‌رویم
خیابان‌های نیویورک پس از طوفان شدید به رودخانه تبدیل شدند
play_arrow
خیابان‌های نیویورک پس از طوفان شدید به رودخانه تبدیل شدند
قالیباف: عراق در آستانه خروج نهایی نیروهای خارجی و تثبیت حاکمیت مستقل خود است
play_arrow
قالیباف: عراق در آستانه خروج نهایی نیروهای خارجی و تثبیت حاکمیت مستقل خود است
ویدیویی از لپ‌تاپ دوربین‌دار شیائومی با قابلیت‌های عجیب!
play_arrow
ویدیویی از لپ‌تاپ دوربین‌دار شیائومی با قابلیت‌های عجیب!
خواهر عمران خان: برادرم در زندان تحت شکنجه است
play_arrow
خواهر عمران خان: برادرم در زندان تحت شکنجه است