lkml.org 
[lkml]   [2022]   [Jan]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 0/6] Introduce x86 assembly accelerated implementation for SM3 algorithm
On Fri, Jan 07, 2022 at 08:06:54PM +0800, Tianjia Zhang wrote:
> 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%.
>
> ---
> v4 changes:
> - Rebase on latest cryptodev-2.6/master
> - Fix the compilation error of arm64/sm3
>
> v3 changes:
> - update git commit message for patch 01
>
> v2 changes:
> - x86/sm3: Change K macros to signed decimal and use LEA and 32-bit offset
>
> 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 | 28 +-
> arch/x86/crypto/Makefile | 3 +
> arch/x86/crypto/sm3-avx-asm_64.S | 517 +++++++++++++++++++++++++++++++
> arch/x86/crypto/sm3_avx_glue.c | 134 ++++++++
> crypto/Kconfig | 16 +-
> crypto/sm2.c | 38 +--
> crypto/sm3_generic.c | 142 +--------
> crypto/tcrypt.c | 14 +-
> include/crypto/sm3.h | 34 +-
> lib/crypto/Kconfig | 3 +
> lib/crypto/Makefile | 3 +
> lib/crypto/sm3.c | 246 +++++++++++++++
> 13 files changed, 1013 insertions(+), 167 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

All applied. Thanks.
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

\
 
 \ /
  Last update: 2022-01-28 07:24    [W:1.385 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site