/* -*-c-*-
*
- * $Id: dh-param.c,v 1.2 2004/04/08 01:36:15 mdw Exp $
+ * $Id$
*
* Reading Diffie-Hellman parameters
*
#include "fibrand.h"
-int main(void)
+int main(int argc, char *argv[])
{
const pentry *pe;
const char *e;
grand *gr;
gr = fibrand_create(0);
- fputs("checking standard prime fields: ", stdout);
+ fputs("checking standard prime fields...\n", stdout);
for (pe = ptab; pe->name; pe++) {
dh_param dp;
group *g;
getinfo(&dp, pe->data);
+ printf(" %s: ", pe->name);
g = group_prime(&dp);
+ if (mp_bits(dp.q) > 2048 &&
+ (!argv[1] || strcmp(argv[1], "keen") != 0)) {
+ fputs("skipping\n", stdout);
+ continue;
+ }
+ fflush(stdout);
e = G_CHECK(g, gr);
G_DESTROYGROUP(g);
dh_paramfree(&dp);
if (e) {
- fprintf(stderr, "\n*** group %s fails: %s\n", pe->name, e);
+ printf("fails: %s\n", e);
ok = 0;
- }
- putchar('.');
- fflush(stdout);
+ } else
+ fputs("ok\n", stdout);
}
gr->ops->destroy(gr);
- fputs(ok ? " ok\n" : " failed\n", stdout);
+ if (ok)
+ fputs("all ok\n", stdout);
return (!ok);
}