آراسآ
از ویکیپدیا، دانشنامهٔ آزاد.
در بحث رمزنگاری، آراسآ (RSA) شیوه ای برای رمزنگاری به روش کلید عمومی (Public Key) است. این روش نخستین روش مورد اعتماد در بین روش های رمزنگاری دیگر است و یکی از بزرگترین پیشرفت ها در زمینه ی رمزنگاری به حساب می آید. آراسآ همچنان به صورت وسیعی در تبادلات الکترونیکی استفاده می شود و در صورت استفاده درست با کلید های طولانی کاملا امن به نظر می رسد.
فهرست مندرجات |
[ویرایش] تاریخچه
این روش نخستین بار در سال ۱۹۷۷ توسط رون ریوست، ادی سمیر و لن ادلمن در دانشگاه ام آی تی مطرح شد. اصطلاح آراسآ نیز از حروف ابتدای نام آنها گرفته شده است. دانشگاه امآیتی حق اختراع (Patent) این روش را به نام خود ثبت کرد. این حق اختراع در ۲۱ سپتامبر سال ۲۰۰۰ میلادی منقضی شد.
[ویرایش] توضیحات کارکرد
[ویرایش] کلیات
آراسآ به طور کلی از دو کلید تشکیل می شود. کلید عمومی و کلید خصوصی. کلید عددی ثابت است که در محاسبات رمزنگاری استفاده می شود. کلید عمومی برای همه معلوم بوده و برای رمز کردن پیام استفاده می شود. این پیام فقط توسط کلید خصوصی باز می شود. به عبارتی دیگر همه می توانند یک پیام را رمز کنند اما فقط صاحب کلید خصوصی می تواند پیام را باز کند و بخواند.
[ویرایش] تولید کلید
مراحل زیر برای تولید کلید طی می شود:
- دو عدد اول بزرگ p و q را به صورت تصادفی بیابید به طوری که .
- عدد n را محاسبه کنید به طوری که n = pq.
- عدد فی را محاسبه کنید به طوری که
- عدد e را انتخاب کنید به طوری که و نسبت به اول باشد.
- عدد d را طوری بیابید که
- دو عدد اول می توانند توسط روش پیدا کردن اعداد اول احتمالی پیدا شوند.
- معمولا عدد عمومی (e) را در حدود ۲۱۶ انتخاب می کنند. البته بعضی برنامه اعداد کوچکی را انتخاب می کنند که باعث سریعتر شدن و البته خطرات امنیتی در رمزنگاری می شود.
کلید عمومی تشکیل می شود از :
- عدد n (عدد مشترک)
- عدد e (عدد عمومی)
کلید خصوصی تشکیل می شود از :
- عدد n (عدد مشترک)
- عدد d (عدد خصوصی)
[ویرایش] رمز کردن پیام
فرض کنید می خواهید پیامی را رمزنگاری کرده و به فردی دیگر بفرستید. شما می بایست کلید عمومی آن فرد را از او دریافت کرده و پیام خود را در قالب یک عدد (m) در بیاورید به طوری که این فرآیند برگشت پذیر بوده و عدد شما از n کوچکتر باشد. بدیهی است اگر پیام بزرگتر حد معمول باشد آن را در بسته های جداگانه می فرستیم. شما اکنون عدد C را محاسبه می کنید به طوری که حال اگر پیام رمزنگاری شده ی C را برای فرد مذکور بفرستید او می تواند توسط کلید خصوصی اش آن را باز کند.
[ویرایش] باز کردن پیام
فرض کنید شما پیام رمز نگاری شده ی C را دریافت کرده اید و کلید خصوصی خود را در دسترس دارید. حال شما می توانید عدد m را که معادل پیام اصلی است از C,n,d بازیابی کنید.
[ویرایش] منابع
- R. Rivest, A. Shamir, L. Adleman. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, Vol. 21 (2), pp.120–126. 1978. Previously released as an MIT "Technical Memo" in April 1977. انتشار اولیه روش رمز نگاری آر اس ای.
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0262032937. Section 31.7: The RSA public-key cryptosystem, pp.881–887.