lkml.org 
[lkml]   [2021]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/6] Introduce x86 assembly accelerated implementation for SM3 algorithm
Date
This series of patches creates an stand-alone library for SM3 hash
algorithm in the lib/crypto directory, and makes the implementations
that originally depended on sm3-generic depend on the stand-alone SM3
library, which also includes sm3-generic itself.

On this basis, the AVX assembly acceleration implementation of SM3
algorithm is introduced, the main algorithm implementation based on
SM3 AES/BMI2 accelerated work by libgcrypt at:
https://gnupg.org/software/libgcrypt/index.html

From the performance benchmark data, the performance improvement of
SM3 algorithm after AVX optimization can reach up to 38%.

Tianjia Zhang (6):
crypto: sm3 - create SM3 stand-alone library
crypto: arm64/sm3-ce - make dependent on sm3 library
crypto: sm2 - make dependent on sm3 library
crypto: sm3 - make dependent on sm3 library
crypto: x86/sm3 - add AVX assembly implementation
crypto: tcrypt - add asynchronous speed test for SM3

arch/arm64/crypto/Kconfig | 2 +-
arch/arm64/crypto/sm3-ce-glue.c | 20 +-
arch/x86/crypto/Makefile | 3 +
arch/x86/crypto/sm3-avx-asm_64.S | 521 +++++++++++++++++++++++++++++++
arch/x86/crypto/sm3_avx_glue.c | 134 ++++++++
crypto/Kconfig | 16 +-
crypto/sm2.c | 36 +--
crypto/sm3_generic.c | 142 +--------
crypto/tcrypt.c | 14 +-
include/crypto/sm3.h | 35 ++-
lib/crypto/Kconfig | 3 +
lib/crypto/Makefile | 3 +
lib/crypto/sm3.c | 246 +++++++++++++++
13 files changed, 1010 insertions(+), 165 deletions(-)
create mode 100644 arch/x86/crypto/sm3-avx-asm_64.S
create mode 100644 arch/x86/crypto/sm3_avx_glue.c
create mode 100644 lib/crypto/sm3.c

--
2.32.0

\
 
 \ /
  Last update: 2021-12-20 09:23    [W:0.045 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site