#include "bintab.h"
#include "bbs.h"
+#include "des.h"
#include "dh.h"
#include "dsa.h"
#include "dsarand.h"
unsigned sz;
octet *p;
key_data *kd;
- int i;
if (!k->bits)
k->bits = 168;
sz = k->bits / 7;
p = sub_alloc(sz);
k->r->ops->fill(k->r, p, sz);
- for (i = 0; i < sz; i++) {
- octet x = p[i] | 0x01;
- x = x ^ (x >> 4);
- x = x ^ (x >> 2);
- x = x ^ (x >> 1);
- p[i] = (p[i] & 0xfe) | (x & 0x01);
- }
+ des_fixparity(p, p, sz);
kd = key_newbinary(KCAT_SYMM | KF_BURN, p, sz);
memset(p, 0, sz);
dolock(k, &kd, 0);