مقدمه:
امروزه بخش عظیمی از اطلاعات توسط ابزارهای ارتباطی، ارسال، دریافت و
پردازش میشود و تلاش در جهت ایجاد و حفظ سطوح امنیتی بالا در این گونه
ساختارها به خصوص در سازمانهای اطلاعاتی، نظامی، انتظامی و امنیتی از
اهمیت زیادی برخوردار است. امنیت ارتباطات به منظور حفظ اطلاعات مخابره شده
و در راستای جلوگیری از تخریب، جعل، افشا و شنود افراد غیر مجاز مطرح
میشود. یکی از ارکان مهم امنیت ارتباطات مقوله رمز بوده و همین امر باعث
شده است که علم رمزنگاری به عنوان یکی از اساسیترین شاخههای علم مخابرات
و ریاضیات در جهان مطرح گردد. در ادامه بیشتر با این رشته آشنا میشویم. رشته
ریاضیات و کاربردها همچون اکثر رشته ها در مقطع کارشناسی ارشد به سه گرایش
کاربردی ، محض و آموزش ریاضی تقسیم می شود. دانشجوی کارشناسی ارشد ریاضی
گرایش کاربردی می تواند یکی از مباحث آنالیز عددی ، تحقیق در عملیات و یا
رمزنگاری را به عنوان مبحث تخصصی خود انتخاب کند.
برخی ازدروسی
دانشجویان این گرایش باید در طول تحصیل خود بگذرانند عبارتند از تئوری
اطلاعات، کدینگ 1و 2، رمزنگاری 1و2، مباحث ویژه و پیچیدگی محاسبات.
با
توجه به امنیتی بودن این رشته افراد متخصص و فارغ التحصیلان آن می توانند
در ارگان هایی همچون سازمان های نظامی، وزارت بازرگانی ، بانک مرکزی ویا
شرکت های خصوصی که در زمینه امنیت اطلاعات فعالیت می کنند، مشغول به کار
شوند. در ادامه بیشتر با این رشته رمزنگاری آشنا می شویم.
هر ساختار
امنیتی حداقل باید چهار جنبه اساسی را برآورده سازد که عبارتند از: درستی
دادهها ، احراز اصالت ، محرمانگی دادهها و انکارناپذیری . منظور از
درستی، تضمین این موضوع است که پیام در حین انتقال بدون تغییر و صحیح باقی
بماند. منظور از احراز اصالت فهمیدن این موضوع است که آیا پیام واقعا از
طرف آن کسی که خود را فرستنده معرفی کرده است، فرستاده شده است یا خیر.
موضوع محرمانگی نیز روشهایی است برای مطمئن شدن از این که پیام فقط توسط
افراد مجاز خوانده شود. منظور از انکارناپذیری نیز این است که فرستنده
اصلی نتواند پیامی را که از طرف او فرستاده شده است، انکار کند.این اصول در
طراحی عموم الگوریتمهای رمز و پروتکلهای رمزنگاری، در نظر گرفته میشود.
معرفی الگوریتم های رمز
رمزنگاری
به عنوان یک علم از مقاله معروف شانون آغاز شد. او در این مقاله با تعریف
کانالی که ورودی آن متن اصلی (متنی که میخواهیم رمزگذاری شود) و خروجی آن
متن رمزشده میباشد با تعریف اطلاعات متقابل صفر بین ورودی و خروجی، یک
مدل ریاضی مناسب برای رمزنگاری ارائه داد. در این تعریف متن اصلی با کلید
رمزگذاری به گونه ای ترکیب میشود که در صورت داشتن متن رمز شده و بدون
داشتن کلید، نتوان از متن اصلی اطلاعاتی به دست آورد. پس از این مقاله،
رمزنگاری شروع به پیشرفت نمود.
علم رمزنگاری را میتوان به دو بخش
رمزگذاری و رمزشکنی یا تحلیل رمز تقسیم کرد که ارتباط تنگاتنگی بین این
دو بخش وجود دارد و پیشرفت در یک بخش منجر به تلاش جهت پیشرفت در بخش دیگر
خواهد شد. الگوریتمهای رمزنگاری را میتوان به دو دسته عمده تقسیمبندی
نمود:
دسته اول، الگوریتمهای رمزنگاری با کلید متقارن هستندکه درآن،
دو طرف ارتباط(فرستنده و گیرنده) بایستی بر روی یک پارامتر مخفی به عنوان
کلید توافق نمایند و در صورت دستیابی گیرنده غیر مجاز به آن، باعث شکست
الگوریتم رمزنگاری و بیاثر شدن عمل رمزنگاری میگردد. در نتیجه این کلید
به عنوان کلید اصلی الگوریتم رمزنگاری، بایستی از طریق یک کانال کاملاامن
در اختیار فرستنده و گیرنده قرار گیرد. ساختار این الگوریتمها از سادگی
نسبی برخوردار بوده و درستی و محرمانگی پیام را به طور همزمان تامین
مینمایند. اساسیترین مشکل الگوریتمهای رمز متقارن، نحوه تولید و مدیریت
کلید در الگوریتمهای با تعداد کاربر زیاد است.
دسته دوم، الگوریتمهای
کلید عمومی هستند که در اواخر دهه 1970 توسط دیفی و هلمن ارائه شد.از
خصوصیات عمده آن¬ها میتوان به عدم نیاز به کانال امن جهت توزیع کلید اشاره
کرد. هرکدام از دو طرف یک کلید رمزگذاری جداگانه برای خود دارند و لازم
نیست این کلید رمز، مخفی نگه داشته شود. اما کلید رمزگشایی برای هر طرف
باید برای همان طرف معلوم و شخصی بوده و از دید دیگران مخفی باشد. عملیات
رمزگذاری و رمزگشایی توسط این دو کلید که به نامهای کلید عمومی و کلید
خصوصی معروف میباشند، انجام میگیرد. این دو کلید به گونهای انتخاب
میشوند که امکان محاسبه کلید خصوصی از روی کلید عمومی میسر نباشد مگر آن
که اطلاعات خاصی در اختیار باشد که تنها خود فرد به آنها دسترسی دارد. در
این الگوریتمها، محرمانگی و درستی پیام را میتوان به صورت جداگانه تامین
نمود. گرچه الگوریتمهای رمزنگاری کلید عمومی تا حدودی توانستهاند مشکل
توزیع کلید را حل نمایند اما محدودیت کاربرد آنها و مشکلات پیادهسازی
سختافزاری این الگوریتمها و سرعت کمتر آنها به دلیل حجم محاسبات بالا
نسبت به الگوریتمهای رمزنگاری با کلید امن مخصوصا وقتی که طول متن اصلی
زیاد باشد، باعث شده که الگوریتمهای رمزنگاری با کلید امن جایگاه خود را
به عنوان نوعی ازالگوریتمهای رمزنگاری کارآمد حفظنمایند. دو کاربرد مهم
الگوریتمهای نامتقارن، امضای دیجیتال دادهها و استفاده از آنها در تامین
احراز اصالت میباشد.
به طور عمده مولدهای رمزنگاری با کلید متقارن، به
دو دسته مولدهای رمزنگاری قالبی و مولدهای رمزنگاری دنبالهای تقسیم
میشوند. در مولدهای رمزنگاری دنبالهای،حروف متن اصلی(دنباله پیام) به
صورت مجزا(در هر لحظه یک حرف) از هم رمز میشوند، اما در مولدهای رمزنگاری
قالبی، گروهی از حروف در یک لحظه و با استفاده از یک تبدیل ثابت، رمز
میشوند.