مقدمه

رمزنگاری از دیرباز به عنوان یک ضرورت برای حفاظت اطلاعات خصوصی در مقابل دسترسیهای غیرمجاز در تجارت و سیاست و مسایل نظامی وجود داشته است. به طور مثال، تلاش برای ارسال یک پیام سری بین دو همپیمان بهگونهای که حتی اگر توسط دشمن دریافت شود، قابل درک نباشد، در رم قدیم نیز دیده شده است (رمز سزار). در سالیان اخیر رمزنگاری و تحلیل رمز از یک هنر پا را فراتر گذاشته و به یک علم مستقل تبدیل شده است و در واقع به عنوان یک وسیله ی عملی برای ارسال اطلاعات محرمانه روی کانالهای غیر امن مانند تلفن، مایکروویو و ماهوارهها شناخته میشود .پیشرفت علم رمزنگاری موجب به وجود آمدن روشهای تحلیل مختلفی شده است بهگونهای که به طور متناوب سیستمهای رمز مختلف شکسته شدهاند. معروفترین نمونه از این نوع سیستمها، ماشین “انیگما” بوده است. انیگما، ماشین رمزگذار و کد کنندهای بوده است که حزب نازی در زمان جنگ جهانی دوم برای ارسال پیامهایشان از طریق رادیو به سایر نقاط از آن استفاده میکردند .
رمزنگاری که به طور عمده به دو بخش رمزنگاری متقارن یا رمزنگاری با کلید خصوصی و رمزنگاری متقارن یا رمزنگاری با کلید عمومی صورت میگیرد، تلاش میکند برای ایجاد یک ارتباط سری از طریق سیستمهای مخابراتی و شبکههای کامپیوتری، مباحث مربوط به محرمانگی و احراز هویت را تحت فرضهای مشخص، به درستی اثبات نماید. رمزهای کلید خصوصی بر مبنای نوع عملکرد، چگونگی طراحی و پیاده سازی و کاربردهایشان به دو گونه ی رمزهای بلوکی و رمزهای دنبالهای تقسیم میشوند .
در فصل اول این سمینار، تعریفی کلی از رمزنگاری و انواع آن ارائه شده است. فصل دوم به بررسی الگوریتمهای کلید متقارن و نامتقارن میپردازد. در فصل سوم رمزهای بلوکی و دنبالهای را به طور کامل توضیح داده و در فصل چهارم، دو رمز بلوکی DES و AES که بسیار پرکاربرد هستند ،مورد بررسی قرارگرفتهاند. فصل پنجم به بررسی طول کلید مناسب برای رمزها جهت ایمنی بیشتر اختصاص دارد.

فهرست مطالب

چکیده ……………………………………………………………………………………….1

مقدمه …………………………………………………………………………………2

برای دانلود رایگان قسمت های بیشتراز فایل به انتهای مطلب مراجعه کنید

فصل اول- معرفی رمزنگاری

رمزنگاری دانش تغییر متن پیام به کمک یک کلید رمزنگاری و یک الگوریتم رمزنگاری است .به طوری که تنها شخصی که از کلید و الگوریتم مطلع است قادر به استخراج متن اصلی از متن رمزشده باشد و شخصی که از یکی یا هردوی آن ها اطلاعی ندارد، نتواند به محتوای پیام دسترسی پیدا کند. رمزنگاری از طریق پنهان نگاه داشتن الگوریتم منسوخ شده است. در روشهای جدید رمزنگاری، فرض بر آن است که همگان الگوریتم را می دانند. آنچه پنهان است فقط کلید است.رمزنگاری علمی است که به وسیلهی آن می توان اطلاعات را بصورتی امن منتقل کرد، حتی اگر مسیر انتقال اطلاعات (کانالهای ارتباطی) ناامن باشد. دریافت کنندهی اطلاعات آنها را از حالت رمز خارج می کند( decrypting). به این عمل رمزگشائی گفته می شود .توجه داشته باشید که رمزنگاری به تغییر ساده محتویات یک متن گفته می شود و با کدگذاری( coding) تفاوت دارد. در رمزنگاری، هر کاراکتر با یک نماد تغییر می کند. رمز به مفهوم تبدیل کاراکتر به کاراکتر یا بیت به بیت، بدون تغییر محتویات زبان شناختی آن است. در مقابل “کد” تبدیلی است که کلمه ای را با یک کلمه یا نماد دیگر جایگزین می کند.کلمه Cryptography به معنای رمزنگاری، برگرفته از لغات یونانی’kryptos’ به مفهوم “محرمانه” و ‘graphein’ به معنای “نوشتن” است. در بررسی نخستین استفادهکنندگان از رمزنگاری به “سزار” امپراتور روم و نیز “الکندی” که یک مسلمان است برمیخوریم. از عمده ترین شیو ههای رمزنگاریهای ابتدایی، پیچیدن نسخهی اصلی پیام بر روی استوانه ای با قطر مشخص و نوشتن پیام بر روی متن استوانه ای است. بعدها از این روش به همراه موتورهای الکتریکی برای رمزنگاری استفاده شد[.1]
رمزنگاری مدت زیادی است که توسط نیروهای ارتشی و دولت برای آسان کردن مخابرات رمزی مورد استفاده قرارگرفته است. در حال حاضر، رمزنگاری برای حفاظت اطلاعات در بسیاری از سیستمهای غیر نظامی مانند کامپیوتر، شبکهها (به طور مثال تجارت الکترونیکی)، تلفنهای همراه ،و ما شینهای سخنگوی اتوماتیک بانک استفاده میشود. همچنین در مدیریت حقوق دیجیتالی برای محدود کردن استفاده از موارد دارای کپی رایت و در نرم افزار حفظ کپی برای حفاظت در برابر مهندسی معکوس و سرقت نرم افزاری به کار میرود .

1 -1 دورههای پیشرفت و تکامل رمزنگاری ………………………………………………….5
1 -2 اصطلاحات رمزنگاری ……………………………………………………………………… 6
1 -3 تفاوت رمز و کد ………………………………………………………………………………7
1 -4 عملیات مورد استفاده توسط الگوریتمهای رمزنگاری ……………………………………..8
1 -5 انواع رمزنگاری ………………………………………………………………………………….9
1 -6 طول کلید و آسیبپذیری متن رمزنگاری شده …………………………………………….. 11

فصل دوم- الگوریتم های کلید متقارن و نامتقارن

الگوریتمهای کلید متقارن دستهای از الگوریتمها برای رمزنگاری هستند که از کلیدهای رمزنگاری تقریباً وابسته، اغلب یکسان، هم برای رمزنگاری و هم برای رمزگشایی استفاده میکنند .در این الگوریتم، این دو کلید یا کاملاٌ یکسان هستند و یا با یک تبدیل ساده به یکدیگر تبدیل میشوند. در این روش هر دو طرفی که قصد رد و بدل اطلاعات را دارند از یک کلید مشترک برای رمزنگاری و نیز بازگشایی رمز استفاده می کنند.در این حالت بازگشایی و رمزنگاری اطلاعات دو فرآیند معکوس یکدیگر می باشند .اشکال اصلی این روش این است که کلید مربوط به رمزنگاری باید بین دو طرف به اشتراک گذاشته شود و این سؤال پیش می آید که دو طرف چگونه می توانند این کلید را به طور امن بین یکدیگر رد و بدل کنند. انتقال از طریق انترانت و یا به صورت فیزیکی تا حدی امن می باشد اما انتقال آن از طریق اینترنت به هیچ وجه درست نیست. رمزنگاری تک کلید ، یک کلید و کلید خصوصی نامهای دیگری هستند که برای رمزنگاری کلید متقارن استفاده میشود. استفاده از نام رمزنگاری کلید خصوصی برای این نوع رمزنگاری ممکن است گاهی اوقات با نام کلیدخصوصی در رمزنگاری کلید عمومی اشتباه شود. 2 -1 1- انواع الگوریتمهای کلید متقارن الگوریتمهای کلید متقارن میتواند به دو دستهی رمزهای دنبالهای و رمزهای بلوکی تقسیم شود. رمزهای دنبالهای بیتهای یک پیام را یکییکی رمزنگاری میکند، و رمزهای بلوکی تعدادی از بیتها را گرفته و آنها را به صورت یک واحد رمزنگاری میکند. بلوکهای 64 بیتی اغلب مورد استفاده قرارمیگیرند؛ الگوریتم استاندارد رمزنگاری پیشرفته که در دسامبر 1002 به تأیید NIST رسیده است از بلوک های 821 بیتی استفاده میکند]7[.

2 -1 الگوریتمهای کلید متقارن …………………………………………………………………….. 31
2 -1-1 انواع الگوریتمهای کلید متقارن …………………………………………………………….. 31
2 -1-2 اصول اولیهی رمزنگاری بر اساس رمزهای متقارن ………………………………………. 41
2 -1-3 ساختار رمزهای متقارن ……………………………………………………………………… 41
2 -1-4 امنیت رمزهای متقارن ……………………………………………………………………….. 41
2 -2 الگوریتمهای کلید نامتقارن ……………………………………………………………………… 41
2 -3 مقایسهی الگوریتمهای کلید متقارن و نامتقارن ………………………………………………. 61
2 -4 الگوریتمهای ترکیبی ………………………………………………………………………………. 71

تصویر رمز شده با حالت ECB؛ تصویر سمت راست: تصویر رمز شده با سایر حالات

تصویر رمز شده با حالت ECB؛ تصویر سمت راست: تصویر رمز شده با سایر
حالات

فصل سوم – رمزهای دنبالهای و بلوکی

در رمزنگاری، یک رشته کلید ، یک رشته از کاراکترهای تصادفی و شبه تصادفی است که بـایک پیغام واضح (cleartext) ترکیب شده و یک پیغام رمزنگاری شده (متن رمزی) تولید میکند. این “کاراکترها” در رشته کلید، میتوانند بیتها، بایتها، اعداد یا کاراکترهـای واقعـی ماننـدA-Z بسته به حالت مورد استفادهشان (حروف کوچک یا بزرگ)، باشند. معمولاً هر کاراکتر در رشته کلید با یک کاراکتر در متن اصلی جمع، تفریق یا XOR میشود تا با استفاده از ریاضیات مدولار، متن رمزی را تولید کند. رشته کلیدها در رمز one-time pad و در بیشتر رمزهای دنبالهای به کار مـ یرونـ د. رمزهـایبلوکی نیز تمی وانند برای تولید رشته کلیدها مورد استفاده قرارگیرند. برای مثال، حالت CTR یـکحالت بلوکی است که رمز بلوکی را مجبور به تولید یک رشته کلید میکند و به این ترتیب این رمز بلوکی به یک رمز دنبالهای تبدیل میشود .در رمزنگاری، یک رمز دنبالهای، یک رمز متقارن است که بیتهای متن اصلی بـا یـک رشـتهبیت رمز شبه تصادفی (رشته کلید)، مثلاً به وسیلهی or انحصاری (XOR)، ترکیـب مـیشـون د. در یک رمز دنبالهای، ارقام متن اصلی یکی یکی رمزنگاری شده و تغییر شکل ارقـام متـوالی در طـولاین رمزنگاری متفاوت است. از آن جایی که رمزنگاری هر رقم به حالت جاری آن بسـتگی دارد، بـهاین نوع رمز ،“رمز حالت” نیز گفته میشود. در عمل، این ارقام بیتها یا بایتهای منفرد هستند. رمزهای دنبالهای نمود متفاوتی از رمزنگاری متقارن نسبت به رمزهای بلوکی ارائه مـ یکننـ د. رمزهای بلوکی روی بلوکهای بزرگ از ارقام با یک تبدیل ثابت عمل میکنند. این تفـاوت همیشـهکاملاً واضح نیست: در برخی حالتهای عملیاتی ،یک رمز بلـوکی بـه طریقـی مـورد اسـتفاده قـرار میگیرد که مانند یک رمز دنبالهای عمل میکند. رمزهای دنبالهای سرعت بالاتر و پیچیدگی سخت افزاری کمتری نسبت به رمزهای بلوکی دارند.

3 -1 رمزهای دنبالهای ………………………………………………………………………………. 91
3 -1-1 انواع رمزهای دنبالهای …………………………………………………………………… 02
3 -1-2 طراحی رمزهای دنبالهای ………………………………………………………………… 32
3 -1-3 ساختار مولدهای بیت شبه تصادفی و رمزهای دنبالهای ……………………………….. 32
3 -1-4 کاربردهای رمزهای دنبالهای، مزایا و معایب ………………………………………………. 52
3 -1-5 نمونههای رمزهای دنبالهای پیاده سازی شده …………………………………………….. 62
3 -2 رمزهای بلوکی …………………………………………………………………………………… 72
3 -2-1 اصول کلی ……………………………………………………………………………………….. 82
3 -2-2 رمزهای بلوکی تکرارشده ………………………………………………………………………….. 92
3 -2-3 تاریخچه ……………………………………………………………………………………………. 92
3 -2-4 رمزهای بلوکی قابل پیچیدن ………………………………………………………………………. 13
3 -2-5 رمزهای بلوکی و سایر اصول اولیهی رمزنگاری ………………………………………………. 13
3 -2-6 رمزهای بلوکی امن …………………………………………………………………………. 23
3 -2-7 حالتهای عملیاتی رمزهای بلوکی …………………………………………………………… 33
3 -2-7-1 بردار مقداردهی اولیه ………………………………………………………………………… 33
3 -2-7-2 کتاب کد الکترونیکی …………………………………………………………………………… 43
3 -2-7-3 زنجیرهسازی بلوکهای رمز …………………………………………………………………….. 53
3 -2-7-4 زنجیرهی بلوک رمزی انتشاری ……………………………………………………………. 73
3 -2-7-5 فیدبک رمز ……………………………………………………………………………………………. 73
3 -2-7-6 فیدبک خروجی ………………………………………………………………………………….. 93
3 -2-7-7 شمارنده …………………………………………………………………………………………… 04
3 -2-7-8 حفظ امانت و انتشار خطا ……………………………………………………………………….. 14
3 -2-7-9 لایهگذاری……………………………………………………………………………………………… 24
3 -2-7-01 سایر حالتها و سایر اصول اولیهی رمزنگاری ………………………………………………………. 43

فصل چهارم- DES و AES

DES و AES از رمزهای بلوکی بسیار پرکاربرد هستند که در ادامه تعریفی مختصر از هر یک از این دو الگوریتم را ارائه میدهیم.
14- استاندارد رمزنگاری اطلاعات
بیشترین شکل استفاده از رمزنگاری که در کارتهای هوشمند و البته در بیشتر سیستمهای امنیت اطلاعات وجود دارد، استاندارد رمزنگاری اطلاعات است. استاندارد رمزنگاری اطلاعات در سال 1975 توسط ادارهی ملی استانداردهای ایالات متحده ، منتشر شد که شرایط زیر را که توسط IBM مطرح شده بود، برآورده میکرد:
• ایجاد سطح بالایی از امنیت
• وابسته بودن امنیت به کلیدها، نه به میزان سری بودن الگوریتمها
• قابل ارزیابی بودن امنیت
• الگوریتم کاملاً مشخص بوده و به آسانی قابل فهم باشد.
• برای استفاده کارآمد بوده و قابل توافق باشد.
• بایستی در دسترس تمامی کاربران باشد.
• بایستی قابل صدور باشد.
DES از نظر محاسباتی ساده بوده و به راحتی میتواند توسط پردازندههای کند (بخصوص آنهایی که در کارتهای هوشمند وجود دارند) انجام گیرد.
این روش بستگی به مخفی بودن کلید دارد. بنابراین برای استفاده در دو موقعیت مناسب است: هنگامی که کلیدها می توانند به یک روش قابل اعتماد و امن توزیع و ذخیره شوند یا جایی که کلید بین دو سیستمی مبادله می شود که قبلاً هویت یکدیگر را تایید کرده اند و عمر کلیدها بیشتر از مدت تراکنش طول نمیکشد. رمزنگاری DES عموماً برای حفاظت دیتا از شنود در طول انتقال استفاده می شود .کلیدهای DES 40 بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می شوند و بنابراین نباید برای محافظت از اطلاعات مهم و با مدت طولانی اعتبار استفاده شود. کلید 65 بیتی عموما توسط سختافزار یا شبکههای بخصوصی شکسته میشود. با وجود حملات تئوریکی، این الگوریتم به شکل DES سه تایی تقریباً امن به نظر میرسد. رمزنگاری DES سه تایی عبارتست از کدکردن دیتای اصلی با استفاده از الگوریتم DES که در سه مرتبه انجام م یگیرد. (دو مرتبه با استفاده از یک کلید به سمت جلو (رمزنگاری) و یک مرتبه به سمت عقب (رمزگشایی) با یک کلید دیگر) مطابق شکل زیر: این عمل طول مؤثر کلید را دوبرابر میکند یک عامل مهم در قدرت رمزکنندگی است. الگوریتمهای استاندارد جدیدتر مختلفی پیشنهاد شدهاند. الگوریتمهایی مانند Blowfish و IDEA برای مدتی مورد استفاده قرار گرفتند اما هیچ کدام پیادهسازی سختافزاری نشدند بنابراین بهعنوان رقیبی برای DES برای استفاده در کاربردهای میکروکنترلی مطرح نبودهاند. پروژهی استاندارد رمزنگاری پیشرفته دولتی ایالات متحده الگوریتم Rijndael را برای جایگزیتی DES به عنوان الگوریتم رمزنگاری اولیه انتخاب کرده است. الگوریتم Twofish مشخصاً برای پیادهسازی در پردازنده های توان ـپایین مثلاً در کارتهای هوشمند طراحی شد.

4 -1 استاندارد رمزنگاری اطلاعات ………………………………………………………………….. 64
4 -1-1 الگوریتم DES ……..ا……………………………………………………………………… 74
4 -1-2 استاندارد رمزنگاری پیشرفته( AES) …ا………………………………………………… 84

فصل پنجم – شکستن کلیدهای رمزنگاری

5 -1 طول کلید مناسب برای رمزنگاری ………………………………………………………….. 55
ز
5 -1-1 الگوریتمهای متقارن ………………………………………………………………………… 55
5 -1-2 الگوریتمهای نامتقارن ………………………………………………………………………. 65

مراجع ……………………………………………………………………………………………….. 85

برای دانلود رایگان قسمت های بیشتراز فایل به انتهای مطلب مراجعه کنید

فهرست اشکال

شکل 1 -1 انواع رمزنگاری ………………………………………………………………………….. 01
فصل سوم – رمزهای دنبالهای و بلوکی
شکل 3 -1 رمز بلوکی ………………………………………………………………………………… 72

شکل 3 -2 فرایند رمزنگاری حالت عملیاتی کتاب کد الکترونیکی ………………………………… 43

شکل 3 -3 فرایند رمزگشایی حالت عملیاتی کتاب کد الکترونیکی ………………………………… 43
شکل 3 -5 تصویر وسط: تصویر رمز شده با حالت ECB؛ تصویر سمت راست: تصویر رمز شده با سایر حالات ………….. 53

شکل 3 -5 فرایند رمزنگاری در حالت عملیاتی زنجیرهسازی بلوکهای رمز ………………………….. 63

شکل 3 -6 فرایند رمزگشایی در حالت عملیاتی زنجیرهسازی بلوکهای رمز ………………………… 63

شکل 3 -7 فرایند رمزنگاری حالت عملیاتی فیدبک- رمز ………………………………………………… 83

شکل 3 -8 فرایند رمزگشایی حالت عملیاتی فیدبک- رمز …………………………………………………. 83

شکل 3 -9 فرایند رمزگشایی حالت عملیاتی فیدبک خروجی ……………………………………………….. 93

شکل 3 -01 فرایند رمزگشایی حالت عملیاتی فیدبک خروجی ………………………………………………… 04

شکل 3 -11 فرایند رمزنگاری حالت شمارنده …………………………………………………………………….. 41

شکل 3 -21 فرایند رمز گشایی حالت شمارنده …………………………………………………………………….. 14

فهرست جداول

جدول 5-1 زمان لازم برای یافتن کلید در الگوریتم DES ا……………………………………………………………….. 75

جدول 5-2 توانایی نفوذگران متفاوت در شکستن کلیدها با طولهای متفاوت …………………………………………. 75

 

Abstract

Encryption is the process of transforming information using an algorithm and a key to make it unreadable to everyone except who know the algorithm and the key. In modern cryptography, we suppose that everyone know the algorithm and only the key is secret.
This seminar gives an introduction to the key concepts of cryptography.


 


مقطع : کارشناسی ارشد

قیمت 25 هزار تومان

250,000RIAL – اضافه‌کردن به سبدخرید

خرید فایل pdf به همراه فایل word

قیمت:35هزار تومان

350,000RIAL – اضافه‌کردن به سبدخرید