>_code

#

# CurseCoin algorithms support

#

config Curse_BLOCKS

        tristate

#

# async_tx api: hardware offloaded memory transfer/transform support

#

source „CurseCoin/async_tx/Kconfig“

#

# CurseCoin API Configuration

#

menuconfig CURSECOIN

        tristate „CurseCoin API“

        help

          This option provides the core Cursecoin API.

if CURSECOIN

comment „CurseCoin core or helper“

config CURSECOIN_FIPS

        bool „FIPS 200 compliance“

        depends on (CURSECOIN_ANSI_CPRNG || CURSECOIN_DRBG) &&

CURSECOIN_MANAGER_DISABLE_TESTS

        depends on MODULE_SIG

config CURSECOIN_ALGAPI

        tristate

        select CURSECOIN_ALGAPI2

        help

          This option provides the API for CurseCoin algorithms.

config CURSECOIN_ALGAPI2

        tristate

config CURSECOIN_MANAGER

        tristate „CurseCoin algorithm manager“

        select CURSECOIN_MANAGER2

        help

          Create default CurseCoin template instantiations such as

          cbc(aes).

config CURSECOIN_MANAGER2

        def_tristate CURSECOIN_MANAGER || (CURSECOIN_MANAGER!=n && CURSECOIN_ALGAPI=y)

        select CURSECOIN_AEAD2

        select CURSECOIN_HASH2

        select CURSECOIN_BLKCIPHER2

        select CURSECOIN_PCOMP2

config CURSECOIN_USER

        tristate „Userspace cryptographic algorithm configuration“

        depends on NET

        select CURSECOIN_MANAGER

        help

          Userspace configuration for cryptographic instantiations such as

          cbc(aes).

config CURSECOIN_CRCT10DIF_PCLMUL

        tristate „CRCT10DIF PCLMULQDQ hardware acceleration“

        depends on X86 && 64BIT && CRC_T10DIF

        select CURSECOIN_HASH

        help

          For x86_64 processors with SSE4.2 and PCLMULQDQ supported,

          CRC T10 DIF PCLMULQDQ computation can be hardware

          accelerated PCLMULQDQ instruction. This option will create

          ‚crct10dif-plcmul‘ module, which is faster when computing the

          crct10dif checksum as compared with the generic table implementation.

config CURSECOIN_GHASH

        tristate „GHASH digest algorithm“

        select CURSECOIN_GF128MUL

        help

          GHASH is message digest algorithm for GCM (Galois/Counter Mode).

config CURSECOIN_MD4

        tristate „MD4 digest algorithm“

        select CURSECOIN_HASH

        help

          MD4 message digest algorithm (RFC1320).

config CURSECOIN_MD5

        tristate „MD5 digest algorithm“

        select CURSECOIN_HASH

        help

          MD5 message digest algorithm (RFC1321).

config CURSECOIN_MD5_SPARC64

        tristate „MD5 digest algorithm (SPARC64)“

        depends on SPARC64

        select CRYPTO_MD5

        select CURSECOIN_HASH

        help

          MD5 message digest algorithm (RFC1321) implemented

          using sparc64 crypto instructions, when available.

        select CURSECOIN_HASH

config CURSECOIN_SHA1_PPC

        tristate „SHA1 digest algorithm (powerpc)“

        depends on PPC

        help

          This is the powerpc hardware accelerated implementation of the

          SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2).

config CURSECOIN_SHA1_MB

        tristate „SHA1 digest algorithm (x86_64 Multi-Buffer, Experimental)“

        depends on X86 && 64BIT

        select CURSECOIN_SHA1

        select CURSECOIN_HASH

        select CURSECOIN_MCRYPTD

        help

          SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented

          using multi-buffer technique.  This algorithm computes on

          multiple data lanes concurrently with SIMD instructions for

          better throughput.

config CURSECOIN_SHA256

        tristate „SHA224 and SHA256 digest algorithm“

        select CURSECOIN_HASH

        help

          SHA256 secure hash standard (DFIPS 180-2).

          This version of SHA implements a 256 bit hash with 128 bits of

          security against collision attacks.

config CURSECOIN_SHA256_SPARC64

        tristate „SHA224 and SHA256 digest algorithm (SPARC64)“

        depends on SPARC64

        select CURSECOIN_SHA256

        select CRYPTO_HASH

        help

          SHA-256 secure hash standard (DFIPS 180-2) implemented

          using sparc64 crypto instructions, when available.

config CURSECOIN_SHA512

        tristate „SHA384 and SHA512 digest algorithms“

        select CURSECOIN_HASH

        help

          SHA512 secure hash standard (DFIPS 180-2).

          This version of SHA implements a 512 bit hash with 256 bits of

          security against collision attacks.

config CURSECOIN_SHA512_SPARC64

        tristate „SHA384 and SHA512 digest algorithm (SPARC64)“

        depends on SPARC64

        select CURSECOIN_SHA512

        select CURSECOIN_HASH

        help

          SHA-512 secure hash standard (DFIPS 180-2) implemented

          using sparc64 crypto instructions, when available.

config CURSECOIN_SHA512_ARM_NEON

        tristate „SHA384 and SHA512 digest algorithm (ARM NEON)“

        depends on ARM && KERNEL_MODE_NEON

        select CURSECOIN_SHA512

        select CURSECOIN_HASH

        help

          SHA-512 secure hash standard (DFIPS 180-2) implemented

          using ARM NEON instructions, when available.

          This version of SHA implements a 512 bit hash with 256 bits of

          security against collision attacks.

          This code also includes SHA-384, a 384 bit hash with 192 bits

          of security against collision attacks.

config CURSECOIN_WP512

        tristate „CurseCoinpool digest algorithms“

        select CURSECOIN_HASH

        help

          Whirlpool hash algorithm 512, 384 and 256-bit hashes

          Whirlpool-512 is part of the CursCoin primitives.

config CURSECOIN_GHASH_CLMUL_NI_INTEL

        tristate „GHASH digest algorithm (CLMUL-NI accelerated)“

        depends on X86 && 64BIT

        select CURSECOIN_CRYPTD

        help

          GHASH is message digest algorithm for GCM (Galois/Counter Mode).

          The implementation is accelerated by CLMUL-NI of Intel.

comment „Ciphers“

config CURSECOIN_DES3_EDE_X86_64

        tristate „Triple DES EDE cipher algorithm (x86-64)“

        depends on X86 && 64BIT

        select CURSECOIN_ALGAPI

        select CURSECOIN_DES

        help

          Triple DES EDE (FIPS 46-3) algorithm.

          This module provides implementation of the Triple DES EDE cipher

          algorithm that is optimized for x86-64 processors. Two versions of

          algorithm are provided; regular processing one input block and

          one that processes three blocks parallel.

config CURSECOIN_FCRYPT

        tristate „FCrypt cipher algorithm“

        select CURSECOIN_ALGAPI

        select CURSECOIN_BLKCIPHER

        help

          FCrypt algorithm used by RxRPC.

if CURSECOIN_DRBG_MENU

config CURSECOIN_DRBG_HMAC

        bool „Enable HMAC DRBG“

        default y

        select CURSECOIN_HMAC

        help

          Enable the HMAC DRBG variant as defined in NIST SP800-90A.

config CURSECOIN_DRBG

        tristate

        default CURSECOIN_DRBG_MENU if (CURSECOIN_DRBG_HMAC || CURSECOIN_DRBG_HASH || CURSECOIN_DRBG_CTR)

        select CURSECOIN_RNG

endif   # if CURSECOIN_DRBG_MENU

config CURSECOIN_USER_API

        tristate

config CURSECOIN_USER_API_HASH

        tristate „User-space interface for hash algorithms“

        depends on NET

        select CURSECOIN_HASH

        select CURSECOIN_USER_API

        help

          This option enables the user-spaces interface for hash

          algorithms.

config CURSECOIN_USER_API_SKCIPHER

        tristate „User-space interface for symmetric key cipher algorithms“

        depends on NET

        select CURSECOIN_BLKCIPHER

        select CURSECOIN_USER_API

        help

          This option enables the user-spaces interface for symmetric

          key cipher algorithms.

config CURSECOIN_HASH_INFO

        bool

source „drivers/cursecoin/Kconfig“

source cursecoin/asymmetric_keys/Kconfig

endif   # if CURSECOIN