summaryrefslogtreecommitdiffstats
path: root/arch/arm/crypto/Kconfig
blob: d7bc10beb8acc2eeff5726f09a1f920fce44b6bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
menuconfig ARM_CRYPTO
	bool "ARM Accelerated Cryptographic Algorithms"
	depends on ARM
	help
	  Say Y here to choose from a selection of cryptographic algorithms
	  implemented using ARM specific CPU features or instructions.

if ARM_CRYPTO

config CRYPTO_SHA1_ARM
	tristate "SHA1 digest algorithm (ARM-asm)"
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using optimized ARM assembler.

config CRYPTO_SHA1_ARM_NEON
	tristate "SHA1 digest algorithm (ARM NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA1_ARM
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using optimized ARM NEON assembly, when NEON instructions are
	  available.

config CRYPTO_SHA1_ARM_CE
	tristate "SHA1 digest algorithm (ARM v8 Crypto Extensions)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA1_ARM
	select CRYPTO_SHA1
	select CRYPTO_HASH
	help
	  SHA-1 secure hash standard (FIPS 180-1/DFIPS 180-2) implemented
	  using special ARMv8 Crypto Extensions.

config CRYPTO_SHA512_ARM_NEON
	tristate "SHA384 and SHA512 digest algorithm (ARM NEON)"
	depends on KERNEL_MODE_NEON
	select CRYPTO_SHA512
	select CRYPTO_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 CRYPTO_AES_ARM
	tristate "AES cipher algorithms (ARM-asm)"
	depends on ARM
	select CRYPTO_ALGAPI
	select CRYPTO_AES
	help
	  Use optimized AES assembler routines for ARM platforms.

	  AES cipher algorithms (FIPS-197). AES uses the Rijndael
	  algorithm.

	  Rijndael appears to be consistently a very good performer in
	  both hardware and software across a wide range of computing
	  environments regardless of its use in feedback or non-feedback
	  modes. Its key setup time is excellent, and its key agility is
	  good. Rijndael's very low memory requirements make it very well
	  suited for restricted-space environments, in which it also
	  demonstrates excellent performance. Rijndael's operations are
	  among the easiest to defend against power and timing attacks.

	  The AES specifies three key sizes: 128, 192 and 256 bits

	  See <http://csrc.nist.gov/encryption/aes/> for more information.

config CRYPTO_AES_ARM_BS
	tristate "Bit sliced AES using NEON instructions"
	depends on KERNEL_MODE_NEON
	select CRYPTO_ALGAPI
	select CRYPTO_AES_ARM
	select CRYPTO_ABLK_HELPER
	help
	  Use a faster and more secure NEON based implementation of AES in CBC,
	  CTR and XTS modes

	  Bit sliced AES gives around 45% speedup on Cortex-A15 for CTR mode
	  and for XTS mode encryption, CBC and XTS mode decryption speedup is
	  around 25%. (CBC encryption speed is not affected by this driver.)
	  This implementation does not rely on any lookup tables so it is
	  believed to be invulnerable to cache timing attacks.

endif