همانطور كه می دانیم ضرب پیمانه ای در علم رمزنگاری نقش مهمی ایفا می كند. از جمله روشهای رمزنگاری كه به ضرب كننده پیمانه ای سریع نیاز دارد، روش رمزنگاری RSA می باشد كه در آن نیاز به توان رساندن اعداد بزرگ در پیمانه های بزرگ می باشد. معمولاً برای نمایش اعداد در این حالات از سیستم باقی مانده (RNS) استفاده می شود و ضرب (به عنوان هسته توان رسانی) در این سیستم به كار می رود.
در اینجا برای آشنایی بیشتر به توضیح سیستم عددی باقی مانده می پردازیم و به كاربردها و فواید آن اشاراتی خواهیم داشت.
– كاربردهای RNS
سیستم عددی باقی مانده در چند دهه اخیر مورد توجه قرار گرفته، زیرا می توان بعضی از اعمال ریاضی را تحت RNS به صورت چند مجموعه زیر عمل ریاضی تقسیم كرد. ولی به دلیل اینكه این اعمال فقط شامل ضرب، جمع و تفریق هستند از RNS در محاسبات “خاص منظوره” استفاده می شود. RNS در پیاده سازی سریع مسائلی كه شامل تصحیح و تشخیص خطا در سیستم های Fault-tolerant و سیستمهای پردازش سیگنال هستند كاربرد دارد. كاربردهایی از قبیل تبدیل فوریه سریع، فیلتر دیجیتال و پردازش تصویر از اعمال
ریاضی سریع RNS استفاده می كند. RNS راه خود را در كاربردهایی مثل تبدیلات تئوری اعداد و تبدیل فوریه گسسته پیدا كرده است. همچنین مستقل بودن رقم های باقیمانده باعث می شود كه رخ دادن خطا در یك رقم به رقم های بعدی منتقل نشوند كه این مسأله، باعث ایجاد یك معماری Fault-tolerant خواهد شد. [35],[20]
سیستم عددی RNS در رمزنگاری و به خصوص در روش RSA كاربرد زیادی دارد[35]. البته در RSA از ضرب پیمانه ای جهت عملیات توان رسانی استفاده میشود.
در این پروژه سعی می شود كه چهار طرح از رویكردهای ضرب RNS را پیادهسازی و با هم مورد مقایسه قرار دهیم. این مقایسه براساس حجم و تاخیر طرح ها میباشد. در پیاده سازی سعی شده است كه از پیشنهادات مقالات جهت عناصر بكار رفته استفاده شود (بخصوص در دو طرح اول) و در مواقعی كه پیشنهاد خاصی انجام نشده (مثل طرح های سوم و چهارم) پیشنهاد مناسب از لحاظ خود من انجام شده است.
در ادامه ابتدا به اصول ضرب RNS و روشهای بكار رفته برای اینكار اشاره میكنیم. سپس هر یك از چهار طرح را به تفصیل مورد بررسی قرار می دهیم و در مورد هر طرح، الگوریتم و سخت افزار بیان خواهد شد و سپس تاخیر و مساحت آن را تعیین می كنیم. در نهایت جمع بندی و مقایسه چهار طرح را انجام می دهیم. در ضمایم نیز كدهای VHDL نوشته شده را خواهید یافت.
2- روشهای ضرب پیمانه ای
این روشها را می توان به دو دسته كلی تقسیم كرد. در دسته اول ابتدا عمل ضرب به صورت كامل انجام می شود و سپس كاهش به پیمانه روی نتیجه آخر اعمال می شود. این روشها را Reduction After Multiplication (RAM) می نامند. در دسته دوم عمل كاهش به پیمانه در هر مرحله ضرب و با هر حاصلضرب جزئی انجام می شود كه به این روشها Reduction During Multiplication (RDM) می گویند[38]. از میان طرحهای مورد نظر ما دو طرح اول به دسته اول و دو طرح بعدی به دسته دوم تعلق دارند.
– روش مونتگمری
در روش RDM چون روش كاهش به پیمانه به دفعات تكرار می شود باید این عمل را سرعت بخشید. یكی از تكنیك های پر طرفدار برای اینكار كه در طرحهای ما نیز به كار رفته روش مونتگمری [2] در كاهش پیمانه است.
متن کامل را می توانید دانلود نمائید
چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است
فرم در حال بارگذاری ...