# How do I know if a given curve requires a FpCurve F2mCurve or ECCCurve?

I'm trying to read a public key into Bouncy Castle (secp256k1) and need to choose from the following objects

        FpPoint;
FpCurve;


or

        F2mPoint;
F2mCurve;


or

        ECPoint;
ECCurve;


Although it would be helpful if someone simply told me which object to use, what would be more useful is if someone can guide me through the general thought process in selecting any of the above objects for a given named curve.

-
Be careful what you use that curve for - it might not be safe. See safecurves.cr.yp.to –  Niels Abildgaard Mar 15 at 17:56
The EC objects implement general elliptic curve properties, whereas the other 2 operate on specific fields. Since secp256k1 is a prime field curve, you want the Fp objects. For binary field curves, you would use the F2m objects.