تسریع زمان اجرای الگوریتم رمزنگاری پساکوانتوم Crystals-Kyber روی FPGA

  • سال انتشار: 1401
  • محل انتشار: فصلنامه پدافند الکترونیکی و سایبری، دوره: 10، شماره: 4
  • کد COI اختصاصی: JR_PADSA-10-4_011
  • زبان مقاله: فارسی
  • تعداد مشاهده: 217
دانلود فایل این مقاله

نویسندگان

محمد غفاری

دانشجوی کارشناسی ارشد، دانشگاه بوعلی سینا، همدان، ایران

حاتم عبدلی

استادیار، دانشگاه بوعلی سینا، همدان، ایران

مهدی عباسی

دانشیار، دانشگاه بوعلی همدان، همدان، ایران

چکیده

کامپیوترهای کوانتومی توان محاسباتی خیلی بیشتری نسبت به کامپیوترهای کلاسیک دارند و این مسئله باعث ایجاد چالش در حوزه رمزنگاری کلید عمومی شده است، به طوری که پیش بینی می شود در آینده کامپیوترهای کوانتومی به اندازه ای قدرتمند شوند که بتوانند الگوریتم های رمزنگاری کلید عمومی را بشکنند. به منظور حل این مشکل NIST یک فراخوانی را برای رمزنگاری پساکوانتوم منتشر کرد. یکی از الگوریتم های راه یافته به دور سوم، الگوریتم CRYSTALS-KYBER است. در این الگوریتم با بهینه سازی واحد NTT می توان زمان اجرا را کاهش داد. در حالت عادی پیاده سازی NTT، با پایه دو صورت گرفته ولی در روش پیشنهادی از پایه چهار استفاده شده است و این امر باعث کاهش زمان اجرا شده است. برای پیاده سازی NTT با پایه چهار و متناسب با الگوریتم Kyber، لازم است تغییراتی در NTT رخ دهد. در ادامه واحد پروانه پایه دو با واحد پروانه پایه چهار مقایسه شده است. در واحد حافظه به منظور افزایش سرعت خواندن و نوشتن از هشت RAM استفاده شده که چهار عدد از آنها برای نوشتن و چهار عدد باقیمانده برای خواندن همزمان است. در بخش تولید آدرس، پیشتر آدرس ها به صورت دوتایی تولید می شد ولی در روش پیشنهادی به صورت چهارتایی تولید می شود و همچنین لازم است در پارامترهای NTT اصلاحاتی انجام شود که برای پیاده سازی روی Kyber مناسب باشد. در ادامه، روش پیشنهادی روی دو تراشه FPGA، Artix-۷ و Virtex-۷ با استفاده از نرم افزار Vivado پیاده سازی شده است که در ازای افزایش جزیی منابع موردنیاز، زمان اجرا در Artix-۷ در مقایسه با پیاده سازی های مشابه ۲۸.۷۴ درصد و ۱۲.۳۴ درصد کاهش یافته است.

کلیدواژه ها

رمزنگاری پساکوانتوم, Crystals-Kyber, NTT, پایه چهار, ضرب چند جمله ای, پیاده سازی سخت افزاری

اطلاعات بیشتر در مورد COI

COI مخفف عبارت CIVILICA Object Identifier به معنی شناسه سیویلیکا برای اسناد است. COI کدی است که مطابق محل انتشار، به مقالات کنفرانسها و ژورنالهای داخل کشور به هنگام نمایه سازی بر روی پایگاه استنادی سیویلیکا اختصاص می یابد.

کد COI به مفهوم کد ملی اسناد نمایه شده در سیویلیکا است و کدی یکتا و ثابت است و به همین دلیل همواره قابلیت استناد و پیگیری دارد.