پایان نامه كارشناسی ارشد معماری كامپیوتر

پیاده سازی روشهای رمزنگاری RNS و مقایسه آنها با هم

 
چكیده:
هدف از این پروژه مقایسه چهارطرح ضرب كننده RNS می باشد. بدین منظور با بهره گیری از پیاده سازی این چهار طرح با نرم افزار VHDL به مقایسه آنها می‌پردازیم. RNS یك روش نمایش اعداد است كه در آن هر عدد به وسیله باقی مانده‌های تقسیم آن بر مجموعه ای از اعداد دو به دو نسبت به هم اول نمایش داده می شود.با كمك قضیه باقی مانده چینی، اثبات می شود كه در RNS نمایش هر عدد منحصر به فرد می باشد برای ضرب در RNS نیاز به ضرب پیمانه ای خواهد بود. روشهای ضرب پیمانه ای برحسب اینكه كاهش به پیمانه، در كدام مرحله ضرب انجام گیرد. به دو دسته «كاهش در حین ضرب (RDM)» و «كاهش بعد از ضرب (RAM)» تقسیم می شوند. دو طرح اول این پروژه با تكنیك RAM و دو طرح دوم با تكنیك RDM كار می‌كنند.
 
 
کلمات کلیدی:

علم رمزنگاری

ضرب پیمانه ای

ضرب كننده RNS

الگوریتم مونتگمری

روش رمزنگاری RSA

 
 
مقدمه
همانطور كه می دانیم ضرب پیمانه ای در علم رمزنگاری نقش مهمی ایفا می كند. از جمله روشهای رمزنگاری كه به ضرب كننده پیمانه ای سریع نیاز دارد، روش رمزنگاری RSA می باشد كه در آن نیاز به توان رساندن اعداد بزرگ در پیمانه های بزرگ می باشد. معمولاً برای نمایش اعداد در این حالات از سیستم باقی مانده (RNS) استفاده می شود و ضرب (به عنوان هسته توان رسانی) در این سیستم به كار می رود.در اینجا برای آشنایی بیشتر به توضیح سیستم عددی باقی مانده می پردازیم و به كاربردها و فواید آن اشاراتی خواهیم داشت.
 
 
 
 
 
 
 
فهرست مطالب
1- مقدمه 1

1-1 سیستم عددی باقیمانده 1

1-2 قضیه باقی مانده های چینی 2
1-3 كاربردهای RNS 3

2- روشهای ضرب پیمانه ای 5

2-1 روش مونتگمری 5

2-2 بررسی اجمالی روشهای موجود پیاده سازی ضرب در RNS 6

2-3 نكاتی پیرامون چهار طرح مورد نظر 7
3- طرح اول 8
3-1 مقدمه 8
3-2 بررسی سوابق 8
3-3 الگوریتم 9
3-4 پیاده سازی سخت افزاری 10
3-5 محاسبه پیچیدگی مساحت و تأخیر طرح اول 13
4- طرح دوم 15
4-1 مقدمه 15
4-2 بررسی سوابق 15
4-3 الگوریتم 15
4-4 پیاده سازی سخت افزاری 18
4-5 محاسبه پیچیدگی مساحت و تأخیر طرح دوم 20
5- طرح سوم 21
5-1 تبدیل سیستم RNS (Residue Conversion) 28
5-2 پیاده سازی سخت افزاری 30
5-2-1 پیاده سازی تبدیل RNS 31

5-2-2 پیاده سازی بخش اصلی الگوریتم (الگوریتم مونتگمری با RNS) 34

5-3- محاسبه پیچیدگی مساحت و تأخیر طرح سوم 36
5-3-1 عناصر وابسته به ROM 36
5-3-2 عناصر ریاضی 36

5-3-3 تأخیر و مساحت تبدیل كننده RNS استاندارد 37

5-3-4 محاسبه مساحت و تأخیر تبدیل كننده RNS سریع 44
5-3-5 مساحت و تأخیر طرح سوم 50
5-4 نتایج پیاده سازی در طرح سوم 56
6- طرح چهارم 58

6-1 بیان مقاله در مورد سیستم RNS 59

6-2 بیان مقاله از ضرب پیمانه ای بدون تقسیم (روش مونتگمری) 60
6-3 بررسی صحت الگوریتم 62
6-4 روش تبدیل RNS 66
6-5 پیاده سازی سخت افزاری 67
6-5-1 تبدیل RNS ناقص 68
6-5-2 پیاده سازی بخش اصلی طرح چهارم (الگوریتم مونتگمری) 68
6-6 محاسبه پیچیدگی تأخیر و مساحت طرح چهارم 70

6-6-1 محاسبه تأخیر و مساحت تبدیل RNSناقص 70

6-6-2 محاسبه تأخیر و مساحت در طرح چهارم 72
6-7 نتایج شبیه سازی در طرج چهارم 80
7- مقایسه  طرح ها وجمع بندی 81
7-1- مقایسه چهار طرح 81
7-2- جمع بندی 98
8- مراجع
9- ضمائم
MOMA