April 01, 1997
Elliptic Curves and CryptographyStrong digital signature algorithmsAleksandar Jurisic and Alfred J. Menezes
Originally pursued for purely aesthetic reasons, elliptic curves have recently been utilized in devising algorithms for factoring integers, primality proving, and public-key cryptography.
Aleksandar conducts cryptographic research for Certicom and can be contacted at ajurisic@certicom.ca. Alfred is a coauthor of Handbook of Applied Cryptography (CRC Press, 1997; http://www.dms.auburn.edu/hac/) and author of Elliptic Curve Public Key Cryptosystems (Kluwer Academic Publishers, 1993). He is a professor of mathematics at Auburn University and consults for Certicom. He can be reached at menezal@mail.auburn.edu.
Originally pursued for purely aesthetic reasons, elliptic curves have recently been used in algorithms for factoring integers, primality proving, and public-key cryptography. In this article, we will examine elliptic curve cryptosystems, and demonstrate why they provide relatively small block sizes, high-speed software and hardware implementations, and offer the highest strength-per-key-bit of any known public-key scheme.
Since the introduction of the concept of public-key cryptography by Whit Diffie and Martin Hellman in 1976, the cryptographic importance of the apparent intractability of the well-studied discrete logarithm problem has been recognized. Taher ElGamal first described how this problem could be utilized in public-key encryption and digital-signature schemes. ElGamal's methods have been refined and incorporated into various protocols, one of which forms the basis for the U.S. government's Digital Signature Algorithm (DSA).
We'll begin by introducing some basic mathematical terminology. A "group," for instance, is an abstract mathematical object consisting of a set G together with an operation * defined on pairs of elements of G; the "order" of the group is the number of elements in G. The operation must have certain properties, similar to those with which we are familiar from ordinary integer arithmetic. For example, the integers modulo n, namely
The discrete logarithm problem, as first employed by Diffie and Hellman in their key agreement protocol, was defined explicitly as the problem of finding logarithms in the group
These concepts can be extended to arbitrary groups. Let G be a group of order n, and let
For two primary reasons, a variety of groups have been proposed for cryptographic use. First, the operation in some groups may be easier to implement in software or hardware than the operation in other groups. Second, the discrete logarithm problem in a group may be harder than the discrete logarithm problem in
The Digital Signature Algorithm
The Digital Signature Algorithm (DSA) was proposed in August of 1991 by the U.S. National Institute of Standards and Technology (NIST) and became a U.S. Federal Information Processing Standard (FIPS 186) in 1993. It was the first digital signature scheme to be accepted as legally binding by a government. The algorithm is a variant of the ElGamal signature scheme. It exploits small subgroups in
Since r and s are each integers less than q, DSA signatures are 320 bits in length. The security of the DSA relies on two distinct (but related) discrete logarithm problems. One is the discrete logarithm problem in
Background in Elliptic Curves
We'll now turn to the fascinating theory of elliptic curves. For simplicity, we'll restrict our discussion to elliptic curves over
An elliptic curve E over
y2 = x3 + ax + b,
in Figure 2, where a,b
For example, let p =23 and consider the elliptic curve E: y2=x3+x+1 defined over
There is a rule for adding two points on an elliptic curve E(
Examples of the addition rule are given in Figure 5. For historical reasons, the group operation for an elliptic curve E(
The Elliptic Curve Digital Signature Algorithm (ECDSA)
ECDSA is the elliptic curve analogue of the DSA. That is, instead of working in a subgroup of order q in
The key-generation, signature-generation, and signature-verification procedures for ECDSA are given in Figure 6. The only significant difference between ECDSA and DSA is in the generation of r. The DSA does this by taking the random element (gk mod p) and reducing it modulo q, thus obtaining an integer in the interval [1,q -1]. The ECDSA generates the integer r in the interval [1,n -1] by taking the x-coordinate of the random point kP and reducing it modulo n.
To obtain a security level similar to that of the DSA (with 160-bit q and 1024-bit p), the parameter n should have about 160 bits. If this is the case, then DSA and ECDSA signatures have the same bit length (320 bits).
Instead of each entity generating its own elliptic curve, the entities may elect to use the same curve E and point P of order n. In this case, an entity's public key consists only of the point Q. This results in public keys of smaller sizes. Additionally, there are point compression techniques whereby the point Q = (xQ, yQ) can be efficiently constructed from its x-coordinate xQ and a specific bit of the y-coordinate yQ. Thus, for example, if p
Security Issues
The basis for the security of elliptic curve cryptosystems such as the ECDSA is the apparent intractability of this elliptic curve discrete logarithm problem (ECDLP): given an elliptic curve E defined over
Over the past 12 years, the ECDLP has received considerable attention from leading mathematicians, and no significant weaknesses have been reported. An algorithm by Pohlig and Hellman reduces the determination of l to the determination of l modulo each of the prime factors of n. Hence, to achieve the maximum possible security level, n should be prime. The best-known algorithm to date for the ECDLP in general is the Pollard rho-method, which takes about
In considering software attacks on ECDLP, we assume that a million instructions per second (MIPS) machine can perform 43104 elliptic curve additions per second. (This estimate is indeed conservative -- an application-specific integrated circuit for performing elliptic curve operations over the field
(4
Table 3 shows, for various values of n, the computing power required to compute a single discrete logarithm using the Pollard rho-method. A MIPS year is equivalent ot the computational power of a computer that is rated at 1 MIPS and utilized for one year.
For instance, if 10,000 computers each rated at 1000 MIPS are available, and n
To put the numbers in Table 3 in some perspective, Table 4 (see A. Odlyzko's "The Future of Integer Factorization," CryptoBytes: The Technical Newsletter of RSA Laboratories, Summer 1995; also available at http://www.rsa.com/) shows the estimated computing power required to factor integers with current versions of the general number field sieve.
A more promising attack (for well-funded attackers) on elliptic curve systems would be to build special-purpose hardware for a parallel search using the Pollard rho-method. In "Parallel Collision Search with Cryptanalytic Applications" (to appear in Journal of Cryptology), P. van Oorschot and M. Wiener provide a detailed study of such a possibility. They estimated that if n
It should be pointed out that in the software and hardware attacks just described, computation of a single elliptic curve discrete logarithm has the effect of revealing a single user's private key. The same effort must be repeated to determine another user's private key.
In "Minimal Key Lengths for Symmetric Ciphers to Provide Adequate Commercial Security" (January 1996, available from http://theory.lcs.mit.edu/~rivest/publications.html), M. Blaze, W. Diffie, R. Rivest, B. Schneier, T. Shimomura, E. Thompson, and M. Wiener reported on the minimum key lengths required for secure symmetric-key encryption schemes (such as DES and IDEA). Their report comes to the following conclusion:
Extrapolating these conclusions to the case of elliptic curves, you see that n should be at least 150 bits for short-term security and 180 bits for medium-term security. This extrapolation is justified by the following considerations:
Implementation Issues
Since the elliptic curve discrete logarithm problem appears to be harder than the discrete logarithm problem in
To get a rough idea of the computational efficiency of elliptic curve systems, compare the times to compute Figure 7(a) with 7(b).
Assume that a field multiplication in
Another important consequence of using a smaller group in elliptic curve systems is that low-cost implementations are feasible in restricted computing environments, such as smart cards and wireless devices. For example, an ASIC built for performing elliptic curve operations over the field
Another advantage of elliptic curve systems is that the underlying field (
Standards Activities
The primary objectives of industry standards are to promote interoperability and facilitate widespread use of well-accepted techniques. Standards for elliptic curve systems are being drafted by various accredited standards bodies around the world.
As these drafts become officially adopted by the appropriate standards bodies, you can expect elliptic curve systems to be widely used by providers of information security.
Conclusion
Elliptic curve cryptosystems offer the highest strength-per-key-bit of any known public-key system. With a 160-bit modulus, an elliptic curve system offers the same level of cryptographic security as DSA or RSA with 1024-bit moduli. The smaller key sizes result in smaller system parameters, smaller public-key certificates, bandwidth savings, faster implementations, lower power requirements, and smaller hardware processors.
Further Reading
For an accessible introduction to all aspects of cryptography, refer to Bruce Schneier's Applied Cryptography: Protocols, Algorithms, and Source Code in C, second edition (John Wiley & Sons, 1996). Douglas Stinson's Cryptography: Theory and Practice, (CRC Press, 1995) is an excellent textbook. Handbook of Applied Cryptography (CRC Press, 1997), by A. Menezes, P. van Oorschot, and S. Vanstone, is an extensive source book on cryptography for practitioners.
Elliptic curve cryptosystems were introduced in "Elliptic Curve Cryptosystems," Mathematics of Computation, 48 (1987), by N. Koblitz, and "Uses of Elliptic Curves in Cryptography," Advances in Cryptology: CRYPTO '85, Lecture Notes in Computer Science 218 (Springer-Verlag, 1986), by V. Miller. Chapter six of N. Koblitz's A Course in Number Theory and Cryptography, second edition (Springer-Verlag, 1994), provides an introduction to elliptic curves and elliptic curve systems. Koblitz's book also covers the relevant number theory algorithms including the Pollard rho-method, and gives an overview of the number field sieve for integer factorization. The parallelization of the Pollard rho-method is described by P. van Oorschot and M. Wiener in "Parallel Collision Search with Cryptanalytic Applications," to appear in Journal of Cryptology. For a more detailed account on various implementation and security issues, see Elliptic Curve Public Key Cryptosystems (Kluwer Academic Publishers, 1993) by A. Menezes.
Finally, the Information Security Classroom at Certicom's web site (http:// www.certicom.ca) is designed to instruct people of various mathematical backgrounds, and includes some nifty Java applets that illustrate the theory of elliptic curves. If you do not have access to the Web, you can request this information by sending e-mail to info@certicom.ca.
DDJ
Copyright © 1997, Dr. Dobb's Journal
|
|
|||||||||||||||||
|
|
|
|