1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 22c98833aSArd Biesheuvel 34a329fecSRobert Elliottmenu "Accelerated Cryptographic Algorithms for CPU (arm64)" 42c98833aSArd Biesheuvel 59e5647ebSRobert Elliottconfig CRYPTO_GHASH_ARM64_CE 63f342a23SRobert Elliott tristate "Hash functions: GHASH (ARMv8 Crypto Extensions)" 79e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 87918ecefSArd Biesheuvel select CRYPTO_HASH 99e5647ebSRobert Elliott select CRYPTO_LIB_AES 1061c581a4SArd Biesheuvel select CRYPTO_LIB_GF128MUL 119e5647ebSRobert Elliott select CRYPTO_AEAD 123f342a23SRobert Elliott help 133f342a23SRobert Elliott GCM GHASH function (NIST SP800-38D) 143f342a23SRobert Elliott 153f342a23SRobert Elliott Architecture: arm64 using: 163f342a23SRobert Elliott - ARMv8 Crypto Extensions 177918ecefSArd Biesheuvel 189e5647ebSRobert Elliottconfig CRYPTO_NHPOLY1305_NEON 193f342a23SRobert Elliott tristate "Hash functions: NHPoly1305 (NEON)" 209e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 219e5647ebSRobert Elliott select CRYPTO_NHPOLY1305 223f342a23SRobert Elliott help 233f342a23SRobert Elliott NHPoly1305 hash function (Adiantum) 243f342a23SRobert Elliott 253f342a23SRobert Elliott Architecture: arm64 using: 263f342a23SRobert Elliott - NEON (Advanced SIMD) extensions 279e5647ebSRobert Elliott 2815d5910eSArd Biesheuvelconfig CRYPTO_SHA3_ARM64 293f342a23SRobert Elliott tristate "Hash functions: SHA-3 (ARMv8.2 Crypto Extensions)" 3015d5910eSArd Biesheuvel depends on KERNEL_MODE_NEON 3115d5910eSArd Biesheuvel select CRYPTO_HASH 3215d5910eSArd Biesheuvel select CRYPTO_SHA3 333f342a23SRobert Elliott help 343f342a23SRobert Elliott SHA-3 secure hash algorithms (FIPS 202) 353f342a23SRobert Elliott 363f342a23SRobert Elliott Architecture: arm64 using: 373f342a23SRobert Elliott - ARMv8.2 Crypto Extensions 3815d5910eSArd Biesheuvel 39a41b2129STianjia Zhangconfig CRYPTO_SM3_NEON 40a41b2129STianjia Zhang tristate "Hash functions: SM3 (NEON)" 41a41b2129STianjia Zhang depends on KERNEL_MODE_NEON 42a41b2129STianjia Zhang select CRYPTO_HASH 43f4065b2fSHerbert Xu select CRYPTO_LIB_SM3 44a41b2129STianjia Zhang help 45a41b2129STianjia Zhang SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012) 46a41b2129STianjia Zhang 47a41b2129STianjia Zhang Architecture: arm64 using: 48a41b2129STianjia Zhang - NEON (Advanced SIMD) extensions 49a41b2129STianjia Zhang 50140aa50dSArd Biesheuvelconfig CRYPTO_SM3_ARM64_CE 513f342a23SRobert Elliott tristate "Hash functions: SM3 (ARMv8.2 Crypto Extensions)" 52140aa50dSArd Biesheuvel depends on KERNEL_MODE_NEON 53140aa50dSArd Biesheuvel select CRYPTO_HASH 54f4065b2fSHerbert Xu select CRYPTO_LIB_SM3 553f342a23SRobert Elliott help 563f342a23SRobert Elliott SM3 (ShangMi 3) secure hash function (OSCCA GM/T 0004-2012) 573f342a23SRobert Elliott 583f342a23SRobert Elliott Architecture: arm64 using: 593f342a23SRobert Elliott - ARMv8.2 Crypto Extensions 60140aa50dSArd Biesheuvel 619d2c0b48SNathan Huckleberryconfig CRYPTO_POLYVAL_ARM64_CE 623f342a23SRobert Elliott tristate "Hash functions: POLYVAL (ARMv8 Crypto Extensions)" 639d2c0b48SNathan Huckleberry depends on KERNEL_MODE_NEON 649d2c0b48SNathan Huckleberry select CRYPTO_POLYVAL 653f342a23SRobert Elliott help 663f342a23SRobert Elliott POLYVAL hash function for HCTR2 673f342a23SRobert Elliott 683f342a23SRobert Elliott Architecture: arm64 using: 693f342a23SRobert Elliott - ARMv8 Crypto Extensions 709d2c0b48SNathan Huckleberry 71bed593c0SArd Biesheuvelconfig CRYPTO_AES_ARM64 72cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB, CBC, CTR, CTS, XCTR, XTS" 73bed593c0SArd Biesheuvel select CRYPTO_AES 74cf514b2aSRobert Elliott help 75cf514b2aSRobert Elliott Block ciphers: AES cipher algorithms (FIPS-197) 76cf514b2aSRobert Elliott Length-preserving ciphers: AES with ECB, CBC, CTR, CTS, 77cf514b2aSRobert Elliott XCTR, and XTS modes 78cf514b2aSRobert Elliott AEAD cipher: AES with CBC, ESSIV, and SHA-256 79cf514b2aSRobert Elliott for fscrypt and dm-crypt 80cf514b2aSRobert Elliott 81cf514b2aSRobert Elliott Architecture: arm64 82bed593c0SArd Biesheuvel 83317f2f75SArd Biesheuvelconfig CRYPTO_AES_ARM64_CE 84cf514b2aSRobert Elliott tristate "Ciphers: AES (ARMv8 Crypto Extensions)" 85*e2df5fb7SEric Biggers depends on KERNEL_MODE_NEON 86317f2f75SArd Biesheuvel select CRYPTO_ALGAPI 874d3f9d89SArd Biesheuvel select CRYPTO_LIB_AES 88cf514b2aSRobert Elliott help 89cf514b2aSRobert Elliott Block ciphers: AES cipher algorithms (FIPS-197) 90cf514b2aSRobert Elliott 91cf514b2aSRobert Elliott Architecture: arm64 using: 92cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 93317f2f75SArd Biesheuvel 9449788fe2SArd Biesheuvelconfig CRYPTO_AES_ARM64_CE_BLK 95cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 96e2115069SArd Biesheuvel depends on KERNEL_MODE_NEON 97b95bba5dSEric Biggers select CRYPTO_SKCIPHER 9812ac3efeSArd Biesheuvel select CRYPTO_AES_ARM64_CE 99cf514b2aSRobert Elliott help 100cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 101cf514b2aSRobert Elliott with block cipher modes: 102cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 103cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 104cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 105cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 106cf514b2aSRobert Elliott and IEEE 1619) 107cf514b2aSRobert Elliott 108cf514b2aSRobert Elliott Architecture: arm64 using: 109cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 11049788fe2SArd Biesheuvel 11149788fe2SArd Biesheuvelconfig CRYPTO_AES_ARM64_NEON_BLK 112cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XTS (NEON)" 113e2115069SArd Biesheuvel depends on KERNEL_MODE_NEON 114b95bba5dSEric Biggers select CRYPTO_SKCIPHER 115c1844729SArd Biesheuvel select CRYPTO_LIB_AES 116cf514b2aSRobert Elliott help 117cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 118cf514b2aSRobert Elliott with block cipher modes: 119cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 120cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 121cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 122cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 123cf514b2aSRobert Elliott and IEEE 1619) 124cf514b2aSRobert Elliott 125cf514b2aSRobert Elliott Architecture: arm64 using: 126cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 12749788fe2SArd Biesheuvel 1281abee99eSArd Biesheuvelconfig CRYPTO_AES_ARM64_BS 129cf514b2aSRobert Elliott tristate "Ciphers: AES, modes: ECB/CBC/CTR/XCTR/XTS modes (bit-sliced NEON)" 1301abee99eSArd Biesheuvel depends on KERNEL_MODE_NEON 131b95bba5dSEric Biggers select CRYPTO_SKCIPHER 13212fcd923SArd Biesheuvel select CRYPTO_AES_ARM64_NEON_BLK 133f68df543SArd Biesheuvel select CRYPTO_LIB_AES 134cf514b2aSRobert Elliott help 135cf514b2aSRobert Elliott Length-preserving ciphers: AES cipher algorithms (FIPS-197) 136cf514b2aSRobert Elliott with block cipher modes: 137cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 138cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 139cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 140cf514b2aSRobert Elliott - XCTR mode for HCTR2 141cf514b2aSRobert Elliott - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 142cf514b2aSRobert Elliott and IEEE 1619) 143cf514b2aSRobert Elliott 144cf514b2aSRobert Elliott Architecture: arm64 using: 145cf514b2aSRobert Elliott - bit-sliced algorithm 146cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1471abee99eSArd Biesheuvel 1489e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_CE 149cf514b2aSRobert Elliott tristate "Ciphers: SM4 (ARMv8.2 Crypto Extensions)" 1509e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 1519e5647ebSRobert Elliott select CRYPTO_ALGAPI 1529e5647ebSRobert Elliott select CRYPTO_SM4 153cf514b2aSRobert Elliott help 154cf514b2aSRobert Elliott Block ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 155cf514b2aSRobert Elliott 156cf514b2aSRobert Elliott Architecture: arm64 using: 157cf514b2aSRobert Elliott - ARMv8.2 Crypto Extensions 158cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1599e5647ebSRobert Elliott 1609e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_CE_BLK 16129fa12e9SHerbert Xu tristate "Ciphers: SM4, modes: ECB/CBC/CTR/XTS (ARMv8 Crypto Extensions)" 1629e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 1639e5647ebSRobert Elliott select CRYPTO_SKCIPHER 1649e5647ebSRobert Elliott select CRYPTO_SM4 165cf514b2aSRobert Elliott help 166cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 167cf514b2aSRobert Elliott with block cipher modes: 168cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 169cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 170cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 17101f63311STianjia Zhang - XTS (XOR Encrypt XOR with ciphertext stealing) mode (NIST SP800-38E 17201f63311STianjia Zhang and IEEE 1619) 173cf514b2aSRobert Elliott 174cf514b2aSRobert Elliott Architecture: arm64 using: 175cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 176cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1779e5647ebSRobert Elliott 1789e5647ebSRobert Elliottconfig CRYPTO_SM4_ARM64_NEON_BLK 17929fa12e9SHerbert Xu tristate "Ciphers: SM4, modes: ECB/CBC/CTR (NEON)" 1809e5647ebSRobert Elliott depends on KERNEL_MODE_NEON 1819e5647ebSRobert Elliott select CRYPTO_SKCIPHER 1829e5647ebSRobert Elliott select CRYPTO_SM4 183cf514b2aSRobert Elliott help 184cf514b2aSRobert Elliott Length-preserving ciphers: SM4 cipher algorithms (OSCCA GB/T 32907-2016) 185cf514b2aSRobert Elliott with block cipher modes: 186cf514b2aSRobert Elliott - ECB (Electronic Codebook) mode (NIST SP800-38A) 187cf514b2aSRobert Elliott - CBC (Cipher Block Chaining) mode (NIST SP800-38A) 188cf514b2aSRobert Elliott - CTR (Counter) mode (NIST SP800-38A) 189cf514b2aSRobert Elliott 190cf514b2aSRobert Elliott Architecture: arm64 using: 191cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 1929e5647ebSRobert Elliott 1939e5647ebSRobert Elliottconfig CRYPTO_AES_ARM64_CE_CCM 194cf514b2aSRobert Elliott tristate "AEAD cipher: AES in CCM mode (ARMv8 Crypto Extensions)" 195*e2df5fb7SEric Biggers depends on KERNEL_MODE_NEON 1969e5647ebSRobert Elliott select CRYPTO_ALGAPI 1979e5647ebSRobert Elliott select CRYPTO_AES_ARM64_CE 198948ffc66SArd Biesheuvel select CRYPTO_AES_ARM64_CE_BLK 1999e5647ebSRobert Elliott select CRYPTO_AEAD 2009e5647ebSRobert Elliott select CRYPTO_LIB_AES 201cf514b2aSRobert Elliott help 202cf514b2aSRobert Elliott AEAD cipher: AES cipher algorithms (FIPS-197) with 203cf514b2aSRobert Elliott CCM (Counter with Cipher Block Chaining-Message Authentication Code) 204cf514b2aSRobert Elliott authenticated encryption mode (NIST SP800-38C) 205cf514b2aSRobert Elliott 206cf514b2aSRobert Elliott Architecture: arm64 using: 207cf514b2aSRobert Elliott - ARMv8 Crypto Extensions 208cf514b2aSRobert Elliott - NEON (Advanced SIMD) extensions 2099e5647ebSRobert Elliott 21067fa3a7fSTianjia Zhangconfig CRYPTO_SM4_ARM64_CE_CCM 21167fa3a7fSTianjia Zhang tristate "AEAD cipher: SM4 in CCM mode (ARMv8 Crypto Extensions)" 21267fa3a7fSTianjia Zhang depends on KERNEL_MODE_NEON 21367fa3a7fSTianjia Zhang select CRYPTO_ALGAPI 21467fa3a7fSTianjia Zhang select CRYPTO_AEAD 21567fa3a7fSTianjia Zhang select CRYPTO_SM4 21667fa3a7fSTianjia Zhang select CRYPTO_SM4_ARM64_CE_BLK 21767fa3a7fSTianjia Zhang help 21867fa3a7fSTianjia Zhang AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 21967fa3a7fSTianjia Zhang CCM (Counter with Cipher Block Chaining-Message Authentication Code) 22067fa3a7fSTianjia Zhang authenticated encryption mode (NIST SP800-38C) 22167fa3a7fSTianjia Zhang 22267fa3a7fSTianjia Zhang Architecture: arm64 using: 22367fa3a7fSTianjia Zhang - ARMv8 Crypto Extensions 22467fa3a7fSTianjia Zhang - NEON (Advanced SIMD) extensions 22567fa3a7fSTianjia Zhang 226ae1b83c7STianjia Zhangconfig CRYPTO_SM4_ARM64_CE_GCM 227ae1b83c7STianjia Zhang tristate "AEAD cipher: SM4 in GCM mode (ARMv8 Crypto Extensions)" 228ae1b83c7STianjia Zhang depends on KERNEL_MODE_NEON 229ae1b83c7STianjia Zhang select CRYPTO_ALGAPI 230ae1b83c7STianjia Zhang select CRYPTO_AEAD 231ae1b83c7STianjia Zhang select CRYPTO_SM4 232ae1b83c7STianjia Zhang select CRYPTO_SM4_ARM64_CE_BLK 233ae1b83c7STianjia Zhang help 234ae1b83c7STianjia Zhang AEAD cipher: SM4 cipher algorithms (OSCCA GB/T 32907-2016) with 235ae1b83c7STianjia Zhang GCM (Galois/Counter Mode) authenticated encryption mode (NIST SP800-38D) 236ae1b83c7STianjia Zhang 237ae1b83c7STianjia Zhang Architecture: arm64 using: 238ae1b83c7STianjia Zhang - ARMv8 Crypto Extensions 239ae1b83c7STianjia Zhang - PMULL (Polynomial Multiply Long) instructions 240ae1b83c7STianjia Zhang - NEON (Advanced SIMD) extensions 241ae1b83c7STianjia Zhang 2424a329fecSRobert Elliottendmenu 2439e5647ebSRobert Elliott 244