Skip to contentSkip to conversation

Add clarifying comments to Jitter Entropy RCT cutoff values.

PATCH In review Joachim Vandersmissen 3 participants 3 messages Aug 6, 2023 – Aug 11, 2023 Crypto API

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add clarifying comments to Jitter Entropy RCT cutoff values.

The RCT cutoff values are correct, but they don't exactly match the ones one would expect when computing them using the formula in SP800-90B. This discrepancy is due to the fact that the Jitter Entropy RCT starts at 1. To avoid any confusion by future reviewers, add some comments and explicitly subtract 1 from the "correct" cutoff values in the definitions.

---
 crypto/jitterentropy.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
crypto/jitterentropy.c +7 -3
index c7d7f2caa779..fe9c233ec769 100644
@@ -89,10 +89,14 @@ struct rand_data {
 	unsigned int rct_count;			/* Number of stuck values */
 
 	/* Intermittent health test failure threshold of 2^-30 */
-#define JENT_RCT_CUTOFF		30	/* Taken from SP800-90B sec 4.4.1 */
-#define JENT_APT_CUTOFF		325	/* Taken from SP800-90B sec 4.4.2 */
+	/* From an SP800-90B perspective, this RCT cutoff value is equal to 31. */
+	/* However, our RCT implementation starts at 1, so we subtract 1 here. */
+#define JENT_RCT_CUTOFF		(31 - 1)	/* Taken from SP800-90B sec 4.4.1 */
+#define JENT_APT_CUTOFF		325			/* Taken from SP800-90B sec 4.4.2 */
 	/* Permanent health test failure threshold of 2^-60 */
-#define JENT_RCT_CUTOFF_PERMANENT	60
+	/* From an SP800-90B perspective, this RCT cutoff value is equal to 61. */
+	/* However, our RCT implementation starts at 1, so we subtract 1 here. */
+#define JENT_RCT_CUTOFF_PERMANENT	(61 - 1)
 #define JENT_APT_CUTOFF_PERMANENT	355
 #define JENT_APT_WINDOW_SIZE	512	/* Data window size */
 	/* LSB of time stamp to process */
Signature · 1 line
2.41.0
Reviewed-by on v1 1/1
#1 lore raw

Am Sonntag, 6. August 2023, 21:19:03 CEST schrieb Joachim Vandersmissen:

Hi Joachim,

Quoted 7 lines

The RCT cutoff values are correct, but they don't exactly match the ones one would expect when computing them using the formula in SP800-90B. This discrepancy is due to the fact that the Jitter Entropy RCT starts at 1. To avoid any confusion by future reviewers, add some comments and explicitly subtract 1 from the "correct" cutoff values in the definitions.

Ciao
Stephan

maintainer
#2 lore raw
In reply to Joachim Vandersmissen
Quoted 10 lines · Joachim Vandersmissen

The RCT cutoff values are correct, but they don't exactly match the ones one would expect when computing them using the formula in SP800-90B. This discrepancy is due to the fact that the Jitter Entropy RCT starts at 1. To avoid any confusion by future reviewers, add some comments and explicitly subtract 1 from the "correct" cutoff values in the definitions.

---
 crypto/jitterentropy.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt