This patchset adds a new ARIA(RFC 5794) symmetric cipher algorithm. Like SEED, the ARIA is a standard cipher algorithm in South Korea. Especially Government and Banking industry have been using this algorithm. So the implementation of ARIA will be useful for them and network vendors. Usecases of this algorithm are TLS[1], and IPSec. It is tested in x86 and MIPS with the tcrypt module. The first patch is an implementation of ARIA algorithm. The second patch adds tests for ARIA. The third patch adds ARIA-kTLS feature. ARIA128-kTLS Benchmark results: openssl-3.0-dev and iperf-ssl are used. TLS [ 3] 0.0- 1.0 sec 185 MBytes 1.55 Gbits/sec [ 3] 1.0- 2.0 sec 186 MBytes 1.56 Gbits/sec [ 3] 2.0- 3.0 sec 186 MBytes 1.56 Gbits/sec [ 3] 3.0- 4.0 sec 186 MBytes 1.56 Gbits/sec [ 3] 4.0- 5.0 sec 186 MBytes 1.56 Gbits/sec [ 3] 0.0- 5.0 sec 927 MBytes 1.56 Gbits/sec kTLS [ 3] 0.0- 1.0 sec 198 MBytes 1.66 Gbits/sec [ 3] 1.0- 2.0 sec 194 MBytes 1.62 Gbits/sec [ 3] 2.0- 3.0 sec 194 MBytes 1.63 Gbits/sec [ 3] 3.0- 4.0 sec 194 MBytes 1.63 Gbits/sec [ 3] 4.0- 5.0 sec 194 MBytes 1.62 Gbits/sec [ 3] 0.0- 5.0 sec 974 MBytes 1.63 Gbits/sec The previous patch version[2]. [1] https://datatracker.ietf.org/doc/html/rfc6209 [2] https://www.spinics.net/lists/linux-crypto/msg64704.html v2: - Add ARIA-kTLS feature. Taehee Yoo (3): crypto: Implement ARIA symmetric cipher algorithm crypto: add ARIA testmgr tests net: tls: Add ARIA-GCM algorithm crypto/Kconfig | 15 + crypto/Makefile | 1 + crypto/aria.c | 288 ++++ crypto/tcrypt.c | 38 +- crypto/testmgr.c | 31 + crypto/testmgr.h | 2860 ++++++++++++++++++++++++++++++++++++++ include/crypto/aria.h | 461 ++++++ include/uapi/linux/tls.h | 30 + net/tls/tls_main.c | 62 + net/tls/tls_sw.c | 34 + 10 files changed, 3819 insertions(+), 1 deletion(-) create mode 100644 crypto/aria.c create mode 100644 include/crypto/aria.h -- 2.17.1