Commit 35b73a1f authored by Bodo Möller's avatar Bodo Möller
Browse files

Rename implementations of method functions so that they match

the new method names where _GF... suffixes have been removed.

Revert changes to ..._{get/set}_Jprojective_coordinates_...:
The current implementation for ECC over binary fields does not use
projective coordinates, and if it did, it would not use Jacobian
projective coordinates; so it's OK to use the ..._GFp prefix for all
this.

Add author attributions to some files so that it doesn't look
as if Sun wrote all of this :-)
parent 9e4f9b36
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -21,8 +21,6 @@
          EC_GROUP_new_curve_GF2m
          EC_GROUP_new_curve_GF2m
          EC_GROUP_set_curve_GF2m
          EC_GROUP_set_curve_GF2m
          EC_GROUP_get_curve_GF2m
          EC_GROUP_get_curve_GF2m
          EC_POINT_set_Jprojective_coordinates_GF2m
          EC_POINT_get_Jprojective_coordinates_GF2m
          EC_POINT_set_affine_coordinates_GF2m
          EC_POINT_set_affine_coordinates_GF2m
          EC_POINT_get_affine_coordinates_GF2m
          EC_POINT_get_affine_coordinates_GF2m
          EC_POINT_set_compressed_coordinates_GF2m
          EC_POINT_set_compressed_coordinates_GF2m
+7 −7
Original line number Original line Diff line number Diff line
@@ -194,13 +194,6 @@ bn_asm.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
bn_asm.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_asm.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_asm.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_asm.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_asm.o: ../cryptlib.h bn_asm.c bn_lcl.h
bn_asm.o: ../cryptlib.h bn_asm.c bn_lcl.h
bn_gf2m.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_gf2m.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
bn_gf2m.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
bn_gf2m.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
bn_gf2m.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_gf2m.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_gf2m.o: ../cryptlib.h bn_gf2m.c bn_lcl.h
bn_blind.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_blind.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_blind.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
bn_blind.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
bn_blind.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
bn_blind.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
@@ -249,6 +242,13 @@ bn_gcd.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
bn_gcd.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_gcd.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_gcd.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_gcd.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_gcd.o: ../cryptlib.h bn_gcd.c bn_lcl.h
bn_gcd.o: ../cryptlib.h bn_gcd.c bn_lcl.h
bn_gf2m.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_gf2m.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h
bn_gf2m.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h
bn_gf2m.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
bn_gf2m.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
bn_gf2m.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
bn_gf2m.o: ../cryptlib.h bn_gf2m.c bn_lcl.h
bn_kron.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
bn_kron.o: ../../include/openssl/bn.h ../../include/openssl/e_os2.h
bn_kron.o: ../../include/openssl/opensslconf.h bn_kron.c bn_lcl.h
bn_kron.o: ../../include/openssl/opensslconf.h bn_kron.c bn_lcl.h
bn_lib.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
bn_lib.o: ../../e_os.h ../../include/openssl/bio.h ../../include/openssl/bn.h
+17 −14
Original line number Original line Diff line number Diff line
@@ -84,6 +84,23 @@ clean:


# DO NOT DELETE THIS LINE -- make depend depends on it.
# DO NOT DELETE THIS LINE -- make depend depends on it.


ec2_mult.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
ec2_mult.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
ec2_mult.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
ec2_mult.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
ec2_mult.o: ../../include/openssl/obj_mac.h ../../include/openssl/opensslconf.h
ec2_mult.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
ec2_mult.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
ec2_mult.o: ../../include/openssl/symhacks.h ec2_mult.c ec_lcl.h
ec2_smpl.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h
ec2_smpl.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h
ec2_smpl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h
ec2_smpl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h
ec2_smpl.o: ../../include/openssl/obj_mac.h ../../include/openssl/opensslconf.h
ec2_smpl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
ec2_smpl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
ec2_smpl.o: ../../include/openssl/symhacks.h ec2_smpl.c ec2_smpt.c ec_lcl.h
ec2_smpt.o: ec2_smpt.c
ec_asn1.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
ec_asn1.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h
ec_asn1.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
ec_asn1.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
ec_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
ec_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
@@ -178,17 +195,3 @@ ecp_smpl.o: ../../include/openssl/obj_mac.h ../../include/openssl/opensslconf.h
ecp_smpl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
ecp_smpl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h
ecp_smpl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
ecp_smpl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h
ecp_smpl.o: ../../include/openssl/symhacks.h ec_lcl.h ecp_smpl.c
ecp_smpl.o: ../../include/openssl/symhacks.h ec_lcl.h ecp_smpl.c
ec2_smpl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
ec2_smpl.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
ec2_smpl.o: ../../include/openssl/ec.h ../../include/openssl/err.h
ec2_smpl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
ec2_smpl.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
ec2_smpl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
ec2_smpl.o: ec_lcl.h ec2_smpl.c ec2_smpt.c
ec2_mult.o: ../../include/openssl/bio.h ../../include/openssl/bn.h
ec2_mult.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h
ec2_mult.o: ../../include/openssl/ec.h ../../include/openssl/err.h
ec2_mult.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h
ec2_mult.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h
ec2_mult.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h
ec2_mult.o: ec_lcl.h ec2_mult.c
+12 −15
Original line number Original line Diff line number Diff line
/* crypto/ec/ec.h */
/* crypto/ec/ec.h */
/*
 * Originally written by Bodo Moeller for the OpenSSL project.
 */
/* ====================================================================
/* ====================================================================
 * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
 * Copyright (c) 1998-2002 The OpenSSL Project.  All rights reserved.
 *
 *
@@ -288,10 +291,6 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *, const EC_POINT *,
int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *, EC_POINT *,
int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *, EC_POINT *,
	const BIGNUM *x, int y_bit, BN_CTX *);
	const BIGNUM *x, int y_bit, BN_CTX *);


int EC_POINT_set_Jprojective_coordinates_GF2m(const EC_GROUP *, EC_POINT *,
	const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *);
int EC_POINT_get_Jprojective_coordinates_GF2m(const EC_GROUP *, const EC_POINT *,
	BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *);
int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *, EC_POINT *,
int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *, EC_POINT *,
	const BIGNUM *x, const BIGNUM *y, BN_CTX *);
	const BIGNUM *x, const BIGNUM *y, BN_CTX *);
int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *, const EC_POINT *,
int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *, const EC_POINT *,
@@ -406,23 +405,23 @@ void ERR_load_EC_strings(void);
#define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT	 168
#define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT	 168
#define EC_F_EC_GF2M_SIMPLE_OCT2POINT			 169
#define EC_F_EC_GF2M_SIMPLE_OCT2POINT			 169
#define EC_F_EC_GF2M_SIMPLE_POINT2OCT			 170
#define EC_F_EC_GF2M_SIMPLE_POINT2OCT			 170
#define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES_GF2M 171
#define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 171
#define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES_GF2M 172
#define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 172
#define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES_GF2M 185
#define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES	 182
#define EC_F_EC_GFP_MONT_FIELD_DECODE			 133
#define EC_F_EC_GFP_MONT_FIELD_DECODE			 133
#define EC_F_EC_GFP_MONT_FIELD_ENCODE			 134
#define EC_F_EC_GFP_MONT_FIELD_ENCODE			 134
#define EC_F_EC_GFP_MONT_FIELD_MUL			 131
#define EC_F_EC_GFP_MONT_FIELD_MUL			 131
#define EC_F_EC_GFP_MONT_FIELD_SQR			 132
#define EC_F_EC_GFP_MONT_FIELD_SQR			 132
#define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT	 152
#define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT	 152
#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP		 100
#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE		 100
#define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR		 101
#define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR		 101
#define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE			 102
#define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE			 102
#define EC_F_EC_GFP_SIMPLE_OCT2POINT			 103
#define EC_F_EC_GFP_SIMPLE_OCT2POINT			 103
#define EC_F_EC_GFP_SIMPLE_POINT2OCT			 104
#define EC_F_EC_GFP_SIMPLE_POINT2OCT			 104
#define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE		 137
#define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE		 137
#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES_GFP 105
#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 105
#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128
#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 128
#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129
#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 129
#define EC_F_EC_GROUP_CHECK				 150
#define EC_F_EC_GROUP_CHECK				 150
#define EC_F_EC_GROUP_CHECK_DISCRIMINANT		 153
#define EC_F_EC_GROUP_CHECK_DISCRIMINANT		 153
#define EC_F_EC_GROUP_COPY				 106
#define EC_F_EC_GROUP_COPY				 106
@@ -452,7 +451,6 @@ void ERR_load_EC_strings(void);
#define EC_F_EC_POINT_DBL				 115
#define EC_F_EC_POINT_DBL				 115
#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M	 177
#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M	 177
#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP	 116
#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP	 116
#define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GF2M	 178
#define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP	 117
#define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP	 117
#define EC_F_EC_POINT_IS_AT_INFINITY			 118
#define EC_F_EC_POINT_IS_AT_INFINITY			 118
#define EC_F_EC_POINT_IS_ON_CURVE			 119
#define EC_F_EC_POINT_IS_ON_CURVE			 119
@@ -465,12 +463,11 @@ void ERR_load_EC_strings(void);
#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP	 124
#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP	 124
#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M	 181
#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M	 181
#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP	 125
#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP	 125
#define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GF2M	 182
#define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP	 126
#define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP	 126
#define EC_F_EC_POINT_SET_TO_INFINITY			 127
#define EC_F_EC_POINT_SET_TO_INFINITY			 127
#define EC_F_EC_WNAF_MUL				 183
#define EC_F_EC_WNAF_MUL				 183
#define EC_F_EC_WNAF_PRECOMPUTE_MULT			 184
#define EC_F_EC_WNAF_PRECOMPUTE_MULT			 178
#define EC_F_GFP_MONT_GROUP_SET_CURVE_GFP		 135
#define EC_F_GFP_MONT_GROUP_SET_CURVE			 135
#define EC_F_I2D_ECDSAPARAMETERS			 158
#define EC_F_I2D_ECDSAPARAMETERS			 158
#define EC_F_I2D_ECPARAMETERS				 164
#define EC_F_I2D_ECPARAMETERS				 164
#define EC_F_I2D_ECPKPARAMETERS				 165
#define EC_F_I2D_ECPKPARAMETERS				 165
+14 −14
Original line number Original line Diff line number Diff line
@@ -93,8 +93,8 @@ const EC_METHOD *EC_GF2m_simple_method(void)
		ec_GF2m_simple_group_finish,
		ec_GF2m_simple_group_finish,
		ec_GF2m_simple_group_clear_finish,
		ec_GF2m_simple_group_clear_finish,
		ec_GF2m_simple_group_copy,
		ec_GF2m_simple_group_copy,
		ec_GF2m_simple_group_set_curve_GF2m,
		ec_GF2m_simple_group_set_curve,
		ec_GF2m_simple_group_get_curve_GF2m,
		ec_GF2m_simple_group_get_curve,
		ec_GF2m_simple_group_get_degree,
		ec_GF2m_simple_group_get_degree,
		ec_GF2m_simple_group_check_discriminant,
		ec_GF2m_simple_group_check_discriminant,
		ec_GF2m_simple_point_init,
		ec_GF2m_simple_point_init,
@@ -102,11 +102,11 @@ const EC_METHOD *EC_GF2m_simple_method(void)
		ec_GF2m_simple_point_clear_finish,
		ec_GF2m_simple_point_clear_finish,
		ec_GF2m_simple_point_copy,
		ec_GF2m_simple_point_copy,
		ec_GF2m_simple_point_set_to_infinity,
		ec_GF2m_simple_point_set_to_infinity,
		0 /* set_Jprojective_coordinates_GF2m */,
		0 /* set_Jprojective_coordinates_GFp */,
		0 /* get_Jprojective_coordinates_GF2m */,
		0 /* get_Jprojective_coordinates_GFp */,
		ec_GF2m_simple_point_set_affine_coordinates_GF2m,
		ec_GF2m_simple_point_set_affine_coordinates,
		ec_GF2m_simple_point_get_affine_coordinates_GF2m,
		ec_GF2m_simple_point_get_affine_coordinates,
		ec_GF2m_simple_set_compressed_coordinates_GF2m,
		ec_GF2m_simple_set_compressed_coordinates,
		ec_GF2m_simple_point2oct,
		ec_GF2m_simple_point2oct,
		ec_GF2m_simple_oct2point,
		ec_GF2m_simple_oct2point,
		ec_GF2m_simple_add,
		ec_GF2m_simple_add,
@@ -192,7 +192,7 @@ int ec_GF2m_simple_group_copy(EC_GROUP *dest, const EC_GROUP *src)




/* Set the curve parameters of an EC_GROUP structure. */
/* Set the curve parameters of an EC_GROUP structure. */
int ec_GF2m_simple_group_set_curve_GF2m(EC_GROUP *group,
int ec_GF2m_simple_group_set_curve(EC_GROUP *group,
	const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
	const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
	{
	{
	int ret = 0, i;
	int ret = 0, i;
@@ -221,7 +221,7 @@ int ec_GF2m_simple_group_set_curve_GF2m(EC_GROUP *group,
/* Get the curve parameters of an EC_GROUP structure.
/* Get the curve parameters of an EC_GROUP structure.
 * If p, a, or b are NULL then there values will not be set but the method will return with success.
 * If p, a, or b are NULL then there values will not be set but the method will return with success.
 */
 */
int ec_GF2m_simple_group_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
int ec_GF2m_simple_group_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
	{
	{
	int ret = 0;
	int ret = 0;
	
	
@@ -349,13 +349,13 @@ int ec_GF2m_simple_point_set_to_infinity(const EC_GROUP *group, EC_POINT *point)
/* Set the coordinates of an EC_POINT using affine coordinates. 
/* Set the coordinates of an EC_POINT using affine coordinates. 
 * Note that the simple implementation only uses affine coordinates.
 * Note that the simple implementation only uses affine coordinates.
 */
 */
int ec_GF2m_simple_point_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *point,
int ec_GF2m_simple_point_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point,
	const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
	const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
	{
	{
	int ret = 0;	
	int ret = 0;	
	if (x == NULL || y == NULL)
	if (x == NULL || y == NULL)
		{
		{
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES_GF2M, ERR_R_PASSED_NULL_PARAMETER);
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES, ERR_R_PASSED_NULL_PARAMETER);
		return 0;
		return 0;
		}
		}


@@ -373,20 +373,20 @@ int ec_GF2m_simple_point_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_P
/* Gets the affine coordinates of an EC_POINT. 
/* Gets the affine coordinates of an EC_POINT. 
 * Note that the simple implementation only uses affine coordinates.
 * Note that the simple implementation only uses affine coordinates.
 */
 */
int ec_GF2m_simple_point_get_affine_coordinates_GF2m(const EC_GROUP *group, const EC_POINT *point,
int ec_GF2m_simple_point_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point,
	BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
	BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
	{
	{
	int ret = 0;
	int ret = 0;


	if (EC_POINT_is_at_infinity(group, point))
	if (EC_POINT_is_at_infinity(group, point))
		{
		{
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES_GF2M, EC_R_POINT_AT_INFINITY);
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES, EC_R_POINT_AT_INFINITY);
		return 0;
		return 0;
		}
		}


	if (BN_cmp(&point->Z, BN_value_one())) 
	if (BN_cmp(&point->Z, BN_value_one())) 
		{
		{
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES_GF2M, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
		ECerr(EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
		return 0;
		return 0;
		}
		}
	if (x != NULL)
	if (x != NULL)
Loading