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)" |
| 21 | depends on ARM64 && KERNEL_MODE_NEON |
| 22 | select CRYPTO_HASH |
| 23 | |
Ard Biesheuvel | 6ba6c74 | 2014-03-20 15:35:40 +0100 | [diff] [blame] | 24 | config CRYPTO_SHA2_ARM64_CE |
| 25 | tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)" |
| 26 | depends on ARM64 && KERNEL_MODE_NEON |
| 27 | select CRYPTO_HASH |
| 28 | |
Ard Biesheuvel | fdd2389 | 2014-03-26 20:53:05 +0100 | [diff] [blame] | 29 | config CRYPTO_GHASH_ARM64_CE |
| 30 | tristate "GHASH (for GCM chaining mode) using ARMv8 Crypto Extensions" |
| 31 | depends on ARM64 && KERNEL_MODE_NEON |
| 32 | select CRYPTO_HASH |
| 33 | |
Ard Biesheuvel | 6ef5737 | 2016-12-05 18:42:25 +0000 | [diff] [blame] | 34 | config CRYPTO_CRCT10DIF_ARM64_CE |
| 35 | tristate "CRCT10DIF digest algorithm using PMULL instructions" |
| 36 | depends on KERNEL_MODE_NEON && CRC_T10DIF |
| 37 | select CRYPTO_HASH |
| 38 | |
Ard Biesheuvel | 8fefde9 | 2016-12-05 18:42:27 +0000 | [diff] [blame] | 39 | config CRYPTO_CRC32_ARM64_CE |
| 40 | tristate "CRC32 and CRC32C digest algorithms using PMULL instructions" |
| 41 | depends on KERNEL_MODE_NEON && CRC32 |
| 42 | select CRYPTO_HASH |
| 43 | |
Ard Biesheuvel | bed593c | 2017-01-11 16:41:52 +0000 | [diff] [blame] | 44 | config CRYPTO_AES_ARM64 |
| 45 | tristate "AES core cipher using scalar instructions" |
| 46 | select CRYPTO_AES |
| 47 | |
Ard Biesheuvel | 317f2f7 | 2014-02-05 18:13:38 +0100 | [diff] [blame] | 48 | config CRYPTO_AES_ARM64_CE |
| 49 | tristate "AES core cipher using ARMv8 Crypto Extensions" |
| 50 | depends on ARM64 && KERNEL_MODE_NEON |
| 51 | select CRYPTO_ALGAPI |
Ard Biesheuvel | 317f2f7 | 2014-02-05 18:13:38 +0100 | [diff] [blame] | 52 | |
Ard Biesheuvel | a3fd821 | 2014-02-10 11:26:29 +0100 | [diff] [blame] | 53 | config CRYPTO_AES_ARM64_CE_CCM |
| 54 | tristate "AES in CCM mode using ARMv8 Crypto Extensions" |
| 55 | depends on ARM64 && KERNEL_MODE_NEON |
| 56 | select CRYPTO_ALGAPI |
Ard Biesheuvel | 12ac3ef | 2014-11-03 16:50:01 +0000 | [diff] [blame] | 57 | select CRYPTO_AES_ARM64_CE |
Ard Biesheuvel | a3fd821 | 2014-02-10 11:26:29 +0100 | [diff] [blame] | 58 | select CRYPTO_AEAD |
| 59 | |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 60 | config CRYPTO_AES_ARM64_CE_BLK |
| 61 | tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions" |
| 62 | depends on ARM64 && KERNEL_MODE_NEON |
| 63 | select CRYPTO_BLKCIPHER |
Ard Biesheuvel | 12ac3ef | 2014-11-03 16:50:01 +0000 | [diff] [blame] | 64 | select CRYPTO_AES_ARM64_CE |
Herbert Xu | 585b5fa | 2016-11-29 15:08:40 +0800 | [diff] [blame] | 65 | select CRYPTO_SIMD |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 66 | |
| 67 | config CRYPTO_AES_ARM64_NEON_BLK |
| 68 | tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions" |
| 69 | depends on ARM64 && KERNEL_MODE_NEON |
| 70 | select CRYPTO_BLKCIPHER |
| 71 | select CRYPTO_AES |
Herbert Xu | 585b5fa | 2016-11-29 15:08:40 +0800 | [diff] [blame] | 72 | select CRYPTO_SIMD |
Ard Biesheuvel | 49788fe | 2014-03-21 10:19:17 +0100 | [diff] [blame] | 73 | |
Yazen Ghannam | f6f203f | 2014-11-19 11:19:37 -0600 | [diff] [blame] | 74 | config CRYPTO_CRC32_ARM64 |
| 75 | tristate "CRC32 and CRC32C using optional ARMv8 instructions" |
| 76 | depends on ARM64 |
| 77 | select CRYPTO_HASH |
Ard Biesheuvel | 8fefde9 | 2016-12-05 18:42:27 +0000 | [diff] [blame] | 78 | |
Ard Biesheuvel | b7171ce | 2017-01-11 16:41:49 +0000 | [diff] [blame] | 79 | config CRYPTO_CHACHA20_NEON |
| 80 | tristate "NEON accelerated ChaCha20 symmetric cipher" |
| 81 | depends on KERNEL_MODE_NEON |
| 82 | select CRYPTO_BLKCIPHER |
| 83 | select CRYPTO_CHACHA20 |
| 84 | |
Ard Biesheuvel | 1abee99 | 2017-01-11 16:41:55 +0000 | [diff] [blame] | 85 | config CRYPTO_AES_ARM64_BS |
| 86 | tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm" |
| 87 | depends on KERNEL_MODE_NEON |
| 88 | select CRYPTO_BLKCIPHER |
Ard Biesheuvel | 12fcd92 | 2017-01-28 23:25:39 +0000 | [diff] [blame^] | 89 | select CRYPTO_AES_ARM64_NEON_BLK |
Ard Biesheuvel | 1abee99 | 2017-01-11 16:41:55 +0000 | [diff] [blame] | 90 | select CRYPTO_SIMD |
| 91 | |
Ard Biesheuvel | 2c98833 | 2014-03-06 16:23:33 +0800 | [diff] [blame] | 92 | endif |