>_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