crypto: rng - Add crypto_rng_set_entropy

This patch adds the function crypto_rng_set_entropy.  It is only
meant to be used by testmgr when testing RNG implementations by
providing fixed entropy data in order to verify test vectors.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
Herbert Xu 2015-04-21 10:46:39 +08:00
parent acec27ff35
commit 7ca99d8148
2 changed files with 10 additions and 0 deletions

View File

@ -26,4 +26,10 @@ 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

View File

@ -32,6 +32,8 @@ struct crypto_rng;
* up a new state, the seed must be provided by the
* consumer while invoking this function. The required
* size of the seed is defined with @seedsize .
* @set_ent: Set entropy that would otherwise be obtained from
* entropy source. Internal use only.
* @seedsize: The seed size required for a random number generator
* initialization defined with this variable. Some
* random number generators does not require a seed
@ -45,6 +47,8 @@ struct rng_alg {
const u8 *src, unsigned int slen,
u8 *dst, unsigned int dlen);
int (*seed)(struct crypto_rng *tfm, const u8 *seed, unsigned int slen);
void (*set_ent)(struct crypto_rng *tfm, const u8 *data,
unsigned int len);
unsigned int seedsize;