ECDSA Advantages Over Others
ECDSA Advantages Over Others
ECDSA Advantages Over Others
2, May 2010
ABSTRACT
The Elliptic Curve Digital Signature Algorithm (ECDSA) is the elliptic curve analogue of the Digital Signature Algorithm (DSA). It was accepted in 1999 as an ANSI standard, and was accepted in 2000 as IEEE and NIST standards. It was also accepted in 1998 as an ISO standard, and is under consideration for inclusion in some other ISO standards. Unlike the ordinary discrete logarithm problem and the integer factorization problem, no sub exponential-time algorithm is known for the elliptic curve discrete logarithm problem. For this reason, the strength-per-keybit is substantially greater in an algorithm that uses elliptic curves. This paper describes the implementation of ANSI X9.62 ECDSA over elliptic curve P-192, and discusses related security issues.
ideal for constrained devices such as pagers, cellular phones and smart cards. The Elliptic Curve Digital Signature Algorithm (ECDSA) is the elliptic curve analogue of the DSA. ECDSA was first proposed in 1992 by Scott Vanstone [1] in response to NISTs (National Institute of Standards and Technology) request for public comments on their first proposal for DSS. It was accepted in 1998 as an ISO (International Standards Organization) standard (ISO 14888-3), accepted in 1999 as an ANSI (American National Standards Institute) standard (ANSI X9.62), and accepted in 2000 as an IEEE (Institute of Electrical and Electronics Engineers) standard (IEEE 1363-2000) and a FIPS standard (FIPS 186-2) Digital signature schemes can be used to provide the following basic cryptographic services: data integrity (the assurance that data has not been altered by unauthorized or unknown means) data origin authentication (the assurance that the source of data is as claimed) non-repudiation (the assurance that an entity cannot deny previous actions or commitments) In this paper, first we start with the cryptography schemes based on integer factorization (IF) and discrete logarithm (DL) in section 2. In section 3, we discuss ECC in detail. In section 4, we show the implementation and results. Further in section 5 and 6 we compare and conclude respectively.
General Terms
Algorithms, Security.
Keywords
integer factorization, discrete logarithm problem, elliptic curve cryptography, DSA, ECDSA.
1. INTRODUCTION
Cryptography is the branch of cryptology dealing with the design of algorithms for encryption and decryption, intended to ensure the secrecy and/or authenticity of message. The DSA was proposed in August 1991 by the U.S. National Institute of Standards and Technology (NIST) and was specified in a U.S. Government Federal Information Processing Standard (FIPS 186) called the Digital Signature Standard (DSS). Its security is based on the computational intractability of the discrete logarithm problem (DLP) in prime-order subgroups of Zp*. Digital signature schemes are designed to provide the digital counterpart to handwritten signatures (and more). Ideally, a digital signature scheme should be existentially non-forgeable under chosenmessage attack. The ECDSA have a smaller key size, which leads to faster computation time and reduction in processing power, storage space and bandwidth. This makes the ECDSA
It is easy to calculate n for given p and q but it is computationally infeasible to determine p and q given n for large values of n. One of the famous algorithms is RSA. The RSA Algorithm is shown below: 1. 2. 3. Choose two large prime numbers, p and q (1024 bits) Compute n = p * q and z = (p-1) * (q-1). Choose a number, e, less than n, which has no common factors (other than 1) with z. 21
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
4. Find a number, d, such that e * d -1 is exactly divisible (i.e., with no remainder) by z. algorithms from one problem are often adapted to the other, and difficulty of both problems has been exploited to construct various cryptographic systems.
The public key is the pair of numbers (n, e), private key is the pair of numbers (n, d). The encryption is done as follows: c = me mod n (2) To decrypt the received cipher text message, c m = cd mod n which requires the use of the private key, (n, d). Its security depends on the difficulty of factoring the large prime numbers. The best known method for solving Integer Factorization problem is Number Field Sieve which is a subexponential algorithm and having a running time of exp[1.923*(log n)1/3*(log log n)2/3] [2]. (3)
(8)
where a, b Zp, and 4a + 27b 0 (mod p), together with a special point O, called the point at infinity. The set E(Z p) consists of all points (x, y), x Zp, y Zp, which satisfy the defining equation, together with O. Each value of a and b gives a different elliptic curve. The public key is a point on the curve and the private key is a random number. The public key is obtained by multiplying the private key with a generator point G in the curve.
22
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
The definition of groups and finite fields, which are fundamental for the construction of elliptic curve cryptosystem are discussed in next subsections. Multiplication: If a, b Fp then a.b=s, where s is the remainder when a.b is divided by p and 0 s p -1 known as multiplication modulo p Inversion: If is a non-zero element in Fp, the inverse of modulo a modulo p_, denoted by a-1, is the unique integer c Fp for which a.c=1
3.1 Groups
A group with an operation * is defined on pairs of elements of G. The operations satisfy the following properties: Closure: a * b G for all a, b G. Associativity: a * (b * c) = (a * b) * c for all a, b G. Existence of Identity: There exists an element e G, called the identity, such that e * a = a * e = a for all a G. Existence of inverse: For each a G there is an element b G such that a * b = b * a = e. The element b is called the inverse of a. Moreover, a group G is said to be abelian if a * b = b * a for all a, b G. The order of a group G is the number of elements in G.
5. 6. 7.
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
point L, which is the result of addition of points J and K. Thus on an elliptic curve L = J + K. If K = -J the line through this point intersect at a point at infinity O. Hence J + (-J) = O. A negative of a point is the reflection of that point with respect to x-axis [7]. x3= {(y2-y1)/(x2-x1)}2 x1-x2 and y3= {(y2-y1)/(x2-x1)}(x1x3) y1 Point doubling Let P=(x1, y1) E(Fp) where P -P. Then 2P=(x3, y3) where x3={(3x12+a)/2y1}2-2x1 and y3={(3x12+a)/2y1}2 (x1-x3) y1
2. Compute kP =x1, y1 and r= x1 mod n (where x1 is regarded as an integer between 0 and q-1). If r= 0 then go back to step 1. 3. Compute k-1mod n. 4. Compute s= k-1 {h (m)+ dr} mod n, where h is the Secure Hash Algorithm (SHA-1). If s = 0, then go back to step 1. 5. The signature for the message m is the pair of integers (r, s).
24
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
ECDSA Signature Verification: To verify As signature (r, s) on m, B obtains an authenticated copy of As domain parameters D = (q, FR, a, b, G, n, h) and public key Q and do the following 1. Verify that r and s are integers in the interval [1, n-1]. 2. Compute w = s-1mod n and h (m) 3. Compute u1 = h(m)w mod n and u2 = rw mod n. 4. Compute u1P + u2Q =(x0, y0) and v= x0 mod n. 5. Accept the signature if and only if v = r
Figure 5. Signature Verification Results The following results are brought to highlight for given set of values. The SHA-1 result are shown along with the private and public set of keys SHA1 Input: a SHA Output: 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 Figure 4. Signature Generation Input: ABC SHA Output: 3c01bdbb26f358bab27f267924aa2c9a03fcfdb8 Key Pair Generation: 198 bit random private key and corresponding public key: Private A=
3410708343957475413710496549104959138812316708511486831983 98465
25
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
Public x of A=
3089182225850909019933101519334356466906901301271156815371
Public y of A=
2934312592567055080539106109257350191706192298057173813254
Private A=
9784754507269478441147399409938745992633565457803056150961 4891
Public x of A=
5794350039132556514670158969918976743409250716115312636030
Public y of A=
1009024622477364832125741509919741456473929964192222324391
Further for a given input file containing text had been taken and signature is generated and then verified by the values of r and s. Signature Generation: Input file="abcd" Private:0xd43fb7ff56a7486859d87f785db45b043129f6468ccff4 2d0001 Signature: r=0xb8d06fa44816c92b8b26f797e5f3cc07984d8b7f7e49a339 s=0xd74f17a1e19139d77558c6b2d16dcb1f4bb31da2ded25733
Figure 6. Difficulty of forward, inverse operation against key length Table 5.1 shows the comparison of ECC with RSA, DSA, and DH in terms of key length and time to break on machine running 1 MIPS [9]. Table 1 Key comparison of Symmetric, RSA/DSA/DH, ECC
Symmetric 80 RSA/DSA/DH 1024 2048 3072 7680 15360 ECC 160 224 256 384 512 Time to break in MIPS years 1012 1024 1028 1047 1066
Proof of verification If a signature (r, s) on a message m was indeed generated by A, then s = k -1 (h (m)+dr) mod n. Rearranging gives k s -1 (e+dr) s-1e + s-1 rd we +wrd u1+u2d (mod n). Thus u1G +u2Q = (u1 +u2d) G = kG and so v=r as required.
5.1 Comparison of ECC with RSA 1. RSA takes sub-exponential time and ECC takes full exponential time. For example, RSA with key size of 1024 bits takes 3x1011 MIP years with best known attack where as ECC with 160 bit key size takes 9.6x 10^11 MIP years[10]. ECC offers same level of security with smaller key sizes. DATA size for RSA is smaller than ECC. Encrypted message is a function of key size and data size for both RSA and ECC. ECC key size is relatively smaller than RSA key size, thus encrypted message in ECC is smaller. Computational power is smaller for ECC.
2. 3. 4.
5.
5.2 Comparison of ECDSA with DSA 1. Both algorithms are based on the ElGamal signature scheme and use the same signing equation: s = k -1{h (m) + dr} mod n. In both algorithms, the values that are relatively difficult to generate are the system parameters(p, q and g for the DSA; E, P and n for the ECDSA). 26
2.
International Journal of Computer Applications (0975 8887) Volume 2 No.2, May 2010
3. 4. In their current version, both DSA and ECDSA use the SHA-1 as the sole cryptographic hash function. The private key d and the per-signature value k in ECDSA are defined to be statistically unique and unpredictable rather than merely random as in DSA [11]. environments such as pagers, PDAs, cellular phones and smart cards. These advantages are especially important in other environments where processing power, storage space, bandwidth, or power consumption are lacking.
5.3 Advantages of ECC Thus, the ECC offered remarkable advantages over other cryptographic system. 1. 2. It provides greater security for a given key size. It provides effective and compact implementations for cryptographic operations requiring smaller chips. 3. Due to smaller chips less heat generation and less power consumption. 4. It is mostly suitable for machines having low bandwidth, low computing power, less memory. 5. It has easier hardware implementations. So far no drawback of ECC had been reported.
7. REFERENCES
[1] Vanstone, S. A., 1992. Responses to NISTs Proposal Communications of the ACM, 35, 50-52. [2] Vanstone, S. A., 2003. Next generation security for wireless: elliptic curve cryptography. Computers and Security, vol. 22, No. 5. [3] Koblitz, N., 1987. Elliptic curve Mathematics of Computation 48, 203-209. cryptosystems.
[4] Miller, V., 1985. Use of elliptic curves in cryptography. CRYPTO 85. [5] Certicom ECC Challenge. 2009. Certicom Research [6] Hankerson, D., Menezes, A., Vanstone, S., 2004. Guide to Elliptic Curve Cryptography. Springer. [7] Botes, J.J., Penzhorn, W.T., 1994. An implementation of an elliptic curve cryptosystem. Communications and Signal Processing. COMSIG-94. In Proceedings of the 1994 IEEE South African Symposium, 85 -90. [8] An intro to Elliptical Curve Cryptography[On-Line]. Available:http://www.deviceforge.com/articles/AT42341544 68.html [2010]. [9] Gupta, V., Stebila, D., Fung, S., Shantz, S.C., Gura, N., Eberle, H., 2004. Speeding up Secure Web Transactions Using Elliptic Curve Cryptography. In Proceedings of the 11th Annual Network and Distributed System Security Symposium (NDSS 2004). The Internet Society, 231-239. [10] Raju, G.V.S., Akbani, R., 2003. Elliptic Curve Cryptosystem And Its Application. In Proceedings of the 2003 IEEE International Conference on Systems Man and Cybernetics (IEEE-SMC), 1540-1543.
6. CONCLUSION
Elliptic Curve Digital Signature Algorithm (ECDSA) which is one of the variants of Elliptic Curve Cryptography (ECC) proposed as an alternative to established public key systems such as Digital Signature Algorithm (DSA) and Rivest Shamir Adleman (RSA), have recently gained a lot of attention in industry and academia. The main reason for the attractiveness of ECDSA is the fact that there is no sub exponential algorithm known to solve the elliptic curve discrete logarithm problem on a properly chosen elliptic curve. Hence, it takes full exponential time to solve while the best algorithm known for solving the underlying integer factorization for RSA and discrete logarithm problem in DSA both take sub exponential time. The key generated by the implementation is highly secured and it consumes lesser bandwidth because of small key size used by the elliptic curves. Significantly smaller parameters can be used in ECDSA than in other competitive systems such as RSA and DSA but with equivalent levels of security. Some benefits of having smaller key size include faster computation time and reduction in processing power, storage space and bandwidth. This makes ECDSA ideal for constrained
[11] Johnson, D.B., Menezes, A.J., 2007. Elliptic Curve DSA (ECDSA): An Enhanced DSA. Scientific Commons.
27