Changeset View
Changeset View
Standalone View
Standalone View
b/random/random.c
| Context not available. | |||||
| _gcry_random_initialize (int full) | _gcry_random_initialize (int full) | ||||
| { | { | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| _gcry_rngfips_initialize (full); | //_gcry_rngfips_initialize (full); | ||||
| _gcry_drbg_init(full); | |||||
| else if (rng_types.standard) | else if (rng_types.standard) | ||||
| _gcry_rngcsprng_initialize (full); | _gcry_rngcsprng_initialize (full); | ||||
| else if (rng_types.fips) | else if (rng_types.fips) | ||||
| _gcry_rngfips_initialize (full); | _gcry_drbg_init(full); | ||||
| //_gcry_rngfips_initialize (full); | |||||
| else if (rng_types.system) | else if (rng_types.system) | ||||
| _gcry_rngsystem_initialize (full); | _gcry_rngsystem_initialize (full); | ||||
| else | else | ||||
| Context not available. | |||||
| the entropy gatherer. */ | the entropy gatherer. */ | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| _gcry_rngfips_close_fds (); | //_gcry_rngfips_close_fds (); | ||||
| _gcry_drbg_close_fds (); | |||||
| else if (rng_types.standard) | else if (rng_types.standard) | ||||
| _gcry_rngcsprng_close_fds (); | _gcry_rngcsprng_close_fds (); | ||||
| else if (rng_types.fips) | else if (rng_types.fips) | ||||
| _gcry_rngfips_close_fds (); | //_gcry_rngfips_close_fds (); | ||||
| _gcry_drbg_close_fds (); | |||||
| else if (rng_types.system) | else if (rng_types.system) | ||||
| _gcry_rngsystem_close_fds (); | _gcry_rngsystem_close_fds (); | ||||
| else | else | ||||
| Context not available. | |||||
| _gcry_random_dump_stats (void) | _gcry_random_dump_stats (void) | ||||
| { | { | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| _gcry_rngfips_dump_stats (); | //_gcry_rngfips_dump_stats (); | ||||
| _gcry_drbg_dump_stats (); | |||||
| else | else | ||||
| _gcry_rngcsprng_dump_stats (); | _gcry_rngcsprng_dump_stats (); | ||||
| } | } | ||||
| Context not available. | |||||
| _gcry_random_is_faked (void) | _gcry_random_is_faked (void) | ||||
| { | { | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| return _gcry_rngfips_is_faked (); | //return _gcry_rngfips_is_faked (); | ||||
| return _gcry_drbg_is_faked (); | |||||
| else | else | ||||
| return _gcry_rngcsprng_is_faked (); | return _gcry_rngcsprng_is_faked (); | ||||
| } | } | ||||
| Context not available. | |||||
| do_randomize (void *buffer, size_t length, enum gcry_random_level level) | do_randomize (void *buffer, size_t length, enum gcry_random_level level) | ||||
| { | { | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| _gcry_rngfips_randomize (buffer, length, level); | //_gcry_rngfips_randomize (buffer, length, level); | ||||
| _gcry_drbg_randomize (buffer, length, level); | |||||
| else if (rng_types.standard) | else if (rng_types.standard) | ||||
| _gcry_rngcsprng_randomize (buffer, length, level); | _gcry_rngcsprng_randomize (buffer, length, level); | ||||
| else if (rng_types.fips) | else if (rng_types.fips) | ||||
| _gcry_rngfips_randomize (buffer, length, level); | //_gcry_rngfips_randomize (buffer, length, level); | ||||
| _gcry_drbg_randomize (buffer, length, level); | |||||
| else if (rng_types.system) | else if (rng_types.system) | ||||
| _gcry_rngsystem_randomize (buffer, length, level); | _gcry_rngsystem_randomize (buffer, length, level); | ||||
| else /* default */ | else /* default */ | ||||
| Context not available. | |||||
| nonce generator which is seeded by the RNG actual in use. */ | nonce generator which is seeded by the RNG actual in use. */ | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| { | { | ||||
| _gcry_rngfips_create_nonce (buffer, length); | //_gcry_rngfips_create_nonce (buffer, length); | ||||
| _gcry_drbg_randomize (buffer, length, GCRY_WEAK_RANDOM); | |||||
| return; | return; | ||||
| } | } | ||||
| Context not available. | |||||
| _gcry_random_selftest (selftest_report_func_t report) | _gcry_random_selftest (selftest_report_func_t report) | ||||
| { | { | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| return _gcry_rngfips_selftest (report); | //return _gcry_rngfips_selftest (report); | ||||
| return _gcry_drbg_selftest (report); | |||||
| else | else | ||||
| return 0; /* No selftests yet. */ | return 0; /* No selftests yet. */ | ||||
| } | } | ||||
| Context not available. | |||||
| const void *seed, size_t seedlen, | const void *seed, size_t seedlen, | ||||
| const void *dt, size_t dtlen) | const void *dt, size_t dtlen) | ||||
| { | { | ||||
| return GPG_ERR_NOT_SUPPORTED; | |||||
| (void)flags; | (void)flags; | ||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| return _gcry_rngfips_init_external_test (r_context, flags, key, keylen, | return _gcry_rngfips_init_external_test (r_context, flags, key, keylen, | ||||
| Context not available. | |||||
| gcry_err_code_t | gcry_err_code_t | ||||
| _gcry_random_run_external_test (void *context, char *buffer, size_t buflen) | _gcry_random_run_external_test (void *context, char *buffer, size_t buflen) | ||||
| { | { | ||||
| return GPG_ERR_NOT_SUPPORTED; | |||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| return _gcry_rngfips_run_external_test (context, buffer, buflen); | return _gcry_rngfips_run_external_test (context, buffer, buflen); | ||||
| else | else | ||||
| Context not available. | |||||
| void | void | ||||
| _gcry_random_deinit_external_test (void *context) | _gcry_random_deinit_external_test (void *context) | ||||
| { | { | ||||
| return; | |||||
| if (fips_mode ()) | if (fips_mode ()) | ||||
| _gcry_rngfips_deinit_external_test (context); | _gcry_rngfips_deinit_external_test (context); | ||||
| } | } | ||||
| Context not available. | |||||