| /freebsd/crypto/openssl/providers/implementations/rands/ |
| H A D | drbg.c | 45 static int rand_drbg_restart(PROV_DRBG *drbg); 63 static int ossl_drbg_lock_parent(PROV_DRBG *drbg) in ossl_drbg_lock_parent() argument 65 void *parent = drbg->parent; in ossl_drbg_lock_parent() 68 && drbg->parent_lock != NULL in ossl_drbg_lock_parent() 69 && !drbg->parent_lock(parent)) { in ossl_drbg_lock_parent() 76 static void ossl_drbg_unlock_parent(PROV_DRBG *drbg) in ossl_drbg_unlock_parent() argument 78 void *parent = drbg->parent; in ossl_drbg_unlock_parent() 80 if (parent != NULL && drbg->parent_unlock != NULL) in ossl_drbg_unlock_parent() 81 drbg->parent_unlock(parent); in ossl_drbg_unlock_parent() 84 static int get_parent_strength(PROV_DRBG *drbg, unsigned int *str) in get_parent_strength() argument [all …]
|
| H A D | drbg_hash.c | 72 static int hash_df(PROV_DRBG *drbg, unsigned char *out, in hash_df() argument 78 PROV_DRBG_HASH *hash = (PROV_DRBG_HASH *)drbg->data; in hash_df() 84 size_t outlen = drbg->seedlen; in hash_df() 136 static int hash_df1(PROV_DRBG *drbg, unsigned char *out, in hash_df1() argument 140 return hash_df(drbg, out, in_byte, in1, in1len, NULL, 0, NULL, 0); in hash_df1() 149 static int add_bytes(PROV_DRBG *drbg, unsigned char *dst, in add_bytes() argument 157 assert(drbg->seedlen >= 1 && inlen >= 1 && inlen <= drbg->seedlen); in add_bytes() 159 d = &dst[drbg->seedlen - 1]; in add_bytes() 170 for (i = drbg->seedlen - inlen; i > 0; --i, d--) { in add_bytes() 180 static int add_hash_to_v(PROV_DRBG *drbg, unsigned char inbyte, in add_hash_to_v() argument [all …]
|
| H A D | drbg_ctr.c | 266 __owur static int ctr_update(PROV_DRBG *drbg, in ctr_update() argument 271 PROV_DRBG_CTR *ctr = (PROV_DRBG_CTR *)drbg->data; in ctr_update() 300 ctr_XOR(ctr, ctr->KX, drbg->seedlen); in ctr_update() 312 static int drbg_ctr_instantiate(PROV_DRBG *drbg, in drbg_ctr_instantiate() argument 317 PROV_DRBG_CTR *ctr = (PROV_DRBG_CTR *)drbg->data; in drbg_ctr_instantiate() 328 if (!ctr_update(drbg, entropy, entropylen, pers, perslen, nonce, noncelen)) in drbg_ctr_instantiate() 339 PROV_DRBG *drbg = (PROV_DRBG *)vdrbg; in drbg_ctr_instantiate_wrapper() local 342 if (drbg->lock != NULL && !CRYPTO_THREAD_write_lock(drbg->lock)) in drbg_ctr_instantiate_wrapper() 346 || !drbg_ctr_set_ctx_params_locked(drbg, params)) in drbg_ctr_instantiate_wrapper() 348 ret = ossl_prov_drbg_instantiate(drbg, strength, prediction_resistance, in drbg_ctr_instantiate_wrapper() [all …]
|
| H A D | drbg_hmac.c | 135 static int drbg_hmac_instantiate(PROV_DRBG *drbg, in drbg_hmac_instantiate() argument 140 return ossl_drbg_hmac_init((PROV_DRBG_HMAC *)drbg->data, ent, ent_len, in drbg_hmac_instantiate() 150 PROV_DRBG *drbg = (PROV_DRBG *)vdrbg; in drbg_hmac_instantiate_wrapper() local 153 if (drbg->lock != NULL && !CRYPTO_THREAD_write_lock(drbg->lock)) in drbg_hmac_instantiate_wrapper() 157 || !drbg_hmac_set_ctx_params_locked(drbg, params)) in drbg_hmac_instantiate_wrapper() 159 ret = ossl_prov_drbg_instantiate(drbg, strength, prediction_resistance, in drbg_hmac_instantiate_wrapper() 162 if (drbg->lock != NULL) in drbg_hmac_instantiate_wrapper() 163 CRYPTO_THREAD_unlock(drbg->lock); in drbg_hmac_instantiate_wrapper() 177 static int drbg_hmac_reseed(PROV_DRBG *drbg, in drbg_hmac_reseed() argument 181 PROV_DRBG_HMAC *hmac = (PROV_DRBG_HMAC *)drbg->data; in drbg_hmac_reseed() [all …]
|
| H A D | drbg_local.h | 64 int (*instantiate)(PROV_DRBG *drbg, 69 int (*reseed)(PROV_DRBG *drbg, const unsigned char *ent, size_t ent_len, 170 int (*instantiate)(PROV_DRBG *drbg, 175 int (*reseed)(PROV_DRBG *drbg, const unsigned char *ent, size_t ent_len, 179 void ossl_rand_drbg_free(PROV_DRBG *drbg); 181 int ossl_prov_drbg_instantiate(PROV_DRBG *drbg, unsigned int strength, 185 int ossl_prov_drbg_uninstantiate(PROV_DRBG *drbg); 187 int ossl_prov_drbg_reseed(PROV_DRBG *drbg, int prediction_resistance, 191 int ossl_prov_drbg_generate(PROV_DRBG *drbg, unsigned char *out, size_t outlen, 215 int ossl_drbg_get_ctx_params(PROV_DRBG *drbg, OSSL_PARAM params[]); [all …]
|
| H A D | build.info | 5 SOURCE[$RANDS_GOAL]=drbg.c test_rng.c drbg_ctr.c drbg_hash.c drbg_hmac.c
|
| /freebsd/crypto/openssl/crypto/rand/ |
| H A D | rand_meth.c | 17 EVP_RAND_CTX *drbg = RAND_get0_primary(NULL); in drbg_add() local 19 if (drbg == NULL || num <= 0) in drbg_add() 22 return EVP_RAND_reseed(drbg, 0, NULL, 0, buf, num); in drbg_add() 34 EVP_RAND_CTX *drbg = RAND_get0_primary(NULL); in drbg_status() local 36 if (drbg == NULL) in drbg_status() 39 return EVP_RAND_get_state(drbg) == EVP_RAND_STATE_READY ? 1 : 0; in drbg_status() 45 EVP_RAND_CTX *drbg = RAND_get0_public(NULL); in drbg_bytes() local 47 if (drbg == NULL) in drbg_bytes() 50 return EVP_RAND_generate(drbg, out, count, 0, 0, NULL, 0); in drbg_bytes()
|
| H A D | rand_lib.c | 361 EVP_RAND_CTX *drbg; in RAND_seed() local 371 drbg = RAND_get0_primary(NULL); in RAND_seed() 372 if (drbg != NULL && num > 0) in RAND_seed() 373 EVP_RAND_reseed(drbg, 0, NULL, 0, buf, num); in RAND_seed() 378 EVP_RAND_CTX *drbg; in RAND_add() local 387 drbg = RAND_get0_primary(NULL); in RAND_add() 388 if (drbg != NULL && num > 0) in RAND_add() 391 EVP_RAND_reseed(drbg, 0, buf, num, NULL, 0); in RAND_add() 394 EVP_RAND_reseed(drbg, 0, NULL, 0, buf, num); in RAND_add() 1068 int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const char *propq, in RAND_set_DRBG_type() argument [all …]
|
| /freebsd/crypto/openssl/providers/implementations/kdfs/ |
| H A D | hmacdrbg_kdf.c | 59 PROV_DRBG_HMAC *drbg = &ctx->base; in hmac_drbg_kdf_reset() local 62 EVP_MAC_CTX_free(drbg->ctx); in hmac_drbg_kdf_reset() 63 ossl_prov_digest_reset(&drbg->digest); in hmac_drbg_kdf_reset() 121 PROV_DRBG_HMAC *drbg = &ctx->base; in hmac_drbg_kdf_derive() local 131 || !ossl_drbg_hmac_init(drbg, ctx->entropy, ctx->entropylen, in hmac_drbg_kdf_derive() 137 return ossl_drbg_hmac_generate(drbg, out, outlen, NULL, 0); in hmac_drbg_kdf_derive() 143 PROV_DRBG_HMAC *drbg = &hmac->base; in hmac_drbg_kdf_get_ctx_params() local 150 if (drbg->ctx == NULL) in hmac_drbg_kdf_get_ctx_params() 152 name = EVP_MAC_get0_name(EVP_MAC_CTX_get0_mac(drbg->ctx)); in hmac_drbg_kdf_get_ctx_params() 159 md = ossl_prov_digest_md(&drbg->digest); in hmac_drbg_kdf_get_ctx_params() [all …]
|
| /freebsd/crypto/openssl/test/ |
| H A D | drbgtest.c | 42 static int gen_bytes(EVP_RAND_CTX *drbg, unsigned char *buf, int num) in gen_bytes() argument 54 if (drbg != NULL) in gen_bytes() 55 return EVP_RAND_generate(drbg, buf, num, 0, 0, NULL, 0); in gen_bytes() 75 static int state(EVP_RAND_CTX *drbg) in state() argument 77 return EVP_RAND_get_state(drbg); in state() 80 static unsigned int query_rand_uint(EVP_RAND_CTX *drbg, const char *name) in query_rand_uint() argument 86 if (EVP_RAND_CTX_get_params(drbg, params)) in query_rand_uint() 92 static unsigned int name(EVP_RAND_CTX *drbg) \ 94 return query_rand_uint(drbg, #name); \ 98 static PROV_DRBG *prov_rand(EVP_RAND_CTX *drbg) in DRBG_UINT() [all …]
|
| /freebsd/crypto/openssl/test/recipes/ |
| H A D | 20-test_rand_config.t | |
| /freebsd/crypto/openssl/crypto/ |
| H A D | context.c | 32 void *drbg; member 121 ctx->drbg = ossl_rand_ctx_new(ctx); in context_init() 122 if (ctx->drbg == NULL) in context_init() 243 if (ctx->drbg != NULL) { in context_deinit_objs() 244 ossl_rand_ctx_free(ctx->drbg); in context_deinit_objs() 245 ctx->drbg = NULL; in context_deinit_objs() 533 if (default_context_int.drbg != NULL) { in ossl_release_default_drbg_ctx() 534 ossl_rand_ctx_free(default_context_int.drbg); in ossl_release_default_drbg_ctx() 535 default_context_int.drbg = NULL; in ossl_release_default_drbg_ctx() 587 return ctx->drbg; in ossl_lib_ctx_get_data()
|
| /freebsd/contrib/bearssl/src/ec/ |
| H A D | ecdsa_i15_sign_raw.c | 52 br_hmac_drbg_context drbg; in br_ecdsa_i15_sign_raw() local 118 br_hmac_drbg_init(&drbg, hf, tt, nlen << 1); in br_ecdsa_i15_sign_raw() 120 br_hmac_drbg_generate(&drbg, tt, nlen); in br_ecdsa_i15_sign_raw()
|
| H A D | ecdsa_i31_sign_raw.c | 51 br_hmac_drbg_context drbg; in br_ecdsa_i31_sign_raw() local 117 br_hmac_drbg_init(&drbg, hf, tt, nlen << 1); in br_ecdsa_i31_sign_raw() 119 br_hmac_drbg_generate(&drbg, tt, nlen); in br_ecdsa_i31_sign_raw()
|
| /freebsd/crypto/openssl/providers/fips/ |
| H A D | self_test_kats.c | 297 EVP_RAND_CTX *test = NULL, *drbg = NULL; in self_test_drbg() local 324 drbg = EVP_RAND_CTX_new(rand, test); in self_test_drbg() 326 if (drbg == NULL) in self_test_drbg() 329 strength = EVP_RAND_get_strength(drbg); in self_test_drbg() 335 if (!EVP_RAND_CTX_set_params(drbg, drbg_params)) in self_test_drbg() 345 if (!EVP_RAND_instantiate(drbg, strength, 0, t->persstr, t->persstrlen, in self_test_drbg() 355 if (!EVP_RAND_generate(drbg, out, t->expectedlen, strength, in self_test_drbg() 370 if (!EVP_RAND_generate(drbg, out, t->expectedlen, strength, in self_test_drbg() 380 if (!EVP_RAND_uninstantiate(drbg)) in self_test_drbg() 386 if (!EVP_RAND_verify_zeroization(drbg)) in self_test_drbg() [all …]
|
| H A D | self_test_data.inc | 684 * https://csrc.nist.rip/groups/STM/cavp/documents/drbg/drbgtestvectors.zip
|
| /freebsd/crypto/openssl/doc/man3/ |
| H A D | RAND_set_DRBG_type.pod | 13 int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const char *propq, 21 used within the library context I<ctx>. A generator of name I<drbg>
|
| /freebsd/crypto/openssl/providers/implementations/include/prov/ |
| H A D | hmac_drbg.h | 25 int ossl_drbg_hmac_init(PROV_DRBG_HMAC *drbg,
|
| /freebsd/crypto/openssl/include/openssl/ |
| H A D | rand.h | 90 int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const char *propq,
|
| /freebsd/crypto/openssl/crypto/err/ |
| H A D | openssl.txt | 1068 PROV_R_ERROR_INSTANTIATING_DRBG:188:error instantiating drbg 1088 PROV_R_INSUFFICIENT_DRBG_STRENGTH:181:insufficient drbg strength 1170 PROV_R_REQUEST_TOO_LARGE_FOR_DRBG:196:request too large for drbg 1208 RAND_R_DRBG_ALREADY_INITIALIZED:129:drbg already initialized 1209 RAND_R_DRBG_NOT_INITIALISED:104:drbg not initialised 1213 RAND_R_ERROR_INITIALISING_DRBG:107:error initialising drbg 1214 RAND_R_ERROR_INSTANTIATING_DRBG:108:error instantiating drbg 1222 RAND_R_INSUFFICIENT_DRBG_STRENGTH:139:insufficient drbg strength 1228 RAND_R_NO_DRBG_IMPLEMENTATION_SELECTED:128:no drbg implementation selected 1238 RAND_R_REQUEST_TOO_LARGE_FOR_DRBG:117:request too large for drbg [all …]
|
| /freebsd/crypto/openssl/apps/ |
| H A D | list.c | 439 static void display_random(const char *name, EVP_RAND_CTX *drbg) in display_random() argument 449 if (drbg != NULL) { in display_random() 450 rand = EVP_RAND_CTX_get0_rand(drbg); in display_random() 456 switch (EVP_RAND_get_state(drbg)) { in display_random() 494 if (EVP_RAND_CTX_get_params(drbg, params)) in display_random()
|
| /freebsd/crypto/openssl/doc/man5/ |
| H A D | fips_config.pod | 99 =item B<drbg-no-trunc-md>
|
| /freebsd/crypto/openssl/providers/ |
| H A D | fips.module.sources | 732 providers/implementations/rands/drbg.c
|
| H A D | fips-sources.checksums | 732 0ebc5a48655a697231918644397308e64914c32421e9b8ee7afd7779b6a2fdb8 providers/implementations/rands/drbg.c
|
| /freebsd/secure/lib/libcrypto/ |
| H A D | Makefile | 480 SRCS+= drbg.c drbg_ctr.c drbg_hash.c drbg_hmac.c test_rng.c
|