A Software-based Comparison and Implementation of RSA, ECC and NTRU Public-Key Cryptography

  • 格式:pdf
  • 大小:6.86 KB
  • 文档页数:2

A Software-based Comparison and Implementation of RSA, ECC and
NTRU Public-Key Cryptography Algorithms
Project Specification
Students:
Bill Thomson
Rodney D’Souza
The primary goal of this project is to perform a software-implemented comparative study of public key software implementations. The algorithms to be studied and compared are RSA, ECC and NTRU. We will either find or implement these algorithms in Java and/or C/C++ in order to perform software tests so that we may gain insight into the relative performance of each algorithm and its associative parameters. Public domain implementations of RSA are readily available. A number of sources have been uncovered for ECC implementations. Free NTRU implementations do not seem to be available at this time. Therefore our project will include attempting at least one implementation of the NTRU algorithm.
Software based tests will be performed to yield an overall analysis of key generation, message encryption and decryption. Implementations will be in Java and executable in the Windows environment. JDK/SDK version 1.3 will be used since it is the most recent version of the Java Runtime Environment. However, it will be portable to J++ as well.
Test vectors will be obtained from the IEEE 1363 and related sites. A time line with relative milestones will be created and followed to help assure timely completion of various steps of coding, implementation and testing. We hope to have a psuedo-code implementation of NTRU done by the first informal review and have implemented it in at least one language (Java or C/C++) by the 2nd informal review. In parallel to this, we will decide upon the fastest implementations for RSA and ECC among the public domain libraries we have found.
We will use benchmarks and metrics that include key size for comparable security levels, message size after encryption, key generation times, encryption time, and decryption time. Each algorithm will be tested for performing the following functions using ordinary but large files.
1.Generation of private and public keys
2.Encryption using public/private keys
3.Decryption using public/private keys
Possible areas of contention that may come into play and cause us to deviate from the specification during the course of the project may center around developing working algorithms for NTRU since it is difficult to obtain information on this algorithm, relative to other established algorithms. Also it may become difficult to yield valid and meaningful conclusions regarding performance differences between comparable but differing algorithms. Lastly, completing the functionality tests/benchmarks within the constructs of the project may present issues of concern depending on success at various stages of implementation.
References:
1. Bailey et al., NTRU in Constrained Devices.
2. Hoffstein et al., NTRU: A Ring-Based Public Key Cryptosystem, Appendix to U.S. Patent 6,081,597.
3. “The Past 15 Years of Public Key Cryptography”, S. Vanstone, Slide Presentation, ECC 2000, Oct. 2000.
4. J. Hoffstein, D. Lieman, J.H. Silverman, Polynomial Rings and Efficient Public Key Authentication, NTRU.
5. Karu and Loikkanen, Practical Comparison of Fast Public-key Cryptosystems, 2000.
6. Silverman, The NTRU Public Key Cryptosystem, Operating Characteristics and Comparison with RSA, ElGamel, and ECC Cryptosystems, pages 1-5, NTRU 1999,
/technology/tutorials/operatingchar.htm.
7. The Elliptic Curve Cryptosystem: Remarks on the Security of the Elliptic Curve Cryptosystem, Certicom 1997, .
8. The Elliptic Curve Cryptosystem: Current Public Key Cryptographic Systems, Certicom 2000,
.
9. The Elliptic Curve Cryptosystem: Remarks on the Security of the Elliptic Curve Cryptosystem, Certicom 1997, .
10. /groups/1363/P1363/index.html
11. ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa/
12. http://www.kisa.or.kr/technology/sub1/index-PKC.htm
13. /~weidai/cryptlib.html
14. /~weidai/benchmarks.html
15. rmatik.tu-darmstadt.de/TI/Forschung/cdcProvider/overview.html
16. Schneier, Applied Cryptography, 2nd Ed.。