X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=fips%2Frand%2Ffips_rand.h;h=dc33cf136ceba5be2186ee4e2a0890895e5cc41f;hp=1a57edd06e39d3d278374c981263c1b0eb398184;hb=4420b3b17acf19f78f4fdea1a69d5f0a644c8154;hpb=05e24c87dd1428809d6eaebf754b472a6cb4bb50 diff --git a/fips/rand/fips_rand.h b/fips/rand/fips_rand.h index 1a57edd06e..dc33cf136c 100644 --- a/fips/rand/fips_rand.h +++ b/fips/rand/fips_rand.h @@ -50,7 +50,10 @@ #ifndef HEADER_FIPS_RAND_H #define HEADER_FIPS_RAND_H -#include "des.h" +#include +#include +#include +#include #ifdef OPENSSL_FIPS @@ -71,7 +74,7 @@ int FIPS_x931_status(void); const RAND_METHOD *FIPS_x931_method(void); typedef struct drbg_ctx_st DRBG_CTX; - +/* DRBG external flags */ /* Flag for CTR mode only: use derivation function ctr_df */ #define DRBG_FLAG_CTR_USE_DF 0x1 /* PRNG is in test state */ @@ -83,7 +86,7 @@ int FIPS_drbg_instantiate(DRBG_CTX *dctx, const unsigned char *pers, size_t perslen); int FIPS_drbg_reseed(DRBG_CTX *dctx, const unsigned char *adin, size_t adinlen); int FIPS_drbg_generate(DRBG_CTX *dctx, unsigned char *out, size_t outlen, - int strength, int prediction_resistance, + int prediction_resistance, const unsigned char *adin, size_t adinlen); int FIPS_drbg_uninstantiate(DRBG_CTX *dctx); @@ -93,6 +96,7 @@ int FIPS_drbg_set_callbacks(DRBG_CTX *dctx, size_t (*get_entropy)(DRBG_CTX *ctx, unsigned char **pout, int entropy, size_t min_len, size_t max_len), void (*cleanup_entropy)(DRBG_CTX *ctx, unsigned char *out, size_t olen), + size_t entropy_blocklen, size_t (*get_nonce)(DRBG_CTX *ctx, unsigned char **pout, int entropy, size_t min_len, size_t max_len), void (*cleanup_nonce)(DRBG_CTX *ctx, unsigned char *out, size_t olen)); @@ -108,11 +112,21 @@ void *FIPS_drbg_get_app_data(DRBG_CTX *ctx); void FIPS_drbg_set_app_data(DRBG_CTX *ctx, void *app_data); size_t FIPS_drbg_get_blocklength(DRBG_CTX *dctx); int FIPS_drbg_get_strength(DRBG_CTX *dctx); +void FIPS_drbg_set_check_interval(DRBG_CTX *dctx, int interval); +void FIPS_drbg_set_reseed_interval(DRBG_CTX *dctx, int interval); + +int FIPS_drbg_test(DRBG_CTX *dctx); DRBG_CTX *FIPS_get_default_drbg(void); const RAND_METHOD *FIPS_drbg_method(void); + int FIPS_rand_set_method(const RAND_METHOD *meth); +const RAND_METHOD *FIPS_rand_get_method(void); + +void FIPS_rand_set_bits(int nbits); + +int FIPS_rand_strength(void); #ifdef __cplusplus }