مقدمه
آشنایی با رمزنگاری :
هنگامی که کامپیوتر به شبکه ای وصل است و داده ها را منتقل می کند ، بهترین زمینه برای ایجاد اختلال در اطلاعات فراهم می شود ، بدین ترتیب که هکرها و افراد سودجو با ایجاد تغییر در داده ها به مقاصد خود می رسند.
گسترش و رشد بی سابقه اینترنت باعث ایجاد تغییرات گسترده در نحوه زندگی و فعالیت شغلی افراد ، سازمانها و موسسات شده است. امنیت اطلاعات یکی از مسائل مشترک شخصیت های حقوقی و حقیقی است . اطمینان از عدم دستیابی افراد غیر مجاز به اطلاعات حساس از مهمترین چالش های امنیتی در رابطه با توزیع اطلاعات در اینترنت است . اطلاعات حساس که ما تمایلی به مشاهده آنان توسط دیگران نداریم، موارد متعددی را شامل می شود. برخی از اینگونه اطلاعات بشرح زیر می باشند :
اطلاعات کارت اعتباری
شماره های عضویت در انجمن ها
اطلاعات خصوصی
جزئیات اطلاعات شخصی
اطلاعات حساس در یک سازمان
اطلاعات مربوط به حساب های بانکی
هنگامی که با امنیت داده سر و کار داریم ، نیاز به اثبات هویت فرستنده و گیرنده ی پیغام داریم و در ضمن باید از عدم تغییر محتوای پیغام مطمئن شویم . این سه موضوع یعنی محرمانگی و تصدیق هویت و جامعیت در قلب ارتباطات داده ی ای مدرن قرار دارند و می توانند از رمزنگاری استفاده کنند . در اصل ، هدف از رمزنگاری نیز برقراری سه اصل محرمانگی ، هویت و جامعیت می باشد .
اغلب این مساله باید تضمین شود که یک پیغام فقط می تواند توسط کسانی خوانده شود که پیغام برای آنها ارسال شده است و دیگران این اجازه را ندارند . روشی که تامین کننده ی این مساله باشد رمزنگاری نام دارد .
در فرآیند رمزنگاری برای محافظت از داده ی اصلی ، آنرا با استفاده از یک کلید ( رشته ای محدود از بیت ها ) به صورت رمز درمی آوریم تا کسی که داده ی حاصل شده را می خواند قادر به درک آن نباشد .
داده ی رمز شده به صورت یک سری بی معنی از بیت ها ، بدون داشتن رابطه ای مشخص با داده ی اصلی به نظر می رسد .
برای حصول متن اولیه ، دریافت کننده آنرا رمزگشایی می کند .
رمزنگاری یعنی تبدیل اطلاعات به یک شکل غیر قابل فهم و انتقال آن ، سپس برگرداندن اطلاعات رمزشده به حالت اولیه و قابل خواندن. رمزنگاری با استفاده از الگوریتم های متعددی پیاده سازی می شود که برخی از الگوریتم ها قدمتی چند صد ساله دارند . امروزه از رمزنگاری برای ایجاد امنیت در ارتباطات نظامی و دولتی و محرمانه ماندن پیام ها در ارسال و دریافت اطلاعات ، استفاده می شود.
فصل 2
مبانی رمزنگاری
1-2- اصطلاحات رمزنگاری :
برای آشنایی با مقوله ی رمزنگاری نیاز است که برخی اصطلاحات رایج را تعریف کرد:
کلید امنیت : کلید امنیت راه های امنیتی را برای حفظ امنیت ارائه می کند .
رمز گذاری : عمل پنهان کردن یک متن با استفاده از کلید امنیتی .
رمز گشایی : آشکار سازی متن رمز شده توسط کلید امنیتی .
رمزنگاری : انجام عملیات رمز گذاری و رمزگشایی .
متن ساده : متنی که هنوز رمزگذاری نشده است .
2-2- اجزاء رمزنگاری :
رمز نگاری از دو جزء اصلی تشکیل شده است :
1-الگوریتم
2-کلید
الگوریتم یک مبدل یا فرمول ریاضی است و کلید رشته ای از ارقام دودویی (صفر و یک) است که به خودی خود بی معنی است .
رمزنگاری مدرن فرض می کند که الگوریتم رمزنگاری شناخته شده است و یا می تواند کشف شود پس کلید است که باید مخفی نگاه داشته شود .
3-2- کلید ها در رمزنگاری:
کلید ها در رمزنگاری به دو دسته ی عمده تقسیم می شوند:
1-کلید عمومی
2-کلید خصوصی
تعریف کلید عمومی:
- رمزنگاری با استفاده از کلید عمومی روشی است برای ایجاد یک ارتباط پنهان میان دو شخص بدون اینکه نیازی به تعویض کلیدهای خصوصی باشد. همچنین با استفاده از این روش میتوان امضاهای دیجیتال را ایجاد کرد.
- اعداد یا کلماتی که با یک شخص یا سازمان در ارتباط می باشند .
تعریف کلید خصوصی:
-کلید خصوصی برای بازگشایی اطلاعاتی که توسط کلید عمومی رمز گذاری شده ، استفاده می شود .
4-2- روش های رمزنگاری :
روش های رمزنگاری نیز به دو دسته ی کلی تقسیم می شوند که عبارتند از :
1-روش متقارن
2-روش نامتقارن
در روش متقارن ، هر دو طرفی که قصد رد و بدل کردن اطلاعات را دارند از یک کلید مشترک برای رمزگذاری و رمزگشایی استفاده می کنند .
در این حالت ، رمزگذاری و رمزگشایی اطلاعات ، دو فرآیند معکوس یکدیگرند
مشکل اصلی این روش ، آن است که کلید مربوط به رمزنگاری باید بین دو طرف به اشتراک گذاشته شود و این سوال پیش می آید که دو طرف چگونه می توانند کلید را به طور امن بین یکدیگر رد و بدل کنند ؟
انتقال از طریق اینترانت ( شبکه ی داخلی ) یا به صورت فیزیکی تا حدی امن می باشد اما انتقال از طریق اینترنت به هیچ وجه درست نیست .
در این قبیل سیستم ها ، کلید های رمزگذاری و رمز گشایی یکسان هستند یا رابطه ی خیلی ساده ای با هم دارند .
این سیستم ها را سیستم های متقارن یا تک کلیدی هم می گویند .
روش نامتقارن ، برای حل مشکل انتقال کلید در روش متقارن ایجاد شد .
در این روش به جای کلید مشترک از یک جفت کلید ( عمومی / خصوصی ) استفاده می شود.
با توجه یه اینکه توسط کلید عمومی فقط می توان یک متن را رمزگذاری کرد ، فردی که قصد انتقال اطلاعات را به صورت رمزگذاری شده دارد ، اطلاعات را با کلید عمومی رمزگذاری کرده و برای فردی که مالک جفت کلید عمومی / خصوصی است میفرستد .
مالک کلید خصوصی قادر است تا متن رمز شده را با استفاده از کلید خصوصی خود ، رمزگشایی کند .
در این روش کلید های رمزگذاری و رمزگشایی متفاوت هستند و یا اینکه چنان رابطه ی پیچیده ای باهم دارند که کشف کلید رمزگشایی ، با در اختیار داشتن کلید رمزگذاری ، عملا ناممکن است .
مقایسه ی روش های رمزنگاری کلید متقارن و کلید نامتقارن:
بحث های زیادی شده است که کدام یک از این دو روش مناسب تر هستند اما جواب مشخصی ندارد !
نتایجی که از تحقیق بر روی این دو الگوریتم به دست آمده این است که :
طول پیغام هایی که با الگوریتم های کلید متقارن می تواند رمزنگاری شود از الگوریتم های کلید نامتقارن کمتر است .
الگوریتم های کلید متقارن الگوریتم های بهینه تری هستند .
وقتی بحث امنیت پیش می آید الگوریتم های کلید نامتقارن کارایی بیشتری دارند.
الگوریتم های کلید متقارن دارای سرعت بالاتر و الگوریتم های کلید نامتقارن دارای امنیت بالاتری هستند.
در پروتکل هایی که در اینترنت استفاده میشود ، استفاده از الگوریتم های کلید نامتقارن مناسب تر است.
5-2- تجزیه و تحلیل رمز:
تجزیه و تحلیل رمز یا شکستن رمز، به کلیه اقدامات مبتنی بر اصول ریاضی و علمی اطلاق میگردد که هدف آن از بین بردن امنیت رمزنگاری و در نهایت باز کردن رمز و دستیابی به اطلاعات اصلی باشد. در تجزیه و تحلیل رمز، سعی میشود تا با بررسی جزئیات مربوط به الگوریتم رمز و یا پروتکل رمزنگاری مورد استفاده و به کار گرفتن هرگونه اطلاعات جانبی موجود، ضعفهای امنیتی احتمالی موجود در سیستم رمزنگاری یافته شود و از این طریق به نحوی کلید رمز به دست آمده و یا محتوای اطلاعات رمز شده استخراج گردد.