| With the development and application of information technology, the problem of information security becomes more and more important. RSA cryptosystem, a public-key cryptosystem being used widely today, seems to have difficulty in meeting the user'need of higher security. So far, the Elliptic Curve Cryptosystem (ECC) provides the highest strength per bit of any cryptosystem known. It is generally believed that the discrete logarithm problem in a non-supersingular elliptic curve is much more difficult than the discrete logarithm problem in a finite field of the same size. So the elliptic curve cryptosystems can provide equivalent security as the existing public key schemes, using much shorter secret keys. Therefore ECC is the focus in cryptology, with the reasons of its short key and little requirement. It seemed that it is going to take the place of RSA in public-key cryptosystem. While in the implementation of ECC, the first thing we must do is to chose a secure elliptic curve. Only with the precondition that the curve we chose is secure ,we can assure that the cryptosystem based on it may be secure, too.This article first discuss the knowledge in mathematics and elliptic curve foundamental theory. Second, the principle of ECC is discussed, including basic conception of elliptic curve, constructing idea of ECC, some operations on the elliptic curve and so on. Third, the security and efficiency of ECC are analyzed and summaried, then an efficient method to generate the secure elliptic curves which bases on the CM algorithm is presented. What's more, its correctness is proved in theory and experiment. Fourth,it explore the method of selecting an elliptic curve over the field at random. If the curve order is prime, select an elliptic curve over the appropriate field at random, count the number of points on the curve using Schoof algorithm or SEA' algorithm, check whether the number of points is nearly prime,and repeat until appropriate parameters are found. At last, the SEA'algorithm is implemented in programme. |