رمزنگاری چیست؟
یکی از پایه های اصلی امنیت , چه در دنیای رایانه و چه در دنیای واقعی بحث مبهم سازی اطلاعات رد و بدل شده بین دو گره و یا نگه داری اطلاعات به صورت امن در یک گره هستش . در مورد قسمت اول میشه به رد و بدل کردن پیام ها حالا چه به صورت مدرن با نرم افزارهای ارتباطی یا به صورت کلاسیک تر تلگراف و نامه رسانی اشاره کرد همچنین در قسمت دوم هم میشه از نگه داری اطلاعات در هارد دیسک ها و سیستم های رایانه ای امروزی یاد کرد .
این دغدغه همیشه در ذهن مردم وجود داشته که با چه روشی میتوان امنیت حداکثری در این پروتکل های ارتباطی بوجود آورد , نتیجه این دغدغه و تفکر حاصل از این نیاز به سمت مبهم سازی و رمزنگاری جهت داده شد .
به طور کلی میتوان رمزنگاری رو به دو دسته اصلی کلاسیک و مدرن دسته بندی کرد .
دوران کلاسیک از قرون قبل از میلاد شروع شده و با توجه به نیاز انسان های مختلف و شرایط بوجود آمده یک سری ایده در ذهن در افراد پرورش داده که نتجه های خوبی هم به دنبال داشته است . به طور کلی اگر همین الان هم شما یک سری رشته قانونمند شامل علامت هایی که خودتون فقط درکش میکنید بنویسید و بتونید در یک فرآیند دوطرفه ازش برای رمزنگاری و رمزشکنی استفاده کنید طبیعتا یه روش رمزنگاری برای خودتون بوجود آوردید جدای اینکه چقدر قوی هست و امنیت رو چقدر تامین میکنه . این کاری بود که در زمان های قدیم انجام شد . مشاهده شد که روش های مختلفی بوجود اومدند و در جنگ ها و … برای ارتباطات استفاده شدند . خب طبیعتا یک سری از این روش ها مخصوص شخص خاصی بوده یعنی فرد میومده یک کتابی رو به عنوان مثال مینوشته و برای اینکه کسی از محتواش اطلاع پیدا نکنه از رمزنگاری برای نگارشش استفاده میکرده اما بعضی از این روش ها هم فراگیر تر شدن به طوری که در یک کشور یا در یک مذهب خاص یا حتی در اجتماع کوچک تر مانند یک گروه استفاده میشدند . روش هایی مانند Caesar(سزار) – Atbash – Biffid – Affine – Baconian – Ubchi و … از این دسته هستند که هنوز هم در بعضی موارد استفاده میشوند,به عنوان مثال در PHP تابعی با عنوان str_rot13 موجود هستش هر حرف در یک رشته از حروف رو ۱۳ بار بالا میبره یعنی A->N و … خب این تابع دقیقا همون سزار هست با این فرض از عدد ۱۳ به عنوان ثابت داره استفاده میکنه … البته در آینده توضیحات کاملی در این موارد ارائه میشه . همچنین مشتقاتی مانند Vigenere هم در مرور زمان بوجود آمدند که امنیت بسیار بالاتری نسبت به روش های قبل از خودشون داشتند .
در هر صورت از دوره ای مانند کلاسیک که عبور کنیم به دوره ای میرسیم که ریاضی نقش اصلی رو رمزنگاری به عهده میگیره . یعنی چالش های موجود در الگوریتم های مختلف دلیل و بنیان عملی بودنشون رو از ریاضی به دست میارن . یه سری الگوریتم های خیلی معروف مانند AES , RSA , DES , TDES و …. هستن که در آینده حتما در مورد اون ها بحث میکنیم و پایه ریاضیشون رو بررسی میکنیم . البته این الگوریتم ها با توجه به پایه ریاضی که در پشت سر ازش استفاده میکنن به دو دسته کلی متقارن و نا متقارن تقسیم میشن . همچنین زیر دسته هایی هم دارند که تفاوت جزئی در پیاده سازی رو بوجود میارن .
به جز این مطالبی که بالاتر گفته شد حتما به بررسی الگوریتم های چکیده ساز و تفاوت اون ها با الگوریتم های کدگزاری و رمزگزاری یعنی تک کاناله بودن میپردازیم .
در ادامه هم با ارائه یک سری سوال و حل اون ها به بررسی حمله های موجود روی یک سری از الگوریتم های پرطرفدار موجود مانند RSA میپردازیم .
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.