Change default RSA, DSA and DH size to 2048 bit
authorKurt Roeckx <kurt@roeckx.be>
Sat, 13 Apr 2019 10:32:48 +0000 (12:32 +0200)
committerKurt Roeckx <kurt@roeckx.be>
Tue, 21 May 2019 14:47:13 +0000 (16:47 +0200)
Fixes: #8737

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Richard Levitte <levitte@openssl.org>
GH: #8741
(cherry picked from commit 70b0b977f73cd70e17538af3095d18e0cf59132e)

CHANGES
crypto/dh/dh_pmeth.c
crypto/dsa/dsa_pmeth.c
crypto/rsa/rsa_pmeth.c
doc/man1/genpkey.pod

diff --git a/CHANGES b/CHANGES
index f58022b3b9947e8ae5a6b3184ec301831216cbcf..53f856393e65a5f11625aa75519048af70a24ebc 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,7 +9,11 @@
 
  Changes between 1.1.1b and 1.1.1c [xx XXX xxxx]
 
-  *)
+  *) Change the default RSA, DSA and DH size to 2048 bit instead of 1024.
+     This changes the size when using the genpkey app when no size is given. It
+     fixes an omission in earlier changes that changed all RSA, DSA and DH
+     generation apps to use 2048 bits by default.
+     [Kurt Roeckx]
 
  Changes between 1.1.1a and 1.1.1b [26 Feb 2019]
 
index cce2d9e26efcb9392b4d917e4185f5573fee40c6..0373778efeb69c9e4c0ec640992c01bb76878b47 100644 (file)
@@ -54,7 +54,7 @@ static int pkey_dh_init(EVP_PKEY_CTX *ctx)
         DHerr(DH_F_PKEY_DH_INIT, ERR_R_MALLOC_FAILURE);
         return 0;
     }
-    dctx->prime_len = 1024;
+    dctx->prime_len = 2048;
     dctx->subprime_len = -1;
     dctx->generator = 2;
     dctx->kdf_type = EVP_PKEY_DH_KDF_NONE;
index b4ee5a75715e3111e1239345186f950a4e6e7753..dedbe5eb2e0f641fc06115a90e309bfcd975f747 100644 (file)
@@ -20,8 +20,8 @@
 
 typedef struct {
     /* Parameter gen parameters */
-    int nbits;                  /* size of p in bits (default: 1024) */
-    int qbits;                  /* size of q in bits (default: 160) */
+    int nbits;                  /* size of p in bits (default: 2048) */
+    int qbits;                  /* size of q in bits (default: 224) */
     const EVP_MD *pmd;          /* MD for parameter generation */
     /* Keygen callback info */
     int gentmp[2];
@@ -35,8 +35,8 @@ static int pkey_dsa_init(EVP_PKEY_CTX *ctx)
 
     if (dctx == NULL)
         return 0;
-    dctx->nbits = 1024;
-    dctx->qbits = 160;
+    dctx->nbits = 2048;
+    dctx->qbits = 224;
     dctx->pmd = NULL;
     dctx->md = NULL;
 
index 5c0efc84907fd483823657ab9d48d0f3d5e6f99f..082ab8fd8a1f256e67be96b69afc31a22749e733 100644 (file)
@@ -56,7 +56,7 @@ static int pkey_rsa_init(EVP_PKEY_CTX *ctx)
 
     if (rctx == NULL)
         return 0;
-    rctx->nbits = 1024;
+    rctx->nbits = 2048;
     rctx->primes = RSA_DEFAULT_PRIME_NUM;
     if (pkey_ctx_is_pss(ctx))
         rctx->pad_mode = RSA_PKCS1_PSS_PADDING;
index 202e531c7e07698abb44ae783d58a78020f3ca56..e7eee5e85fce4023dfe24f64a0b8b01314c80ecd 100644 (file)
@@ -118,7 +118,7 @@ or ED448 algorithms.
 
 =item B<rsa_keygen_bits:numbits>
 
-The number of bits in the generated key. If not specified 1024 is used.
+The number of bits in the generated key. If not specified 2048 is used.
 
 =item B<rsa_keygen_primes:numprimes>
 
@@ -185,12 +185,12 @@ below.
 
 =item B<dsa_paramgen_bits:numbits>
 
-The number of bits in the generated prime. If not specified 1024 is used.
+The number of bits in the generated prime. If not specified 2048 is used.
 
 =item B<dsa_paramgen_q_bits:numbits>
 
 The number of bits in the q parameter. Must be one of 160, 224 or 256. If not
-specified 160 is used.
+specified 224 is used.
 
 =item B<dsa_paramgen_md:digest>
 
@@ -209,7 +209,7 @@ or B<sha256> if it is 256.
 
 =item B<dh_paramgen_prime_len:numbits>
 
-The number of bits in the prime parameter B<p>. The default is 1024.
+The number of bits in the prime parameter B<p>. The default is 2048.
 
 =item B<dh_paramgen_subprime_len:numbits>