Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
[sfrench/cifs-2.6.git] / crypto / Kconfig
index 3d1a1e27944f059e6cca382cf02636e5d308df23..898acc5c1967b5d700901a8acf9a15b00f079049 100644 (file)
@@ -24,14 +24,23 @@ config CRYPTO_ALGAPI
        help
          This option provides the API for cryptographic algorithms.
 
-config CRYPTO_ABLKCIPHER
+config CRYPTO_AEAD
        tristate
-       select CRYPTO_BLKCIPHER
+       select CRYPTO_ALGAPI
 
 config CRYPTO_BLKCIPHER
        tristate
        select CRYPTO_ALGAPI
 
+config CRYPTO_SEQIV
+       tristate "Sequence Number IV Generator"
+       select CRYPTO_AEAD
+       select CRYPTO_BLKCIPHER
+       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
+         and similar modes.
+
 config CRYPTO_HASH
        tristate
        select CRYPTO_ALGAPI
@@ -65,6 +74,7 @@ config CRYPTO_XCBC
 config CRYPTO_NULL
        tristate "Null algorithms"
        select CRYPTO_ALGAPI
+       select CRYPTO_BLKCIPHER
        help
          These are 'Null' algorithms, used by IPsec, which do nothing.
 
@@ -87,7 +97,7 @@ config CRYPTO_SHA1
          SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).
 
 config CRYPTO_SHA256
-       tristate "SHA256 digest algorithm"
+       tristate "SHA224 and SHA256 digest algorithm"
        select CRYPTO_ALGAPI
        help
          SHA256 secure hash standard (DFIPS 180-2).
@@ -95,6 +105,9 @@ config CRYPTO_SHA256
          This version of SHA implements a 256 bit hash with 128 bits of
          security against collision attacks.
 
+          This code also includes SHA-224, a 224 bit hash with 112 bits
+          of security against collision attacks.
+
 config CRYPTO_SHA512
        tristate "SHA384 and SHA512 digest algorithms"
        select CRYPTO_ALGAPI
@@ -146,7 +159,6 @@ config CRYPTO_ECB
        tristate "ECB support"
        select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
-       default m
        help
          ECB: Electronic CodeBook mode
          This is the simplest block cipher algorithm.  It simply encrypts
@@ -156,7 +168,6 @@ config CRYPTO_CBC
        tristate "CBC support"
        select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
-       default m
        help
          CBC: Cipher Block Chaining mode
          This block cipher algorithm is required for IPSec.
@@ -165,7 +176,6 @@ config CRYPTO_PCBC
        tristate "PCBC support"
        select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
-       default m
        help
          PCBC: Propagating Cipher Block Chaining mode
          This block cipher algorithm is required for RxRPC.
@@ -183,9 +193,45 @@ config CRYPTO_LRW
          The first 128, 192 or 256 bits in the key are used for AES and the
          rest is used to tie each cipher block to its logical position.
 
+config CRYPTO_XTS
+       tristate "XTS support (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       select CRYPTO_BLKCIPHER
+       select CRYPTO_MANAGER
+       select CRYPTO_GF128MUL
+       help
+         XTS: IEEE1619/D16 narrow block cipher use with aes-xts-plain,
+         key size 256, 384 or 512 bits. This implementation currently
+         can't handle a sectorsize which is not a multiple of 16 bytes.
+
+config CRYPTO_CTR
+       tristate "CTR support"
+       select CRYPTO_BLKCIPHER
+       select CRYPTO_SEQIV
+       select CRYPTO_MANAGER
+       help
+         CTR: Counter mode
+         This block cipher algorithm is required for IPSec.
+
+config CRYPTO_GCM
+       tristate "GCM/GMAC support"
+       select CRYPTO_CTR
+       select CRYPTO_AEAD
+       select CRYPTO_GF128MUL
+       help
+         Support for Galois/Counter Mode (GCM) and Galois Message
+         Authentication Code (GMAC). Required for IPSec.
+
+config CRYPTO_CCM
+       tristate "CCM support"
+       select CRYPTO_CTR
+       select CRYPTO_AEAD
+       help
+         Support for Counter with CBC MAC. Required for IPsec.
+
 config CRYPTO_CRYPTD
        tristate "Software async crypto daemon"
-       select CRYPTO_ABLKCIPHER
+       select CRYPTO_BLKCIPHER
        select CRYPTO_MANAGER
        help
          This is a generic software asynchronous crypto daemon that
@@ -308,6 +354,7 @@ config CRYPTO_AES_586
        tristate "AES cipher algorithms (i586)"
        depends on (X86 || UML_X86) && !64BIT
        select CRYPTO_ALGAPI
+       select CRYPTO_AES
        help
          AES cipher algorithms (FIPS-197). AES uses the Rijndael 
          algorithm.
@@ -329,6 +376,7 @@ config CRYPTO_AES_X86_64
        tristate "AES cipher algorithms (x86_64)"
        depends on (X86 || UML_X86) && 64BIT
        select CRYPTO_ALGAPI
+       select CRYPTO_AES
        help
          AES cipher algorithms (FIPS-197). AES uses the Rijndael 
          algorithm.
@@ -415,6 +463,60 @@ config CRYPTO_ANUBIS
          <https://www.cosic.esat.kuleuven.ac.be/nessie/reports/>
          <http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html>
 
+config CRYPTO_SEED
+       tristate "SEED cipher algorithm"
+       select CRYPTO_ALGAPI
+       help
+         SEED cipher algorithm (RFC4269).
+
+         SEED is a 128-bit symmetric key block cipher that has been
+         developed by KISA (Korea Information Security Agency) as a
+         national standard encryption algorithm of the Republic of Korea.
+         It is a 16 round block cipher with the key size of 128 bit.
+
+         See also:
+         <http://www.kisa.or.kr/kisa/seed/jsp/seed_eng.jsp>
+
+config CRYPTO_SALSA20
+       tristate "Salsa20 stream cipher algorithm (EXPERIMENTAL)"
+       depends on EXPERIMENTAL
+       select CRYPTO_BLKCIPHER
+       help
+         Salsa20 stream cipher algorithm.
+
+         Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
+         Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
+
+         The Salsa20 stream cipher algorithm is designed by Daniel J.
+         Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
+
+config CRYPTO_SALSA20_586
+       tristate "Salsa20 stream cipher algorithm (i586) (EXPERIMENTAL)"
+       depends on (X86 || UML_X86) && !64BIT
+       depends on EXPERIMENTAL
+       select CRYPTO_BLKCIPHER
+       help
+         Salsa20 stream cipher algorithm.
+
+         Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
+         Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
+
+         The Salsa20 stream cipher algorithm is designed by Daniel J.
+         Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
+
+config CRYPTO_SALSA20_X86_64
+       tristate "Salsa20 stream cipher algorithm (x86_64) (EXPERIMENTAL)"
+       depends on (X86 || UML_X86) && 64BIT
+       depends on EXPERIMENTAL
+       select CRYPTO_BLKCIPHER
+       help
+         Salsa20 stream cipher algorithm.
+
+         Salsa20 is a stream cipher submitted to eSTREAM, the ECRYPT
+         Stream Cipher Project. See <http://www.ecrypt.eu.org/stream/>
+
+         The Salsa20 stream cipher algorithm is designed by Daniel J.
+         Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
 
 config CRYPTO_DEFLATE
        tristate "Deflate compression algorithm"
@@ -465,9 +567,28 @@ config CRYPTO_TEST
        tristate "Testing module"
        depends on m
        select CRYPTO_ALGAPI
+       select CRYPTO_AEAD
+       select CRYPTO_BLKCIPHER
        help
          Quick & dirty crypto test module.
 
+config CRYPTO_AUTHENC
+       tristate "Authenc support"
+       select CRYPTO_AEAD
+       select CRYPTO_MANAGER
+       select CRYPTO_HASH
+       help
+         Authenc: Combined mode wrapper for IPsec.
+         This is required for IPSec.
+
+config CRYPTO_LZO
+       tristate "LZO compression algorithm"
+       select CRYPTO_ALGAPI
+       select LZO_COMPRESS
+       select LZO_DECOMPRESS
+       help
+         This is the LZO algorithm.
+
 source "drivers/crypto/Kconfig"
 
 endif  # if CRYPTO