Generic selectors
Exact matches only
Search in title
Search in content
Menu


رمزنگاری چیست؟ تاریخچه و انواع رمزنگاری | الگوریتمهای رمزنگاری متقارن و نامتقارن


اهداف و انتظارات آموزشی متمم در این درس
کد درس: ۶۲۰۶۵
پیش نیاز مطالعه درس رمزنگاری و انواع آن از دوستان عزیز متممی انتظار می‌رود پس از مطالعه این درس
  • بتوانند رمزنگاری را تعریف کنند و توضیح دهند که چرا به رمزنگاری نیاز داریم؟
  • به خاطر داشته باشند که رمزنگاری پدیده‌ی تازه‌ای نیست و تاریخچه رمزنگاری به هزاره‌های گذشته باز می‌گردد.
  • بتوانند تفاوت الگوریتمهای رمزنگاری متقارن و الگوریتمهای رمزنگاری نامتقارن را شرح دهند.
  • بتوانند توضیح دهند که کلید عمومی (Public Key) با کلید اختصاصی (Private Key) چه تفاوتی دارد.

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

فشار ذهنی هنگام مطالعه
نیاز به مشارکت شما
کسب و کار
زندگی
تعریف رمزنگاری چیست و انواع رمزنگاری کدامند

آیا شما هم در دوران کودکی خود، بخشی از خاطرات‌تان را با زبان رمزی که فقط خودتان می‌دانسته‌اید نوشته‌اید؟

آیا بین دوستان و هم‌کلاسی‌ها، نامه‌ها و نوشته‌هایی را به زبان رمز رد و بدل می‌کردید؟

البته به خوبی می‌دانیم که لذت این بازی‌ها معمولاً به رمزنگاری و رمزگشایی پیام‌هاست؛ وگرنه احتمالاً محتوای پیام‌های ما ارزش چندانی نداشته است.

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

شاید هم روی رقم چک‌هایتان را با نوار چسب شفاف پوشانده باشید.

همه‌ی این کارها، به نوعی در حوزه امنیت ارتباطات (Communication Security) و امنیت اطلاعات (Information Security) قرار می‌گیرند.

البته چسباندن نوار چسب روی رقم چک، باعث نمی‌شود که دیگران رقم آن را نبینند. بنابراین شما امنیت دسترسی (Access Security) را تأمین نکرده‌اید؛ بلکه صرفاً امنیت تغییر دادن (Modification Security) را با این نوار چسب ایجاد کرده‌اید.

چون مامور بانک یا هر فرد دیگری که چک را دریافت می‌کند، می‌تواند بفهمد که رقم آن تغییر داده شده یا نه.

بخش مهمی از دانش رمزنگاری به امنیت تبادل اطلاعات (Information Exchange Security) مربوط می‌شود.

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

تاریخچه رمزنگاری: آیا رمزنگاری یک دغدغه جدید است؟

به سادگی می‌توانید حدس بزنید که بحث رمزنگاری و حفاظت اطلاعات یک چالش جدید نیست.

پادشاهان کهن نیز همواره با این مسئله مواجه بوده‌اند که چگونه می‌توانند امنیت پیام‌های خود را حفظ کنند.

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

حفظ امنیت اطلاعات در آن دوران به شکل‌های متفاوتی انجام می‌شده است.

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

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

البته در کشور ما هم کدگذاری و استفاده از نمادها رواج داشته است. اما کاربرد آن الزاماً حفاظت اطلاعات نبوده است. می‌دانیم که جابر ابن حیان سبک نگارش فرمول‌های شیمیایی با نمادها را آغاز کرده و اساساً به فرمول‌نویسی و کدگذاری علاقه‌ی خاصی داشته است.

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

چرا امروز بحث الگوریتم های رمزنگاری تا این حد فراگیر شده است؟

توسعه فناوری اطلاعات و گسترش اینترنت و شبکه های ارتباطی باعث شد که ارسال و دریافت پیام دیگر به حاکمان و دولت‌ها و کسب و کارها محدود نباشد.

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

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

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

چگونه امنیت پیام را مستقل از پیام رسان تأمین کنیم

اگر قبلاً با بحث رمزنگاری آشنا نباشید، احتمالاً درک پیچیدگی‌های آن برایتان چندان ساده نیست.

اجازه بدهید با یک مثال فیزیکی، ببینیم که چه نوع چالش‌هایی در این کار وجود دارد.

فرض کنید چمدانی در اختیار شماست و می‌خواهید در آن بسته‌ای بگذارید و برای متمم بفرستید. اما چون فردی که چمدان را می‌آورد نمی‌شناسید، برایتان مهم است که اطمینان حاصل کنید او نمی‌تواند داخل چمدان را ببیند.

اگر بین شما و متمم یک کانال ارتباطی دیگر (مثلاً تلفن) وجود داشته باشد، کار چندان دشوار نیست. چمدان را با قفل رمزی می‌بندید و رمز آن را به کمک تلفن به متمم خبر می‌دهید.

اما اگر هیچ روش ارتباطی دیگری بین ما – جز همین فردِ جابجاکننده‌ی چمدان – وجود نداشته باشد چه کار کنیم؟

روشی که در اینجا می‌گوییم ساده‌ترین راه‌حل نیست. اما می‌تواند ما را کمی به فضای طراحی الگوریتم‌های رمزگذاری نزدیک کند.

شما می‌توانید بسته را داخل چمدان بگذارید و آن را با قفلی که خودتان کلیدش را دارید قفل کنید.

حالا بسته را برای متمم می‌فرستید و ما علاوه بر قفل شما، قفل دیگری هم روی آن می‌گذاریم که کلیدش را خودمان داریم.

کلید ما و شما پیش خودمان است و آن را به کسی که چمدان جابجا می‌کند نمی‌دهیم.

او چمدان را دوباره برای شما می‌آورد و شما قفل خود را از روی آن باز می‌کنید و چمدان را دوباره برای ما بازمی‌گرداند.

حالا ما هم می‌توانیم قفل خودمان را باز کنیم و بسته را برداریم.

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

منظور از رمزگذاری و رمزگشایی در فضای دیجیتال چیست؟

طبیعتاً ما در اینجا نه قفل داریم و نه چمدان و نه کلید.

بنابراین باید به خاطر داشته باشیم که رمزگذاری و رمزگشایی دو الگوریتم هستند.

منظور از رمزگذاری (Encryption) در فضای دیجیتال الگوریتمی است که متن اصلی و شفاف شما را به یک متن غیرقابل خواندن (توسط حامل پیام) تبدیل می‌کند.

به متن یا پیام شفاف اصلی Clear-text و به متنی که کدگذاری شده و قابل خواندن نیست Cipher-text می‌گویند.

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

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

واضح است که اگر یک الگوریتم برای رمزگذاری (Encryption) یا قفل کردن چمدان اطلاعات تعریف می‌کنید، باید الگوریتم دیگری هم برای رمزگشایی (Decryption) را باز کردن قفل چمدان تعریف کنید.

در ادامه‌ی این درس می‌بینیم که الگوریتم‌های رمزگذاری و رمزگشایی به دو دسته‌ی متقارن (Symmetric) و نامتقارن (Asymmetric) تقسیم می‌شوند.

منظور از رمزگذاری متقارن چیست؟

محدودیت در دسترسی کامل به درس‌های سواد دیجیتال

دوست عزیز. دسترسی کامل مجموعه درس‌های سواد دیجیتال برای اعضای ویژه‌ی متمم در نظر گرفته شده است.

  تعداد درس‌ها: ۷۷ عدد

  دانشجویان این درس: ۶۹۸۸ نفر

  تمرین‌های ثبت‌شده: ۳۹۰۹ مورد

 البته با عضویت ویژه، به مجموعه درس‌های بسیار بیشتری به شرح زیر دسترسی پیدا می‌کنید:

 فهرست درس‌های متمم

البته اگر به تسلط بر تکنولوژی و سواد دیجیتال علاقه دارید، احتمالاً مطالعه‌ی مباحث زیر برایتان در اولویت خواهد بود:

  آموزش CRMاتوماسیون بازاریابی

  استراتژی محتوا | آموزش بازاریابی محتوا | دیجیتال مارکتینگ

  آموزش سئو | ایمیل مارکتینگ | شبکه های اجتماعی

  شبکه های اجتماعی | تولید محتوا

  دوره MBA (پیگیری منظم مجموعه درس‌ها)

اگر با فضای متمم آشنا نیستید و دوست دارید درباره‌ی متمم بیشتر بدانید، می‌توانید نظرات دوستان متممی را درباره‌ی متمم بخوانید و ببینید متمم برایتان مناسب است یا نه. این افراد کسانی هستند که برای مدت طولانی با متمم همراه بوده و آن را به خوبی می‌شناسند:

چند فایل PDF حاوی نکات و توضیحات آموزشی در زمینه رمزنگاری

یک فایل PDF هشتاد صفحه‌ای خوب و ساده که توسط Network Associates منتشر شده و در چند صفحه‌ی پایانی آن، یک واژه نامه اصطلاحات تخصصی رمزنگاری هم وجود دارد که هر اصطلاح را در حد چند جمله توضیح داده است:

Introduction to Cryptography (Published by Network Associates)

موسسه PGP هم یک کتابچه‌ی ۸۵ صفحه‌ای درباره رمزنگاری منتشر کرده که مطالعه آن می‌تواند مفید باشد. خصوصاً در فصل سوم (از صفحه ۱۵) به صورت مختصر و مفید به مرور تاریخچه رمزنگاری پرداخته شده است.

An introduction to cryptography (Published by PGP)

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

Cryptography: Past, Present, Future (Nicholas McDonald)

ترتیبی که متمم برای خواندن مطالب سری سواد دیجیتال به شما پیشنهاد می‌کند:

سری مطالب حوزه سواد دیجیتال