Home
last modified time | relevance | path

Searched refs:drbg (Results 1 – 25 of 25) sorted by relevance

/freebsd/crypto/openssl/providers/implementations/rands/
H A Ddrbg.c45 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 Ddrbg_hash.c72 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 Ddrbg_ctr.c266 __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 Ddrbg_hmac.c135 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 Ddrbg_local.h64 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 Dbuild.info5 SOURCE[$RANDS_GOAL]=drbg.c test_rng.c drbg_ctr.c drbg_hash.c drbg_hmac.c
/freebsd/crypto/openssl/crypto/rand/
H A Drand_meth.c17 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 Drand_lib.c361 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 Dhmacdrbg_kdf.c59 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 Ddrbgtest.c42 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 D20-test_rand_config.t
/freebsd/crypto/openssl/crypto/
H A Dcontext.c32 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 Decdsa_i15_sign_raw.c52 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 Decdsa_i31_sign_raw.c51 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 Dself_test_kats.c297 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 Dself_test_data.inc684 * https://csrc.nist.rip/groups/STM/cavp/documents/drbg/drbgtestvectors.zip
/freebsd/crypto/openssl/doc/man3/
H A DRAND_set_DRBG_type.pod13 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 Dhmac_drbg.h25 int ossl_drbg_hmac_init(PROV_DRBG_HMAC *drbg,
/freebsd/crypto/openssl/include/openssl/
H A Drand.h90 int RAND_set_DRBG_type(OSSL_LIB_CTX *ctx, const char *drbg, const char *propq,
/freebsd/crypto/openssl/crypto/err/
H A Dopenssl.txt1068 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 Dlist.c439 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 Dfips_config.pod99 =item B<drbg-no-trunc-md>
/freebsd/crypto/openssl/providers/
H A Dfips.module.sources732 providers/implementations/rands/drbg.c
H A Dfips-sources.checksums732 0ebc5a48655a697231918644397308e64914c32421e9b8ee7afd7779b6a2fdb8 providers/implementations/rands/drbg.c
/freebsd/secure/lib/libcrypto/
H A DMakefile480 SRCS+= drbg.c drbg_ctr.c drbg_hash.c drbg_hmac.c test_rng.c