|
|
تسریع زمان اجرای الگوریتم رمزنگاری پساکوانتوم crystals-kyber روی fpga
|
|
|
|
|
نویسنده
|
غفاری محمد ,عبدلی حاتم ,عباسی مهدی
|
منبع
|
پدافند الكترونيكي و سايبري - 1401 - دوره : 10 - شماره : 4 - صفحه:101 -110
|
چکیده
|
کامپیوترهای کوانتومی توان محاسباتی خیلی بیشتری نسبت به کامپیوترهای کلاسیک دارند و این مسئله باعث ایجاد چالش در حوزه رمزنگاری کلید عمومی شده است، به طوری که پیشبینی میشود در آینده کامپیوترهای کوانتومی به اندازهای قدرتمند شوند که بتوانند الگوریتمهای رمزنگاری کلید عمومی را بشکنند. به منظور حل این مشکل nist یک فراخوانی را برای رمزنگاری پساکوانتوم منتشر کرد. یکی از الگوریتمهای راه یافته به دور سوم، الگوریتم crystals kyber است. در این الگوریتم با بهینهسازی واحد ntt میتوان زمان اجرا را کاهش داد. در حالت عادی پیادهسازی ntt، با پایه دو صورت گرفته ولی در روش پیشنهادی از پایه چهار استفاده شدهاست و این امر باعث کاهش زمان اجرا شدهاست. برای پیادهسازی ntt با پایه چهار و متناسب با الگوریتم kyber، لازم است تغییراتی در ntt رخ دهد. در ادامه واحد پروانه پایه دو با واحد پروانه پایه چهار مقایسه شدهاست. در واحد حافظه به منظور افزایش سرعت خواندن و نوشتن از هشت ram استفاده شده که چهار عدد از آنها برای نوشتن و چهار عدد باقیمانده برای خواندن همزمان است. در بخش تولید آدرس، پیشتر آدرسها به صورت دوتایی تولید میشد ولی در روش پیشنهادی به صورت چهارتایی تولید میشود و همچنین لازم است در پارامترهای ntt اصلاحاتی انجام شود که برای پیادهسازی روی kyber مناسب باشد. در ادامه، روش پیشنهادی روی دو تراشه fpga، artix 7 و virtex 7 با استفاده از نرم افزار vivado پیادهسازی شده است که در ازای افزایش جزیی منابع موردنیاز، زمان اجرا در artix 7 در مقایسه با پیادهسازیهای مشابه 28.74 درصد و 12.34 درصد کاهش یافتهاست.
|
کلیدواژه
|
رمزنگاری پساکوانتوم، پایه چهار، ضرب چند جمله ای، پیاده سازی سخت افزاری، crystals-kyber ,ntt
|
آدرس
|
دانشگاه بوعلی سینا, ایران, دانشگاه بوعلی سینا, ایران, دانشگاه بوعلی سینا, ایران
|
پست الکترونیکی
|
abbasi@basu.ac.ir
|
|
|
|
|
|
|
|
|
speeding up the execution-time of crystals-kyber pqc algorithm on fpga
|
|
|
Authors
|
ghafari m ,abdoli hatam ,abbasi m
|
Abstract
|
quantum computers have much more computing power than classical computers and this has created a challenge in the field of public key cryptography algorithms, which is predicted quantum computers will reach the computational power to break existing public key cryptography algorithms by 2030. to solve this problem, nist published a call for post quantum cryptography algorithms. implementing these algorithms faces challenges such as execution time and resources. one of the algorithms that made it to the third round is the crystals kyber algorithm. in this algorithm, by optimizing the ntt module, the execution time is reduced. usually, the implementation of ntt is created with radix 2, but in the proposed method, radix 4 is used, and this reduces the execution time. changes to ntt are required to implement radix 4 ntt. dit is used to implement ntt and dif is used to implement intt. in ntt and intt formulas changes are made to the twiddle factors and the values of the twiddle factors stored to the rom. in the following, we compared radix 4 butterfly unit with radix 2 butterfly unit. by reusing results in ct and gs butterfly units, we need four multiplications, additions, and subtractions, and the structure of radix 4 butterfly unit is mentioned. the memory unit uses eight rams to increase read and write speeds, four of which are for writing and the remaining four are for reading. it is also necessary to make corrections to the ntt parameters which are suitable for implementation on kyber. next, we implemented the proposed method on two fpga artix 7 and virtex 7 using vivado software. in the implementation on artix 7 and virtex 7 in exchange for a slight increase in the resources, the execution time in artix 7 is reduced by 28.74% and 12.34% compared to similar implementations.
|
Keywords
|
crystals-kyber ,ntt
|
|
|
|
|
|
|
|
|
|
|