بخشی از مقاله

چکیده

ارسال اطلاعات از یک نقطه به نقطه دیگر، تبادل اطلاعات نامیده میشود. امروزه امنیت یک موضوع مهم در تبادل اطلاعات میباشد. یکی از مهمترین ابزارهایی که برای تامین امنیت بهکار میرود، علم رمزنگاری میباشد. الگوریتم رمزنگاری یک روش ریاضی برای رمزنگاری دادهها میباشد. ما در این مقاله الگوریتمی را معرفی میکنیم که دارای سطح پردازش پایین و سطح امنیت بالا مطابق با نیاز کاربر بوده و همچنین از الگوریتمهای رمزنگاری موجود، پیشرفتهتر باشد. برای اجرای این الگوریتم از منطق فازی استفاده میکنیم. در انتها نتایج الگوریتم پیشنهادی را با دیگر الگوریتمهای رمز-نگاری مقایسه کرده و مورد تجزیه و تحلیل قرار خواهیم داد.

.1  مقدمه

رمزنگاری از ریشه یونانی کلمات Kryptos و Graphin گرفته شده است. تاریخچه استفاده از رمزنگاری به قرنها قبل باز میگردد. بهطوری که در گذشته نیز به منظور محافظت از پیغامهایی که بین فرماندهان، جاسوسان، دیپلماتها و... رد و بدل میشده از رمزنگاری استفاده میکردند. رمزشناسی علمی است که در رابطه با موضوعات رمزنگاری و رمزگشایی بحث میکند. رمزنگاری فرآیندی است که یک پیام قابل خواندن را به یک فرمت غیرقابل خواندن تبدیل میکند. رمزگشایی به فعالیتهای مرتبط با تجزیه و تحلیل رمز پرداخته و به دنبال دستیابی به کلید رمز و در نتیجه بهدست آوردن متن اصلی از روی متن رمز میباشد

دانش رمزنگاری یکی از معدود شاخههای دانش معاصر است که هویت خود را از ناتوانی بشر در حل مسائل ریاضی کسب میکند. متدهای رمزنگاری و رمزگشایی، همیشه یک عامل مهم در استراتژیهای جنگی بودهاند. تلاشهای گسترده آمریکائیها برای شکستن رمز ژاپنیها در طول جنگ جهانی دوم، یکی از مهمترین وظایف متفقین به شمار میآمد.

گفتنی است امنیت، مسالهای اساسی و اصلی در ارتباطات مدرن میباشد. بسیاری از جرائم سایبری با پیشرفت تکنولوژی بهوجود میآیند. برای جلوگیری از خطرات امنیتی میتوان کارهای مختلفی انجام داد. از قبیل:

•    خاموش کردن سرویسهای غیر مورد نیاز

•    به روز کردن سیستمها

•    کاهش حق دسترسی به برنامهها وکاهش تعداد کاربران

•    استفاده از پروتکلهای امنیتی

اما یک راه حل دیگر برای مقابله با خطرات امنیتی استفاده از رمزنگاری میباشد. رمزنگاری دو جزء اصلی دارد؛ الگوریتم و کلید. الگوریتم یک مبدل یا فرمول ریاضی است. مجموعهای از قوانین که در یک فرآیند رمزنگاری استفاده میشود الگوریتم رمزنگاری نامیده میشود. یک کلید برای تبدیل اطلاعات اصلی استفاده میشود. این اطلاعات، غیرقابل خواندن و به عنوان متن پیام رمز شناخته میشوند؟ از آن جایی که امینت، یک نگرانی جدی در تبادل اطلاعات میباشد لذا الگوریتم-های رمزنگاری، یک بخش مهم از آن میباشد .[1] اکثر الگوریتمهای رمزنگاری که امروزه مورد استفاده قرار میگیرند، تنها نگران امنیت هستند.

لیکن نحوه عملکرد نیز برای فنآوریهای در حال پیشرفت بسیار مهم و ضروری است. الگوریتمهای رایج امروزی، هم زمان پردازش بالایی دارند و هم از امنیت کافی برخوردار نیستند. اما کاربرانی که از یک پهنای باند کم استفاده میکنند نیاز به الگوریتمی دارند که قدرت پردازش پائینی داشته باشد. الگوریتمهایی که سطح امنیتی بالایی دارند، از قدرت پردازش بیشتری نسبت به الگوریتمهای با سطح امنیتی پایین، برخوردار هستند.

بعد از انجام مطالعات مقدماتی روی الگوریتمهای موجود، متوجه میشویم که میبایست یک الگوریتم بهتر برای تامین امنیت کاربران ارائه شود. بنابراین ما در این مقاله روی موضوع امنیت تمرکز خواهیم کرد و میخواهیم سطح امنیتی را در تبادل داده، با استفاده از یک الگوریتم رمزنگاری جدید افزایش دهیم. ما این کار را با بهکار بردن منطق فازی در یک الگوریتم رمزنگاری پیشرفته انجام خواهیم داد. در این الگوریتم پیشنهادی، کاربران با توجه به نیاز خود، طول کلید مورد نظر را انتخاب خواهند کرد.
    
.2  الگوریتم DES

الگوریتم رمزنگاری، به هر الگوریتم یا تابع ریاضی گفته میشود که در فرایند رمزنگاری/ رمزگشایی مورد استفاده قرار گیرد. یکی از مهمترین الگوریتمهای متقارن، الگوریتم DES میباشد. این الگوریتم در دهه 70 میلادی در آمریکا بهعنوان یک استاندارد کدگذاری مطرح شد. این الگوریتم اینگونه عمل میکند که رشتهای از متن اصلی با طول ثابت را به عنوان ورودی میگیرد و پس از انجام یک سری اعمال پیچیده روی آن خروجی را که طولی برابر طول ورودی دارد تولید میکند. همچنینDESاز یک کلید برای ایجاد رمز استفاده میکند و تنها کسانی قادر به رمزگشایی خواهند بود که مقدار کلید را میدانند؟

درDES طول قطعات 64 بیت است. کلید نیز شامل 64 بیت است ولی در عمل تنها از 56 بیت آن استفاده میشود و از 8 بیت دیگر فقط برای چک کردن Parity استفاده میشود. الگوریتم شامل 16 مرحله مشابه است که هر مرحله یک دور نامیده میشود. متنی که قرار است رمزگذاری شود ابتدا در معرض یک جایگشت اولیه “IP” قرار میگیرد. سپس یک سری اعمال پیچیده وابسته به کلید روی آن انجام میشود و در نهایت در معرض یک جایگشت نهاییדFP”×قرار میگیرد. IP وFP×معکوس یکدیگرند.

FP عملی که توسط×IP×انجام شدهاست را خنثی میکند؛ بنابراین از جنبه رمزنگاری اهمیت چندانی ندارند. قبل از دور اصلی، داده به دو بخش 32 بیتی تقسیم میشود که این دو نیمه به طور متناوب مورد پردازش قرار میگیرند این تقاطع به عنوان شکل فیستل شناخته میشود. ساختار فیستل تضمین میکند که رمزگذاری و رمزگشایی دو رویه کاملاً مشابه هم هستند و تنها تفاوت آنها این است که زیرکلیدها در زمان رمزگشایی در جهت معکوس رمزگذاری به کار برده میشوند. تابعی که خروجی×IP×را میگیرد و پس از شانزده مرحله ورودیFP را فراهم میکند  تابعF نامیده میشود.

این تابع یک ورودی 32 بیتی و یک ورودی 48 بیتی دارد و یک خروجی 32 بیتی تولید میکند. بلوک ورودی شامل 32 بیت که نیمه سمت چپ را تشکیل میدهد و با×L×نشان داده میشود و به دنبال آن 32 بیت دیگر که نیمه راست را تشکیل میدهد و با×R×نمایش داده میشود است. پس کل بلوک را میتوان به صورت×LR×نمایش داد [1]؟

.3  تحلیل الگوریتم پیشنهادی 

در این بخش ابتدا الگوریتم پیشنهادی را در دو بخش رمزنگاری و رمزگشایی مورد تجزیه و تحلیل قرار داده، سپس با استفاده از فازی کردن الگوریتم، قوانین مربوطه را بهدست میآوریم.

1-3  الگوریتم تولید کلید 

فرض میکنیم که در ابتدا طول کلید 64 بیت باشد. از این تعداد، 8 بیت را برداشته لذا طول کلید 56 بیت میشود. سپس کلید از طریق یک جایگشت تحت تاثیر قرار میگیرد و به دو نیمه 28 بیتی تقسیم میشود. آنگاه هر دو نیمه شیفت داده شده و تحت تاثیر S-box قرار میگیرند. سرانجام نیمه چپ و راست با یکدیگر مرتبط شده و یک کلید را میسازند. 32 زیرکلید مشابه همین روش برای یک فرایند رمزنگاری/ رمزگشایی تولید میشوند.

2-3 اجرای الگوریتم رمزنگاری

فرایند رمزنگاری در 16 مرحله و با استفاده از 32 زیرکلید انجام میشود. همان طور که در شکل - 2 - نشان داده شده، دیتای اصلی را به دو بخش 64 بیتی تقسیم میکنیم. هر دو نیمه راست و چپ با استفاده از تابع و کلید، رمزنگاری می-گردد    

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید