crypto: rng - RNG interface and implementation

This patch adds a random number generator interface as well as a
cryptographic pseudo-random number generator based on AES.  It is
meant to be used in cases where a deterministic CPRNG is required.

One of the first applications will be as an input in the IPsec IV
generation process.

Signed-off-by: Neil Horman <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
This commit is contained in:
Neil Horman 2008-08-14 22:15:52 +10:00 • committed by Herbert Xu
commit 17f0f4a47d
8 changed files with 754 additions and 1 deletions

View file

@ -46,6 +46,10 @@ config CRYPTO_HASH
tristate
select CRYPTO_ALGAPI
config CRYPTO_RNG
tristate
select CRYPTO_ALGAPI
config CRYPTO_MANAGER
tristate "Cryptographic algorithm manager"
select CRYPTO_AEAD
@ -689,6 +693,18 @@ config CRYPTO_LZO
help
This is the LZO algorithm.
comment "Random Number Generation"
config CRYPTO_ANSI_CPRNG
tristate "Pseudo Random Number Generation for Cryptographic modules"
select CRYPTO_AES
select CRYPTO_RNG
select CRYPTO_FIPS
help
This option enables the generic pseudo random number generator
for cryptographic modules. Uses the Algorithm specified in
ANSI X9.31 A.2.4
source "drivers/crypto/Kconfig"
endif # if CRYPTO