Change the number of Miller-Rabin test for DSA generation to 64
authorKurt Roeckx <kurt@roeckx.be>
Wed, 25 Apr 2018 19:47:20 +0000 (21:47 +0200)
committerKurt Roeckx <kurt@roeckx.be>
Thu, 26 Jul 2018 04:40:50 +0000 (06:40 +0200)
This changes the security level from 100 to 128 bit.
We only have 1 define, this sets it to the highest level supported for
DSA, and needed for keys larger than 3072 bit.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
GH: #6075
(cherry picked from commit 74ee379651fb2bb12c6f7eb9fa10e70be89ac7c8)

CHANGES
crypto/dsa/dsa.h

diff --git a/CHANGES b/CHANGES
index f9562dd712c53ae75b83124e1b1fbb7a18275acb..47263c815cbbf00b4575d05d7aa971a81c6a51c4 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,9 @@
 
  Changes between 1.0.2o and 1.0.2p [xx XXX xxxx]
 
+  *) Increase the number of Miller-Rabin rounds for DSA key generating to 64.
+     [Kurt Roeckx]
+
   *) Add blinding to ECDSA and DSA signatures to protect against side channel
      attacks discovered by Keegan Ryan (NCC Group).
      [Matt Caswell]
index 7f8346d72dded89618596e27edfca1c15d5cbb7f..3e6984eabdf8110ea52bdd997898ef04f86e19ed 100644 (file)
@@ -249,10 +249,12 @@ int DSAparams_print_fp(FILE *fp, const DSA *x);
 int DSA_print_fp(FILE *bp, const DSA *x, int off);
 # endif
 
-# define DSS_prime_checks 50
+# define DSS_prime_checks 64
 /*
- * Primality test according to FIPS PUB 186[-1], Appendix 2.1: 50 rounds of
- * Rabin-Miller
+ * Primality test according to FIPS PUB 186-4, Appendix C.3. Since we only
+ * have one value here we set the number of checks to 64 which is the 128 bit
+ * security level that is the highest level and valid for creating a 3072 bit
+ * DSA key.
  */
 # define DSA_is_prime(n, callback, cb_arg) \
         BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg)