۱۳۹۲ خرداد ۲۶, یکشنبه

تردیدهای قبل از انتخابات


توضیح: این متن را در هفته‌ی منتهی به انتخابات ریاست‌جمهوری ۱۳۹۲ نوشتم ولی انتشار آن را به دلایلی که در متن اشاره شده به بعد از انتخابات موکول کردم. اصرار داشتم که این متن به‌طور ناخودآگاه تحت تاثیر فضای بعد از اعلام نتایج قرار نگیرد و به‌جز آخرین پانوشت و چند مورد ویرایش و تفصیل و تلخیص جزیی، بقیه‌ی متن همان است که شب انتخابات بود.

نوشته‌های یک ناظر!

انتخابات ریاست جمهوری امسال برای من تفاوت‌های زیادی در قیاس با دفعات قبل داشت. شاید مهم‌ترین تفاوتش رای ندادن برای اولین بار باشد. امسال در کانادا امکان رای دادن وجود نداشت ولی اگر هم ممکن بود، بعید می‌دانم در انتخابات شرکت می‌کردم. من به تغییر در وضعیت کشور از طریق روش‌های مسالمت آمیز معتقدم و آن را به‌ترین راه می‌دانم، در دو انتخابات ریاست‌جمهوری گذشته هم برای انداختن یک رای هر بار چند صد کیلومتر سفر کرده‌ام! در انتخابات ۱۳۸۸ با وجود دوری از کشور، تلاش کردم در حد توان تاثیرگزار باشم و در یکی دو حرکت جمعی با دوستان مشارکت کردم ولی تفاوت‌های این انتخابات با گذشته درحدی بود که من را از رای دادن منصرف کند چنان‌که در ادامه توضیح داده‌ام. برخلاف قبل، این‌بار سعی کردم لااقل به شکل مکتوب، سکوت محض پیشه کنم و حرف‌ها را بگذارم برای بعد از انتخابات. البته این نوشته را قبل از انتخابات می‌نویسم تا در حال و هوای قبل از اعلام نتایج باشد، ولی برای انتشار در آینده. در ابتدا مشاهداتم را نوشته‌ام و بعدا دلایلم برای تصمیم عدم مشارکت. روی سخنم با دوستانی‌ست که معتقد به لزوم تغییر و تحول در کشور و حرکت به سمت جامعه‌ای آزاد و دموکرات‌اند، اگر چنین اعتقادی ندارید، وقتتان را با خواندن ادامه‌ی متن تلف نکنید!

خلاصه‌ی مشاهده‌ها

  • قطبی‌شدن نسبتا شدید فضای بحث بین دوستانی که تقریبا همگی آزادی‌خواهند و منتقد وضع موجود، برایم جالب است! به‌طور خاص سر موضوع شرکت یا عدم شرکت در انتخابات، به‌نظرم بعضی جاها بحث‌ها به‌جای سازندگی و نقد منصفانه، تبدیل می‌شد به تهمت زدن و مسخره کردن.
  • دوستانی که طرفدار شرکت بودند عمدتا بر این تکیه می‌کردند که تحریم فراگیر اولا اتفاق نمی‌افتد ثانیا تاثیری ندارد. استدلال مرسوم دیگر هم رضایت دادن به کاندیدای نه خیلی بد بود برای جلوگیری از انتخاب شدن بدترین. سوالی که این دوستان خیلی وقت‌ها مطرح می‌کردند، پرسش از کنش سیاسی جایگزین به‌جای رای دادن بود، به‌خصوص با توجه به اوضاع بحرانی کشور.
  • بعضی از دوستان مخالف شرکت بر بحث «تقلب» و «مهندسی انتخابات» تکیه می‌کردند. عده‌ای هم به وقایع بعد از انتخابات ۱۳۸۸، سرکوب خشن مردم، و آسیب‌دیدگان و زندانیان اشاره می‌کردند، دسته‌ای هم به کیفیت کاندایداهایی که از فیلتر تنگ شورای نگهبان رد شده بودند.
  • به‌نظرم می‌رسد حرف‌های کاندیداها در زمان انتخابات بیش از حد مورد توجه خیلی از ما بود. نه این‌که بگویم آن حرف‌ها مهم نیست ولی کم دیدم که به سابقه و مواضع قبلی کاندیداها پرداخته شود، به خصوص در مورد دو نفری که در بین تحول‌طلبان محبوب‌تر بودند.
  • کلی گویی کاندیداها به‌خصوص در مورد مسائل اقتصادی جالب بود. به علاوه ادعاها و وعده‌هایی مطرح می‌شد که به‌نظرم سال‌هاست از حوزه‌ی اختیار رییس جمهور خارج شده و به گمانم خود کاندیداها هم به این موضوع واقف بودند!


ما و صندوق رای

من در انتخابات شرکت نکردم چون علاوه بر نبود حوزه‌ی رای در کشور محل اقامتم، این دلایل را هم داشتم:

  • حسن روحانی (دی‌ماه ۱۳۸۸): ۹ دی پاسخ قاطع ملت ایران به معاندین و ضد انقلاب بود.
    تصویر و نقل قول از این پیام خبرگزاری فارس. برای دیدن متن دقیق صحبت‌های ایشان مراجعه کنید به متن خبر.
    کاندیداها و مواضع بعد از ۱۳۸۸: اغلب ما بر این عقیده‌ایم که کاندیداهای مطرح دوره‌های قبل هم ایده‌آل نبودند و در یک ایران آزاد، خیلی به‌تر از این‌ها می‌توانند کاندیدا شوند، ولی سابقا حداقل‌هایی وجود داشت که لااقل می‌شد به آن‌ها دل خوش کرد. شعار خاتمی در سال ۱۳۷۶ انصافا جذاب بود. همین شعارهای جذاب و البته توصیه بعضی از دوستان، من و خیلی‌های دیگر را متقاعد کرد که خلاف سنت ۱۶ ساله‌ی خانوادگی، در انتخابات شرکت کنیم. واقعا هم از آن انتخاب راضیم و خود را مدیون فضای باز سیاسی‌ای می‌دانم که این انتخاب در سال‌های دانشجویی من فراهم کرد، هرچند عملکرد خاتمی در «تدارکاتچی» شدنش در پایان بی‌تاثیر نبود! رای به معین و موسوی هم هرکدام دلایل خود را داشت. پرونده‌ی این دو، لااقل در سال‌های بعد از جنگ «نسبتا» قابل قبول بود و تشکیلات اصلی حزبی اصلاح‌طلب هم پشت ایشان بود. حداقلش هم این بود که امید داشتم ایشان در مقابل تمامیت‌خواهی رهبر و ارگان‌های منسوبش مقاومت کنند.

    اما امسال وضعیت خیلی متفاوت بود. اولا موضع حضرات کاندیدا در قبال حوادث ۱۳۸۸ خیلی به‌نظرم حائز اهمیت بود. به کاندیداهای «ولایی» و آن‌ها که به «چوب زدن» مردم در خیابان افتخار می‌کردند، کاری ندارم. ولی آن‌ها که ادعای اصلاح‌طلبی و اعتدال‌گرایی هم داشتند، متاسفانه پرونده‌ی نسبتا تیره‌ای در این چند سال گذشته داشته‌اند. مثلا این جناب روحانی که شد کاندیدای «ائتلاف» و با کمال پررویی در همایش‌های انتخاباتیش با شعار حمایت از زندانیان سیاسی رای می‌خرید، همان کسی است که درقبال حوادث ۱۳۸۸ یا سکوت کرد، یا آن‌جا که سخن گفت، نمایش مضحک ۹ دی را «پاسخ محکم و قاطع» مردم به «عده‌ی اندک فریب‌خورده» که «عاشورا را هتک کردند» دانست! «...مردم ما وقتی احساس كردند كه این عده‌ی اندک فریب خورده، عاشورا را هتك كردند، خشم و هیجان آن‌ها شعله‌ور شد و روزچهارشنبه یک پاسخ محكم و قاطعی به معاندین و ضد انقلاب دادند...» متن کامل خبر را در این پیام خبرگزاری فارس. ببینید.

    گزارش بی‌بی‌سی فارسی از وقایع عاشورای ۱۳۸۸


    به نظرم وقایع آن چند ماه و به‌طور خاص روز عاشورا نیازی به‌ یادآوری ندارد، ولی باز اگر بعضی از دوستان حافظه‌‌شان یاری نمی‌کند، دیدن فیلم روبه‌رو بد نیست. من نتوانستم خودم را قانع کنم رای به کسی بدهم که چشم به آن همه جنایت می‌بندد و به تقدیر از «حماسه‌ی نهم دی» می‌پردازد! تازه تمام سوابق امنیتی و غیر امنیتی این جناب از همان دوران اصلاحات و افتخارش به منسوب رهبری بودن، بماند! این موضوع کیفیت کاندیداها، مهم‌ترین دلیل من برای عدم مشارکت بود.
  • انتخابات ۱۳۸۸: هر استدلالی برای شرکت در انتخابات که وقایع مربوط به انتخابات ۱۳۸۸ را در نظر نگیرد، به نظرم ناقص است. خیلی از دوستان طرفدار تحریم، «تقلب» و «مهندسی انتخابات» را دلیل عدم شرکت می‌دانند. این البته دلیل اصلی برای من نیست و بررسی این‌که حجم تقلب در آن انتخابات در چه حد بود خارج از حوصله‌ی این نوشته است. اوایل دوران بعد از انتخابات، این موضوع را زیاد دنبال کردم، به عنوان مثال مقاله‌ی والتر میبین به نظرم بررسی جالبی بود، خودم هم چند بررسی ساده‌ی آماری روی نتایج صندوق‌ها انجام دادم. هرچند حد و مرز تقلب و تاثیر گزار بودنش در نتیجه‌ی نهایی برای من هیچ‌وقت روشن نشد (به‌طور خاص داده‌های ادعای بزرگ شامگاه انتخابات که «برنده‌ی قطعی [انتخابات] با نسبت آرای بسیار زیاد» موسوی است!) ولی سوالات جدی و برخوردهای امنیتی‌ای که از همان روز انتخابات شروع شد (مثل قطع کردن کانال ارتباطی ستاد موسوی با ناظرانش) طبیعتا هرکسی را به‌شک می‌اندازد. اگر فضا این قدر امنیتی نمی‌شد و می‌شد آمار ناظران موسوی را آزادانه جمع‌آوری کرد، با توجه به اعلام آمار صندوق‌ها، تا حد خوبی می‌شد به سوال تقلب و حجم آن پاسخ داد (با اندکی مقایسه‌ی آماری داده‌ها)، ولی افسوس! موضوع به مراتب مهم‌تر به نظرم سرکوب خشنی بود که از همان شب انتخابات نشانه‌هایش هویدا شد. شاید اغلب آن‌هایی که سال ۱۳۸۸ رای دادند، فکر نمی‌کردند حاکمیت به چنین خشونت عیانی دست بزند. لااقل من با وجود همه‌ی شهودی که نسبت به خشونت در قبال مخالفین و زندانیان سیاسی و وقایعی مانند ۱۸ تیر داشتم، فکر نمی‌کردم در انظار عمومی و کف خیابان، به سوی معترضان گلوله شلیک شود، آن هم به دفعات! فکر آسیب‌دیدگان آن انتخابات از سرم بیرون نمی‌رود و با توجه به این‌که به‌طور عمومی ندیدم این عزیزان به شرکت در انتخابات تشویق کنند، نمی‌توانستم بدون عذاب وجدان رای دهم. می‌دانم که مثلا بعضی از زندانیان سیاسی رای می‌دهند یا حتی تشویق به رای دادن کردند، ولی اولا عمومیتی ندیدم ثانیا منظور من بیش‌تر متوجه بازماندگان کشته شده‌ها و دیگر آسیب‌دیدگان کم‌تر شناخته شده است. به گمانم آشتی مجدد خیلی‌ها با صندوق رای، یا به زمان زیاد نیاز دارد یا به حل شدن مشکل و دلجویی از آسیب‌دیدگان حوادث ۱۳۸۸ نه ادامه‌ی برخوردهای امنیتی با آن‌ها.

    به علاوه در مورد بحث تقلب هم بالاخره باید شهودی نسبت به حد و مرزش پیدا کرد. همان‌طور که گفتم در مورد انتخابات ۱۳۸۸ تقلب برای من موضوع اصلی نیست و به‌نظرم در انتخاباتی مانند ۱۳۸۴ تقلب و تخلف می‌توانسته خیلی موثرتر بوده باشد. ولی من تعجبم از بعضی از دوستان است که با قطعیت از تقلب چند میلیونی در انتخابات ۱۳۸۸ صحبت می‌کنند، حتی بعضا معتقدند این‌بار هم تقلب می‌شود، ولی باز معتقد به شرکت در انتخاباتند! من خیلی این منطق را نمی‌فهمم.


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


چرا سکوت؟!

ولی چرا تصمیم به سکوت گرفتم؟ در درجه‌ی اول اگر صندوق رای را کنار گذاشتیم، باید راه‌های جایگزینمان برای کنش سیاسی را تعیین کنیم. من البته موارد جایگزین دارم ولی مادام که خارج از ایران‌ام، طرح کردن چنین جایگزین‌هایی را نه صلاح نمی‌دانم نه منصفانه، چون خودم هیچ هزینه‌ای نمی‌پردازم! به‌علاوه وضعیت داخل کشور اصلا مناسب نیست، نه فقط از لحاظ سیاسی، بلکه به‌نظرم فشار اقتصادی ناشی از ماجراجویی‌های هسته‌ای خیلی مهم‌تر است. خیلی از دوستان داخل کشور هم با همین استدلال‌های اقتصادی در انتخابات شرکت می‌کنند. حالا آیا انصاف است منی که از این آسایش نسبی زندگی‌ در کشوری ثروتمند بهره‌مندم، دوستانم را تشویق به تحریم کنم؟ زمانی هم که این نوشته را منتشر کنم قاعدتا مرحله‌ی دوم انتخابات هم تمام شده همان‌طور که در ابتدا اشاره شد، این متن قبل از انتخابات نوشته شد، زمانی که بعید می‌دانستم انتخابات یک‌مرحله‌ای باشد. این پاورقی را استثنا‌ئا بعد از انتخابات اضافه کردم برای اشاره‌ای به پیروزی روحانی در دور اول و تبریک به دوستانی که به امید ایرانی به‌تر و آزادتر به او رای دادند. نتایج نهایی و روند شمارش آرا در این‌ خبر بی‌بی‌سی موجود است و درصد مشارکت هم ظاهرا بیش از ۷۰ درصد است. قابل توجه این‌که اولین اعلام نتایج ظاهرا بعد از ساعت ۵ صبح بوده، آن هم با کم‌تر از یک میلیون رای شمرده شده، در همین ارتباط: «مصطفی محمد نجار، وزیر کشور ایران گفته است که وزارت کشور نمی‌تواند "دقت و شفافیت را قربانی سرعت کند."» ناخودآگاه آدم به یاد «دقت و شفافیت» انتخابات ۱۳۸۸ می‌افتد! و اصولا این نظرات، تاثیری در تصمیم مشارکت هیچ‌کسی ندارد. ولی اگر در انتخابات شرکت کرده‌اید، شاید بد نباشد حالا از خود بپرسید، کنش‌های سیاسی‌تان به‌جز شرکت در انتخابات چیست؟ آیا ممکن است که دلیل قسمتی از مشکلات ما همین انفعال سیاسی در همه‌ی زمان‌های غیر از انتخابات باشد؟

پانوشت‌ها

۱۳۹۲ خرداد ۱۸, شنبه

امنیت در اینترنت به زبان ساده (قسمت دوم - رمزنگاری)


مرور گذشته و برنامه‌ی این قسمت

در قسمت اول این مجموعه اصول اولیه‌ی برقراری ارتباط برروی اینترنت شرح داده شد. در پایان قسمت قبل به این موضوع اشاره شد که اگر کسی به مسیر‌یاب‌های بینی یا به‌طور خاص رایانه‌های شرکت اصلی‌ای که خدمات اینترنت را از آن دریافت می‌کنید، دسترسی داشته باشد، به محتوای همه‌ی ارتباطات شما هم دسترسی دارد. باز اشاره شد که روشی که برای رفع این‌گونه مشکلات و بهبود امنیت شبکه‌ها استفاده می‌شود، رمزکردن متن ارتباطات است و این، موضوع بحث نوشته‌ی فعلی است. ابتدا به شکل کلی به روش‌های رمز‌نگاری کلید عمومی اشاره می‌شود و یک روش خاص با جزییات بیش‌تر (به عنوان مثال) بررسی می‌شود. اگر علاقه‌مند به جزییات ریاضی این روش‌ها نیستید می‌توانید از بخش «بررسی روش آر‌اس‌ای» بگذرید. اگر حتی فرصت خواندن بقیه‌ی بخش‌ها را هم ندارید، قطعه فیلمی که در بخش «استفاده از رمزنگاری بر روی اینترنت» استفاده شده (و ترجمه‌ی فارسی آن) را ببینید و توضیحات مرتبط با آن را مرور کنید.


مبنای روش‌های رمزنگاری «کلید عمومی»

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

ممکن است در ابتدا ادعای بالا غیر معقول به‌نظر برسد و برای همین جزییات یکی از رایج‌ترین این روش‌ها را در بخش بعدی (پایین) بررسی کرده‌ایم. اگر علاقه‌ای به بررسی جزییات ریاضی این روش‌ها ندارید، کافیست همین‌قدر بدانید که بنیان غیر ممکن بودن شکستن رمز بدون کلید خصوصی، بر مسائلی استوار است که برای حل آن‌ها، حتی با سریع‌ترین رایانه‌ها هم به هزاران سال‌ زمان نیاز است! مثلا یکی از مسائل رایجی که در رمز‌نگاری کلید عمومی استفاده می‌شود، مسئله‌ی تجزیه‌ی حاصل‌ضرب دو عدد اول، به عامل‌های اول آن است. کلید عمومی در این‌جا، حاصل‌ضرب دو عدد اول است و کلید خصوصی همان دو عدد یا عامل اول. برای رمزکردن یک پیام، داشتن حاصل‌ضرب کافی‌ست ولی بدون دانستن عوامل اول (کلید خصوصی) باز کردن پیام رمز شده عملا غیرممکن است.

تصویر زیر یک شهود ساده نسبت به این روش‌ها به‌دست می‌دهد، بدون این‌که وارد بحث ریاضی آن شود:

شهودی ساده از رمزنگاری با کلید عمومی. در این تصویر قفل‌های باز با نام بهروز «کلید عمومی» اویند و به تعداد زیاد در دسترس همه قرار دارند. کلید همه‌ی این قفل‌ها یکی‌ست و تنها یک نمونه از آن وجود دارد که پیش بهروز است، این همان «کلید خصوصی» اوست. (برای ساخت این تصویر از تصویر‌های وب‌گاه www.clker.com استفاده شده است.)
در این‌جا کلید عمومی هر شخص به شکل قفل‌های باز نشان داده شده که نام آن شخص روی آن نوشته و از این نوع قفل به وفور در دسترس همه است، البته در تصویر برای سادگی فقط قفل‌های بهروز نشان داده شده. همه‌ی قفل‌های بهروز با یک کلید باز می‌شود که تنها یک نمونه از آن وجود دارد و آن هم نزد بهروز است. این کلید، همان کلید خصوصی بهروز است. وقتی احمد (یا هر کس دیگری) بخواهد پیامی خصوصی (رمز شده) برای بهروز بفرستد، متن پیامش را داخل جعبه‌ای می‌گذارد و با استفاده از یکی از قفل‌های روی میز که نام بهروز را دارد، آن را قفل می‌کند. هیچ‌کسی جز بهروز نمی‌تواند جعبه را باز کند، بنابراین با این روش، بدون نیاز به صحبت خصوصی بین بهروز و احمد، احمد می‌تواند پیامی خصوصی برای بهروز بفرستد.



بررسی روش آر‌اس ای

یکی از روش‌های معمول برای رمزنگاری با کلید عمومی، روش یا الگوریتم آر‌اس‌ای (RSA) است. نام این الگوریتم از حرف اول سه مبدع آن گرفته شده، نگاه کنید به RSA در ویکی‌پدیا. در ادامه به‌شکل خیلی خلاصه این روش را بررسی می‌کنیم ولی اگر حوصله‌ی کمی ریاضیات را ندارید می‌توانید از خواندن این بخش صرف‌نظر کنید و مستقیما به ادامه‌ی نوشته در بخش بعدی بروید!

برای توضیح روش آر‌اس‌ای با استفاده از مثال بالا (ارسال عدد ۱۲۱ توسط احمد برای بهروز):
  1. بهروز دو عدد اول بزرگ انتخاب می‌کند به نام‌های p و q سپس حاصل‌ضرب n=pq را به‌طور عمومی به همه اعلام می‌کند.
  2. بهروز هم‌چنین حاصل‌ضرب f=(p-1)(q-1) را هم حساب می‌کند ولی آن را برای خودش نگه‌می‌دارد.
  3. مرحله‌ی بعدی، انتخاب عدد اول دیگری به اسم e است به شکلی که بزرگ‌ترین مقسوم‌علیه مشترک f و e مساوی یک باشد (لازم نیست e خیلی بزرگ باشد). بهروز این عدد را نیز به‌شکل عمومی به همه اعلام می‌کند. ولی در عین‌حال عدد دیگری به اسم ‌d انتخاب می‌کند به‌شکلی که حاصل‌ضرب de در تقسیم بر f باقیمانده‌اش برابر یک باشد. دقت کنید که اعداد p, q, f, d را تنها بهروز می‌داند ولی n, e را همه می‌دانند.
  4. حالا برای این‌که احمد عدد خودش (یا همان ۱۲۱) را به شکل رمزشده برای بهروز بفرستد آن را به‌توان e می‌رساند و باقی‌مانده‌ی این عدد بر n را به شکل عمومی اعلام می‌کند يعنی باقیمانده‌ی ۱۲۱e در تقسیم بر n .
  5. در بین کل جمع، تنها بهروز می‌تواند به‌سرعت به عدد رمز شده، یعنی ۱۲۱ پی ببرد! برای این‌کار بهروز باقی‌مانده‌ی فرستاده شده توسط احمد را به توان d می‌رساند و مجددا باقی‌مانده تقسیم این عدد بر n را حساب می‌کند. این باقیمانده برابر ۱۲۱ خواهد بود!
بررسی این‌که چرا باقیمانده‌ی نهایی برابر عدد رمزشده‌ی اولیه است خارج از حوصله‌ی این نوشته است. به علاوه نکته‌ی کلیدی این روش این است که بدون داشتن p و q محاسبه‌ی d از نظر پیچیدگی محاسبات، کاری بسیار دشوار است و اگر p و q به اندازه‌ی کافی بزرگ باشند تقریبا غیر ممکن. ولی همین محاسبه اگر p و q مشخص باشند خیلی ساده است. بنابراین کسی جز بهروز نمی‌تواند d را حساب کند و بدون آن رمزگشایی پیام ممکن نیست. نهایتا دقت کنید که n برای همه مشخص است و همه می‌دانند که این عدد حاصل‌ضرب دو عدد اول است ولی مسئله‌ی «تجزیه‌ی یک عدد به عوامل اول» در زمان کوتاه «احتمالا» با کامپیوتر‌های امروزی غیرممکن است. برای مسئله‌ی تجزیه اعداد صحیح یا Integer Factorization الگوریتم سریعی پیدا نشده است. به عبارت ساده منظور از این گزاره این است که برای تجزیه‌ی عددی با b بیت زمانی معادل ab لازم است که در آن a یک عدد بزرگ‌تر از یک است، مثلا ۲b. چون در روش آراس‌ای در استفاده‌های واقعی p, q اعداد اول با ۱۰۲۴ یا ۲۰۴۸ بیت‌اند، عملا زمان لازم برای تجزیه‌ی n=pq آن‌قدر زیاد است که بدون داشتن p یا q تجزیه‌ی n غیر ممکن می‌شود. اگر علاقمندید یک مثال عددی از این روش را ببینید به پاورقی مراجعه کنید. بیایید در یک مثال ساده روش آراس‌ای را تحقیق کنیم. همان‌طور که گفته شد p، q، و n اعداد بزرگی‌اند ولی ما برای سادگی یک مثال کوچک را بررسی می‌کنیم:
  1. p=۱۷‌، q=۳۱، n=۱۷×۳۱=۵۲۷
  2. f=(p-1)(q-1)=۱۶×۳۰=۴۸۰
  3. e=۱۳ و d=۳۷ توجه کنید که باقی‌مانده‌ی ۱۳×۳۷ بر ۴۸۰ برابر یک است. بهروز n=۵۲۷ و e=۱۳ را به شکل ‌«عمومی» به همه اعلام می‌کند ولی d=۳۷ را به‌شکل «خصوصی» نگه می‌دارد.
  4. احمد باقیمانده‌ی ۱۲۱۱۳ را بر ۵۲۷ حساب می‌کند و حاصل، یعنی ۱۰۰ را اعلام می‌کند.
  5. بهروز باقی‌مانده‌ی ۱۰۰۳۷ بر ۵۲۷ را حساب می‌کند. اگر این محاسبه را انجام دهید خواهید دید که حاصل ۱۲۱ است.


استفاده از رمزنگاری بر روی اینترنت

احتمالا تا الان متوجه شده‌اید که روش‌های رمزنگاری با کلید عمومی، چرا برای امنیت برروی اینترنت مهم است. محتوای ارتباطات شما ممکن است برای خیلی از افرادی که به رایانه‌های بین مسیر دسترسی دارند مشخص باشد. بنابراین برای تماس امن با رایانه‌های مقصد، مثلا رایانه‌ی بانک یا گوگل باید از روشی استفاده کرد که رمز کردن پیام برای هر کس ساده باشد، ولی تنها مقصد پیام بتواند آن را رمزگشایی کند، یعنی همان چیزی که روش‌های رمزنگاری با کلید عمومی برای ما فراهم می‌کنند.


توضیح ساده‌ی امنیت بر روی اینترنت، با اشاره‌ی غیر مستقیم به رمزنگاری با کلید عمومی. برای مشاهده‌ی فیلم با زیر‌نویس فارسی اینجا را ببینید و از فهرست ترجمه‌های زیر فیلم (Select Language)، فارسی (Persian) را انتخاب کنید، توجه کنید که عبارت‌های داخل پرانتز در متن اصلی نیست. ترجمه‌ی فارسی فیلم در پانوشت‌های همین نوشته هم موجود است.
نیمه‌ی دوم این فیلم، یعنی ارسال کلید با استفاده از جعبه و قفل فروشگاه، مثالی از استفاده از رمزنگاری با کلید عمومی است. در این‌جا قفل ارسالی، کلید عمومی فروشگاه است و کلید این قفل، همان کلید خصوصی فروشگاه است.
قطعه فیلم کوتاه رو‌به‌رو شهود خوبی از رمزنگاری بر روی اینترنت می‌دهد. اگر مایلید ترجمه‌ی فارسی این قطعه فیلم را به شکل زیرنویس بر روی فیلم تماشا کنید به این برگه مراجعه کنید. متن ترجمه در پانوشت هم موجود است. اگر مایلید ترجمه‌ی فارسی این قطعه فیلم را به شکل زیرنویس بر روی فیلم تماشا کنید به این برگه مراجعه کنید. متن زیر همان زیرنویس‌ها با ذکر زمان شروع هر قسمت است (توجه کنید که عبارت‌های داخل پرانتز در متن اصلی نیست و برای توضیح بیش‌تر در زمان ترجمه اضافه شده است).
  • 0:00 – 0:03
    امنیت اینترنتی چگونه کار می‌کند.
  • 0:04 – 0:12
    ما امروزه بیش‌تر و بیش‌تر خرید اینترنتی انجام می‌دهیم و این به این معنی است که باید اطلاعات حساس کارت اعتباری‌مان را بر روی وب بفرستیم.
  • 0:12 – 0:19
    ولی نمی‌توانیم این جزییات را بدون تغییر بفرستیم زیرا هیچ وقت نمی‌دانید چه کسی ممکن است به اطلاعات ارسالی شما گوش دهد.
  • 0:20 – 0:24
    بنابراین کاری که انجام می‌دهیم، ارسال اطلاعات به شکل رمز شده است.
  • 0:24 – 0:30
    می‌توانید به این شکل به آن فکر کنید: این قفل، یک قطعه برنامه‌ی کامپیوتریست که اطلاعات را رمز می‌کند
  • 0:30 – 0:35
    این کلید یک برنامه‌ی دیگر است که آن را در سوی دیگر رمزگشایی می‌کند.
  • 0:36 – 0:46
    کاری که ما باید بکنیم، اگر بخواهم اطلاعات کارت اعتباری‌‌ام را بر روی شبکه بفرستم، این است که آن را درون جعبه‌ای قرار دهم،‌ قفلش کنم، و کلید را پیش خودم نگه دارم.
  • 0:46 – 0:50
    بعد از آن می‌توانم آن را برای هرکس بخواهم بفرستم.
  • 0:50 – 0:57
    اهمیتی ندارد اگر در طول مسیر کس دیگری آن را دریافت کند، به‌خاطر این‌که رمز شده است و هیچ‌کس دیگری بدون داشتن کلید من نمی‌تواند آن را باز کند.
  • 0:58 – 1:03
    نهایتا، اطلاعات کارت اعتباری من با امنیت کامل به فروشگاه اینترنتی خواهد رسید.
  • 1:04 – 1:12
    حالا یک کار دیگر باقی می‌ماند: من باید کلیدم رابه فروشگاه اینترنتی بفرستم بدون این‌که کسی در بین راه بتواند صاحب آن شود. این‌کار به این شکل انجام می‌شود:
  • 1:12 – 1:21
    فروشگاه اینترنتی برای من یک جعبه می‌فرستد، به‌همراه یک قفل باز بدون کلید (این قفل همان «کلید عمومی» فروشگاه است).
  • 1:21 – 1:29
    حالا من کلیدم را داخل جعبه‌ی آن‌ها قرار می‌دهم و با قفل فروشگاه آن را قفل می‌کنم.
  • 1:31 – 1:35
    نه من و نه هیچ کس دیگری قادر به باز کردن آن نخواهد بود، فقط فروشگاه اینترنتی کلید قفل را دارد (این کلید، همان «کلید خصوصی» فروشگاه است).
  • 1:35 – 1:39
    حالا من می‌توانم کلیدم را با امنیت کامل برای فروشگاه بفرستم.
  • 1:39 – 1:45
    در این‌جا هم اهمیتی ندارد که چه کسی در بین راه جعبه را دریافت کند، چون قفل است و فقط فروشگاه اینترنتی می‌تواند آن را باز کند.
  • 1:45 – 1:55
    نهایتا جعبه به فروشگاه اینترنتی می‌رسد. در آن‌جا با استفاده از کلید فروشگاه، جعبه را باز می‌کنند و کلید من را از آن خارج کرده، جعبه اول را با استفاده از این کلید باز می‌کنند.
  • 1:55 – 2:00
    به این شکل، اطلاعات کارت اعتباری من، با امنیت کامل به دست فروشگاه اینترنتی می‌رسد.
توجه کنید که در هیچ‌کجای این فیلم اشاره‌ای به رمزنگاری با کلید عمومی نمی‌شود، ولی شما قاعدتا بعد از مشاهده‌ی فیلم متوجه استفاده از این روش شده‌اید. به‌طور مشخص، در نیمه‌ی دوم فیلم، آنجا که فروشگاه اینترنتی جعبه و قفل باز را برای خریدار می‌فرستد، این قفل باز در واقع کلید عمومی فروشگاه است، همان‌طور که در مثال احمد و بهروز هم اشاره شد . کلید خصوصی فروشگاه هم همان کلید این قفل باز است. تصویر و مثال شهودی قفل‌ها که در انتهای بخش توصیف رمزنگاری با کلید عمومی ذکر شد، از همین قطعه فیلم اقتباس شده است. دقت کنید که کلیدی که خریدار داخل جعبه‌ی قفل شده قرار می‌دهد، کلید عمومی یا خصوصی کسی نیست و می‌تواند هر پیام رمز شده‌ای باشد. این کلید در واقع همان رمز مشترکی است که فروشگاه و خریدار با استفاده از آن می‌توانند یک صحبت خصوصی انجام دهند و در مثال‌های واقعی طول عمر این رمز مشترک، معمولا به اندازه‌ی تنها یک خرید است و بعد از دور انداخته می‌شود.


مشکل «جاسوس بین راه» کماکان باقیست!

رمزنگاری با کلید عمومی، ابزار قدرتمند و لازمی برای ارتباط امن برروی اینترنت است اما کافی نیست! کمی به مشکل «جاسوس بین راه» که در انتهای قسمت اول (و ابتدای همین قسمت) به آن اشاره شد، فکر کنید. به‌طور مشخص به تصویر بالا برای ارتباط احمد و بهروز، یا به قطعه فیلمی که مشاهده کردید فکر کنید و ببینید آیا راهی برای «جاسوس بین راه» وجود دارد تا به محتوای ارتباطات رمز شده دسترسی پیدا کند؟ پاسخ مثبت است و این موضوع بحث قسمت سوم این مجموعه خواهد بود. به‌عنوان راهنمایی و مقدمه‌ی قسمت بعد، به این فکر کنید که اگر جاسوس بین راه قفلی «جعلی» به اسم فروشگاه اینترنتی (در فیلم بالا) برای خریدار بفرستد چه اتفاقی می‌افتد؟ یا مثلا اگر در مثال بهروز و احمد، یکی از افراد دور میز، قفل خودش را روی میز بگذارد ولی نام بهروز را روی آن بنویسد نتیجه چیست؟


پانوشت‌ها