منبع اصلی نوشتار زیر در این لینک قرار دارد

رمزنگاری ۱

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

خوب فرض کنیم علی تصمیم داره به مهناز یک ایمیل یا نامه بفرسته! خوب کامپیوتر علی که همون S هست پیام رو به F که در اینجا سرور اینترنت هست میفرسته و F هم پیام رو به کامپیوتر E و A و بعد C و D و G و H میفرسته و در انتها پیام به مهناز میرسه! نکته مهم اینجاست که اگه علی همین پیام رو مجددا بفرسته ممکنه پیام مسیر کاملا متفاوتی رو طی کنه و مثلا اینبار از شبکه B هم عبور کنه! از طرفی در حالت معمولی پیامها بدون رمزنگاری در شبکه منتقل میشن و این یعنی تمام سرورها و نودهای داخل اینترنت یعنی A C D G و … خیلی راحت میتونن پیامها رد و بدل شده بین علی و مهناز رو بخونن و حتی متن پیام اونها رو تغییر بدن!

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

چند تا نکته اینجا وجود داره

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

و اما ببینیم مهناز و علی چجوری با رمزنگاری میتونن پیامهای خودشون رو به رمز در بیارن! علی و مهناز هر کدوم کلید خصوصی رو پیش خودشون نگه میدارند و اون رو به هیچ کس نمیدن. اما هر کدوم کلید عمومی خودشون رو به طرف مقابل میده! اینطوری علی کلید عمومی مهناز رو داره و مهناز کلید عمومی علی رو! حالا تصور کنیم علی تصمیم داره به مهناز یک پیام بده کافیه پیام رو با کلید «عمومی مهناز» به رمز در بیاره و اون رو برای مهناز بفرسته اون طرف هم مهناز بعد از دریافت پیام رمز شده، پیام رو با «کلید خصوصی» خودش از رمز خارج میکنه! به این شکل فقط مهناز میتونه پیام رو ببینه و سیستم‌ها و نودهایی که بین راه پیام رو میبینند یعنی (E A C D و …) قادر به خوندن پیام نیستند و تنها چیزی رو که میتونن ببین پیام به رمز شده است که چیزی جز یک سری کد ناخوانا نیست.

خوب تا اینجا همه چیز خوب پیش میره و دیگران قادر نیستن پیام ما رو بخونن اما هنوز چند اشکال وجود داره! فرض کنیم یکی از سیستم‌های بین راه مثلا A پیام ارسالی از علی رو دور بریزه و به جای اون یک پیام جعلی رو با کلید عمومی مهناز به رمز کنه و برای مهناز بفرسته! در این صورت مهناز میتونه پیام دریافت شده رو با کلید خصوصی خودش باز کنه و بخونه! اما این پیام پیام علی نیست و یک پیام جعلی است!

ادامه دارد :)



برچسب ها : , , , , , , , , , , ,