mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-03 12:44:45 +02:00
Merge pull request #4553 from SparkiDev/sp_mont_inv_order_fix
SP: fix when mont_mul_order is defined
This commit is contained in:
@@ -37574,6 +37574,19 @@ static WC_INLINE int sp_256_mod_8(sp_digit* r, const sp_digit* a, const sp_digit
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_8(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint32_t p256_order_minus_2[8] = {
|
static const uint32_t p256_order_minus_2[8] = {
|
||||||
@@ -37587,18 +37600,6 @@ static const sp_int_digit p256_order_low[4] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_8(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -37769,6 +37770,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -46840,6 +46842,19 @@ static WC_INLINE int sp_384_mod_12(sp_digit* r, const sp_digit* a, const sp_digi
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_12(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint32_t p384_order_minus_2[12] = {
|
static const uint32_t p384_order_minus_2[12] = {
|
||||||
@@ -46853,18 +46868,6 @@ static const uint32_t p384_order_low[6] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_12(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -47006,6 +47009,7 @@ static void sp_384_mont_inv_order_12(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -37759,6 +37759,19 @@ static WC_INLINE int sp_256_mod_4(sp_digit* r, const sp_digit* a, const sp_digit
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_4(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint64_t p256_order_minus_2[4] = {
|
static const uint64_t p256_order_minus_2[4] = {
|
||||||
@@ -37772,18 +37785,6 @@ static const sp_int_digit p256_order_low[2] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_4(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -37954,6 +37955,7 @@ static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -63546,6 +63548,19 @@ static WC_INLINE int sp_384_mod_6(sp_digit* r, const sp_digit* a, const sp_digit
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_6(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint64_t p384_order_minus_2[6] = {
|
static const uint64_t p384_order_minus_2[6] = {
|
||||||
@@ -63559,18 +63574,6 @@ static const uint64_t p384_order_low[3] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_6(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -63712,6 +63715,7 @@ static void sp_384_mont_inv_order_6(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -104222,6 +104222,19 @@ static WC_INLINE int sp_256_mod_8(sp_digit* r, const sp_digit* a, const sp_digit
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_8(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint32_t p256_order_minus_2[8] = {
|
static const uint32_t p256_order_minus_2[8] = {
|
||||||
@@ -104235,18 +104248,6 @@ static const sp_int_digit p256_order_low[4] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_8(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -104417,6 +104418,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -114742,6 +114744,19 @@ static WC_INLINE int sp_384_mod_12(sp_digit* r, const sp_digit* a, const sp_digi
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_12(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint32_t p384_order_minus_2[12] = {
|
static const uint32_t p384_order_minus_2[12] = {
|
||||||
@@ -114755,18 +114770,6 @@ static const uint32_t p384_order_low[6] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_12(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -114908,6 +114911,7 @@ static void sp_384_mont_inv_order_12(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -25606,6 +25606,19 @@ static int sp_256_mod_9(sp_digit* r, const sp_digit* a, const sp_digit* m)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_9(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_9(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint32_t p256_order_minus_2[8] = {
|
static const uint32_t p256_order_minus_2[8] = {
|
||||||
@@ -25619,18 +25632,6 @@ static const sp_int_digit p256_order_low[4] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_9(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_9(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_9(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -25801,6 +25802,7 @@ static void sp_256_mont_inv_order_9(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -33494,6 +33496,19 @@ static int sp_384_mod_15(sp_digit* r, const sp_digit* a, const sp_digit* m)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_15(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_15(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_15(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint32_t p384_order_minus_2[12] = {
|
static const uint32_t p384_order_minus_2[12] = {
|
||||||
@@ -33507,18 +33522,6 @@ static const uint32_t p384_order_low[6] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_15(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_15(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_15(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -33660,6 +33663,7 @@ static void sp_384_mont_inv_order_15(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -26866,6 +26866,19 @@ static int sp_256_mod_5(sp_digit* r, const sp_digit* a, const sp_digit* m)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_5(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_5(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_5(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint64_t p256_order_minus_2[4] = {
|
static const uint64_t p256_order_minus_2[4] = {
|
||||||
@@ -26879,18 +26892,6 @@ static const sp_int_digit p256_order_low[2] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_5(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_5(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_5(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -27061,6 +27062,7 @@ static void sp_256_mont_inv_order_5(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -34169,6 +34171,19 @@ static int sp_384_mod_7(sp_digit* r, const sp_digit* a, const sp_digit* m)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_7(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_7(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_7(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint64_t p384_order_minus_2[6] = {
|
static const uint64_t p384_order_minus_2[6] = {
|
||||||
@@ -34182,18 +34197,6 @@ static const uint64_t p384_order_low[3] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_7(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_7(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_7(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -34335,6 +34338,7 @@ static void sp_384_mont_inv_order_7(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -22954,6 +22954,19 @@ static WC_INLINE int sp_256_mod_8(sp_digit* r, const sp_digit* a, const sp_digit
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_256_mul_8(r, a, b);
|
||||||
|
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P256 curve. */
|
/* Order-2 for the P256 curve. */
|
||||||
static const uint32_t p256_order_minus_2[8] = {
|
static const uint32_t p256_order_minus_2[8] = {
|
||||||
@@ -22967,18 +22980,6 @@ static const sp_int_digit p256_order_low[4] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_256_mont_mul_order_8(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_256_mul_8(r, a, b);
|
|
||||||
sp_256_mont_reduce_order_8(r, p256_order, p256_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -23149,6 +23150,7 @@ static void sp_256_mont_inv_order_8(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
@@ -30165,6 +30167,19 @@ static WC_INLINE int sp_384_mod_12(sp_digit* r, const sp_digit* a, const sp_digi
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_12(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint32_t p384_order_minus_2[12] = {
|
static const uint32_t p384_order_minus_2[12] = {
|
||||||
@@ -30178,18 +30193,6 @@ static const uint32_t p384_order_low[6] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_12(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_12(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_12(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -30331,6 +30334,7 @@ static void sp_384_mont_inv_order_12(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
#ifndef SP_ECC_MAX_SIG_GEN
|
#ifndef SP_ECC_MAX_SIG_GEN
|
||||||
|
@@ -23641,19 +23641,6 @@ static WC_INLINE int sp_256_mod_4(sp_digit* r, const sp_digit* a,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
|
||||||
/* Order-2 for the P256 curve. */
|
|
||||||
static const uint64_t p256_order_minus_2[4] = {
|
|
||||||
0xf3b9cac2fc63254fU,0xbce6faada7179e84U,0xffffffffffffffffU,
|
|
||||||
0xffffffff00000000U
|
|
||||||
};
|
|
||||||
#else
|
|
||||||
/* The low half of the order-2 of the P256 curve. */
|
|
||||||
static const uint64_t p256_order_low[2] = {
|
|
||||||
0xf3b9cac2fc63254fU,0xbce6faada7179e84U
|
|
||||||
};
|
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
|
||||||
|
|
||||||
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
/* Multiply two number mod the order of P256 curve. (r = a * b mod order)
|
||||||
*
|
*
|
||||||
* r Result of the multiplication.
|
* r Result of the multiplication.
|
||||||
@@ -23667,6 +23654,20 @@ static void sp_256_mont_mul_order_4(sp_digit* r, const sp_digit* a, const sp_dig
|
|||||||
sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
|
sp_256_mont_reduce_order_4(r, p256_order, p256_mp_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
|
/* Order-2 for the P256 curve. */
|
||||||
|
static const uint64_t p256_order_minus_2[4] = {
|
||||||
|
0xf3b9cac2fc63254fU,0xbce6faada7179e84U,0xffffffffffffffffU,
|
||||||
|
0xffffffff00000000U
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
/* The low half of the order-2 of the P256 curve. */
|
||||||
|
static const uint64_t p256_order_low[2] = {
|
||||||
|
0xf3b9cac2fc63254fU,0xbce6faada7179e84U
|
||||||
|
};
|
||||||
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
/* Square number mod the order of P256 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -23853,8 +23854,10 @@ static void sp_256_mont_inv_order_4(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#ifdef HAVE_INTEL_AVX2
|
#ifdef HAVE_INTEL_AVX2
|
||||||
extern void sp_256_mont_mul_order_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
|
extern void sp_256_mont_mul_order_avx2_4(sp_digit* r, const sp_digit* a, const sp_digit* b);
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
extern void sp_256_mont_sqr_order_avx2_4(sp_digit* r, const sp_digit* a);
|
extern void sp_256_mont_sqr_order_avx2_4(sp_digit* r, const sp_digit* a);
|
||||||
|
|
||||||
#ifndef WOLFSSL_SP_SMALL
|
#ifndef WOLFSSL_SP_SMALL
|
||||||
@@ -24031,6 +24034,7 @@ static void sp_256_mont_inv_order_avx2_4(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_INTEL_AVX2 */
|
#endif /* HAVE_INTEL_AVX2 */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
@@ -48232,6 +48236,19 @@ static WC_INLINE int sp_384_mod_6(sp_digit* r, const sp_digit* a,
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
#if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY)
|
||||||
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
|
*
|
||||||
|
* r Result of the multiplication.
|
||||||
|
* a First operand of the multiplication.
|
||||||
|
* b Second operand of the multiplication.
|
||||||
|
*/
|
||||||
|
static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
||||||
|
{
|
||||||
|
sp_384_mul_6(r, a, b);
|
||||||
|
sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
#ifdef WOLFSSL_SP_SMALL
|
#ifdef WOLFSSL_SP_SMALL
|
||||||
/* Order-2 for the P384 curve. */
|
/* Order-2 for the P384 curve. */
|
||||||
static const uint64_t p384_order_minus_2[6] = {
|
static const uint64_t p384_order_minus_2[6] = {
|
||||||
@@ -48245,18 +48262,6 @@ static const uint64_t p384_order_low[3] = {
|
|||||||
};
|
};
|
||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
|
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
|
||||||
*
|
|
||||||
* r Result of the multiplication.
|
|
||||||
* a First operand of the multiplication.
|
|
||||||
* b Second operand of the multiplication.
|
|
||||||
*/
|
|
||||||
static void sp_384_mont_mul_order_6(sp_digit* r, const sp_digit* a, const sp_digit* b)
|
|
||||||
{
|
|
||||||
sp_384_mul_6(r, a, b);
|
|
||||||
sp_384_mont_reduce_order_6(r, p384_order, p384_mp_order);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -48398,6 +48403,7 @@ static void sp_384_mont_inv_order_6(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#ifdef HAVE_INTEL_AVX2
|
#ifdef HAVE_INTEL_AVX2
|
||||||
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
/* Multiply two number mod the order of P384 curve. (r = a * b mod order)
|
||||||
*
|
*
|
||||||
@@ -48411,6 +48417,7 @@ static void sp_384_mont_mul_order_avx2_6(sp_digit* r, const sp_digit* a, const s
|
|||||||
sp_384_mont_reduce_order_avx2_6(r, p384_order, p384_mp_order);
|
sp_384_mont_reduce_order_avx2_6(r, p384_order, p384_mp_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_ECC_SIGN) || (defined(HAVE_ECC_VERIFY) && defined(WOLFSSL_SP_SMALL))
|
||||||
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
/* Square number mod the order of P384 curve. (r = a * a mod order)
|
||||||
*
|
*
|
||||||
* r Result of the squaring.
|
* r Result of the squaring.
|
||||||
@@ -48552,6 +48559,7 @@ static void sp_384_mont_inv_order_avx2_6(sp_digit* r, const sp_digit* a,
|
|||||||
#endif /* WOLFSSL_SP_SMALL */
|
#endif /* WOLFSSL_SP_SMALL */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif /* HAVE_ECC_SIGN || (HAVE_ECC_VERIFY && WOLFSSL_SP_SMALL) */
|
||||||
#endif /* HAVE_INTEL_AVX2 */
|
#endif /* HAVE_INTEL_AVX2 */
|
||||||
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
#endif /* HAVE_ECC_SIGN | HAVE_ECC_VERIFY */
|
||||||
#ifdef HAVE_ECC_SIGN
|
#ifdef HAVE_ECC_SIGN
|
||||||
|
@@ -22976,7 +22976,8 @@ static int ecc_def_curve_test(WC_RNG *rng)
|
|||||||
#else
|
#else
|
||||||
ecc_key key[1];
|
ecc_key key[1];
|
||||||
#endif
|
#endif
|
||||||
#if defined(HAVE_ECC_KEY_IMPORT) && defined(HAVE_ECC_KEY_EXPORT)
|
#if (defined(HAVE_ECC_KEY_IMPORT) && defined(HAVE_ECC_KEY_EXPORT)) || \
|
||||||
|
(defined(HAVE_ECC_KEY_IMPORT) && !defined(WOLFSSL_VALIDATE_ECC_IMPORT))
|
||||||
word32 idx = 0;
|
word32 idx = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user