Applications and Benefits of Elliptic Curve Cryptography
Applications and Benefits of Elliptic Curve Cryptography
Applications and Benefits of Elliptic Curve Cryptography
Curve Cryptography
Krists Magons
University of Latvia, Faculty of Computing, Raiņa bulvāris 19, Riga, LV-1586, Latvia
[email protected]
Abstract. This paper covers relatively new and emerging subject of the elliptic
curve crypto systems whose fundamental security is based on the algorithmically
hard discrete logarithm problem.
Work includes the study of the following issues: mathematical background of
the elliptic curve crypto systems, discrete logarithm problem, practical use cases
in the industry, common implementation mistakes, performance comparison of
elliptic curve and RSA crypto systems etc.
The conclusion contains a brief summary of the elliptic curve cryptosystem prac-
tical applications, the potential practical benefits and disadvantages with respect
to the widely used RSA crypto system.
1 Introduction
The origins of asymmetric cryptography are associated with Whitfield Diffie and Martin
Hellman famous 1976 publication that launched the revolution in cryptography [1, 2].
That publication pointed out a number of algorithmically hard problems such as the
discrete logarithm problem. Afterwards the foundation of modern public key cryptogra-
phy was defined. One of the most significant results was the discrete logarithm problem
which is used in several crypto systems like DSA, ECDH, as well as virtually in any
elliptic curve based crypto system design. The problem is easily to define:
G – finite cyclic group , g – generator of G, a ∈ G, find natural number s, such
as gs = a, if s exists [1]. It is believed that such issue is an algorithmically hard prob-
lem, which means that there is no general algorithm that solves the discrete logarithm
problem in polynomial time.
In this paper the author reviews the practical use of the elliptic curve public key
crypto systems which are based on the discrete algorithm problem. Elliptic curves are
studied for more than a century [3] and are used not only in cryptography, but also in
the fields of computer science such as coding theory, pseudo-random number generation
and others [3].
The origins of the elliptic curve cryptography date back to 1985 when two scientists
N. Koblitz and V. Miller came up with the idea that it is possible to use the set of
points defined by an elliptic curve over finite prime field in the crypto systems whose
security is based on the discrete logarithm problem. Elliptic curve based crypto systems
versus those crypto systems which are based on the integer factorization problem offer
significant advantages because the known methods for computing the discrete logarithm
Applications and Benefits of Elliptic Curve Cryptography 33
are not feasible to be practically used on the elliptic curve based crypto systems. One
of the most important practical benefits is significantly reduced key sizes compared to
other crypto systems. For instance, from the security standpoint elliptic curve based
crypto system with key length of 163 bits is comparable to RSA based cryptosystem
whose key length is equivalent to 1024 bits [4].
Let F p be a finite prime field that contains exactly p elements and p is an odd prime
number. For each odd prime number p exists exactly one finite prime field F p , however,
the representation of field elements may vary [5].
If a, b ∈ F p and 4a3 + 27b2 6≡ 0 (mod p) then the elliptic curve over F p is the fol-
lowing set of points [6]:
The number of elements #E(F p ), in E(F p ) is equal to the number of points of elliptic
curve over F p . According to the Hasse Theorem #E(F p ) belongs to the interval [5] :
√ √
p + 1 − 2 p ≤ #E(F p ) ≤ p + 1 + 2 p
It is proved that the elements of E (F p ) form abelian group. The number of elements
#E(F p ) in E (F p ) is called the order of group. The order of group can be algorithmi-
cally determined by taking full scan of elements in O(p) time, however, there are more
efficient algorithms available, for instance, the Schoof’s algorithm [7, 8].
The question: given points Q ∈ E(F p ), P ∈ E(F p ) find positive integer n such that
Q = nP if such n exists. As mentioned in previous chapters, the elliptic curve cryp-
tography utilizes the cyclic subgroups of E(F p ), so it is clear that the n must be in the
range 0 ≤ n <#hPi, where #hPi is the order of cyclic subgroup generated by P. The
number n is the discrete logarithm of base P. It is proved that discrete logarithms, like
discrete exponents, have similar characteristics to the classic logarithms of real numbers
[10]. We can use familiar notation: n = logP (Q) , when Q = nP. Significant property of
discrete logarithms [10]:
There is no such polynomial time algorithm which computes discrete logarithms for all
cases. It should be noted that no proofs are available which states the non existence of
such algorithm. In practice, exponential time algorithms are available [1, 3, 10] which
compute discrete logarithms for cyclic subgroup G of E(F p ). For √ instance, Shank’s
Baby-Steps, Giant-Steps algorithm computes discrete logarithms in #G steps where
each step is one group addition operation [3] . Another algorithm √
is the Pollard
πn
p-method which computes discrete logarithms in approximately 2 steps where
n is the order of subgroup G [3]. The mentioned algorithms are two of the best known
methods of computing discrete logarithms for elliptic curve based crypto systems.
To ensure maximum security of the crypto system (to increase the time required
to solve the discrete logarithm problem), elliptic curve and underlying finite prime
field must be properly selected. For instance, if #E(F p ) = p then there is an algorithm
available which computes discrete logarithms in O(log p) time [11].
Despite the fact that virtually all public key cryptography solutions can be imple-
mented by using the popular RSA crypto system, crypto systems based on the discrete
logarithm problem have several advantages over the integer factorization problem based
crypto systems like RSA [10]:
• Technical advantages. If there are two algorithms which provide similar functio-
nality, but one is based on the elliptic curve crypto system, while the other on the
RSA crypto system, the first case of solving discrete logarithms is harder as integer
factorization in the second case. The benefit is obvious. Discrete logarithm-based
crypto systems have significantly smaller key sizes compared to RSA [10].
• Potential patent issues related to the RSA algorithms [10].
• Mathematical backgrounds. Possibility to improve the existing RSA crypto system
security by introducing additional data-protection algorithms based on the discrete
logarithm problem.
The author signs the data message by using his private key. The digital signature is
added to the content of the message and can be freely validated by using the message
author’s public key.
Private keys are generated very much alike to ECDH crypto system. If P and Q are
two points on an elliptic curve, then the private key is the discrete logarithm m=logP Q
[1].
Algorithm of adding digital signatures works as follows: Participants A and B agree
on a set of curve E(F p ) parameters E = (p, a, b, P, n, h). Let us suppose that the
participant A wants to sign the message z ∈ N and the participant B wants to validate
the digital signature of the received message by using the participant’s A public key.
Computing the digital signature:
1 The participant A selects arbitrary integer k from the interval [1; n-1] where n is
the order of cyclic subgroup hPi of E(F p ).
2 The participant A computes the point Q = kP.
3 The participant A computes r ≡ xQ (mod n) , where xQ isthe x − coordinate o f Q.
4 If r = 0, A repeats the previous step.
5 The participant A computes s ≡ k−1 (z + r ∗ kA ) (mod n), where kA is the private key
of A.
6 If s = 0, choose different random k ∈ [1; n-1] and repeat the algorithm.
7 The tuple (r, s) is the digital signature [12].
The ECDSA crypto system standard is widely used in practice. Along with the ECDH
crypto system, ECDSA is being used in various network cryptographic protocols such
as SSL and TLS, smart card solutions, embedded systems etc.
Implementation issues of elliptic curve based crypto systems can be divided into four
abstract categories.
The first category includes technical errors with regard to hardware and software
implementations in the form of lack of authentication, inadequate RAM and media pro-
tection, errors in algorithms, incorrect network infrastructure etc. For those security
problems it is common that the sensitive information, including private encryption keys,
can come at the disposal of third parties without attempts of breaking the fundamen-
tal security background of the crypto system but by accessing the information directly
38 K. Magons
through the hardware and software security holes. This is the most common implemen-
tation issue and is not related to the security of the fundamentals of crypto system. It is
associated with insufficient software testing and computer system security audits.
The second type of implementation issues is associated with the selection of under-
lying elliptic curves and prime fields. As mentioned, there are classes of weak elliptic
curves. For instance, it is possible to solve the discrete logarithm problem in polynomial
time for certain class of curves where #E(F p ) = p – the number of points on a curve is
equal to the number of elements in a finite field [3, 11]. Also, it is important to select
large enough subgroups of E(F p ) to avoid feasible calculation of discrete logarithms by
methods such as Pollard-p method [1, 13]. To ensure maximum security of the crypto
system it is advisable to use verifiably random elliptic curves and prime fields such that
the order of group #E(F p ) is divisible by a sufficiently large prime number n where
n > 2160 [3].
The third type of implementations issues is associated with the performance of
E(F p ) group operations like addition and scalar multiplication. It is advisable to use
Mersenne primes, which can significantly improve the performance of the scalar mul-
tiplication operation [3]. This result is related to the processor architecture that enables
an effective execution of module arithmetic operations with binary representation of
the number, which is close to power of two [14]. Also, it is important to select the most
appropriate coordinate system to improve the performance of group operations [5]. De-
pending on the selected coordinate system, the performance of group operations may
vary. For instance, the performance of scalar multiplication can be improved by using
Jacobi coordinate system in cases where the scalar multiplication takes place with even
number (point doubling) [14]. It is possible to apply the Jacobi coordinate system by
using the following connection to affine coordinates: Jacobi coordinates represent an
affine point (X/Z 2 ,Y /Z 3 ) on elliptic curve y2 = x3 + ax + b as a point (X:Y:Z), where
Y 2 = X 3 + aXZ 4 + bZ 6 , Z 6= 0 [15].
The fourth type of implementations problems is associated with the private key
management. It is required to ensure that the private keys are being re-calculated and
re-issued on regular basis. Usage of constant private keys seriously increases the risk
of keys being intercepted by a third party. The most typical example is the interception
of a private key from 2010 with Sony PlayStation application signature crypto system
where a constant private key was used for all issued digital signatures [13].
The fundamental security of elliptic curve crypto systems is based on the algorithmi-
cally hard discrete logarithm problem. Elliptic curve cryptography is one of the most
important practical applications of discrete logarithms nowadays [10].
According to the literature, MIPS (million instructions per second) capable com-
puter can execute 4×104 E(F p ) group addition operations per second which is approxi-
mately 240 additions per year [3]. It is clear, that this assumption is hypothetical and in
practice may vary due to many factors related to the computer architecture, software
and elliptic curve parameters.
Applications and Benefits of Elliptic Curve Cryptography 39
Koblitz, Menezes and Vanstone have published the assessment of the required com-
puting time to solve discrete logarithms by Pollard p-method in cyclic subgroups of
E(F p ) with various orders n. The results are summarized in the table below.
Table 1. The Assessment of the Required Computing Time to Solve Discrete Logarithms by
Pollard p-method [3]
Size of n MIPS
(bits) (years)
512 3 x 104
768 2 x 108
1024 3 x 1011
1280 1 x 1014
1536 3 x 1016
2048 3 x 1020
Size of n MIPS
(bits) (years)
512 3 x 104
768 2 x 108
1024 3 x 1011
1280 1 x 1014
1536 3 x 1016
2048 3 x 1020
Taking into account the relatively high computing resources required to compute dis-
crete logarithms, elliptic curve crypto systems allow to significantly reduce size of the
encryption keys. The small key size enables faster execution of various cryptographic
operations. According to the literature, it is concluded that RSA key generation takes
place substantially slower than elliptic curve based crypto systems of comparable level
of security [4]. The results are listed on the table below (Please see the publication for
details of the experiment):
Easy to notice, the key generation of elliptic curve based crypto systems is signifi-
cantly faster than RSA due to smaller key size. In addition, increasing level of security
significantly increases the generation time ratio.
According to the literature, to ensure sufficient protection against elliptic curve
crypto system key cracking, it is required to use keys with length of at least 150 bits
for temporary security solutions and 180 bits for long term security solutions [3]. To
meet the equivalent level of security, RSA keys must be at length of 1024 bits for short
Applications and Benefits of Elliptic Curve Cryptography 41
term solutions and 2240 bits for long term solutions. Such RSA keys are not only 6 to
9 times longer, but also their generation is 2 to 40 times slower.
There is a study available that compares elliptic curve based crypto systems and
RSA on implementations for 8-bit processor architectures. The authors experimentally
observed that there is a fundamental relationship between the processor word length and
the key length of crypto system: The relative performance of ECC over RSA increases
as the word size of the processor decreases [14].
7 Summary
Despite the several decades long history of the elliptic curve cryptography, there is still
a lack of research. The popular RSA crypto system is more widely studied. A significant
lack of research is one of the main reasons why elliptic curve based crypto systems have
showed low popularity nowadays. It is possible to conclude that the lack of research is
related to the relatively complex mathematical foundation of elliptic curves and lack of
interest from the systems developers.
It is expected that elliptic curves will play a growing role in various implementa-
tions. As mentioned, the discrete logarithm problem is algorithmically harder than the
integer factorization problem, allowing a significant reduction in the public key crypto-
graphic key size, thus speeding up a variety of cryptographic operations. Elliptic curve
based crypto systems can be effectively used on low resources and power system solu-
tions such as smart cards, mobile devices, sensors and so on.
The vast majority of implementation issues of elliptic curve based crypto systems
are not directly related to the fundamental security backgrounds. These issues are re-
lated to the factors such as faulty software, inappropriate system components, inade-
quate private key protection, usage of defective random number generators and crypto-
graphic hash functions etc.
Implementation options:
• The most used crypto systems such as ECDH and ECDSA are standardized and
patent free. They are free to use.
• There are available NIST standardized elliptic curves for various security require-
ments.
• Free access to the extensive information on algorithms for elliptic curves based
crypto systems.
Benefits of elliptic curve based crypto systems versus RSA crypto system:
• Key size. The key of an elliptic curve based crypto system takes significantly less
memory. The ratio increases rapidly with the increase of security levels. For in-
stance, RSA crypto system with the key length of 1024 bits, is equivalent to an
elliptic curve crypto system with the key length of 163 bits.
• Cryptographic operations performance. Thanks to the smaller size of keys, the cryp-
tographic operations such as key and digital signature generation are carried out sig-
nificantly faster. For instance, an elliptic curve crypto system with the key length
of 233 bits corresponds to RSA crypto system with the key length of 2240 bits. In
the first case the key is generated approximately 40 times faster.
42 K. Magons
• Resource savings. Due to the smaller key sizes, algorithms of an elliptic curve based
crypto systems can be executed on very limited resources.
Disadvantages of elliptic curve based crypto systems versus RSA crypto system:
References
1. Stinson, D.R.: Cryptography Theory And Practice. 3th edition, Chapman & Hall/CRC, New
York (2006)
2. Maurer, U.M., Wolf, S.: The Diffie–Hellman Protocol. In: ”Towards a Quarter-Century of
Public Key Cryptography”, Kluwer Academic Publishers, pp. 147–171, Boston (2000)
3. Koblitz, N., Menezes, A., Vanstone, S.: The State of Elliptic Curve Cryptography. In:
”Towards a Quarter-Century of Public Key Cryptography”, Kluwer Academic Publishers,
pp. 173–193, Boston (2000)
4. Arrendondo, B., Jansma, N: Performance Comparison of Elliptic Curve and RSA Digital
Signatures. IPCSIT vol. 4, IACSIT Press, Singapore (2011)
5. Brown, D.R.L.: SEC 1: Elliptic Curve Cryptography. Certicom Corp (2009)
6. Novotney, P.: Weak Curves In Elliptic Curve Cryptography (2010)
http://ftp.mpir.org/edu/2010/414/projects/novotney.pdf
7. Schoof, R.: Elliptic Curves Over Finite Fields and the Computation of Square Roots. Mathe-
matics of Computation vol. 44, pp. 483–494 (1985)
8. Corbellini, A: Elliptic Curve Cryptography: Elliptic Curve Cryptography: finite
fields and discrete logarithms (2015) http://andrea.corbellini.name/2015/05/23/
elliptic-curve-cryptography-finite-fields-and-discrete-logarithms
9. Robinson, J.S.D.: An Introduction to Abstract Algebra. Walter de Gruyer GmbH & Co
(2003)
10. Odlyzko, A.: Discrete logarithms: The past and the future. In: ”Towards a Quarter-Century
of Public Key Cryptography”, Kluwer Academic Publishers, pp. 129–145, Boston (2000)
11. Silverman, H.S.: An Introduction to the Theory of Elliptic Curves. University of Wyoming
(2006)
12. Corbellini, A.: Elliptic Curve Cryptography: ECDH and ECDSA (2015) http://andrea.
corbellini.corbellini.name/2015/05/30/elliptic-curve-cryptography-
ecdh-and-ecdsa/
13. Bos, J.W., Halderman, J.A., Heninger, N., Moore, J., Naehrig, M., Wustrow, E.: Elliptic
Curve Cryptography in Practice (2014) https://eprint.iacr.org/2013/734.pdf
14. Gura, N., Patel, A., Wander, A., Eberle, H., Shantz, S.C.: Comparing Elliptic Curve Crypto-
graphy and RSA on 8-bit CPUs. LNCS, vol. 3156, pp. 119–132. Springer, Heidelberg (2004)
15. Brown, M., Hankerson, D., Lopez, J., Menezes, A.: Software Implementation of the NIST
Elliptic Curves Over Prime Fields LNCS, vol. 2020, pp. 250–265. Springer, Heidelberg
(2001)
16. Schaefer, E.: An introduction to cryptography and cryptanalysis (2011)
http://math.scu.edu/\textasciitildeeschaefe/book.pdf