mirror of https://github.com/wolfSSL/wolfssl.git
Merge pull request #3727 from JacobBarthelmeh/Prime
check prime is prime with ecc compressed keyspull/3703/head
commit
7efaf14fce
|
@ -6934,6 +6934,17 @@ int wc_ecc_import_point_der_ex(byte* in, word32 inLen, const int curve_idx,
|
||||||
(ECC_CURVE_FIELD_PRIME | ECC_CURVE_FIELD_AF |
|
(ECC_CURVE_FIELD_PRIME | ECC_CURVE_FIELD_AF |
|
||||||
ECC_CURVE_FIELD_BF));
|
ECC_CURVE_FIELD_BF));
|
||||||
|
|
||||||
|
#if defined(WOLFSSL_CUSTOM_CURVES) && \
|
||||||
|
defined(WOLFSSL_VALIDATE_ECC_IMPORT)
|
||||||
|
/* validate prime is prime for custom curves */
|
||||||
|
if (err == MP_OKAY && curve_idx == ECC_CUSTOM_IDX) {
|
||||||
|
int isPrime = MP_NO;
|
||||||
|
err = mp_prime_is_prime(curve->prime, 8, &isPrime);
|
||||||
|
if (err == MP_OKAY && isPrime == MP_NO)
|
||||||
|
err = MP_VAL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* compute x^3 */
|
/* compute x^3 */
|
||||||
if (err == MP_OKAY)
|
if (err == MP_OKAY)
|
||||||
err = mp_sqr(point->x, &t1);
|
err = mp_sqr(point->x, &t1);
|
||||||
|
@ -7831,6 +7842,17 @@ int wc_ecc_import_x963_ex(const byte* in, word32 inLen, ecc_key* key,
|
||||||
(ECC_CURVE_FIELD_PRIME | ECC_CURVE_FIELD_AF |
|
(ECC_CURVE_FIELD_PRIME | ECC_CURVE_FIELD_AF |
|
||||||
ECC_CURVE_FIELD_BF));
|
ECC_CURVE_FIELD_BF));
|
||||||
|
|
||||||
|
#if defined(WOLFSSL_CUSTOM_CURVES) && \
|
||||||
|
defined(WOLFSSL_VALIDATE_ECC_IMPORT)
|
||||||
|
/* validate prime is prime for custom curves */
|
||||||
|
if (err == MP_OKAY && key->idx == ECC_CUSTOM_IDX) {
|
||||||
|
int isPrime = MP_NO;
|
||||||
|
err = mp_prime_is_prime(curve->prime, 8, &isPrime);
|
||||||
|
if (err == MP_OKAY && isPrime == MP_NO)
|
||||||
|
err = MP_VAL;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* compute x^3 */
|
/* compute x^3 */
|
||||||
if (err == MP_OKAY)
|
if (err == MP_OKAY)
|
||||||
err = mp_sqr(key->pubkey.x, &t1);
|
err = mp_sqr(key->pubkey.x, &t1);
|
||||||
|
|
Loading…
Reference in New Issue