projects
/
u
/
mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New test cases for square root functions.
[u/mdw/catacomb]
/
keyutil.c
diff --git
a/keyutil.c
b/keyutil.c
index
673f4ea
..
ea5a8e8
100644
(file)
--- a/
keyutil.c
+++ b/
keyutil.c
@@
-1,6
+1,6
@@
/* -*-c-*-
*
/* -*-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
*
*
* Simple key manager program
*
@@
-30,6
+30,10
@@
/*----- Revision history --------------------------------------------------*
*
* $Log: keyutil.c,v $
/*----- 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).
*
* 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;
sz = (k->bits + 7) >> 3;
p = sub_alloc(sz);
m = (1 << (((k->bits - 1) & 7) + 1)) - 1;
- rand_get
good
(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;
*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);
sz = k->bits / 7;
p = sub_alloc(sz);
- rand_get
good(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);
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);
sz = (k->qbits + 7) >> 3;
p = sub_alloc(sz);
- rand_get
good
(RAND_GLOBAL, p, sz);
+ rand_get(RAND_GLOBAL, p, sz);
/* --- Allocate the parameters --- */
/* --- Allocate the parameters --- */
@@
-514,8
+518,7
@@
static void alg_dsa(keyopts *k)
/* --- Choose a private key --- */
/* --- 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);
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$%.
*/
* 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$% --- */
/* --- 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 --- */
/* --- Initialize the Catacomb random number generator --- */
- rand_init(RAND_GLOBAL);
rand_noisesrc(RAND_GLOBAL, &noise_source);
rand_noisesrc(RAND_GLOBAL, &noise_source);
+ rand_seed(RAND_GLOBAL, 160);
/* --- Dispatch to appropriate command handler --- */
/* --- Dispatch to appropriate command handler --- */