دربارۀ RSA

اینجا نمیخوام طرز کار RSA رو آموزش بدم، فقط دارم یکسری Note مینویسم یافته هام رو جمع بندی میکنم.

در طول یکی دو سال اخیر شاید تاحالا 20 بار تلاش کرده بودم RSA رو بفهمم بهش تسلط و بینش عمیق تر/از پایه پیدا کنم. اخیرا به رضایت بیشتری دست پیدا کردم، چون بالاخره بنظرم پایه های ریاضیش رو یاد گرفتم. شاید علت مشکلم تاحالا تاحدی بخاطر این بود که میخواستم به یک درک مستقیم و دیدن روابط اعداد بصورت ذهنی برسم، که خب در مباحث پیشرفته و پیچیدهء ریاضیات و فیزیک دیگه جواب نمیده!

البته مقالهء ویکیپدیا درمورد RSA هم بنظرم نسبت به دفعات قبلی که خونده بودم کاملتر قشنگ تر شده. لامصب این ویکیپدیا هر روز پیشرفت میکنه مقاله هاش در کل به مرور کیفیت بیشتری پیدا میکنن، شاید چون هرکس هر زمان میتونه روشون کار کنه.

اثبات ریاضی RSA بر اساس Fermat’s little theorem توی مقالهء ویکیپدیا هست که روشنه. تعجب میکنم چطور قبلا متوجه اینا نشده بودم! یکم اصطلاحات و زبان ریاضیش رو مثل اینکه درک نمیکردم بعضی وقتا زیادی عجیب و پیچیده بنظر میرسید. البته RSA در عمل جزییات و فرعیات و نکات زیادی داره، غیر از این فرمول و اثبات پایه و کلیش، که شاید بخاطر برخورد و توجه به اونا دچار مشکل شده بودم.

و اما بعنوان یه مسئلهء جداگانه، یه سوال خوب که اخیرا برام پیش آمده بود این بود که مسئلهء فاکتورگیری اعداد صحیح بزرگ که RSA بر فرض سختی اون استواره در کدام Complexity class است.

جوابش اینه که تصور و احتمال زیاد اینه که در NP-intermediate قرار داره.

هیچ الگوریتم فاکتورگیری کلی (بتونه برای تمام اعداد صحیح استفاده بشه – نه اعداد صحیح با سایز یا خصوصیات معینی) که polynomial time باشه تاحالا شناخته نشده.

سریعترین الگوریتمی که برای فاکتورگیری اعداد صحیح با بیشتر از 100 رقم شناخته شده، General number field sieve است که دارای سرعت Sub-exponential time میباشد (البته طبق تعریف دوم).

البته ما داریم دربارهء رایانه های کلاسیک صحبت میکنم نه رایانه های کوانتمی که هنوز به شکل عملیاتی برای اینطور کارها ساخته نشدن و معلوم هم نیست حتی متخصصانش هم شک دارن بالاخره چه زمانی محقق بشن یا اصلا محقق بشن! وگرنه از وجود الگوریتم Shor که روی رایانه های کوانتمی بصورت Polynomial time اجرا میشه خبر دارم دیگه کامنت الکی نذارید لطفا!

اوه راستی یادم رفت بگم درواقع معلوم نیست که سختی RSA برابر سختی فاکتورگیری اعداد صحیح باشه؛ ممکنه کمتر هم باشه، ولی تاحالا کسی برای شکستن RSA روشی کاراتر از فاکتورگیری پیدا نکرده.

3 دیدگاه در “دربارۀ RSA

  1. سلام
    میگم شما نمیتونید این مقالات ویکی را فارسی کنید ؟

    اینطوری سایت شما ممکن در طول آینده گم بشه ولی اونطوری علم را انتشار میدین و شاید بعدا اشپیلن نامی + دیگر به دنیا بیاد و از ویکی استفاده کنه

    شما وقتتون را بگزارید روی ویکی خیلی بهتره نه ؟

    • دوست عزیز بنده به ضرورت و حتی فایدهء زیاد زبان فارسی در چنین سطوحی اعتقاد چندانی ندارم. برای همراهی با علم و فناوری مدرن امروزی، با این حجم عظیم و تغییرات و گسترش ها و اضافات سریع، و با توجه به اینکه عمدهء علم دنیا توسط جمعیتی بیشتر از هر جمعیت دیگر در کرهء زمین و به زبان انگلیسی تولید میشود، بنظر بنده یادگیری و استفاده مستقیم از زبان انگلیسی اجتناب ناپذیر است و یادگیری کافی زبان انگلیسی کاریست که باید در سطوح پایه ای و خیلی پیشتر از اینها انجام شود. کسی که بخواد این مباحث علمی پیچیده و پیشرفته را بفهمد و در چنین سطحی باشد که دنبال اینطور چیزها بودن برایش معنا و کاربردی داشته باشد، معنا ندارد که بخواهد از منابع فارسی ترجمه شدهء نااصل استفاده کند که تقریبا همیشه کمیت و کیفیت و قابلیت اعتماد کمتری خواهند داشت، بلکه باید بعنوان گزینهء اول از منابع اصلی براحتی استفاده کند. منابع زبان فارسی درصورت وجود میتوانند تنها گاهی مکمل باشند. ما هیچوقت نمیتوانیم این همه مطالب را و مطالبی را که مدام به زبان انگلیسی در حال تولید و تغییر و بهبود و اضافه شدن هستند بحد کافی ترجمه کنیم و اینطور حتی نزدیک به علم موجود در دنیا پیش برویم.
      ترجمهء کامل و بحد کافی دقیق کردن کار راحتی نیست؛ وقت و انرژی زیادی صرف میکند. و طبیعتا آدم خودش از پیشرفت و علم روز دنیا به این خاطر ممکن است عقب بماند و از انگلیسی زبانها و کسانی که به انگلیسی تسلط دارند عقب میماند نمیتواند با آنها رقابت منصفانه ای بکند. خواندن یک مقاله برای خودت یک چیز است و ترجمهء کامل و درست و حسابی آن برای مخاطبان دیگر مسئله ای دیگر که وقت و انرژی تلف شده مثلا به ازای هر مقاله را دو برابر یا بیشتر افزایش میدهد. طبیعتا برای یک علم خوره چنین چیزی قابل تحمل نیست، چون پیشرفتش را کند میکند، بدون اینکه بنظرش این ترجمه ها سود چندانی داشته باشند و معلوم نیست چند نفر تا چه حد از آنها استفاده ای بکنند یا نکنند. کسانی که در قدم اول زبان انگلیسی را بقدر کافی یاد نگرفته اند و نمیتوانند از منابع اصلی استفاده کنند، این مباحث و مقاله ها به چه دردشان میخورد! بنظرم برایشان خیلی زود است و باید قدم به قدم از سطوح قبلی شروع کنند و بنیان پیشرفت خویش را اصولی بگذارند. حتی اگر بعضی از آنها این مطالب را واقعا بفهمند هم باز فکر نمیکنم در عمل بتوانند استفادهء زیادی از آنها بکنند، چون خیلی علوم و مباحث جانبی در عمل دخیل و نیاز است.
      بنظر بنده دوباره کاری بدون توجیه کافی است که بخواهیم مثلا مقالات ویکیپدیا را به فارسی هم ترجمه کنیم. حداقل اینطور مقاله ها را! وگرنه شاید ترجمهء بعضی مقاله های عمومی تر و سطح پایین تر و احتمالا کم حجم تر، بیشتر توجیه داشته باشد.
      ضمنا بنده که آدم پولداری نیستم و باید فکر درآمد و کار و آیندهء خودم هم باشم نمیتوانم بیش از این بصورت رایگان وقت و انرژی خودم را صرف کنم. باز اگر بقول معروف پولی توش بود، شاید برای ما هم میتوانست محل درآمد و توجیهی باشد. خارجیها که این کارها را میکنند به گمانم مشکل مالی جدی ندارند و امنیت مالی دارند، ولی ما شرایطمان با آنها متفاوت است.

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

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>