FPGA Design and Implementation for Montgomery Multiplication Algorithm Using MATLAB HDL Coder
Listed in
This article is not in any list yet, why not save it to one of your lists.Abstract
Background: Modular multiplication for large numbers is very important in cryptography algorithms such as RSA and Elliptic curves. The Montgomery algorithm is the most famous and efficient one for calculating it. Hardware implementation for cryptography co-processors is better than software implementation in terms of speed and security. Many FPGA Designs for the Montgomery Multiplication algorithm was published based on hardware description languages like VERILOG and VHDL. This paper proposes the FPGA Design and implementation using MATLAB HDL Coder. Results: We modified the algorithm such that it can fit any small/Large FPGA by introducing scaling factor. The design is configurable in both modulus length and the scaling factor. This paper performs a comparison between the synthesizing results for different scales and for different modulus lengths. We synthesized up to 8K bit modulus length and we can increase it easily. In this paper we can implement different modulus lengths with different frequencies and with different area utilization. The design utilizes different area resources for each configuration. The target is xc7vx330t-2ffg1157 Virtex-7 Xilinx FPGA. The maximum frequency is 80.81MHz for 4K bit modulus length with 8-bit data width and 2 serialization factor. The minimum area utilization is achieved for minimum configurations i.e. 1kbit modulus length with 8-bit data width and for unity serialization factor. Conclusions: In this paper, we propose an efficient and configurable FPGA Design for Montgomery Multiplication Co-processor based HDL coder design.