بررسی الگوریتمهای بهینه رمزنگاری مقاوم بهمنظور پیادهسازی روی FPGA
فرمت فایل دانلودی: .docxفرمت فایل اصلی: doc
تعداد صفحات: 150
بررسی الگوریتمهای بهینه رمزنگاری مقاوم بهمنظور پیادهسازی روی FPGA
نوع فایل: word (قابل ویرایش)
تعداد صفحات : 150 صفحه
چکیده
توابع درهمساز نوعی تابع چکیده ساز است که در تمامی طراحیهای رمزنگاری و پروتکلهای امنیتی جهت تولید اعداد تصادفی و مکانیزم ذخیره رمز عبور احراز هویت و امضای دیجیتالی در دنیای دیجیتال مورداستفاده قرار میگیرد.
موسسه ملی استاندارد و فناوری، مسابقهای را برای بهبود بخشیدن الگوریتمهای چکیده ساز رایج، آغاز کرد الگوریتمهای چکیده ساز ارسالی به این مسابقه که SHA-3 نامگذاری شد، شامل ۵ الگوریتم مقاوم که توانست به دور پایانی مسابقات راه یابد از طرفی الگوریتم JH در دور پایانی بهعنوان الگوریتم دوم مسابقات معرفی شود لذا هدف این پایاننامه بررسی الگوریتم چکیده ساز JH بهمنظور پیادهسازی روی FPGA بوده است در این الگوریتم، مشاهدات بهدستآمده شامل منابع واهی نیستند. این شبیهسازیها نشان میدهند که عملکرد الگوریتم چکیده ساز JH به چه میزان توانسته است روی FPGA شبیهسازی و سنتز شود. کلیدواژهها: رمزنگاری، تابع چکیده ساز، Cryptographic،Algorithm Hash Function
فهرست مطالب
عنوان
چکیده 1
فصل ۱- مروری بر مفاهیم اولیه رمزنگاری 3
۱-۱- مقدمه 3
۱-۲- لزوم امنیت شبکه 3
۱-۳- انواع حملات 3
۱-۳-۱- تغییر اطلاعات 3
۱-۳-۲- جعل هویت 4
۱-۳-۳- استراق سمع 4
۱-۴- رمزنگاری دادهها 4
۱-۵- رمزنگاری متقارن دادهها 5
۱-۶- رمزنگاری نامتقارن دادهها 6
۱-۷- امضاء دیجیتال 7
۱-۸- تابع چکیده ساز 7
۱-۹- خصوصیات کلی توابع چکیده ساز 7
۱-۱۰- دستهبندی توابع چکیده ساز 8
۱-۱۱- ویژگیهای توابع چکیده ساز 8
۱-۱۲- دستهبندی توابع چکیده ساز ازنظر کاربرد: 8
۱-۱۳- خواص توابع چکیده ساز یکطرفه 10
۱-۱۴- توابع چکیده ساز مهم 11
۱-۱۵- امنیت هَش یا تابع چکیده ساز 12
فصل ۲- معرفی الگوریتم پایانی رقابت 15
مقدمه 15
۲-۱- تاریخچه 15
۲-۲- وضعیت دور دوم رقابت SHA-3 16
۲-۳- بررسی و ارزیابی الگوریتمهای چکیده ساز دور نیمهنهایی رقابت SHA-3 17
۲-۴- بررسی الگوریتم چکیده ساز BLAKE 17
۲-۴-۱- ویژگیهای BLAKE 18
۲-۴-۲- ساختار تابع چکیده ساز BLAKE 18
۲-۴-۳- نتیجه: 19
۲-۵- بررسی الگوریتم چکیده ساز Skein 19
۲-۵-۱- ویژگیهای Skein 20
۲-۵-۲- ساختار تابع چکیده ساز 21
۲-۵-۳- نتیجه 21
۲-۶- بررسی چکیده ساز Keccak 21
۲-۶-۱- ویژگیهای Keccak 22
۲-۶-۲- ساختار تابع چکیده ساز 23
۲-۶-۳- نتیجه 25
۲-۷- بررسی الگوریتم چکیده ساز Grostl 25
۲-۷-۱- ساختار تابع چکیده ساز 25
۲-۷-۲- ساختار تابع فشردهساز Grostl 25
۲-۷-۳- نتیجه 28
۲-۸- بررسی الگوریتم چکیده ساز JH 28
۲-۸-۱- معرفی الگوریتم JH 28
۲-۸-۲- ساختار تابع فشردهساز JH 28
۲-۸-۳- آنالیز امنیت JH 29
۲-۸-۴- مزیت JH 30
۲-۸-۵- نتیجه 30
۲-۹- نتیجهگیری 30
۲-۱۰- دلایل انتخاب الگوریتم JH و ارزیابی آن 31
فصل ۳- الگوریتم JH 33
مقدمه 33
۳-۱- معرفی الگوریتم چکیده ساز JH 33
۳-۲- نماد ریاضی و پارامترهای به کار گرفتهشده در تابع چکیده ساز JH 37
۳-۳- لایه S-box تابع چکیده ساز JH 38
۳-۴- تبدیل خطی لایه L 39
۳-۵- جایگشت Pd 40
۳-۶- جایگشت 𝛑d 40
۳-۷- جایگشت P´d 41
۳-۸- جایگشت 41
۳-۹- رابطه جایگشت Pd 41
۳-۱۰- تابع دور Rd 42
۳-۱۱- گروهبندی Grouping 43
۳-۱۲- Grouping و De-grouping برای محاسبه دور چرخش: 43
۳-۱۳- چرخش ثابت روی تابع Ed 45
۳-۱۴- ساختار تابع فشردهساز Fd 45
۳-۱۵- مروری بر FPGA 47
۳-۱۵-۱- روش های مختلف طراحی با استفاده از FPGA 49
۳-۱۵-۲- مراحل مختلف انجام یک پروژه FPGA به صورت زیر می باشد 51
۳-۱۵-۳- نگاهی بر معماری FPGA های امروزی 51
۳-۱۵-۴- سلول های منطقی 51
۳-۱۵-۵- منابع اتصالات داخلی 52
۳-۱۵-۶- منابع حافظه 52
۳-۱۵-۷- نتیجه گیری 53
فصل ۴- شبیهسازی و سنتز 55
مقدمه: 55
۴-۱- معماری مورد استفاده در شبیه سازJH 55
۴-۱-۱- تجزیه و تحلیل شکل کلی طرح اصلی 56
۴-۱-۲- معماری واجزای بلوک برای ۴۲ دور 58
۴-۱-۳- ماشین حالت (FINITE STATE MACHINE) 59
۴-۲- بررسی الگوریتم شبیهسازی برای JH-224 بیتی 61
۴-۲-۱- بلوک (Data unit)Top module 61
۴-۲-۲- بلوک مدار Control unit 62
۴-۲-۳- مدار کنترل 63
۴-۲-۴- مدار حالت و بلوک FSM Controller 64
۴-۲-۵- رابط ورودی و خروجیi/o 67
۴-۲-۶- ارتباط بین ورودی و خروجی مدار 68
۴-۳- برنامه شبیه ساز ISE 69
۴-۳-۱- برنامه شبیه ساز Implemention 69
مرحله به مرحله هریک از بلوک ها نشان داده شده است. 69
۴-۳-۲- برنامه شبیه ساز سیمیلاتور(Simulatior) 72
۴-۴- نتیجهگیری 89
فصل ۵- نتیجهگیری و پیشنهادها 91
مراجع 94
پیوست ۱: کدهای VHDL 98
پیوست ۲: واژه نامه فارسی به انگلیسی 127
پیوست ۳: واژه نامه انگلیسی به فارسی 129
Abstract 130