Use secure memory interface from MP library. `rand_getgood' is
authormdw <mdw>
Sat, 17 Jun 2000 11:28:22 +0000 (11:28 +0000)
committermdw <mdw>
Sat, 17 Jun 2000 11:28:22 +0000 (11:28 +0000)
deprecated.

keyutil.c

index 673f4ea..ea5a8e8 100644 (file)
--- a/keyutil.c
+++ b/keyutil.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: keyutil.c,v 1.5 2000/02/12 18:21:03 mdw Exp $
+ * $Id: keyutil.c,v 1.6 2000/06/17 11:28:22 mdw Exp $
  *
  * Simple key manager program
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: keyutil.c,v $
+ * Revision 1.6  2000/06/17 11:28:22  mdw
+ * Use secure memory interface from MP library.  `rand_getgood' is
+ * deprecated.
+ *
  * Revision 1.5  2000/02/12 18:21:03  mdw
  * Overhaul of key management (again).
  *
@@ -340,7 +344,7 @@ static void alg_binary(keyopts *k)
   sz = (k->bits + 7) >> 3;
   p = sub_alloc(sz);
   m = (1 << (((k->bits - 1) & 7) + 1)) - 1;
-  rand_getgood(RAND_GLOBAL, p, sz);
+  rand_get(RAND_GLOBAL, p, sz);
   *p &= m;
   key_binary(&k->k->k, p, sz);
   k->k->k.e |= KCAT_SYMM | KF_BURN;
@@ -364,7 +368,7 @@ static void alg_des(keyopts *k)
 
   sz = k->bits / 7;
   p = sub_alloc(sz);
-  rand_getgood(RAND_GLOBAL, p, sz);    /* Too much work done here! */
+  rand_get(RAND_GLOBAL, p, sz);        /* Too much work done here! */
   for (i = 0; i < sz; i++) {
     octet x = p[i] | 0x01;
     x = x ^ (x >> 4);
@@ -467,7 +471,7 @@ static void alg_dsaparam(keyopts *k)
 
     sz = (k->qbits + 7) >> 3;
     p = sub_alloc(sz);
-    rand_getgood(RAND_GLOBAL, p, sz);
+    rand_get(RAND_GLOBAL, p, sz);
 
     /* --- Allocate the parameters --- */
 
@@ -514,8 +518,7 @@ static void alg_dsa(keyopts *k)
 
   /* --- Choose a private key --- */
 
-  x = mprand_range(MP_NEW, q, &rand_global, 0);
-  mp_burn(x);
+  x = mprand_range(MP_NEWSEC, q, &rand_global, 0);
   mpmont_create(&mm, p);
   y = mpmont_exp(&mm, MP_NEW, g, x);
 
@@ -576,8 +579,7 @@ static void alg_dh(keyopts *k)
    * Since %$g$% has order %$q$%, choose %$x < q$%.
    */
 
-  x = mprand_range(MP_NEW, q, &rand_global, 0);
-  mp_burn(x);
+  x = mprand_range(MP_NEWSEC, q, &rand_global, 0);
 
   /* --- Compute the public key %$y = g^x \bmod p$% --- */
 
@@ -1656,8 +1658,8 @@ int main(int argc, char *argv[])
 
   /* --- Initialize the Catacomb random number generator --- */
 
-  rand_init(RAND_GLOBAL);
   rand_noisesrc(RAND_GLOBAL, &noise_source);
+  rand_seed(RAND_GLOBAL, 160);
 
   /* --- Dispatch to appropriate command handler --- */