EC_GROUP_NEW(3ssl) OpenSSL EC_GROUP_NEW(3ssl) EC_GROUP_get_ecparameters, EC_GROUP_get_ecpkparameters, EC_GROUP_new_from_params, EC_GROUP_to_params, EC_GROUP_new_from_ecparameters, EC_GROUP_new_from_ecpkparameters, EC_GROUP_new, EC_GROUP_free, EC_GROUP_clear_free, EC_GROUP_new_curve_GFp, EC_GROUP_new_curve_GF2m, EC_GROUP_new_by_curve_name_ex, EC_GROUP_new_by_curve_name, EC_GROUP_set_curve, EC_GROUP_get_curve, EC_GROUP_set_curve_GFp, EC_GROUP_get_curve_GFp, EC_GROUP_set_curve_GF2m, EC_GROUP_get_curve_GF2m, EC_get_builtin_curves, OSSL_EC_curve_nid2name - EC_GROUP #include EC_GROUP *EC_GROUP_new_from_params(const OSSL_PARAM params[], OSSL_LIB_CTX *libctx, const char *propq); OSSL_PARAM *EC_GROUP_to_params(const EC_GROUP *group, OSSL_LIB_CTX *libctx, const char *propq, BN_CTX *bnctx); EC_GROUP *EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params); EC_GROUP *EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params); void EC_GROUP_free(EC_GROUP *group); EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); EC_GROUP *EC_GROUP_new_by_curve_name_ex(OSSL_LIB_CTX *libctx, const char *propq, int nid); EC_GROUP *EC_GROUP_new_by_curve_name(int nid); int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); ECPARAMETERS *EC_GROUP_get_ecparameters(const EC_GROUP *group, ECPARAMETERS *params); ECPKPARAMETERS *EC_GROUP_get_ecpkparameters(const EC_GROUP *group, ECPKPARAMETERS *params); size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); const char *OSSL_EC_curve_nid2name(int nid); OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); void EC_GROUP_clear_free(EC_GROUP *group); int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); . Fp. Fp 0 p-1 p . : y^2 mod p = x^3 +ax + b mod p F2^m m . : y^2 + xy = x^3 + ax^2 + b ( b != 0) . OpenSSL . OpenSSL 3.0 EC_GROUP_new() meth ( EC_GFp_simple_method(3)) ctx ( OSSL_LIB_CTX(3)). ctx NULL . EC_GROUP_set_curve() . EC_GROUP_new_* . EC_GROUP_new_from_params() params. libctx ( OSSL_LIB_CTX(3)) propq . params . ctx propq NULL. params EVP_PKEY-EC(7). EC_GROUP_to_params OSSL_PARAM EC_GROUP . EC_GROUP. libctx ( OSSL_LIB_CTX(3)) propq . bnctx BN_CTX ( ). libctx propq bnctx NULL. OSSL_PARAM . EC_GROUP_new_from_ecparameters() params EC_GROUP_new_from_ecpkparameters() PK params. EC_GROUP_set_curve() p a b. Fp p . F2^m p - . . a b a b . EC_group_get_curve() . EC_GROUP_set_curve_GFp() EC_GROUP_set_curve_GF2m() EC_GROUP_set_curve(). . EC_GROUP_get_curve_GFp() EC_GROUP_get_curve_GF2m() EC_GROUP_get_curve(). . EC_GROUP_new_curve_GFp() EC_GROUP_new_curve_GF2m() EC_GROUP_new() EC_GROUP_set_curve(). . . EC_get_builtin_curves(). r EC_builtin_curve nitems. r . nitems nitems . ( r ). NULL r nitems 0 . EC_builtin_curve : typedef struct { int nid; const char *comment; } EC_builtin_curve; EC_builtin_curve (nid) readable . EC_GROUP_new_by_curve_name_ex() nid ctx ( OSSL_LIB_CTX(3)) propq. ctx NULL . propq NULL . EC_GROUP_new_by_curve_name() EC_GROUP_new_by_curve_name_ex() NULL. EC_GROUP_free() EC_GROUP. group NULL . EC_GROUP_clear_free() : EC_GROUP EC_GROUP . EC_GROUP_free(). group NULL . OSSL_EC_curve_nid2name() nid . EC_GROUP_new* NULL . EC_get_builtin_curves() . EC_GROUP_set_curve_GFp(), EC_GROUP_get_curve_GFp(), EC_GROUP_set_curve_GF2m(), EC_GROUP_get_curve_GF2m() 1 0 . OSSL_EC_curve_nid2name() NULL . crypto(7), EC_GROUP_copy(3), EC_POINT_new(3), EC_POINT_add(3), EC_KEY_new(3), EC_GFp_simple_method(3), d2i_ECPKParameters(3), OSSL_LIB_CTX(3), EVP_PKEY-EC(7) EC_GROUP_to_params() OpenSSL 3.2. o EC_GROUP_new() OpenSSL 3.0. EC_GROUP_new_by_curve_name_ex() EC_GROUP_new_from_params() OpenSSL 3.0. o EC_GROUP_clear_free() OpenSSL 3.0 EC_GROUP_free() . o EC_GROUP_set_curve_GFp() EC_GROUP_get_curve_GFp() EC_GROUP_set_curve_GF2m() EC_GROUP_get_curve_GF2m() OpenSSL 3.0 EC_GROUP_set_curve() EC_GROUP_get_curve() . 2013-2024 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 EC_GROUP_NEW(3ssl)