diff options
author | Isis Lovecruft <isis@torproject.org> | 2018-04-06 21:23:29 +0000 |
---|---|---|
committer | Isis Lovecruft <isis@torproject.org> | 2018-04-06 21:45:28 +0000 |
commit | fe3aca149191f2eac410caa7113fb6f7e0804d8c (patch) | |
tree | aabae7d1953667965ba9fd3a6fc15f0a531ac4a0 /src/common/crypto.h | |
parent | 21c81348a39dd235c40656c34abb76daf88e81f3 (diff) | |
download | tor-fe3aca149191f2eac410caa7113fb6f7e0804d8c.tar.gz tor-fe3aca149191f2eac410caa7113fb6f7e0804d8c.zip |
crypto: Refactor (P)RNG functionality into new crypto_rand module.
* ADD new /src/common/crypto_rand.[ch] module.
* ADD new /src/common/crypto_util.[ch] module (contains the memwipe()
function, since all crypto_* modules need this).
* FIXES part of #24658: https://bugs.torproject.org/24658
Diffstat (limited to 'src/common/crypto.h')
-rw-r--r-- | src/common/crypto.h | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/common/crypto.h b/src/common/crypto.h index b586790329..61a2952d26 100644 --- a/src/common/crypto.h +++ b/src/common/crypto.h @@ -105,31 +105,6 @@ int crypto_expand_key_material_rfc5869_sha256( const uint8_t *info_in, size_t info_in_len, uint8_t *key_out, size_t key_out_len); -/* random numbers */ -int crypto_seed_rng(void) ATTR_WUR; -MOCK_DECL(void,crypto_rand,(char *to, size_t n)); -void crypto_rand_unmocked(char *to, size_t n); -void crypto_strongest_rand(uint8_t *out, size_t out_len); -int crypto_rand_int(unsigned int max); -int crypto_rand_int_range(unsigned int min, unsigned int max); -uint64_t crypto_rand_uint64_range(uint64_t min, uint64_t max); -time_t crypto_rand_time_range(time_t min, time_t max); -uint64_t crypto_rand_uint64(uint64_t max); -double crypto_rand_double(void); -struct tor_weak_rng_t; -void crypto_seed_weak_rng(struct tor_weak_rng_t *rng); -int crypto_init_siphash_key(void); - -char *crypto_random_hostname(int min_rand_len, int max_rand_len, - const char *prefix, const char *suffix); - -struct smartlist_t; -void *smartlist_choose(const struct smartlist_t *sl); -void smartlist_shuffle(struct smartlist_t *sl); - -/** OpenSSL-based utility functions. */ -void memwipe(void *mem, uint8_t byte, size_t sz); - /* Prototypes for private functions only used by tortls.c, crypto.c, and the * unit tests. */ struct dh_st; @@ -137,16 +112,5 @@ struct dh_st *crypto_dh_get_dh_(crypto_dh_t *dh); void crypto_add_spaces_to_fp(char *out, size_t outlen, const char *in); -#ifdef CRYPTO_PRIVATE - -STATIC int crypto_force_rand_ssleay(void); -STATIC int crypto_strongest_rand_raw(uint8_t *out, size_t out_len); - -#ifdef TOR_UNIT_TESTS -extern int break_strongest_rng_syscall; -extern int break_strongest_rng_fallback; -#endif -#endif /* defined(CRYPTO_PRIVATE) */ - #endif /* !defined(TOR_CRYPTO_H) */ |