more prng entropy by `Crypt::PK::*` modules
Karel Miko
10 years ago
9 | 9 |
RETVAL->key.type = -1;
|
10 | 10 |
RETVAL->yarrow_prng_index = find_prng("yarrow");
|
11 | 11 |
if(RETVAL->yarrow_prng_index==-1) croak("FATAL: find_prng('yarrow') failed");
|
12 | |
rv = rng_make_prng(128, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
|
12 |
rv = rng_make_prng(256, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
13 | 13 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
14 | 14 |
}
|
15 | 15 |
OUTPUT:
|
|
20 | 20 |
PPCODE:
|
21 | 21 |
{
|
22 | 22 |
int rv;
|
|
23 |
/* add a small random entropy before generating key - not necessary as we have initialized prng with 256bit entropy in _new() */
|
|
24 |
rv = rng_make_prng(64, self->yarrow_prng_index, &self->yarrow_prng_state, NULL);
|
|
25 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
|
26 |
/* gen the key */
|
23 | 27 |
rv = dh_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, key_size, &self->key);
|
24 | 28 |
if (rv != CRYPT_OK) croak("FATAL: dh_make_key failed: %s", error_to_string(rv));
|
25 | 29 |
XPUSHs(ST(0)); /* return self */
|
9 | 9 |
RETVAL->key.type = -1;
|
10 | 10 |
RETVAL->yarrow_prng_index = find_prng("yarrow");
|
11 | 11 |
if(RETVAL->yarrow_prng_index==-1) croak("FATAL: find_prng('yarrow') failed");
|
12 | |
rv = rng_make_prng(128, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
|
12 |
rv = rng_make_prng(256, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
13 | 13 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
14 | 14 |
}
|
15 | 15 |
OUTPUT:
|
|
20 | 20 |
PPCODE:
|
21 | 21 |
{
|
22 | 22 |
int rv;
|
|
23 |
/* add a small random entropy before generating key - not necessary as we have initialized prng with 256bit entropy in _new() */
|
|
24 |
rv = rng_make_prng(64, self->yarrow_prng_index, &self->yarrow_prng_state, NULL);
|
|
25 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
|
26 |
/* gen the key */
|
23 | 27 |
rv = dsa_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, group_size, modulus_size, &self->key);
|
24 | 28 |
if (rv != CRYPT_OK) croak("FATAL: dsa_make_key failed: %s", error_to_string(rv));
|
25 | 29 |
XPUSHs(ST(0)); /* return self */
|
10 | 10 |
RETVAL->key.type = -1;
|
11 | 11 |
ecc_dp_init(&RETVAL->dp);
|
12 | 12 |
if(RETVAL->yarrow_prng_index==-1) croak("FATAL: find_prng('yarrow') failed");
|
13 | |
/* add random entropy */
|
14 | 13 |
rv = rng_make_prng(256, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
15 | 14 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
16 | 15 |
}
|
|
22 | 21 |
PPCODE:
|
23 | 22 |
{
|
24 | 23 |
int rv;
|
25 | |
|
26 | |
/* add a small random entropy before generating key (not necessary) */
|
|
24 |
/* add a small random entropy before generating key - not necessary as we have initialized prng with 256bit entropy in _new() */
|
27 | 25 |
rv = rng_make_prng(64, self->yarrow_prng_index, &self->yarrow_prng_state, NULL);
|
28 | 26 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
29 | |
|
|
27 |
/* setup dp structure */
|
30 | 28 |
_ecc_set_dp_from_SV(&self->dp, curve); /* croaks on error */
|
31 | |
|
|
29 |
/* gen the key */
|
32 | 30 |
rv = ecc_make_key_ex(&self->yarrow_prng_state, self->yarrow_prng_index, &self->key, &self->dp);
|
33 | 31 |
if (rv != CRYPT_OK) croak("FATAL: ecc_make_key_ex failed: %s", error_to_string(rv));
|
34 | |
|
35 | 32 |
XPUSHs(ST(0)); /* return self */
|
36 | 33 |
}
|
37 | 34 |
|
9 | 9 |
RETVAL->key.type = -1;
|
10 | 10 |
RETVAL->yarrow_prng_index = find_prng("yarrow");
|
11 | 11 |
if(RETVAL->yarrow_prng_index==-1) croak("FATAL: find_prng('yarrow') failed");
|
12 | |
rv = rng_make_prng(128, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
|
12 |
rv = rng_make_prng(256, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
|
13 | 13 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
14 | 14 |
}
|
15 | 15 |
OUTPUT:
|
|
19 | 19 |
generate_key(Crypt::PK::RSA self, int key_size=256, long key_e=65537)
|
20 | 20 |
PPCODE:
|
21 | 21 |
{
|
|
22 |
/* key_size is in octets */
|
22 | 23 |
int rv;
|
23 | |
/* key_size is in octets */
|
|
24 |
/* add a small random entropy before generating key - not necessary as we have initialized prng with 256bit entropy in _new() */
|
|
25 |
rv = rng_make_prng(64, self->yarrow_prng_index, &self->yarrow_prng_state, NULL);
|
|
26 |
if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
|
|
27 |
/* gen the key */
|
24 | 28 |
rv = rsa_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, key_size, key_e, &self->key);
|
25 | 29 |
if (rv != CRYPT_OK) croak("FATAL: rsa_make_key failed: %s", error_to_string(rv));
|
26 | 30 |
XPUSHs(ST(0)); /* return self */
|