From 4d6c9cc27d7f6e4acd3202259b70b24d1cfdd0ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Tue, 25 Mar 2014 16:54:10 +0100
Subject: [PATCH] Add test for dsa key generation with large q.

---
 ChangeLog                   |  3 ++-
 testsuite/dsa-keygen-test.c | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 2c2d75f4..869992a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,8 @@
 2014-03-25  Niels Möller  <nisse@lysator.liu.se>
 
 	* testsuite/dsa-keygen-test.c (test_main): Do dsa_param cast once,
-	and assign to variable.
+	and assign to variable. Test dsa_generate_params and
+	dsa_generate_keypair with a large q; p_bits = 1024, q_bits = 768.
 
 	* dsa.h: Deleted old interface (moved to dsa-compat.h).
 	(struct dsa_value): Deleted. Updated many files.
diff --git a/testsuite/dsa-keygen-test.c b/testsuite/dsa-keygen-test.c
index 25757c95..bdfb3632 100644
--- a/testsuite/dsa-keygen-test.c
+++ b/testsuite/dsa-keygen-test.c
@@ -49,6 +49,21 @@ test_main(void)
 
   test_dsa_key(params, pub.y, key.x, 224);
   test_dsa256(&pub, &key, NULL);
+
+
+  /* Test with large q */
+  if (!dsa_generate_params (params,
+			    &lfib,
+			    (nettle_random_func *) knuth_lfib_random,
+			    NULL, verbose ? progress : NULL,
+			    1024, 768))
+    FAIL();
+
+  dsa_generate_keypair (params, pub.y, key.x,
+			&lfib,
+			(nettle_random_func *) knuth_lfib_random);
+  test_dsa_key(params, pub.y, key.x, 768);
+  test_dsa256(&pub, &key, NULL);
   
   dsa_public_key_clear(&pub);
   dsa_private_key_clear(&key);
-- 
GitLab