rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 1 | # SPDX-License-Identifier: GPL-2.0 |
| 2 | |
| 3 | menuconfig ARM64_CRYPTO |
| 4 | bool "ARM64 Accelerated Cryptographic Algorithms" |
| 5 | depends on ARM64 |
| 6 | help |
| 7 | Say Y here to choose from a selection of cryptographic algorithms |
| 8 | implemented using ARM64 specific CPU features or instructions. |
| 9 | |
| 10 | if ARM64_CRYPTO |
| 11 | |
| 12 | config CRYPTO_SHA256_ARM64 |
| 13 | tristate "SHA-224/SHA-256 digest algorithm for arm64" |
| 14 | select CRYPTO_HASH |
| 15 | |
| 16 | config CRYPTO_SHA512_ARM64 |
| 17 | tristate "SHA-384/SHA-512 digest algorithm for arm64" |
| 18 | select CRYPTO_HASH |
| 19 | |
| 20 | config CRYPTO_SHA1_ARM64_CE |
| 21 | tristate "SHA-1 digest algorithm (ARMv8 Crypto Extensions)" |
| 22 | depends on KERNEL_MODE_NEON |
| 23 | select CRYPTO_HASH |
| 24 | select CRYPTO_SHA1 |
| 25 | |
| 26 | config CRYPTO_SHA2_ARM64_CE |
| 27 | tristate "SHA-224/SHA-256 digest algorithm (ARMv8 Crypto Extensions)" |
| 28 | depends on KERNEL_MODE_NEON |
| 29 | select CRYPTO_HASH |
| 30 | select CRYPTO_SHA256_ARM64 |
| 31 | |
| 32 | config CRYPTO_GHASH_ARM64_CE |
| 33 | tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions" |
| 34 | depends on KERNEL_MODE_NEON |
| 35 | select CRYPTO_HASH |
| 36 | select CRYPTO_GF128MUL |
| 37 | select CRYPTO_AES |
| 38 | select CRYPTO_AES_ARM64 |
| 39 | |
| 40 | config CRYPTO_CRCT10DIF_ARM64_CE |
| 41 | tristate "CRCT10DIF digest algorithm using PMULL instructions" |
| 42 | depends on KERNEL_MODE_NEON && CRC_T10DIF |
| 43 | select CRYPTO_HASH |
| 44 | |
| 45 | config CRYPTO_CRC32_ARM64_CE |
| 46 | tristate "CRC32 and CRC32C digest algorithms using ARMv8 extensions" |
| 47 | depends on CRC32 |
| 48 | select CRYPTO_HASH |
| 49 | |
| 50 | config CRYPTO_AES_ARM64 |
| 51 | tristate "AES core cipher using scalar instructions" |
| 52 | select CRYPTO_AES |
| 53 | |
| 54 | config CRYPTO_AES_ARM64_CE |
| 55 | tristate "AES core cipher using ARMv8 Crypto Extensions" |
| 56 | depends on ARM64 && KERNEL_MODE_NEON |
| 57 | select CRYPTO_ALGAPI |
| 58 | select CRYPTO_AES_ARM64 |
| 59 | |
| 60 | config CRYPTO_AES_ARM64_CE_CCM |
| 61 | tristate "AES in CCM mode using ARMv8 Crypto Extensions" |
| 62 | depends on ARM64 && KERNEL_MODE_NEON |
| 63 | select CRYPTO_ALGAPI |
| 64 | select CRYPTO_AES_ARM64_CE |
| 65 | select CRYPTO_AES_ARM64 |
| 66 | select CRYPTO_AEAD |
| 67 | |
| 68 | config CRYPTO_AES_ARM64_CE_BLK |
| 69 | tristate "AES in ECB/CBC/CTR/XTS modes using ARMv8 Crypto Extensions" |
| 70 | depends on KERNEL_MODE_NEON |
| 71 | select CRYPTO_BLKCIPHER |
| 72 | select CRYPTO_AES_ARM64_CE |
| 73 | select CRYPTO_AES_ARM64 |
| 74 | select CRYPTO_SIMD |
| 75 | |
| 76 | config CRYPTO_AES_ARM64_NEON_BLK |
| 77 | tristate "AES in ECB/CBC/CTR/XTS modes using NEON instructions" |
| 78 | depends on KERNEL_MODE_NEON |
| 79 | select CRYPTO_BLKCIPHER |
| 80 | select CRYPTO_AES_ARM64 |
| 81 | select CRYPTO_AES |
| 82 | select CRYPTO_SIMD |
| 83 | |
| 84 | config CRYPTO_CHACHA20_NEON |
| 85 | tristate "NEON accelerated ChaCha20 symmetric cipher" |
| 86 | depends on KERNEL_MODE_NEON |
| 87 | select CRYPTO_BLKCIPHER |
| 88 | select CRYPTO_CHACHA20 |
| 89 | |
| 90 | config CRYPTO_AES_ARM64_BS |
| 91 | tristate "AES in ECB/CBC/CTR/XTS modes using bit-sliced NEON algorithm" |
| 92 | depends on KERNEL_MODE_NEON |
| 93 | select CRYPTO_BLKCIPHER |
| 94 | select CRYPTO_AES_ARM64_NEON_BLK |
| 95 | select CRYPTO_AES_ARM64 |
| 96 | select CRYPTO_SIMD |
| 97 | |
| 98 | config CRYPTO_SPECK_NEON |
| 99 | tristate "NEON accelerated Speck cipher algorithms" |
| 100 | depends on KERNEL_MODE_NEON |
| 101 | select CRYPTO_BLKCIPHER |
| 102 | select CRYPTO_SPECK |
| 103 | |
| 104 | endif |