Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions libtomcrypt_VS2008.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -2283,11 +2283,11 @@
>
</File>
<File
RelativePath="src\pk\ecc\ecc_free.c"
RelativePath="src\pk\ecc\ecc_find_curve.c"
>
</File>
<File
RelativePath="src\pk\ecc\ecc_get_curve.c"
RelativePath="src\pk\ecc\ecc_free.c"
>
</File>
<File
Expand Down Expand Up @@ -2319,11 +2319,11 @@
>
</File>
<File
RelativePath="src\pk\ecc\ecc_set_dp.c"
RelativePath="src\pk\ecc\ecc_set_curve.c"
>
</File>
<File
RelativePath="src\pk\ecc\ecc_set_dp_internal.c"
RelativePath="src\pk\ecc\ecc_set_curve_internal.c"
>
</File>
<File
Expand Down
12 changes: 6 additions & 6 deletions makefile.mingw
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,12 @@ src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_set.o src/pk/dsa/dsa_set_pqg_dsaparam.o
src/pk/dsa/dsa_shared_secret.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/ecc/ecc_ansi_x963_export.o \
src/pk/ecc/ecc_ansi_x963_import.o src/pk/ecc/ecc_decrypt_key.o src/pk/ecc/ecc_encrypt_key.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_free.o \
src/pk/ecc/ecc_get_curve.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o \
src/pk/ecc/ecc_get_size.o src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o \
src/pk/ecc/ecc_import_x509.o src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_dp.o \
src/pk/ecc/ecc_set_dp_internal.o src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o \
src/pk/ecc/ecc_sign_hash.o src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_find_curve.o \
src/pk/ecc/ecc_free.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o src/pk/ecc/ecc_get_size.o \
src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o src/pk/ecc/ecc_import_x509.o \
src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_curve.o src/pk/ecc/ecc_set_curve_internal.o \
src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o src/pk/ecc/ecc_sign_hash.o \
src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ltc_ecc_export_point.o src/pk/ecc/ltc_ecc_import_point.o src/pk/ecc/ltc_ecc_is_point.o \
src/pk/ecc/ltc_ecc_is_point_at_infinity.o src/pk/ecc/ltc_ecc_map.o src/pk/ecc/ltc_ecc_mul2add.o \
src/pk/ecc/ltc_ecc_mulmod.o src/pk/ecc/ltc_ecc_mulmod_timing.o src/pk/ecc/ltc_ecc_points.o \
Expand Down
12 changes: 6 additions & 6 deletions makefile.msvc
Original file line number Diff line number Diff line change
Expand Up @@ -170,12 +170,12 @@ src/pk/dsa/dsa_make_key.obj src/pk/dsa/dsa_set.obj src/pk/dsa/dsa_set_pqg_dsapar
src/pk/dsa/dsa_shared_secret.obj src/pk/dsa/dsa_sign_hash.obj src/pk/dsa/dsa_verify_hash.obj \
src/pk/dsa/dsa_verify_key.obj src/pk/ecc/ecc.obj src/pk/ecc/ecc_ansi_x963_export.obj \
src/pk/ecc/ecc_ansi_x963_import.obj src/pk/ecc/ecc_decrypt_key.obj src/pk/ecc/ecc_encrypt_key.obj \
src/pk/ecc/ecc_export.obj src/pk/ecc/ecc_export_openssl.obj src/pk/ecc/ecc_free.obj \
src/pk/ecc/ecc_get_curve.obj src/pk/ecc/ecc_get_key.obj src/pk/ecc/ecc_get_oid_str.obj \
src/pk/ecc/ecc_get_size.obj src/pk/ecc/ecc_import.obj src/pk/ecc/ecc_import_openssl.obj \
src/pk/ecc/ecc_import_x509.obj src/pk/ecc/ecc_make_key.obj src/pk/ecc/ecc_set_dp.obj \
src/pk/ecc/ecc_set_dp_internal.obj src/pk/ecc/ecc_set_key.obj src/pk/ecc/ecc_shared_secret.obj \
src/pk/ecc/ecc_sign_hash.obj src/pk/ecc/ecc_sizes.obj src/pk/ecc/ecc_test.obj src/pk/ecc/ecc_verify_hash.obj \
src/pk/ecc/ecc_export.obj src/pk/ecc/ecc_export_openssl.obj src/pk/ecc/ecc_find_curve.obj \
src/pk/ecc/ecc_free.obj src/pk/ecc/ecc_get_key.obj src/pk/ecc/ecc_get_oid_str.obj src/pk/ecc/ecc_get_size.obj \
src/pk/ecc/ecc_import.obj src/pk/ecc/ecc_import_openssl.obj src/pk/ecc/ecc_import_x509.obj \
src/pk/ecc/ecc_make_key.obj src/pk/ecc/ecc_set_curve.obj src/pk/ecc/ecc_set_curve_internal.obj \
src/pk/ecc/ecc_set_key.obj src/pk/ecc/ecc_shared_secret.obj src/pk/ecc/ecc_sign_hash.obj \
src/pk/ecc/ecc_sizes.obj src/pk/ecc/ecc_test.obj src/pk/ecc/ecc_verify_hash.obj \
src/pk/ecc/ltc_ecc_export_point.obj src/pk/ecc/ltc_ecc_import_point.obj src/pk/ecc/ltc_ecc_is_point.obj \
src/pk/ecc/ltc_ecc_is_point_at_infinity.obj src/pk/ecc/ltc_ecc_map.obj src/pk/ecc/ltc_ecc_mul2add.obj \
src/pk/ecc/ltc_ecc_mulmod.obj src/pk/ecc/ltc_ecc_mulmod_timing.obj src/pk/ecc/ltc_ecc_points.obj \
Expand Down
12 changes: 6 additions & 6 deletions makefile.unix
Original file line number Diff line number Diff line change
Expand Up @@ -187,12 +187,12 @@ src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_set.o src/pk/dsa/dsa_set_pqg_dsaparam.o
src/pk/dsa/dsa_shared_secret.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/ecc/ecc_ansi_x963_export.o \
src/pk/ecc/ecc_ansi_x963_import.o src/pk/ecc/ecc_decrypt_key.o src/pk/ecc/ecc_encrypt_key.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_free.o \
src/pk/ecc/ecc_get_curve.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o \
src/pk/ecc/ecc_get_size.o src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o \
src/pk/ecc/ecc_import_x509.o src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_dp.o \
src/pk/ecc/ecc_set_dp_internal.o src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o \
src/pk/ecc/ecc_sign_hash.o src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_find_curve.o \
src/pk/ecc/ecc_free.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o src/pk/ecc/ecc_get_size.o \
src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o src/pk/ecc/ecc_import_x509.o \
src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_curve.o src/pk/ecc/ecc_set_curve_internal.o \
src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o src/pk/ecc/ecc_sign_hash.o \
src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ltc_ecc_export_point.o src/pk/ecc/ltc_ecc_import_point.o src/pk/ecc/ltc_ecc_is_point.o \
src/pk/ecc/ltc_ecc_is_point_at_infinity.o src/pk/ecc/ltc_ecc_map.o src/pk/ecc/ltc_ecc_mul2add.o \
src/pk/ecc/ltc_ecc_mulmod.o src/pk/ecc/ltc_ecc_mulmod_timing.o src/pk/ecc/ltc_ecc_points.o \
Expand Down
12 changes: 6 additions & 6 deletions makefile_include.mk
Original file line number Diff line number Diff line change
Expand Up @@ -347,12 +347,12 @@ src/pk/dsa/dsa_make_key.o src/pk/dsa/dsa_set.o src/pk/dsa/dsa_set_pqg_dsaparam.o
src/pk/dsa/dsa_shared_secret.o src/pk/dsa/dsa_sign_hash.o src/pk/dsa/dsa_verify_hash.o \
src/pk/dsa/dsa_verify_key.o src/pk/ecc/ecc.o src/pk/ecc/ecc_ansi_x963_export.o \
src/pk/ecc/ecc_ansi_x963_import.o src/pk/ecc/ecc_decrypt_key.o src/pk/ecc/ecc_encrypt_key.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_free.o \
src/pk/ecc/ecc_get_curve.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o \
src/pk/ecc/ecc_get_size.o src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o \
src/pk/ecc/ecc_import_x509.o src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_dp.o \
src/pk/ecc/ecc_set_dp_internal.o src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o \
src/pk/ecc/ecc_sign_hash.o src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ecc_export.o src/pk/ecc/ecc_export_openssl.o src/pk/ecc/ecc_find_curve.o \
src/pk/ecc/ecc_free.o src/pk/ecc/ecc_get_key.o src/pk/ecc/ecc_get_oid_str.o src/pk/ecc/ecc_get_size.o \
src/pk/ecc/ecc_import.o src/pk/ecc/ecc_import_openssl.o src/pk/ecc/ecc_import_x509.o \
src/pk/ecc/ecc_make_key.o src/pk/ecc/ecc_set_curve.o src/pk/ecc/ecc_set_curve_internal.o \
src/pk/ecc/ecc_set_key.o src/pk/ecc/ecc_shared_secret.o src/pk/ecc/ecc_sign_hash.o \
src/pk/ecc/ecc_sizes.o src/pk/ecc/ecc_test.o src/pk/ecc/ecc_verify_hash.o \
src/pk/ecc/ltc_ecc_export_point.o src/pk/ecc/ltc_ecc_import_point.o src/pk/ecc/ltc_ecc_is_point.o \
src/pk/ecc/ltc_ecc_is_point_at_infinity.o src/pk/ecc/ltc_ecc_map.o src/pk/ecc/ltc_ecc_mul2add.o \
src/pk/ecc/ltc_ecc_mulmod.o src/pk/ecc/ltc_ecc_mulmod_timing.o src/pk/ecc/ltc_ecc_points.o \
Expand Down
4 changes: 2 additions & 2 deletions src/headers/tomcrypt_pk.h
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,8 @@ int ecc_test(void);
void ecc_sizes(int *low, int *high);
int ecc_get_size(const ecc_key *key);

int ecc_get_curve(const char* name_or_oid, const ltc_ecc_curve** cu);
int ecc_set_dp(const ltc_ecc_curve *cu, ecc_key *key);
int ecc_find_curve(const char* name_or_oid, const ltc_ecc_curve** cu);
int ecc_set_curve(const ltc_ecc_curve *cu, ecc_key *key);
int ecc_generate_key(prng_state *prng, int wprng, ecc_key *key);
int ecc_set_key(const unsigned char *in, unsigned long inlen, int type, ecc_key *key);
int ecc_get_key(unsigned char *out, unsigned long *outlen, int type, const ecc_key *key);
Expand Down
6 changes: 3 additions & 3 deletions src/headers/tomcrypt_private.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,9 +192,9 @@ int dh_check_pubkey(const dh_key *key);

/* ---- ECC Routines ---- */
#ifdef LTC_MECC
int ecc_set_dp_from_mpis(void *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ecc_key *key);
int ecc_copy_dp(const ecc_key *srckey, ecc_key *key);
int ecc_set_dp_by_size(int size, ecc_key *key);
int ecc_set_curve_from_mpis(void *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ecc_key *key);
int ecc_copy_curve(const ecc_key *srckey, ecc_key *key);
int ecc_set_curve_by_size(int size, ecc_key *key);
int ecc_import_subject_public_key_info(const unsigned char *in, unsigned long inlen, ecc_key *key);

/* low level functions */
Expand Down
4 changes: 2 additions & 2 deletions src/pk/ecc/ecc_ansi_x963_import.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,11 @@ int ecc_ansi_x963_import_ex(const unsigned char *in, unsigned long inlen, ecc_ke
/* initialize key->dp */
if (cu == NULL) {
/* this case works only for uncompressed public keys */
if ((err = ecc_set_dp_by_size((inlen-1)>>1, key)) != CRYPT_OK) { return err; }
if ((err = ecc_set_curve_by_size((inlen-1)>>1, key)) != CRYPT_OK) { return err; }
}
else {
/* this one works for both compressed / uncompressed pubkeys */
if ((err = ecc_set_dp(cu, key)) != CRYPT_OK) { return err; }
if ((err = ecc_set_curve(cu, key)) != CRYPT_OK) { return err; }
}

/* load public key */
Expand Down
2 changes: 1 addition & 1 deletion src/pk/ecc/ecc_decrypt_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ int ecc_decrypt_key(const unsigned char *in, unsigned long inlen,
}

/* import ECC key from packet */
if ((err = ecc_copy_dp(key, &pubkey)) != CRYPT_OK) { goto LBL_ERR; }
if ((err = ecc_copy_curve(key, &pubkey)) != CRYPT_OK) { goto LBL_ERR; }
if ((err = ecc_set_key(decode[1].data, decode[1].size, PK_PUBLIC, &pubkey)) != CRYPT_OK) { goto LBL_ERR; }

/* make shared key */
Expand Down
2 changes: 1 addition & 1 deletion src/pk/ecc/ecc_encrypt_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ int ecc_encrypt_key(const unsigned char *in, unsigned long inlen,
}

/* make a random key and export the public copy */
if ((err = ecc_copy_dp(key, &pubkey)) != CRYPT_OK) { return err; }
if ((err = ecc_copy_curve(key, &pubkey)) != CRYPT_OK) { return err; }
if ((err = ecc_generate_key(prng, wprng, &pubkey)) != CRYPT_OK) { return err; }

pub_expt = XMALLOC(ECC_BUF_SIZE);
Expand Down
2 changes: 1 addition & 1 deletion src/pk/ecc/ecc_get_curve.c → src/pk/ecc/ecc_find_curve.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ static int _name_match(const char *left, const char *right)
return 0;
}

int ecc_get_curve(const char *name_or_oid, const ltc_ecc_curve **cu)
int ecc_find_curve(const char *name_or_oid, const ltc_ecc_curve **cu)
{
int i, j;
const char *OID = NULL;
Expand Down
4 changes: 2 additions & 2 deletions src/pk/ecc/ecc_import.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ int ecc_import_ex(const unsigned char *in, unsigned long inlen, ecc_key *key, co

/* allocate & initialize the key */
if (cu == NULL) {
if ((err = ecc_set_dp_by_size(key_size, key)) != CRYPT_OK) { goto done; }
if ((err = ecc_set_curve_by_size(key_size, key)) != CRYPT_OK) { goto done; }
} else {
if ((err = ecc_set_dp(cu, key)) != CRYPT_OK) { goto done; }
if ((err = ecc_set_curve(cu, key)) != CRYPT_OK) { goto done; }
}

if (flags[0] == 1) {
Expand Down
6 changes: 3 additions & 3 deletions src/pk/ecc/ecc_import_openssl.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ static int _ecc_import_private_with_oid(const unsigned char *in, unsigned long i
/* load curve parameters for given curve OID */
len = sizeof(OID);
if ((err = pk_oid_num_to_str(curveoid, custom[0].size, OID, &len)) != CRYPT_OK) { goto error; }
if ((err = ecc_get_curve(OID, &curve)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_dp(curve, key)) != CRYPT_OK) { goto error; }
if ((err = ecc_find_curve(OID, &curve)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_curve(curve, key)) != CRYPT_OK) { goto error; }
/* load private+public key */
err = ecc_set_key(bin_k, seq_priv[1].size, PK_PRIVATE, key);
}
Expand Down Expand Up @@ -96,7 +96,7 @@ static int _ecc_import_private_with_curve(const unsigned char *in, unsigned long
if ((err = mp_read_unsigned_bin(b, bin_b, len_b)) != CRYPT_OK) { goto error; }
if ((err = ltc_ecc_import_point(bin_g, len_g, prime, a, b, gx, gy)) != CRYPT_OK) { goto error; }
/* load curve parameters */
if ((err = ecc_set_dp_from_mpis(a, b, prime, order, gx, gy, cofactor, key)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_curve_from_mpis(a, b, prime, order, gx, gy, cofactor, key)) != CRYPT_OK) { goto error; }
/* load private+public key */
err = ecc_set_key(bin_k, len_k, PK_PRIVATE, key);
}
Expand Down
6 changes: 3 additions & 3 deletions src/pk/ecc/ecc_import_x509.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ static int _ecc_import_x509_with_oid(const unsigned char *in, unsigned long inle
/* load curve parameters for given curve OID */
len = sizeof(OID);
if ((err = pk_oid_num_to_str(curveoid, len_oid, OID, &len)) != CRYPT_OK) { goto error; }
if ((err = ecc_get_curve(OID, &curve)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_dp(curve, key)) != CRYPT_OK) { goto error; }
if ((err = ecc_find_curve(OID, &curve)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_curve(curve, key)) != CRYPT_OK) { goto error; }
/* load public key */
err = ecc_set_key(bin_xy, len_xy, PK_PUBLIC, key);
}
Expand Down Expand Up @@ -80,7 +80,7 @@ static int _ecc_import_x509_with_curve(const unsigned char *in, unsigned long in
if ((err = mp_read_unsigned_bin(b, bin_b, len_b)) != CRYPT_OK) { goto error; }
if ((err = ltc_ecc_import_point(bin_g, len_g, prime, a, b, gx, gy)) != CRYPT_OK) { goto error; }
/* load curve parameters */
if ((err = ecc_set_dp_from_mpis(a, b, prime, order, gx, gy, cofactor, key)) != CRYPT_OK) { goto error; }
if ((err = ecc_set_curve_from_mpis(a, b, prime, order, gx, gy, cofactor, key)) != CRYPT_OK) { goto error; }
/* load public key */
err = ecc_set_key(bin_xy, len_xy, PK_PUBLIC, key);
}
Expand Down
6 changes: 3 additions & 3 deletions src/pk/ecc/ecc_make_key.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,15 @@ int ecc_make_key(prng_state *prng, int wprng, int keysize, ecc_key *key)
{
int err;

if ((err = ecc_set_dp_by_size(keysize, key)) != CRYPT_OK) { return err; }
if ((err = ecc_generate_key(prng, wprng, key)) != CRYPT_OK) { return err; }
if ((err = ecc_set_curve_by_size(keysize, key)) != CRYPT_OK) { return err; }
if ((err = ecc_generate_key(prng, wprng, key)) != CRYPT_OK) { return err; }
return CRYPT_OK;
}

int ecc_make_key_ex(prng_state *prng, int wprng, ecc_key *key, const ltc_ecc_curve *cu)
{
int err;
if ((err = ecc_set_dp(cu, key)) != CRYPT_OK) { return err; }
if ((err = ecc_set_curve(cu, key)) != CRYPT_OK) { return err; }
if ((err = ecc_generate_key(prng, wprng, key)) != CRYPT_OK) { return err; }
return CRYPT_OK;
}
Expand Down
22 changes: 11 additions & 11 deletions src/pk/ecc/ecc_set_dp.c → src/pk/ecc/ecc_set_curve.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

#ifdef LTC_MECC

int ecc_set_dp(const ltc_ecc_curve *cu, ecc_key *key)
int ecc_set_curve(const ltc_ecc_curve *cu, ecc_key *key)
{
int err;

Expand Down Expand Up @@ -47,38 +47,38 @@ int ecc_set_dp(const ltc_ecc_curve *cu, ecc_key *key)
return err;
}

int ecc_set_dp_by_size(int size, ecc_key *key)
int ecc_set_curve_by_size(int size, ecc_key *key)
{
const ltc_ecc_curve *cu = NULL;
int err = CRYPT_ERROR;

/* for compatibility with libtomcrypt-1.17 the sizes below must match the specific curves */
if (size <= 14) {
err = ecc_get_curve("SECP112R1", &cu);
err = ecc_find_curve("SECP112R1", &cu);
}
else if (size <= 16) {
err = ecc_get_curve("SECP128R1", &cu);
err = ecc_find_curve("SECP128R1", &cu);
}
else if (size <= 20) {
err = ecc_get_curve("SECP160R1", &cu);
err = ecc_find_curve("SECP160R1", &cu);
}
else if (size <= 24) {
err = ecc_get_curve("SECP192R1", &cu);
err = ecc_find_curve("SECP192R1", &cu);
}
else if (size <= 28) {
err = ecc_get_curve("SECP224R1", &cu);
err = ecc_find_curve("SECP224R1", &cu);
}
else if (size <= 32) {
err = ecc_get_curve("SECP256R1", &cu);
err = ecc_find_curve("SECP256R1", &cu);
}
else if (size <= 48) {
err = ecc_get_curve("SECP384R1", &cu);
err = ecc_find_curve("SECP384R1", &cu);
}
else if (size <= 66) {
err = ecc_get_curve("SECP521R1", &cu);
err = ecc_find_curve("SECP521R1", &cu);
}

if (err == CRYPT_OK && cu != NULL) return ecc_set_dp(cu, key);
if (err == CRYPT_OK && cu != NULL) return ecc_set_curve(cu, key);

return CRYPT_INVALID_ARG;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ static void _ecc_oid_lookup(ecc_key *key)
}
}

int ecc_copy_dp(const ecc_key *srckey, ecc_key *key)
int ecc_copy_curve(const ecc_key *srckey, ecc_key *key)
{
unsigned long i;
int err;
Expand Down Expand Up @@ -82,7 +82,7 @@ int ecc_copy_dp(const ecc_key *srckey, ecc_key *key)
return err;
}

int ecc_set_dp_from_mpis(void *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ecc_key *key)
int ecc_set_curve_from_mpis(void *a, void *b, void *prime, void *order, void *gx, void *gy, unsigned long cofactor, ecc_key *key)
{
int err;

Expand Down
2 changes: 1 addition & 1 deletion src/pk/ecc/ecc_sign_hash.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ static int _ecc_sign_hash(const unsigned char *in, unsigned long inlen,

/* make up a key and export the public copy */
do {
if ((err = ecc_copy_dp(key, &pubkey)) != CRYPT_OK) { goto errnokey; }
if ((err = ecc_copy_curve(key, &pubkey)) != CRYPT_OK) { goto errnokey; }
if ((err = ecc_generate_key(prng, wprng, &pubkey)) != CRYPT_OK) { goto errnokey; }

/* find r = x1 mod n */
Expand Down
Loading