فصل رمزنگاری، بخش سوم
سری مجموعه ی "یک دقیقه در دنیای امنیت"
برگرفته از ماژول بیستم کتاب CEH - Ethical Hacking and Countermeasures v11 (CEH11)
مترجم : آقای علی توکلی
رمزنگاری پروسهی تبدیل متن خام خوانا به یک متن رمزی ناخوانا با استفاده از الگوریتمهای پیچیده میباشد که اطلاعات را به بلوکها یا streamهایی از تعدادی کاراکتر الفبایی تصادفی تبدیل میکند. در ادامه به بررسی انواع الگوریتمها و روشهای رمزنگاری مانند: DES، AES، RC4، RC5، RC6، DSA، RSA، MD5، SHA و ... میپردازیم.
سایفر(Cypher) یک الگوریتم(مجموعهای از مراحل از قبل تعریفشده) برای اجرای رمزگذاری و رمزگشایی است.
سایفر کردن در واقع پروسهی تبدیل متن خام به یک سایفر یا کد می باشد. عمل بر عکس آن یعنی تبدیل یه متن کدگذاری شده به متن خام، رمزگشایی(Decypherment) نام دارد. پیامی که با استفاده از سایفر رمزگذاری شده است ناخوانا ارائه داده میشود مگر اینکه گیرنده کلید پنهان و سری آن را که برای رمزگشایی آن لازم است را بداند روشهای ارتباطاتی(برای مثال اینترنت، موبایل و ...) بر سایفرها تکیه میکنند تا هم حریم خصوصی رعایت شود و هم امنیت حفظ گردد.
الگوریتم های سایفر ممکن است متن باز باشند(پروسهی الگوریتمی در دسترس عموم است در حالی که کلید رمز خصوصی است و کاربر آن را انتخاب میکند) یا اینکه متن باز نباشند(پروسهی الگوریتمی برای کاربردهای خاصی طراحی شده است برای مثال مقاصد نظامی، خود الگوریتم در دسترس عموم نیست). پس در نتیجه سایفرها میتوانند رایگان یا به صورت لایسنسدار باشند.
سایفر ها دارای دو نوع اصلی دارند: سایفرهای کلاسیک و سایفرهای مدرن.
سایفر های کلاسیک پایهای ترین نوع سایفر هستند که روی حروف الفبا(A-Z) تاثیر میگذارند. این سایفر ها میتوانند به صورت دستی.
انواع سایفر های کلاسیک:
سایفر های جایگزینی(Substitution Cyphers) : کاربر واحدهای متن خام را با متن رمز شده طی یک روش منظم جایگزین میکند. واحد ها میتواند یک یا چند حرف یا ترکیبی از آنها باشند و ... . دریافت کننده از عکس روش جایگزینی استفاده می کند و متن سایفر را به متن خوانا تبدیل میکنند. مثالهای این نوع سایفر شامل: Beal cypher, autokey cypher, Gronsfeld cypher, and Hill cypher. برای مثال "HELLO" می تواند به صورت "URYYB" نوشته شود (H=U, E=R ,…).
سایفر های جابجایی(Transposition Cypher) : در اینجا ، حروف متن خوانا طی یک روند منظم با جابجایی به متن سایفر تبدیل می شود . برای مثال "CRYPTOGRAPHY" به متن سایفر "AOYCRGPTYRHP" تبدیل می شود. مثال های این سایفر شامل rail fence, route cypher, and Myszkowski transposition است.
سایفر های مدرن برای مقابله با طیف وسیعی از حملات طراحی شدهاند. آن ها رازداری ، صحت و احراز هویت را برای فرستنده فراهم می کنند. کاربر می تواند یک سایفر مدرن را با استفاده از یک تابع یک طرفه محاسبه کند که توانایی فاکتورگیری اعداد اول بزرگ را نیز دارد.
انواع سایفر مدرن:
الف) بر اساس نوع کلیدی که استفاده میشود به دو گروه تقسیم میشوند:
1. الگوریتمهای متقارن(رمزنگاری با کلید اختصاصی) : از یک کلید برای رمزنگاری و رمزگشایی استفاده میکند. 2. الگوریتمهای نامتقارن(رمزنگاری با کلید عمومی) : از دو کلید متفاوت برای رمزنگاری و رمزگشایی استفاده میکند.
ب) بر اساس نوع دادهی ورودی :
بلاک سایفر(Block cypher) : الگوریتم های قطعی ای هستند که روی یک بلوک با اندازه ی مشخص (گروهی از بیت ها) به همراه یک تبدیل با استفاده از یک کلید متقارن صورت میگیرند. اغلب سایفر های مدرن از این دسته هستند. از آنها به طور گسترده ای برای رمزنگاری دیتاهای حجیم استفاده میشود. برای مثال : DES , AES , IDEA … . اگر سایز بلوک کمتر از میزانی بود که سایفر نیاز دارد لایه گذاری ای صورت می گیرد تا به میزان درست برسد.
استریم سایفر(Stream Cypher) : سایفر های با کلید متقارن رقم های خوانایی هستند که با یک جریان کلید ترکیب شده اند . در اینجا کاربر هر کلید را هر بار به هر بیت اعمال می کند. مثال : RC4 , SEAL , … .
ادامه دارد ... .
انجمن رمز و امنیت دانشگاه خواجه نصیرالدین طوسی