From c5b17978330e519a9649317345fe60f7a8f0d832 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Fri, 29 Dec 2023 08:42:08 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20SM2=E6=80=A7=E8=83=BD=E4=BC=98?= =?UTF-8?q?=E5=8C=96=EF=BC=88=E7=BB=AD=EF=BC=89=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SM2性能优化(续).md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/SM2性能优化(续).md b/SM2性能优化(续).md index 62d0776..639cb31 100644 --- a/SM2性能优化(续).md +++ b/SM2性能优化(续).md @@ -8,12 +8,16 @@ prime order elliptic curves, §A.2](https://eprint.iacr.org/2015/1060)。这里 通过代码生成方式,保证算法实现的正确性、一致性。有尝试自己编写SM2曲线纯Go语言优化实现的同学应该体会很深。 -## amd64架构优化 +## amd64 arm64架构实现 总体而言,和以前实现相比,变化不大。 * 基点标量乘法查找表生成,没有重新写生成方法,延用以前的,可以参考[gen_p256_table.go](https://github.com/emmansun/gmsm/blob/go_1.16/sm2/gen_p256_table.go)。 -* 使用**MULX**优化, 可以参考这个提交 https://github.com/emmansun/gmsm/commit/a0c4a389b8ceea6cbad3ede4eef011b26482b2ad -* AVX2优化,这里只是SELECT、MOVE等优化,不涉及计算。 * 调整了点标量乘法的窗口大小,具体请参考[sm2 point scalar multiple ASM implementation issue: final p256PointAddAsm's input maybe equal](https://github.com/emmansun/gmsm/discussions/127) ## amd64架构优化 +* 使用**MULX**优化, 可以参考这个提交 https://github.com/emmansun/gmsm/commit/a0c4a389b8ceea6cbad3ede4eef011b26482b2ad +* AVX2优化,这里只是SELECT、MOVE等优化,不涉及计算。 + +## amd64架构优化 +* 使用SIMD实现SELECT、MOVE操作 +