crypto: wp512 - Switch to shash
[safe/jmp/linux-2.6] / crypto / Kconfig
index 797b9e1..bc29216 100644 (file)
@@ -21,30 +21,73 @@ if CRYPTO
 
 comment "Crypto core or helper"
 
+config CRYPTO_FIPS
+       bool "FIPS 200 compliance"
+       help
+         This options enables the fips boot option which is
+         required if you want to system to operate in a FIPS 200
+         certification.  You should say no unless you know what
+         this is.
+
 config CRYPTO_ALGAPI
        tristate
+       select CRYPTO_ALGAPI2
        help
          This option provides the API for cryptographic algorithms.
 
+config CRYPTO_ALGAPI2
+       tristate
+
 config CRYPTO_AEAD
        tristate
+       select CRYPTO_AEAD2
        select CRYPTO_ALGAPI
 
+config CRYPTO_AEAD2
+       tristate
+       select CRYPTO_ALGAPI2
+
 config CRYPTO_BLKCIPHER
        tristate
+       select CRYPTO_BLKCIPHER2
        select CRYPTO_ALGAPI
 
+config CRYPTO_BLKCIPHER2
+       tristate
+       select CRYPTO_ALGAPI2
+       select CRYPTO_RNG2
+
 config CRYPTO_HASH
        tristate
+       select CRYPTO_HASH2
        select CRYPTO_ALGAPI
 
+config CRYPTO_HASH2
+       tristate
+       select CRYPTO_ALGAPI2
+
+config CRYPTO_RNG
+       tristate
+       select CRYPTO_RNG2
+       select CRYPTO_ALGAPI
+
+config CRYPTO_RNG2
+       tristate
+       select CRYPTO_ALGAPI2
+
 config CRYPTO_MANAGER
        tristate "Cryptographic algorithm manager"
-       select CRYPTO_ALGAPI
+       select CRYPTO_MANAGER2
        help
          Create default cryptographic template instantiations such as
          cbc(aes).
 
+config CRYPTO_MANAGER2
+       def_tristate CRYPTO_MANAGER || (CRYPTO_MANAGER!=n && CRYPTO_ALGAPI=y)
+       select CRYPTO_AEAD2
+       select CRYPTO_HASH2
+       select CRYPTO_BLKCIPHER2
+
 config CRYPTO_GF128MUL
        tristate "GF(2^128) multiplication functions (EXPERIMENTAL)"
        depends on EXPERIMENTAL
@@ -59,6 +102,7 @@ config CRYPTO_NULL
        tristate "Null algorithms"
        select CRYPTO_ALGAPI
        select CRYPTO_BLKCIPHER
+       select CRYPTO_HASH
        help
          These are 'Null' algorithms, used by IPsec, which do nothing.
 
@@ -85,9 +129,7 @@ config CRYPTO_AUTHENC
 config CRYPTO_TEST
        tristate "Testing module"
        depends on m
-       select CRYPTO_ALGAPI
-       select CRYPTO_AEAD
-       select CRYPTO_BLKCIPHER
+       select CRYPTO_MANAGER
        help
          Quick & dirty crypto test module.
 
@@ -113,6 +155,7 @@ config CRYPTO_SEQIV
        tristate "Sequence Number IV Generator"
        select CRYPTO_AEAD
        select CRYPTO_BLKCIPHER
+       select CRYPTO_RNG
        help
          This IV generator generates an IV based on a sequence number by
          xoring it with a salt.  This algorithm is mainly useful for CTR
@@ -214,12 +257,10 @@ comment "Digest"
 config CRYPTO_CRC32C
        tristate "CRC32c CRC algorithm"
        select CRYPTO_HASH
-       select LIBCRC32C
        help
          Castagnoli, et al Cyclic Redundancy-Check Algorithm.  Used
          by iSCSI for header and data digests and by others.
-         See Castagnoli93.  This implementation uses lib/libcrc32c.
-         Module will be crc32c.
+         See Castagnoli93.  Module will be crc32c.
 
 config CRYPTO_CRC32C_INTEL
        tristate "CRC32c INTEL hardware acceleration"
@@ -235,13 +276,13 @@ config CRYPTO_CRC32C_INTEL
 
 config CRYPTO_MD4
        tristate "MD4 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          MD4 message digest algorithm (RFC1320).
 
 config CRYPTO_MD5
        tristate "MD5 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          MD5 message digest algorithm (RFC1321).
 
@@ -256,7 +297,7 @@ config CRYPTO_MICHAEL_MIC
 
 config CRYPTO_RMD128
        tristate "RIPEMD-128 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          RIPEMD-128 (ISO/IEC 10118-3:2004).
 
@@ -269,7 +310,7 @@ config CRYPTO_RMD128
 
 config CRYPTO_RMD160
        tristate "RIPEMD-160 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          RIPEMD-160 (ISO/IEC 10118-3:2004).
 
@@ -286,7 +327,7 @@ config CRYPTO_RMD160
 
 config CRYPTO_RMD256
        tristate "RIPEMD-256 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          RIPEMD-256 is an optional extension of RIPEMD-128 with a
          256 bit hash. It is intended for applications that require
@@ -298,7 +339,7 @@ config CRYPTO_RMD256
 
 config CRYPTO_RMD320
        tristate "RIPEMD-320 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          RIPEMD-320 is an optional extension of RIPEMD-160 with a
          320 bit hash. It is intended for applications that require
@@ -310,13 +351,13 @@ config CRYPTO_RMD320
 
 config CRYPTO_SHA1
        tristate "SHA1 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
 
 config CRYPTO_SHA256
        tristate "SHA224 and SHA256 digest algorithm"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          SHA256 secure hash standard (DFIPS 180-2).
 
@@ -340,7 +381,7 @@ config CRYPTO_SHA512
 
 config CRYPTO_TGR192
        tristate "Tiger digest algorithms"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          Tiger hash algorithm 192, 160 and 128-bit hashes
 
@@ -353,7 +394,7 @@ config CRYPTO_TGR192
 
 config CRYPTO_WP512
        tristate "Whirlpool digest algorithms"
-       select CRYPTO_ALGAPI
+       select CRYPTO_HASH
        help
          Whirlpool hash algorithm 512, 384 and 256-bit hashes
 
@@ -681,6 +722,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