EC_POINT_ADD(3ssl) OpenSSL EC_POINT_ADD(3ssl) EC_POINT_add, EC_POINT_dbl, EC_POINT_invert, EC_POINT_is_at_infinity, EC_POINT_is_on_curve, EC_POINT_cmp, EC_POINT_make_affine, EC_POINTs_make_affine, EC_POINTs_mul, EC_POINT_mul, EC_GROUP_precompute_mult, EC_GROUP_have_precompute_mult - EC_POINT #include int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx); int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx); int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx); int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); int EC_GROUP_have_precompute_mult(const EC_GROUP *group); EC_POINT_add a b r. EC_POINT_dbl a r. r a b. EC_POINT_invert a. a. EC_POINT_is_at_infinity . EC_POINT_is_on_curve . EC_POINT_cmp . EC_POINT_make_affine EC_POINTs_make_affine () EC_POINT . EC_POINTs_make_affine num points . OpenSSL 3.0 . . EC_POINT_mul * n + q * m r. n NULL q * m ( ). q m NULL n NULL * n ( ). ( n m) [0, ec_group_order). OpenSSL 3.0 EC_POINTs_mul * n + q[0] * m[0] + ... + q[num-1] * m[num-1]. EC_POINT_mul n NULL num . (n NULL num 0) (n NULL num 1) ( n m[0]) [0, ec_group_order). EC_POINT_mul() ( ) EC_POINT_add() . EC_GROUP_precompute_mult EC_GROUP_have_precompute_mult . EC_GROUP_copy(3) . OpenSSL 3.0. EC_GROUP_precompute_mult() EC_GROUP_have_precompute_mult() OpenSSL . 1 0 : EC_POINT_add, EC_POINT_dbl, EC_POINT_invert, EC_POINT_make_affine, EC_POINTs_make_affine, EC_POINTs_make_affine, EC_POINT_mul, EC_POINTs_mul EC_GROUP_precompute_mult. EC_POINT_is_at_infinity 1 0 . EC_POINT_is_on_curve 1 0 -1 . EC_POINT_cmp 1 0 -1 . EC_GROUP_have_precompute_mult 1 0 . crypto(7), EC_GROUP_new(3), EC_GROUP_copy(3), EC_POINT_new(3), EC_KEY_new(3), EC_GFp_simple_method(3), d2i_ECPKParameters(3) EC_POINT_make_affine() EC_POINTs_make_affine() EC_POINTs_mul() EC_GROUP_precompute_mult() EC_GROUP_have_precompute_mult() OpenSSL 3.0. 2013-2023 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 EC_POINT_ADD(3ssl)