سیستمهای رمزنگاری به دو دسته عمده تقسیم بندی میشوند که عبارتند از:
– سیستمهای رمزنگاری با کلید امن یا کلید متقارن.
– سیستمهای رمزنگاری با کلید عمومی یا کلید نامتقارن.
در سیستمهای رمزنگاری با کلید امن دو طرف ارتباط روی پارامتر مخفی یا کلید توافق میکنند که این کلید مخفی باید از افراد غیر مجاز، پنهان باشد. متن رمز شده با اعمال تابع رمزگذاری E و کلید K بر روی متن پیام حاصل میشود:
C=EK(M)
در سمت گیرنده با اعمال تابع رمزگشایی D و کلید K بر روی متن رمز شده، متن اصلی حاصل میشود:
M=DK(C)
حمله کنندهای که به C دست مییابد، از آنجا که کلید K را در اختیار ندارد نمیتواند به متن اصلی دست یابد. برای توافق این کلید باید یک کانال امن بین دو طرف برقرار گردد. مشکل اساسی این روش، نحوه تولید و مدیریت کلید، در شبکههای با تعداد کاربر زیاد است زیرا باید بین هر دو نفر دارای ارتباط، یک کلید توافق گردد. سرعت زیاد رمزنگارهای کلید امن باعث رواج آنها به منظور رمز نمودن پیام شده است.
سیستمهای کلید عمومی در اواخر دهه 1970 توسط دیفی و هلمن ابداع شدند. در این نوع سیستمها به منظور توزیع کلید، نیازی به ایجاد کانال امن بین کاربران نمیباشد. ازطرف دیگر نیازی به توافق کلید بین هر دو نفر نیست، بلکه هر شخص دارای یک کلید خصوصی است که باید از دیگر کاربران شبکه پنهان باشد. از روی این کلید، کلید عمومی حاصل شده و در اختیار همه کاربران شبکه قرار میگیرد (دست یافتن به کلید خصوصی از طریق کلید عمومی امکانپذیر نیست). پیامی که توسط کلید عمومی (کلید خصوصی) رمزگذاری شود، تنها توسط کلید خصوصی (کلید عمومی) مربوط به آن قابل گشودن است. به دلیل آنکه در این نوع سیستمها نیازی به توافق کلید بین هر دو نفر در شبکه نیست، مدیریت کلید کار سادتری میباشد. اما به دلیل مشکلات پیادهسازی سختافزاری و همینطور سرعت کم پیادهسازی نرمافزاری، این نوع سیستمها عموماً نه به منظور رمز نمودن پیام بلکه برای اهداف دیگری مانند توافق کلید در سیستمهای کلید امن، امضاء دیجیتال دادهها و احراز اصالت موجودیتها به کار میروند.
تحلیل سیستمهای رمز:
هر روشی که تحلیلگر رمز یا دشمن به کار برد و به طریقی به اطلاعاتی از کلید محرمانه یا متن پیام پی ببرد، متناظر با شکستن سیستم میباشد و روشهای به کار رفته توسط او حمله نامیده میشوند. اغلب فرض میشود که تحلیلگر از همه اجزاء الگوریتم رمزکننده به جز کلید آگاه است. حمله به رمزکننده نامعلوم بسیار پیچیده است و بدین جهت رمزکنندههای نظامی معمولاً مخفی میباشند. ولی تاریخ نشان داده است که پنهان نگاه داشتن الگوریتم رمزکننده نیز در عمل بسیار مشکل است. حملات به سیستمهای رمز، بر حسب میزان اطلاعات در دسترس تحلیلگر به چهار دسته زیر تقسیم میگردند:
1- فقط متن رمز شده. که بدترین حالت برای تحلیلگر میباشد، زیرا او تنها با در دست داشتن متن رمز شده باید کلید یا متن پیام را بازیابی نماید. در این حالت متن پیام باید دارای افزونگی باشد تا اجرای حمله ممکن گردد.
2- متن پیام معلوم. که تحلیلگر متن رمز شده و تمام یا قسمتی از متن پیام مربوط به آن را در اختیار دارد.
3- متن پیام انتخاب شده. که متن رمز شده مربوط به هر پیامی که تحلیلگر انتخاب کرده باشد در اختیار او قرار میگیرد. در این حالت فرض بر آنست که تحلیلگر، به رمزکننده دسترسی دارد.
4- متن رمز انتخاب شده. که حملهگر به پیام مربوط به هر متن رمزی که توسط او انتخاب شده است دسترسی داشته و هدف بازیابی کلید میباشد.
لازم به ذکر است در حملات جدید از ترکیب دسته های فوق نیز استفاده میشود.
رمزهای کلاسیک:
امروزه دادهای که قرار است رمز شود مستقل از اینکه چه نوع دادهای است به صورت دنبالهای از بیتها در نظر گرفته میشود. اما رمزهای کلاسیک مبتنی بر کاراکترها بودند و از جایگزینی یا جابجایی کاراکترها یا هر دو روش استفاده مینمودند.
رمزهای جایگزینی: در رمزهای جایگزینی هر کاراکتر متن اصلی با کاراکتری دیگر جایگزین شده و متن رمز شده تشکیل میشود. گیرنده با انجام عمل معکوس به متن اصلی دست مییابد. شیوه جایگزینی هر کاراکتر با کاراکتر دیگر باید تنها برای فرستنده و گیرنده آشکار باشد. رمز سزار نمونهای از رمز جایگزینی است که در آن هر کاراکتر با 3 کاراکتر بعد از خود جایگزین میگردد. به طور نمونه A با D، B با E، …و Z با C جایگزین میگردد. واضح است پارامتر مخفی در رمز سزار عدد 3 بوده است.
رمزهای جابجایی: در رمزهای جابجایی کارکترهای متن اصلی تغییر نمییابند و تنها با همدیگر جابجا میگردند. به طور مثال میتوان کاراکترهای متن اصلی را به گروه های 10 کاراکتری تقسیم کرد و آنها را زیر هم نوشت. سپس کلمات را به صورت عمودی خوانده و کاراکترهای حاصل از خواندن را پشت سر هم نوشت و متن رمز شده را تشکیل داد. به طور مثال نامه hello. it is a secret mail for you. ابتدا به گروه های 10 کاراکتری زیر تقسیم میشود:
hello.it i
s a secret
mail for
you
سپس کلمات 10 کاراکتری نوشته شده به صورت عمودی خوانده میشوند و متن رمز شده زیر را تشکیل میدهند:
Hs ye molaaul iosl.e icftro eri r
پارامتر مخفی در رمز مذکور عدد 10 میباشد.