forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1021 B
40 lines
1021 B
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|
/* |
|
* RNG: Random Number Generator algorithms under the crypto API |
|
* |
|
* Copyright (c) 2008 Neil Horman <[email protected]> |
|
* Copyright (c) 2015 Herbert Xu <[email protected]> |
|
*/ |
|
|
|
#ifndef _CRYPTO_INTERNAL_RNG_H |
|
#define _CRYPTO_INTERNAL_RNG_H |
|
|
|
#include <crypto/algapi.h> |
|
#include <crypto/rng.h> |
|
|
|
int crypto_register_rng(struct rng_alg *alg); |
|
void crypto_unregister_rng(struct rng_alg *alg); |
|
int crypto_register_rngs(struct rng_alg *algs, int count); |
|
void crypto_unregister_rngs(struct rng_alg *algs, int count); |
|
|
|
#if defined(CONFIG_CRYPTO_RNG) || defined(CONFIG_CRYPTO_RNG_MODULE) |
|
int crypto_del_default_rng(void); |
|
#else |
|
static inline int crypto_del_default_rng(void) |
|
{ |
|
return 0; |
|
} |
|
#endif |
|
|
|
static inline void *crypto_rng_ctx(struct crypto_rng *tfm) |
|
{ |
|
return crypto_tfm_ctx(&tfm->base); |
|
} |
|
|
|
static inline void crypto_rng_set_entropy(struct crypto_rng *tfm, |
|
const u8 *data, unsigned int len) |
|
{ |
|
crypto_rng_alg(tfm)->set_ent(tfm, data, len); |
|
} |
|
|
|
#endif
|
|
|