Font Size: a A A

The Research And Design Of ECC Encryption Algorithm Base On FPGA

Posted on:2017-02-18Degree:MasterType:Thesis
Country:ChinaCandidate:J J ChenFull Text:PDF
GTID:2308330491952352Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
Currently encryption technology widely used by business circles is based on large integer factorization problem of RSA (Rivest Shamir Adleman) public-key cryptography technology.Due to the presence of sub-indices attack, RSA can raise the encryption strength only by increasing the key length with the enhanced of computer’s calculate ability-Elliptic Curve Cryptography(ECC) system is a new public key cryptography system based on the group of the elliptic curve, the latest research shows that the encryption strength of 220-bit ECC encryption is higher than the encryption strength of 2048-bit RSA encryption.ECC is based on ECDLP, compared with large integer factorization problem (RSA), ECC have advantages of shorter key, higher security, faster operation and less storage space, etc.Software and hardware both can achieve ECC cryptographic algorithm, the speed and security level of software encryption is difficult to meet the requirements of information security, the speed and security level of hardware encryption is significantly higher than software, Although it can meet the requirements of information security, but its cost is too high.This paper uses hardware and software co-design approach to achieve ECC encryption and decryption algorithms.This paper choose the elliptic curve of the finite prime field as research object, First we combine the features of hardware&software design to analyse ECC encryption and decryption algorithms, then divide hardware modules and software modules reasonably.Then this paper focus on researching the algorithms using by hardware modules, also improves the algorithms of theory, and combines with the hardware resources of selected FPGA device to design hardware circuits which speed and area is balanced.The performance of point multiplication algorithm determines the performance of ECC encryption&decryption algorithms,This paper presents a point multiplication parallel operating algorithm after deeply analyse several common point multiplication algorithms, this algorithm supports point addition and point doubling operating simultaneously.This paper deeply study the data stream’s characteristics of point addition algorithm and point doubling algorithm in Jacobian projective coordinates, then design a point addition parallel operating algorithms and point doubling parallel operating algorithm, this algorithm supports modular multiplication and modular addition/subtraction operating simultaneously.This paper is based on improved algorithm to design point multiplication module,the module requires 138,612 clock cycles to complete point multiplication operation of 256-bit key length. To compare with the read papers, this paper’s clock cycle numbers of the point multiplication module operating is minimum.Lastly, this paper has completed board-level test of the FPGA hardware circuit by Signal Tap Ⅱ Logic Analyzer, consequently verify the correctness of the FPGA hardware circuit function. This paper has completed the function testing, performance testing and reliability testing of ECC encryption algorithm by the PC test program.The test results shows:the functions of the achieved ECC encryption algorithm in this paper is correct, it can work normally for a long time, the test of performance and reliability achieve the desired goals.The performance of the point multiplication algorithm is 489.8 times/s, the performance of the ECC encryption algorithm is 219.87 times/s, the performance of the ECC decryption algorithm is 402.23 times/s. To do 20 million groups random plaintext encryption and decryption operations continuously, which results are entirely correct, and the operating temperature of FPGA chip is normal.
Keywords/Search Tags:ECC, FPGA, Hardware and software co-design, Point multiplication algorithm, Finite prime field
PDF Full Text Request
Related items