From 4c9a64da22a10e84efd2aa1da9f2f76d97c0ae79 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 21 Mar 2021 13:48:21 +0100 Subject: sys/linux: update crypto algorithms list Add some arm/arm64 algs + some missing x86 algs. --- sys/linux/init_alg.go | 79 ++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 63 insertions(+), 16 deletions(-) (limited to 'sys/linux/init_alg.go') diff --git a/sys/linux/init_alg.go b/sys/linux/init_alg.go index dc2906ef7..d0f0c4528 100644 --- a/sys/linux/init_alg.go +++ b/sys/linux/init_alg.go @@ -122,6 +122,10 @@ var allTypes = []algType{ {"rng", ALG_RNG}, } +// Algorithms can be extracted with something along the following lines: +// cat /proc/crypto | grep -B 8 ": skcipher" | grep -B 7 "internal : no" | egrep "name |driver " | \ +// cut -b 16- | sort | uniq | awk '{printf("{\"%s\", nil},\n", $1)}' +// Note: the kernel needs to include all crypto configs and CPU needs to support AVX/NEON/etc. var allAlgs = map[int][]algDesc{ ALG_AEAD: { // templates: @@ -190,26 +194,28 @@ var allAlgs = map[int][]algDesc{ // algorithms: {"cbc(aes)", nil}, {"cbc(aes-aesni)", nil}, - {"cbc(blowfish)", nil}, - {"cbc(camellia)", nil}, - {"cbc(cast5)", nil}, - {"cbc(cast6)", nil}, - {"cbc(des3_ede)", nil}, - {"cbc(serpent)", nil}, - {"cbc(twofish)", nil}, {"cbc-aes-aesni", nil}, + {"cbc(aes-arm)", nil}, + {"cbc(aes-ce)", nil}, {"cbc-aes-ce", nil}, - {"cbc-aes-neon", nil}, + {"cbc-aes-neonbs", nil}, + {"cbc(blowfish)", nil}, {"cbc-blowfish-asm", nil}, + {"cbc(camellia)", nil}, {"cbc-camellia-aesni", nil}, {"cbc-camellia-aesni-avx2", nil}, {"cbc-camellia-asm", nil}, + {"cbc(cast5)", nil}, {"cbc-cast5-avx", nil}, + {"cbc(cast6)", nil}, {"cbc-cast6-avx", nil}, + {"cbc(des3_ede)", nil}, {"cbc-des3_ede-asm", nil}, + {"cbc(serpent)", nil}, {"cbc-serpent-avx", nil}, {"cbc-serpent-avx2", nil}, {"cbc-serpent-sse2", nil}, + {"cbc(twofish)", nil}, {"cbc-twofish-3way", nil}, {"cbc-twofish-avx", nil}, {"chacha20", nil}, @@ -230,6 +236,7 @@ var allAlgs = map[int][]algDesc{ {"ctr-aes-ce", nil}, {"ctr-aes-neon", nil}, {"ctr-aes-neonbs", nil}, + {"ctr-aes-neonbs-sync", nil}, {"ctr-blowfish-asm", nil}, {"ctr-camellia-aesni", nil}, {"ctr-camellia-aesni-avx2", nil}, @@ -242,7 +249,14 @@ var allAlgs = map[int][]algDesc{ {"ctr-serpent-sse2", nil}, {"ctr-twofish-3way", nil}, {"ctr-twofish-avx", nil}, + {"cts(cbc(aes))", nil}, + {"cts-cbc-aes-aesni", nil}, + {"cts-cbc-aes-ce", nil}, + {"cts-cbc-aes-neon", nil}, {"ecb(aes)", nil}, + {"ecb-aes-aesni", nil}, + {"ecb-aes-ce", nil}, + {"ecb-aes-neonbs", nil}, {"ecb(arc4)", nil}, {"ecb(arc4)-generic", nil}, {"ecb(blowfish)", nil}, @@ -253,8 +267,6 @@ var allAlgs = map[int][]algDesc{ {"ecb(des3_ede)", nil}, {"ecb(serpent)", nil}, {"ecb(twofish)", nil}, - {"ecb-aes-aesni", nil}, - {"ecb-aes-ce", nil}, {"ecb-aes-neon", nil}, {"ecb-blowfish-asm", nil}, {"ecb-camellia-aesni", nil}, @@ -290,6 +302,11 @@ var allAlgs = map[int][]algDesc{ {"salsa20", nil}, {"salsa20-asm", nil}, {"salsa20-generic", nil}, + {"essiv(cbc(aes),sha256)", nil}, + {"essiv-cbc-aes-sha256-ce", nil}, + {"essiv-cbc-aes-sha256-neon", nil}, + {"pcbc(fcrypt)", nil}, + {"pcbc(fcrypt-generic)", nil}, {"xchacha12", nil}, {"xchacha12-arm", nil}, {"xchacha12-generic", nil}, @@ -307,6 +324,7 @@ var allAlgs = map[int][]algDesc{ {"xts(twofish)", nil}, {"xts-aes-aesni", nil}, {"xts-aes-ce", nil}, + {"xts-aes-neonbs", nil}, {"xts-aes-neon", nil}, {"xts-camellia-aesni", nil}, {"xts-camellia-aesni-avx2", nil}, @@ -321,6 +339,7 @@ var allAlgs = map[int][]algDesc{ ALG_CIPHER: { {"aes", nil}, {"aes-aesni", nil}, + {"aes-arm", nil}, {"aes-arm64", nil}, {"aes-asm", nil}, {"aes-ce", nil}, @@ -342,11 +361,12 @@ var allAlgs = map[int][]algDesc{ {"cast6-generic", nil}, {"cipher_null", nil}, {"cipher_null-generic", nil}, + {"compress_null-generic", nil}, {"des", nil}, - {"des-generic", nil}, {"des3_ede", nil}, {"des3_ede-asm", nil}, {"des3_ede-generic", nil}, + {"des-generic", nil}, {"fcrypt", nil}, {"fcrypt-generic", nil}, {"khazad", nil}, @@ -391,37 +411,53 @@ var allAlgs = map[int][]algDesc{ {"blake2b-512", nil}, {"blake2b-512-generic", nil}, {"blake2s-128", nil}, + {"blake2s-128-arm", nil}, {"blake2s-128-generic", nil}, {"blake2s-128-x86", nil}, {"blake2s-160", nil}, + {"blake2s-160-arm", nil}, {"blake2s-160-generic", nil}, {"blake2s-160-x86", nil}, {"blake2s-224", nil}, + {"blake2s-224-arm", nil}, {"blake2s-224-generic", nil}, {"blake2s-224-x86", nil}, {"blake2s-256", nil}, + {"blake2s-256-arm", nil}, {"blake2s-256-generic", nil}, {"blake2s-256-x86", nil}, + {"cbcmac(aes)", nil}, {"cbcmac-aes-ce", nil}, {"cbcmac-aes-neon", nil}, + {"cmac(aes)", nil}, {"cmac-aes-ce", nil}, {"cmac-aes-neon", nil}, {"crc32", nil}, - {"crc32-generic", nil}, - {"crc32-pclmul", nil}, {"crc32c", nil}, {"crc32c-generic", nil}, {"crc32c-intel", nil}, + {"crc32-generic", nil}, + {"crc32-pclmul", nil}, {"crct10dif", nil}, {"crct10dif-arm64-ce", nil}, + {"crct10dif-arm64-neon", nil}, {"crct10dif-generic", nil}, {"crct10dif-pclmul", nil}, {"digest_null", nil}, {"digest_null-generic", nil}, {"ghash", nil}, {"ghash-ce", nil}, + {"ghash-ce-sync", nil}, {"ghash-clmulni", nil}, {"ghash-generic", nil}, + {"hmac(sha1)", nil}, + {"hmac(sha1-avx2)", nil}, + {"hmac(sha1-ce)", nil}, + {"hmac(sha1-neon)", nil}, + {"hmac(sha256)", nil}, + {"hmac(sha256-avx2)", nil}, + {"hmac(sha256-ce)", nil}, + {"hmac(sha256-neon)", nil}, {"md4", nil}, {"md4-generic", nil}, {"md5", nil}, @@ -447,32 +483,38 @@ var allAlgs = map[int][]algDesc{ {"rmd320", nil}, {"rmd320-generic", nil}, {"sha1", nil}, + {"sha1-asm", nil}, {"sha1-avx", nil}, {"sha1-avx2", nil}, {"sha1-ce", nil}, {"sha1-generic", nil}, + {"sha1_mb", nil}, + {"sha1-neon", nil}, {"sha1-ni", nil}, {"sha1-ssse3", nil}, - {"sha1_mb", nil}, {"sha224", nil}, {"sha224-arm64", nil}, {"sha224-arm64-neon", nil}, + {"sha224-asm", nil}, {"sha224-avx", nil}, {"sha224-avx2", nil}, {"sha224-ce", nil}, {"sha224-generic", nil}, + {"sha224-neon", nil}, {"sha224-ni", nil}, {"sha224-ssse3", nil}, {"sha256", nil}, {"sha256-arm64", nil}, {"sha256-arm64-neon", nil}, + {"sha256-asm", nil}, {"sha256-avx", nil}, {"sha256-avx2", nil}, {"sha256-ce", nil}, {"sha256-generic", nil}, + {"sha256-mb", nil}, + {"sha256-neon", nil}, {"sha256-ni", nil}, {"sha256-ssse3", nil}, - {"sha256_mb", nil}, {"sha3-224", nil}, {"sha3-224-ce", nil}, {"sha3-224-generic", nil}, @@ -486,20 +528,24 @@ var allAlgs = map[int][]algDesc{ {"sha3-512-ce", nil}, {"sha3-512-generic", nil}, {"sha384", nil}, + {"sha384-arm", nil}, {"sha384-arm64", nil}, {"sha384-avx", nil}, {"sha384-avx2", nil}, {"sha384-ce", nil}, {"sha384-generic", nil}, + {"sha384-neon", nil}, {"sha384-ssse3", nil}, {"sha512", nil}, + {"sha512-arm", nil}, {"sha512-arm64", nil}, {"sha512-avx", nil}, {"sha512-avx2", nil}, {"sha512-ce", nil}, {"sha512-generic", nil}, - {"sha512-ssse3", nil}, {"sha512_mb", nil}, + {"sha512-neon", nil}, + {"sha512-ssse3", nil}, {"sm3", nil}, {"sm3-ce", nil}, {"sm3-generic", nil}, @@ -519,6 +565,7 @@ var allAlgs = map[int][]algDesc{ {"wp384-generic", nil}, {"wp512", nil}, {"wp512-generic", nil}, + {"xcbc(aes)", nil}, {"xcbc-aes-ce", nil}, {"xcbc-aes-neon", nil}, {"xxhash64", nil}, -- cgit mrf-deployment