Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 1 | |
| 2 | menuconfig ARM64_CRYPTO |
| 3 | bool "ARM64 Accelerated Cryptographic Algorithms" |
| 4 | depends on ARM64 |
| 5 | help |
| 6 | Say Y here to choose from a selection of cryptographic algorithms |
| 7 | implemented using ARM64 specific CPU features or instructions. |
| 8 | |
| 9 | if ARM64_CRYPTO |
| 10 | |
Ard Biesheuvel | 7918ece | 2016-11-20 11:42:01 +0000 | [diff] [blame] | 11 | config CRYPTO_SHA256_ARM64 |
| 12 | tristate "SHA-224/SHA-256 digest algorithm for arm64" |
| 13 | select CRYPTO_HASH |
| 14 | |
| 15 | config CRYPTO_SHA512_ARM64 |
| 16 | tristate "SHA-384/SHA-512 digest algorithm for arm64" |
| 17 | select CRYPTO_HASH |
| 18 | |
Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 19 | config CRYPTO_SHA1_ARM64_CE |
| 20 | tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)" |
Ard Biesheuvel | 0771f32 | 2017-07-24 11:28:08 +0100 | [diff] [blame] | 21 | depends on KERNEL_MODE_NEON |
Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 22 | select CRYPTO_HASH |
Ard Biesheuvel | 0771f32 | 2017-07-24 11:28:08 +0100 | [diff] [blame] | 23 | select CRYPTO_SHA1 |
Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 24 | |
Ard Biesheuvel | 6ba6c74 | 2014-03-20 15:35:40 +0100 | [diff] [blame] | 25 | config CRYPTO_SHA2_ARM64_CE |
| 26 | tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)" |
Ard Biesheuvel | da17933 | 2017-07-24 11:28:09 +0100 | [diff] [blame] | 27 | depends on KERNEL_MODE_NEON |
Ard Biesheuvel | 6ba6c74 | 2014-03-20 15:35:40 +0100 | [diff] [blame] | 28 | select CRYPTO_HASH |
Ard Biesheuvel | da17933 | 2017-07-24 11:28:09 +0100 | [diff] [blame] | 29 | select CRYPTO_SHA256_ARM64 |
Ard Biesheuvel | 6ba6c74 | 2014-03-20 15:35:40 +0100 | [diff] [blame] | 30 | |
Ard Biesheuvel | fdd2389 | 2014-03-26 20:53:05 +0100 | [diff] [blame] | 31 | config CRYPTO_GHASH_ARM64_CE |
Ard Biesheuvel | 537c144 | 2017-07-24 11:28:16 +0100 | [diff] [blame^] | 32 | tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions" |
Ard Biesheuvel | 6d6254d | 2017-07-24 11:28:05 +0100 | [diff] [blame] | 33 | depends on KERNEL_MODE_NEON |
Ard Biesheuvel | fdd2389 | 2014-03-26 20:53:05 +0100 | [diff] [blame] | 34 | select CRYPTO_HASH |
Ard Biesheuvel | 6d6254d | 2017-07-24 11:28:05 +0100 | [diff] [blame] | 35 | select CRYPTO_GF128MUL |
Ard Biesheuvel | 537c144 | 2017-07-24 11:28:16 +0100 | [diff] [blame^] | 36 | select CRYPTO_AES |
| 37 | select CRYPTO_AES_ARM64 |
Ard Biesheuvel | fdd2389 | 2014-03-26 20:53:05 +0100 | [diff] [blame] | 38 | |
Ard Biesheuvel | 6ef5737 | 2016-12-05 18:42:25 +0000 | [diff] [blame] | 39 | config CRYPTO_CRCT10DIF_ARM64_CE |
| 40 | tristate "CRCT10DIF digest algorithm using PMULL instructions" |
| 41 | depends on KERNEL_MODE_NEON && CRC_T10DIF |
| 42 | select CRYPTO_HASH |
| 43 | |
Ard Biesheuvel | 8fefde9 | 2016-12-05 18:42:27 +0000 | [diff] [blame] | 44 | config CRYPTO_CRC32_ARM64_CE |
Ard Biesheuvel | 5d3d9c8 | 2017-02-01 15:35:40 +0000 | [diff] [blame] | 45 | tristate "CRC32 and CRC32C digest algorithms using ARMv8 extensions" |
| 46 | depends on CRC32 |
Ard Biesheuvel | 8fefde9 | 2016-12-05 18:42:27 +0000 | [diff] [blame] | 47 | select CRYPTO_HASH |
| 48 | |
Ard Biesheuvel | bed593c | 2017-01-11 16:41:52 +0000 | [diff] [blame] | 49 | config CRYPTO_AES_ARM64 |
| 50 | tristate "AES core cipher using scalar instructions" |
| 51 | select CRYPTO_AES |
| 52 | |
Ard Biesheuvel | 317f2f7 | 2014-02-05 18:13:38 +0100 | [diff] [blame] | 53 | config CRYPTO_AES_ARM64_CE |
| 54 | tristate "AES core cipher using ARMv8 Crypto Extensions" |
| 55 | depends on ARM64 && KERNEL_MODE_NEON |
| 56 | select CRYPTO_ALGAPI |
Ard Biesheuvel | b8fb993 | 2017-07-24 11:28:11 +0100 | [diff] [blame] | 57 | select CRYPTO_AES_ARM64 |
Ard Biesheuvel | 317f2f7 | 2014-02-05 18:13:38 +0100 | [diff] [blame] | 58 | |
Ard Biesheuvel | a3fd821 | 2014-02-10 11:26:29 +0100 | [diff] [blame] | 59 | config CRYPTO_AES_ARM64_CE_CCM |
| 60 | tristate "AES in CCM mode using ARMv8 Crypto Extensions" |
| 61 | depends on ARM64 && KERNEL_MODE_NEON |
| 62 | select CRYPTO_ALGAPI |
Ard Biesheuvel | 12ac3ef | 2014-11-03 16:50:01 +0000 | [diff] [blame] | 63 | select CRYPTO_AES_ARM64_CE |
Ard Biesheuvel | 5092fcf | 2017-07-24 11:28:12 +0100 | [diff] [blame] | 64 | select CRYPTO_AES_ARM64 |
Ard Biesheuvel | a3fd821 | 2014-02-10 11:26:29 +0100 | [diff] [blame] | 65 | select CRYPTO_AEAD |
| 66 | |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 67 | config CRYPTO_AES_ARM64_CE_BLK |
| 68 | tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions" |
Ard Biesheuvel | e211506 | 2017-07-24 11:28:13 +0100 | [diff] [blame] | 69 | depends on KERNEL_MODE_NEON |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 70 | select CRYPTO_BLKCIPHER |
Ard Biesheuvel | 12ac3ef | 2014-11-03 16:50:01 +0000 | [diff] [blame] | 71 | select CRYPTO_AES_ARM64_CE |
Ard Biesheuvel | e211506 | 2017-07-24 11:28:13 +0100 | [diff] [blame] | 72 | select CRYPTO_AES_ARM64 |
Herbert Xu | 585b5fa | 2016-11-29 15:08:40 +0800 | [diff] [blame] | 73 | select CRYPTO_SIMD |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 74 | |
| 75 | config CRYPTO_AES_ARM64_NEON_BLK |
| 76 | tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions" |
Ard Biesheuvel | e211506 | 2017-07-24 11:28:13 +0100 | [diff] [blame] | 77 | depends on KERNEL_MODE_NEON |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 78 | select CRYPTO_BLKCIPHER |
Ard Biesheuvel | e211506 | 2017-07-24 11:28:13 +0100 | [diff] [blame] | 79 | select CRYPTO_AES_ARM64 |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 80 | select CRYPTO_AES |
Herbert Xu | 585b5fa | 2016-11-29 15:08:40 +0800 | [diff] [blame] | 81 | select CRYPTO_SIMD |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 82 | |
Ard Biesheuvel | b7171ce | 2017-01-11 16:41:49 +0000 | [diff] [blame] | 83 | config CRYPTO_CHACHA20_NEON |
| 84 | tristate "NEON accelerated ChaCha20 symmetric cipher" |
| 85 | depends on KERNEL_MODE_NEON |
| 86 | select CRYPTO_BLKCIPHER |
| 87 | select CRYPTO_CHACHA20 |
| 88 | |
Ard Biesheuvel | 1abee99 | 2017-01-11 16:41:55 +0000 | [diff] [blame] | 89 | config CRYPTO_AES_ARM64_BS |
| 90 | tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm" |
| 91 | depends on KERNEL_MODE_NEON |
| 92 | select CRYPTO_BLKCIPHER |
Ard Biesheuvel | 12fcd92 | 2017-01-28 23:25:39 +0000 | [diff] [blame] | 93 | select CRYPTO_AES_ARM64_NEON_BLK |
Ard Biesheuvel | ec808bb | 2017-07-24 11:28:15 +0100 | [diff] [blame] | 94 | select CRYPTO_AES_ARM64 |
Ard Biesheuvel | 1abee99 | 2017-01-11 16:41:55 +0000 | [diff] [blame] | 95 | select CRYPTO_SIMD |
| 96 | |
Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 97 | endif |