%37تخفیف

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

تعداد 133 صفحه فایل word قابل ویرایش

Site: www.filenaab.ir

کارشناسی ارشد رشته­ی مهندسی برق گرایش الکترونیک

عنوان

آنالیز، شبیه سازی، سنتز دیجیتالی و طراحی سخت افزاری الگوریتم رمزنگاری بلوکی سبک وزن Speck جهت استفاده در سیستم­های RFID و شبکه­های حسگر بی­سیم

چكيده

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

در سال 2013 آژانس امنیت ملی آمریکا (NSA) یک خانواده­ی رمز بلوکی سبک وزن جدید به نام Speck را ارائه کرد که برای استفاده در محیط­های محدود بسیار مناسب است. متخصصان این سازمان هدف از ارائه این الگوریتم را پر کردن خلاِءهای امنیت، انعطاف پذیری، داشتن قابلیت تجزیه و تحلیل و جهت عملکرد خوب برای تمام طیف­ها در کاربردهای سبک وزن اعلام کردند. در این پایان نامه ما ضمن توصیف الگوریتم Speck، ابتدا آن را شبیه سازی کرده، سپس سخت افزار مناسب برای پیاده سازی این الگوریتم را با رویکرد سنتز دیجیتالی سطح بالا بدست می­آوریم.  نتایج پیاده­سازی الگوریتم بر روی FPGA در فصل چهارم پایان نامه آورده شده است. همچنین سه الگوریتم رمزنگاری بلوکی سبک وزن دیگر را نیز در پایان­نامه شبیه سازی و پیاده سازی کردیم که نتایج به دست آمده از آنها نیز در فصل چهارم ذکر شده است. نهایتا پایان نامه در فصل پنجم نتیجه گیری می شود.

كلمات كليدي

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

فهرست مطالب

چکیده ………………………………………………………………………………………………………………………………………18

فصل اول …………………………………………………………………………………………………………………………………..19

سیستم­های RFID و شبکه­های حسگر بی­سیم ……………………………………………………………………………….19

     1-1- مقدمه …………………………………………………………………………………………………………………………20

     1-2- تاریخچه RFID …………………………………………………………………………………………………………..20

     1-3- RFID چیست ……………………………………………………………………………………………………………..21

     1-4- اجزای یک سیستم RFID ……………………………………………………………………………………………………………..22

          1-4-1- برچسب ها ………………………………………………………………………………………………………..24

          1-4-2- کدخوان ……………………………………………………………………………………………………………28

          1-4-3- کنترل کننده ……………………………………………………………………………………………………….30

     1-5- RFID در برابر بارکد …………………………………………………………………………………………………….30

     1-6- کاربردهای سیستم RFID ……………………………………………………………………………………………………………..34

          1-6-1- کاربرد در مباحث پزشکی ……………………………………………………………………………………34

          1-6-2- کاربرد در مدیریت انبار ……………………………………………………………………………………….34

          1-6-3- کاربرد در صنعت حمل و نقل هوایی …………………………………………………………………….35

          1-6-4- کاربرد در ردیابی اموال ………………………………………………………………………………………..36

     1-7- فرکانس ها و استاندارد EPC …………………………………………………………………………………………36

     1-8- تهدیدهای معروف RFID ………………………………………………………………………………………………37

     1-9- شبکه های حسگر بی سیم ……………………………………………………………………………………………..38

          1-9-1- مقدمه ……………………………………………………………………………………………………………….38

          1-9-2- ساختار کلی شبکه های حسگر بی سیم ………………………………………………………………….39

          1-9-3- ویژگی های شبکه ……………………………………………………………………………………………….41

          1-9-4- کاربردهای شبکه…………………………………………………………………………………………………41

          1-9-5- اجزای شبکه ………………………………………………………………………………………………………43

فصل دوم……………………………………………………………………………………………………………………………………48

مبانی رمزنگاری …………………………………………………………………………………………………………………………48

     2-1- مقدمه …………………………………………………………………………………………………………………………49

     2-2- الگوریتم های رمزنگاری کلاسیک ………………………………………………………………………………….50

     2-3- رمزنگاری مدرن …………………………………………………………………………………………………………..51

          2-3-1- رمزنگاری جریانی ………………………………………………………………………………………………52

          2-3-2- رمزنگاری بلوکی ………………………………………………………………………………………………..52

     2-4- روش توزیع کلیدهای رمز ……………………………………………………………………………………………..53

          2-4-1- الگوریتم های رمزنگاری کلید عمومی ……………………………………………………………………53

          2-4-2- الگوریتم رمزنگاری دیفی-هلمن …………………………………………………………………………..54

          2-4-3- الگوریتم رمزنگاری کلید خصوصی ……………………………………………………………………….56

     2-5- مقایسه ی الگوریتم های متقارن و الگوریتم های کلید عمومی …………………………………………….57

     2-6- الگوریتم های تبادل کلید ……………………………………………………………………………………………….57

     2-7- الگوریتم RSA ……………………………………………………………………………………………………………………………….59

     2-8- الگوریتم AES ………………………………………………………………………………………………………………………………..61

          2-8-1- مرحله ی SubByte ……………………………………………………………………………………………………………62

          2-8-2- مرحله ی ShiftRows …………………………………………………………………………………………62

          2-8-3- مرحله ی MixColumns ……………………………………………………………………………………………………63

          2-8-4- مرحله ی AddRoundKey ………………………………………………………………………………….64

فصل سوم ………………………………………………………………………………………………………………………………….65

الگوریتم های رمزنگاری سبک وزن ……………………………………………………………………………………………..65

     3-1- مقدمه …………………………………………………………………………………………………………………………66

     3-2- الگوریتم های سازمان NSA …………………………………………………………………………………………..66

     3-3- خانواده ی رمز بلوکی Speck …………………………………………………………………………………………67

          3-3-1- تابع دور ……………………………………………………………………………………………………………67

          3-3-1- زمان بندی کلید ………………………………………………………………………………………………….70

     3-4- الگوریتم رمز بلوکی سبک وزن Klein …………………………………………………………………………….71

          3-4-1- مرحله ی تبدیل دور ……………………………………………………………………………………………72

          3-4-2- مرحله ی SubNibbles ……………………………………………………………………………………….72

          3-4-3- مرحله ی RotateNibbles ………………………………………………………………………………………………….72

          3-4-4- مرحله ی MixNibbles ……………………………………………………………………………………….73

          3-4-5- زمان بندی کلید ………………………………………………………………………………………………….73

     3-5- الگوریتم رمزنگاری سبک وزن Rectangle ………………………………………………………………………………….75

          3-5-1- توصیف الگوریتم ……………………………………………………………………………………………….75

          3-5-2- تبدیل دور …………………………………………………………………………………………………………76

          3-5-3- زمان بندی کلید ………………………………………………………………………………………………….77

          3-5-4- شبه کد الگوریتم …………………………………………………………………………………………………79

     3-6- الگوریتم رمزنگاری فوق سبک وزن Present ………………………………………………………………………………80

          3-6-1- توصیف الگوریتم ……………………………………………………………………………………………….80

          3-6-2- افزودن کلید دور …………………………………………………………………………………………………81

          3-6-3- جایگزینی S-box ……………………………………………………………………………………………………………….81

          3-6-4- لایه ی جایگردانی ………………………………………………………………………………………………82

          3-6-5- زمان بندی کلید ………………………………………………………………………………………………….83

فصل چهارم ………………………………………………………………………………………………………………………………84

شبیه سازی و پیاده سازی سخت افزاری ………………………………………………………………………………………..84

     4-1- مقدمه …………………………………………………………………………………………………………………………85

     4-2- مراحل کامل تولید چیپ های الکترونیکی …………………………………………………………………………85

     4-3- فازهای مختلف طراحی و سنتز مدار ………………………………………………………………………………..86

     4-4- نمودار Y …………………………………………………………………………………………………………………………………………88

     4-5- شبیه سازی و پیاده سازی سخت افزار الگوریتم Speck ……………………………………………………….89

     4-6- شبیه سازی و پیاده سازی سخت افزاری الگوریتم Klein ………………………………………………………………96

     4-7- شبیه سازی و پیاده سازی سخت افزاری الگوریتم Rectangle ……………………………………………………103

     4-8- شبیه سازی و پیاده سازی سخت افزاری الگوریتم رمزنگاری Present ……………………………………….109

فصل پنجم ………………………………………………………………………………………………………………………………116

نتیجه گیری و پیشنهادات …………………………………………………………………………………………………………..116

     5-1- نتیجه گیری ……………………………………………………………………………………………………………….117

     5-2- پیشنهادات …………………………………………………………………………………………………………………118

پیوست الف ……………………………………………………………………………………………………………………………..119

انجام چهار دور الگوریتم Speck به صورت دستی ………………………………………………………………………….120

پیوست ب ……………………………………………………………………………………………………………………………….124

یک نمونه متن رمز شده با الگوریتم Speck …………………………………………………………………………………………………..125

پیوست ج ………………………………………………………………………………………………………………………………..126

نتایج شبیه سازی و Cross Corellation در نرم افزار متلب ……………………………………………………………….127

واژه نامه …………………………………………………………………………………………………………………………………..130

مراجع ……………………………………………………………………………………………………………………………………..134

فهرست اشکال و جداول

شکل 1-1- ساختار کلی سیستم RFID ………………………………………………………………………………………………………..23

شکل 1-2- نمونه هایی از برچسب RFID …………………………………………………………………………………………………….24

شکل 1-3- نمونه هایی از کدخوان RFID ……………………………………………………………………………………………………..24

شکل 1-4- ساختار کلی شبکه های حسگر بی سیم …………………………………………………………………………40

شکل 1-5- ساختار کلی گره های حسگر بی سیم …………………………………………………………………………..41

شکل 2-1- مخترعان الگوریتم RSA ……………………………………………………………………………………………………………..59

شکل 2-2- رمزنگاری با استفاده از الگوریتم RSA ………………………………………………………………………………………..59

شکل 2-3- مرحله SubBytes الگوریتم AES ……………………………………………………………………………………………….61

شکل 2-4- مرحله ShiftRows الگوریتم AES ……………………………………………………………………………………………..62

شکل 2-5- مرحله MixColumns الگوریتم AES ………………………………………………………………………………………..63

شکل 2-6- مرحله AddRoundKey الگوریتم AES …………………………………………………………………………………….63

جدول 3-1- اندازه­های کلید و بلوک داده برای الگوریتم­های Simon و Speck ……………………………………………66

جدول 3-2- پارامترهای الگوریتم Speck ………………………………………………………………………………………………………67

شکل 3-1- تابع دور الگوریتم Speck …………………………………………………………………………………………………………….68

شکل 3-2- تابع دور الگوریتم Speck به صورت تجزیه فیستلی ………………………………………………………….68

شکل 3-3- گسترش کلید الگوریتم Speck با استفاده از تابع دور آن Ri ………………………………………………………..69

جدول 3-3- پارامترهای S-box الگوریتم Klein …………………………………………………………………………………………..71

شکل 3-4- مرحله­ی Rotate Nibbles الگوریتمKlein  ………………………………………………………………………………..72

شکل 3-5- زمان بندی کلید الگوریتم klein برای حالت 64 بیتی ………………………………………………………..73

شکل 3-6- روند مسیر داده برای الگوریتم Klein-64 ……………………………………………………………………………………74

جدول 3-4- پارامترهای S-box الگوریتم Rectangle به صورت هگزادسیمال ………………………………………76

شکل 3-7- نحوه اعمال S-box ها در الگوریتم Rectangle …………………………………………………………………………….76

شکل 3-8- روند مسیر داده برای الگوریتم Rectangle-80 ……………………………………………………………………………78

شکل 3-9- ثابت های دور برای الگوریتم Rectangle-80 …………………………………………………………………………….78

شکل 3-10- ساختار توصیفی سطح بالای الگوریتم Present ………………………………………………………………………..79

جدول 3-5- پارامترهای S-box الگوریتم Present ………………………………………………………………………………………….81

جدول 3-6- پارامترهای جایگردانی الگوریتم Present ………………………………………………………………………………………81

شکل 3-11- ساختار جایگزینی- جایگردانی الگوریتم Present ……………………………………………………………………..81

شکل 3-12- روند مسیر داده برای الگوریتم Present-64 ………………………………………………………………………………82

شکل 4-1- مراحل کامل تولید چیپ الکترونیکی ……………………………………………………………………………..85

شکل 4-2- سطوح مختلف طراحی مدار …………………………………………………………………………………………86

شکل 4-3- اصطلاحات اتوماسیون طراحی ……………………………………………………………………………………..87

شکل 4-4- فازهای مختلف توصیف طراحی مدار ……………………………………………………………………………88

شکل 4-5- نتایج شبیه سازی کد VHDL الگوریتم Speck …………………………………………………………………………..89

شکل 4-6- نتایج شبیه سازی کد Verilog الگوریتم Speck ………………………………………………………………………….89

شکل 4-7- فلوچارت ارائه شده برای اجرای الگوریتم Speck ………………………………………………………………………91

شکل 4-8- زمان بندی، تخصیص و مرتبط سازی با 7 گام کنترلی ……………………………………………………….92

شکل 4-9- زمان بندی، تخصیص و مرتبط سازی با 10 گام کنترلی ……………………………………………………..93

شکل 4-10- سخت افزار طراحی شده الگوریتم Speck ………………………………………………………………………………..94

شکل 4-11- توالی ساز الگوریتم Speck ……………………………………………………………………………………………………….94

جدول 4-1- پارامترهای توالی ساز الگوریتم Speck ……………………………………………………………………………………..95

جدول 4-2- منابع مصرفی حاصل از پیاده سازی الگوریتم Speck ………………………………………………………………..95

جدول 4-3- بردارهای آزمون الگوریتم Klein ………………………………………………………………………………………………96

شکل 4-12- نتایج شبیه سازی کد VHDL الگوریتم Klein ………………………………………………………………………….96

جدول 4-4- پارامترهای توالی ساز الگوریتم Klein ………………………………………………………………………………………98

شکل 4-13- زمان بندی، تخصیص و مرتبط سازی S-box الگوریتم Klein …………………………………………………99

شکل 4-14- توالی ساز الگوریتم Klein ………………………………………………………………………………………………………..99

شکل 4-15- سخت افزار مربوط به S-box الگوریتم Klein ……………………………………………………………………….100

شکل 4-16- دیاگرام بلوکی بخش پردازش اطلاعات الگوریتم Klein ………………………………………………………..100

شکل 4-17- زمان بندی، تخصیص و مرتبط سازی مربوط به مرحله ی MixNibbles ………………………………101

جدول 4-5- منابع مصرفی حاصل از پیاده سازی الگوریتم Klein ………………………………………………………………101

جدول 4-6- بردارهای آزمون الگوریتم Rectangle ……………………………………………………………………………………102

شکل 4-18- نتایج شبیه سازی کد VHDL الگوریتم Rectangle ……………………………………………………………….102

شکل 4-19- سخت افزار مربوط به S-box الگوریتم Rectangle ……………………………………………………………….104

شکل 4-20- زمان بندی، تخصیص و مرتبط سازی S-box الگوریتم Rectangle ………………………………………105

جدول 4-7- پارامترهای توالی ساز الگوریتم Rectangle ……………………………………………………………………………106

شکل 4-21- توالی ساز الگوریتم Rectangle ……………………………………………………………………………………………..106

جدول 4-8- منابع مصرفی حاصل از پیاده سازی الگوریتم Rectangle ………………………………………………………107

جدول 4-9- بردار آزمون الگوریتم Present-80 ………………………………………………………………………………………….108

شکل 4-22- نتایج شبیه سازی کد VHDL الگوریتم Present-80 ………………………………………………………………108

جدول 4-10- جدول درستی مربوط به S-box الگوریتم Present ………………………………………………………………110

شکل 4-23- زمان بندی، تخصیص و مرتبط سازی مربوط به S-box الگوریتم Present ……………………………110

شکل 4-24- طراحی سخت افزار مربوط به S-box الگوریتم Present ……………………………………………………….111

شکل 4-25- واحد توالی ساز مربوط به S-box الگوریتم Present ……………………………………………………………..111

جدول 4-11- پارامترهای واحد توالی ساز S-box الگوریتم Present …………………………………………………………112

جدول 4-12- منابع مصرفی حاصل از پیاده سازی الگوریتم Present …………………………………………………………112

شکل 4-26- زمان بندی، تخصیص و مرتبط سازی مربوط به بخش پردازش اطلاعات الگوریتم Present ……………………………………………………………………………………………………………………………………………………………………….113

جدول 4-13- مقایسه هزینه­های سخت افزاری پیاده سازی الگوریتم­های سبک وزن ارائه شده ………………114

شکل 1- پیوست ج – نتیجه Cross Corellation برای یک ورودی و خروجی ……………………………………126

شکل 2- پیوست ج – نتیجه Cross Corellation برای دو ورودی و خروجی ……………………………………..126

شکل 3- پیوست ج – نتیجه Cross Corellation برای سه ورودی و خروجی …………………………………….127

شکل 4- پیوست ج – نتیجه Cross Corellation برای چهار ورودی و خروجی ………………………………….127

شکل 5- پیوست ج – نتیجه Cross Corellation برای 32 ورودی و خروجی ……………………………………..128

شکل 6- پیوست ج – نتیجه Cross Corellation برای یک ورودی با ورودی ……………………………………..128

قبلا حساب کاربری ایجاد کرده اید؟
گذرواژه خود را فراموش کرده اید؟
Loading...
enemad-logo