Sortix cross-volatile manual
This manual documents Sortix cross-volatile. You can instead view this document in the latest official manual.
NAME
EC_GROUP_check_discriminant, EC_GROUP_check — partially check validity of EC_GROUP objectsSYNOPSIS
library “libcrypto”#include <openssl/bn.h>
#include <openssl/ec.h>
int
EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx);
EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx);
DESCRIPTION
These functions are deprecated. Only standardized curves built into the library should be used, see EC_GROUP_new_by_curve_name(3). Builtin curves went through far more thorough checking than the minimal, incomplete tests performed by these functions.* order is the point at infinity. This implies that the order set on group is an integer multiple of the generator's order. The verification that p is a prime and that order is equal to the generator's order are skipped because they are too expensive.RETURN VALUES
EC_GROUP_check_discriminant() returns 1 on success and 0 on failure. Failure modes include that the discriminant is zero modulo p and memory allocation failure.ERRORS
Diagnostics for EC_GROUP_check() that can be retrieved with ERR_get_error(3), ERR_GET_REASON(3), and ERR_reason_error_string(3) include:- EC_R_DISCRIMINANT_IS_ZERO “discriminant is zero”
- EC_GROUP_check_discriminant() failed because the discriminant is zero or for some other reason.
- EC_R_UNDEFINED_GENERATOR “undefined generator”
- no generator is set on group, for example because a call to EC_GROUP_set_generator(3) is missing.
- EC_R_POINT_IS_NOT_ON_CURVE “point is not on curve”
- a generator is set, but it is not a point on the curve represented by group.
- EC_R_UNDEFINED_ORDER “undefined order”
- the order set on group is zero.
- EC_R_INVALID_GROUP_ORDER “invalid group order”
-
generator
*order is not the point at infinity.