tailieunhanh - The NTRU Cryptosystem

The NTRU cryptosystem is a relatively new public key cryptographic algorithm that was first introduced in 1996. The main advantage of this algorithm is that it runs much faster than conventional public key algorithms such as RSA. | The NTRU Cryptosystem Implementation and Comparative Analysis Semester Project ECE 646 Fall 2001 Professor Kris Gaj George Mason University Author Rodney D Souza Abstract The NTRU cryptosystem is a relatively new public key cryptographic algorithm that was first introduced in 1996. The main advantage of this algorithm is that it runs much faster than conventional public key algorithms such as RSA. This speed advantage is especially large in key generation which is often the most important part of public key cryptography. This paper introduces the ideas behind NTRU and presents results from a implementation in Java. The results include a comparison with RSA in terms of key generation encryption and decryption speeds. 1. Introduction Public key PK cryptography also known as asymmetric cryptography is more often used today in the areas of key exchange and digital signatures than in encryption and decryption of large amounts of data. Perhaps the main reason why today s PK systems such as RSA are not used for bulk encryption decryption is that they are orders of magnitude slower than symmetric key systems. Nonetheless key exchange and digital signature are applications that are very important and are currently best performed by a Public Key Infrastructure PKI . Since the introduction of RSA in 1977 it has been the only widely used public key encryption algorithm. In the mid-to-late 1980s Elliptic Curve Cryptography ECC was introduced and has since been slowly gaining acceptance. It has recently also begun to be standardized. Other algorithms such as ElGamel and braid systems have also enjoyed limited success. The subject of this paper the NTRU algorithm is a proprietary algorithm patented by NTRU Cryptosystems which claims to dramatically reduce one of the big problems in PK cryptography namely speed. For this project the algorithm was implemented in Java and compared to RSA on the basis of speed of three operations key generation encryption and decryption. The rest of