Codebase list libcryptx-perl / 1232232
more prng entropy by `Crypt::PK::*` modules Karel Miko 10 years ago
4 changed file(s) with 19 addition(s) and 10 deletion(s). Raw diff Collapse all Expand all
99 RETVAL->key.type = -1;
1010 RETVAL->yarrow_prng_index = find_prng("yarrow");
1111 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);
1313 if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
1414 }
1515 OUTPUT:
2020 PPCODE:
2121 {
2222 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 */
2327 rv = dh_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, key_size, &self->key);
2428 if (rv != CRYPT_OK) croak("FATAL: dh_make_key failed: %s", error_to_string(rv));
2529 XPUSHs(ST(0)); /* return self */
99 RETVAL->key.type = -1;
1010 RETVAL->yarrow_prng_index = find_prng("yarrow");
1111 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);
1313 if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
1414 }
1515 OUTPUT:
2020 PPCODE:
2121 {
2222 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 */
2327 rv = dsa_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, group_size, modulus_size, &self->key);
2428 if (rv != CRYPT_OK) croak("FATAL: dsa_make_key failed: %s", error_to_string(rv));
2529 XPUSHs(ST(0)); /* return self */
1010 RETVAL->key.type = -1;
1111 ecc_dp_init(&RETVAL->dp);
1212 if(RETVAL->yarrow_prng_index==-1) croak("FATAL: find_prng('yarrow') failed");
13 /* add random entropy */
1413 rv = rng_make_prng(256, RETVAL->yarrow_prng_index, &RETVAL->yarrow_prng_state, NULL);
1514 if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
1615 }
2221 PPCODE:
2322 {
2423 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() */
2725 rv = rng_make_prng(64, self->yarrow_prng_index, &self->yarrow_prng_state, NULL);
2826 if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
29
27 /* setup dp structure */
3028 _ecc_set_dp_from_SV(&self->dp, curve); /* croaks on error */
31
29 /* gen the key */
3230 rv = ecc_make_key_ex(&self->yarrow_prng_state, self->yarrow_prng_index, &self->key, &self->dp);
3331 if (rv != CRYPT_OK) croak("FATAL: ecc_make_key_ex failed: %s", error_to_string(rv));
34
3532 XPUSHs(ST(0)); /* return self */
3633 }
3734
99 RETVAL->key.type = -1;
1010 RETVAL->yarrow_prng_index = find_prng("yarrow");
1111 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);
1313 if (rv != CRYPT_OK) croak("FATAL: rng_make_prng failed: %s", error_to_string(rv));
1414 }
1515 OUTPUT:
1919 generate_key(Crypt::PK::RSA self, int key_size=256, long key_e=65537)
2020 PPCODE:
2121 {
22 /* key_size is in octets */
2223 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 */
2428 rv = rsa_make_key(&self->yarrow_prng_state, self->yarrow_prng_index, key_size, key_e, &self->key);
2529 if (rv != CRYPT_OK) croak("FATAL: rsa_make_key failed: %s", error_to_string(rv));
2630 XPUSHs(ST(0)); /* return self */