پدافند الکترونیکی و سایبری (Jan 2023)
تسریع زمان اجرای الگوریتم رمزنگاری پساکوانتوم Crystals-Kyber روی FPGA
Abstract
کامپیوترهای کوانتومی توان محاسباتی خیلی بیشتری نسبت به کامپیوترهای کلاسیک دارند و این مسئله باعث ایجاد چالش در حوزه رمزنگاری کلید عمومی شده است، به طوری که پیشبینی میشود در آینده کامپیوترهای کوانتومی به اندازهای قدرتمند شوند که بتوانند الگوریتمهای رمزنگاری کلید عمومی را بشکنند. به منظور حل این مشکل NIST یک فراخوانی را برای رمزنگاری پساکوانتوم منتشر کرد. یکی از الگوریتمهای راه یافته به دور سوم، الگوریتم CRYSTALS-KYBER است. در این الگوریتم با بهینهسازی واحد NTT میتوان زمان اجرا را کاهش داد. در حالت عادی پیادهسازی NTT، با پایه دو صورت گرفته ولی در روش پیشنهادی از پایه چهار استفاده شدهاست و این امر باعث کاهش زمان اجرا شدهاست. برای پیادهسازی NTT با پایه چهار و متناسب با الگوریتم Kyber، لازم است تغییراتی در NTT رخ دهد. در ادامه واحد پروانه پایه دو با واحد پروانه پایه چهار مقایسه شدهاست. در واحد حافظه به منظور افزایش سرعت خواندن و نوشتن از هشت RAM استفاده شده که چهار عدد از آنها برای نوشتن و چهار عدد باقیمانده برای خواندن همزمان است. در بخش تولید آدرس، پیشتر آدرسها به صورت دوتایی تولید میشد ولی در روش پیشنهادی به صورت چهارتایی تولید میشود و همچنین لازم است در پارامترهای NTT اصلاحاتی انجام شود که برای پیادهسازی روی Kyber مناسب باشد. در ادامه، روش پیشنهادی روی دو تراشه FPGA، Artix-7 و Virtex-7 با استفاده از نرم افزار Vivado پیادهسازی شده است که در ازای افزایش جزیی منابع موردنیاز، زمان اجرا در Artix-7 در مقایسه با پیادهسازیهای مشابه 28.74 درصد و 12.34 درصد کاهش یافتهاست.