بهبود کارایی سخت افزار الگوریتم های رمزنگاری پساکوانتوم

بهبود کارایی سخت افزار الگوریتم های رمزنگاری پساکوانتوم


بهبود کارایی سخت افزار الگوریتم های رمزنگاری پساکوانتوم

نوع: Type: پایان نامه

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

عنوان: Title: بهبود کارایی سخت افزار الگوریتم های رمزنگاری پساکوانتوم

ارائه دهنده: Provider: محمد غفاری هزاوه

اساتید راهنما: Supervisors: دکتر حاتم عبدلی

اساتید مشاور: Advisory Professors:

اساتید ممتحن یا داور: Examining professors or referees: دکتر مهدی عباسی و دکتر عباس رمضانی

زمان و تاریخ ارائه: Time and date of presentation: 1401/4/7 10:00

مکان ارائه: Place of presentation: آمفی تئاتر

چکیده: Abstract: کامپیوترهای کوانتومی به علت بهره¬گیری از خاصیت¬های فیزیک کوانتوم، توان محاسباتی خیلی بیشتری نسبت به کامپیوترهای کلاسیک دارند و این مسئله باعث ایجاد چالش در حوزه رمزنگاری کلید عمومی شده¬است، به طوری که پیش¬بینی می¬شود حدودا تا سال 2030 کامپیوترهای کوانتومی به اندازه¬ای قدرتمند شوند که بتوانند الگوریتم¬های رمزنگاری کلید عمومی را بشکنند. به منظور حل این مشکل NIST فراخوانی را برای رمزنگاری پساکوانتوم منتشر کرد و تعدادی از این الگوریتم¬ها به دور سوم این رقابت صعود کردند. پیاده¬سازی این الگوریتم¬ها با چالش¬هایی مانند زمان اجرا و منابع مورد نیاز روبه¬رو است و برای بهبود پیاده¬سازی شان از روش¬های مختلفی مانند تغییر در بخش محاسباتی یا به¬کارگیری تکنیک¬هایی در سطح معماری کامپیوتر، استفاده شده¬است. یکی از الگوریتم¬های راه یافته به دور سوم، الگوریتم CRYSTALS-KYBER است در این الگوریتم با بهینه¬سازی واحد NTT می¬توان زمان اجرا را کاهش داد. در حالت عادی پیاده¬سازی NTT با مبنای دو صورت گرفته ولی در روش پیشنهادی از مبنای چهار استفاده شده¬است و این امر باعث کاهش زمان اجرا شده¬است. برای پیاده¬سازی NTT مبنای چهار مناسب Kyber لازم است تغییراتی در NTT رخ دهد. برای پیاده¬سازی NTT از DIT و برای پیاده¬سازی INTT از DIF استفاده می¬شود. در فرمول NTT و INTT تغییراتی در twiddle factor ها داده شده و مقادیر twiddle factor ها در ROM ذخیره شده¬است. در ادامه واحد پروانه مبنای دو با واحد پروانه مبنای چهار مقایسه شده¬است. در ادامه با استفاده دوباره از مقادیر در واحد پروانه CT و GS تعداد ضرب¬ها از پنج به چهار، تعداد تفریق¬ها از شش به چهار و تعداد جمع¬ها از شش به چهار کاهش یافته است و به نحوه ساختار واحد پروانه مبنای چهار اشاره شده¬است. در واحد حافظه به منظور افزایش سرعت خواندن و نوشتن از هشت RAM استفاده شده که چهار عدد از آنها برای نوشتن و چهارتای باقیمانده برای خواندن است. در بخش تولید آدرس، پیشتر آدرسها به صورت دوتایی تولید می شد ولی در روش پیشنهادی به صورت چهارتایی تولید می شود و هم چنین لازم است در پارامترهای NTT اصلاحاتی انجام شود که برای پیاده سازی روی Kyber مناسب باشد. در ادامه، روش پیشنهادی را روی دو FPGA Artix-7 و Virtex-7 با استفاده از نرم افزار Vivado پیاده سازی کردیم که در ازای افزایش جزیی منابع موردنیاز، زمان اجرا بسیار کاهش یافته است.

فایل: ّFile: