The introduction of public-key cryptography by Diffie and Hellman in 1976 was an important watershed in the history of cryptography. The work sparked off interest in the cryptographic research community and soon several public-key schemes were proposed and implemented. The Rivest, Shamir and Adleman (RSA), being the first realisation of this abstract model, is the most widely used public-key scheme today. However, increased processing power and availability of cheaper processing technology occasioned by the exponential growth in digital technology has generated some security concerns, necessitating the review of security parameters for enhanced security. Enhanced processing power requirement does not favour the present class of ubiquitous mobile devices that are characterised by low power consumption, limited memory and bandwidth as they may not be able to run this cryptographic algorithm due to computational burden associated with long key lengths. And since future increase in key lengths looks likely given the current technological developments, Elliptic Curve Cryptography (ECC) has been proposed as an alternative cryptosystem because it satisfies both security requirements and efficiency with shorter key lengths. This research work focuses on the comparative analysis of RSA Encryption algorithm, ElGamal Elliptic Curve Encryption algorithm and Menezes-Vanstone Elliptic Curve Encryption algorithm. These elliptic curve analogues of ElGamal Encryption scheme were implemented in Java, using classes from the Flexiprovider library of ECC. The RSA algorithm used in the comparison is the Flexiprovider implementation. Performance evaluation on the three algorithms based on the time lapse for their Key generation, encryption and decryption algorithms, and encrypted data size was carried out and compared. The results show that our elliptic curve-based implementations are more superior to the RSA algorithm on all comparative parameters.
[1]
Alfred Menezes,et al.
Software Implementation of the NIST Elliptic Curves Over Prime Fields
,
2001,
CT-RSA.
[2]
William Stallings,et al.
Cryptography and network security - principles and practice (3. ed.)
,
2014
.
[3]
John Cowell.
Why Use Java
,
1997
.
[4]
Kefa Rabah.
Elliptic Curve ElGamal Encryption and Signature Schemes
,
2005
.
[5]
Kefa Rabah.
Implementation of Elliptic Curve Diffie-Hellman and EC Encryption Schemes
,
2005
.
[6]
Kefa Rabah,et al.
Implementing Secure RSA Cryptosystems Using Your Own Cryptographic JCE Provider
,
2006
.
[7]
尚弘 島影.
National Institute of Standards and Technologyにおける超伝導研究及び生活
,
2001
.
[8]
Kefa Rabah,et al.
Theory and Implementation of Elliptic Curve Cryptography
,
2005
.
[9]
N. Koblitz.
Elliptic curve cryptosystems
,
1987
.
[10]
Wade Trappe,et al.
Introduction to Cryptography with Coding Theory
,
2002
.
[11]
Whitfield Diffie,et al.
New Directions in Cryptography
,
1976,
IEEE Trans. Inf. Theory.
[12]
Zoltán Ádám Mann,et al.
IMPLEMENTING ELLIPTIC CURVE CRYPTOGRAPHY ON PC AND SMART CARD
,
2003
.