Skip to content

Commit 7efefc7

Browse files
authored
Merge pull request wolfSSL#9792 from SparkiDev/sp_c_rsa_pub_only
SP C - RSA public only build with DH
2 parents add60da + 6b46754 commit 7efefc7

File tree

2 files changed

+34
-18
lines changed

2 files changed

+34
-18
lines changed

wolfcrypt/src/sp_c32.c

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,20 @@
134134
#define SP_PRINT_INT(var, name) \
135135
fprintf(stderr, name "=%d\n", var)
136136

137-
#if ((defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)) && \
138-
((!defined(WC_NO_CACHE_RESISTANT) && \
139-
(defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH))) || \
140-
(defined(WOLFSSL_SP_SMALL) && !defined(WOLFSSL_SP_FAST_MODEXP))) && \
141-
!defined(WOLFSSL_RSA_PUBLIC_ONLY)) || (defined(WOLFSSL_SP_SMALL) && \
137+
#if defined(WOLFSSL_SP_SMALL) && \
142138
defined(WOLFSSL_HAVE_SP_ECC) && (!defined(WOLFSSL_SP_NO_256) || \
143139
defined(WOLFSSL_SP_384) || defined(WOLFSSL_SP_521) || \
144-
defined(WOLFSSL_SP_1024)))
140+
defined(WOLFSSL_SP_1024))
141+
#define NEED_ADDR_MASK
142+
#endif
143+
#if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)
144+
#if !defined(WC_NO_CACHE_RESISTANT) && \
145+
(defined(WOLFSSL_HAVE_SP_DH) || !defined(WOLFSSL_RSA_PUBLIC_ONLY))
146+
#define NEED_ADDR_MASK
147+
#endif
148+
#endif
149+
150+
#ifdef NEED_ADDR_MASK
145151
/* Mask for address to obfuscate which of the two address will be used. */
146152
static const size_t addr_mask[2] = { 0, (size_t)-1 };
147153
#endif
@@ -14531,8 +14537,6 @@ static void sp_4096_to_bin_162(sp_digit* r, byte* a)
1453114537
}
1453214538
}
1453314539

14534-
#if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
14535-
#if defined(WOLFSSL_HAVE_SP_RSA) && !defined(SP_RSA_PRIVATE_EXP_D)
1453614540
/* Normalize the values in each word to 26 bits.
1453714541
*
1453814542
* a Array of sp_digit to normalize.
@@ -14552,8 +14556,8 @@ static void sp_4096_norm_81(sp_digit* a)
1455214556
}
1455314557
}
1455414558

14555-
#endif /* WOLFSSL_HAVE_SP_RSA & !SP_RSA_PRIVATE_EXP_D */
14556-
#endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
14559+
#if (defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)
14560+
#if defined(WOLFSSL_HAVE_SP_RSA) && !defined(SP_RSA_PRIVATE_EXP_D)
1455714561
/* Normalize the values in each word to 26 bits.
1455814562
*
1455914563
* a Array of sp_digit to normalize.
@@ -14579,6 +14583,8 @@ static void sp_4096_norm_79(sp_digit* a)
1457914583
a[78] += a[77] >> 26; a[77] &= 0x3ffffff;
1458014584
}
1458114585

14586+
#endif /* WOLFSSL_HAVE_SP_RSA & !SP_RSA_PRIVATE_EXP_D */
14587+
#endif /* (WOLFSSL_HAVE_SP_RSA || WOLFSSL_HAVE_SP_DH) && !WOLFSSL_RSA_PUBLIC_ONLY */
1458214588
/* Normalize the values in each word to 26 bits.
1458314589
*
1458414590
* a Array of sp_digit to normalize.

wolfcrypt/src/sp_c64.c

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,14 +134,20 @@
134134
#define SP_PRINT_INT(var, name) \
135135
fprintf(stderr, name "=%d\n", var)
136136

137-
#if ((defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)) && \
138-
((!defined(WC_NO_CACHE_RESISTANT) && \
139-
(defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH))) || \
140-
(defined(WOLFSSL_SP_SMALL) && !defined(WOLFSSL_SP_FAST_MODEXP))) && \
141-
!defined(WOLFSSL_RSA_PUBLIC_ONLY)) || (defined(WOLFSSL_SP_SMALL) && \
137+
#if defined(WOLFSSL_SP_SMALL) && \
142138
defined(WOLFSSL_HAVE_SP_ECC) && (!defined(WOLFSSL_SP_NO_256) || \
143139
defined(WOLFSSL_SP_384) || defined(WOLFSSL_SP_521) || \
144-
defined(WOLFSSL_SP_1024)))
140+
defined(WOLFSSL_SP_1024))
141+
#define NEED_ADDR_MASK
142+
#endif
143+
#if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)
144+
#if !defined(WC_NO_CACHE_RESISTANT) && \
145+
(defined(WOLFSSL_HAVE_SP_DH) || !defined(WOLFSSL_RSA_PUBLIC_ONLY))
146+
#define NEED_ADDR_MASK
147+
#endif
148+
#endif
149+
150+
#ifdef NEED_ADDR_MASK
145151
/* Mask for address to obfuscate which of the two address will be used. */
146152
static const size_t addr_mask[2] = { 0, (size_t)-1 };
147153
#endif
@@ -15686,7 +15692,7 @@ static void sp_4096_to_bin_78(sp_digit* r, byte* a)
1568615692
}
1568715693
}
1568815694

15689-
#if (defined(WOLFSSL_HAVE_SP_RSA) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)) || defined(WOLFSSL_HAVE_SP_DH)
15695+
#if (defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)
1569015696
#if defined(WOLFSSL_HAVE_SP_RSA) && !defined(SP_RSA_PRIVATE_EXP_D)
1569115697
/* Normalize the values in each word to 53 bits.
1569215698
*
@@ -15714,7 +15720,11 @@ static void sp_4096_norm_39(sp_digit* a)
1571415720
}
1571515721

1571615722
#endif /* WOLFSSL_HAVE_SP_RSA & !SP_RSA_PRIVATE_EXP_D */
15717-
#endif /* (WOLFSSL_HAVE_SP_RSA && !WOLFSSL_RSA_PUBLIC_ONLY) || WOLFSSL_HAVE_SP_DH */
15723+
#endif /* (WOLFSSL_HAVE_SP_RSA || WOLFSSL_HAVE_SP_DH) && !WOLFSSL_RSA_PUBLIC_ONLY */
15724+
#if (defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH)) && !defined(WOLFSSL_RSA_PUBLIC_ONLY)
15725+
#if defined(WOLFSSL_HAVE_SP_RSA) && !defined(SP_RSA_PRIVATE_EXP_D)
15726+
#endif /* WOLFSSL_HAVE_SP_RSA & !SP_RSA_PRIVATE_EXP_D */
15727+
#endif /* (WOLFSSL_HAVE_SP_RSA || WOLFSSL_HAVE_SP_DH) && !WOLFSSL_RSA_PUBLIC_ONLY */
1571815728
/* Normalize the values in each word to 53 bits.
1571915729
*
1572015730
* a Array of sp_digit to normalize.

0 commit comments

Comments
 (0)