mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-12 03:56:17 +08:00
Updated SM2性能优化(续) (markdown)
parent
0823029a09
commit
c5b1797833
@ -8,12 +8,16 @@ prime order elliptic curves, §A.2](https://eprint.iacr.org/2015/1060)。这里
|
|||||||
|
|
||||||
通过代码生成方式,保证算法实现的正确性、一致性。有尝试自己编写SM2曲线纯Go语言优化实现的同学应该体会很深。
|
通过代码生成方式,保证算法实现的正确性、一致性。有尝试自己编写SM2曲线纯Go语言优化实现的同学应该体会很深。
|
||||||
|
|
||||||
## amd64架构优化
|
## amd64 arm64架构实现
|
||||||
总体而言,和以前实现相比,变化不大。
|
总体而言,和以前实现相比,变化不大。
|
||||||
* 基点标量乘法查找表生成,没有重新写生成方法,延用以前的,可以参考[gen_p256_table.go](https://github.com/emmansun/gmsm/blob/go_1.16/sm2/gen_p256_table.go)。
|
* 基点标量乘法查找表生成,没有重新写生成方法,延用以前的,可以参考[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)
|
* 调整了点标量乘法的窗口大小,具体请参考[sm2 point scalar multiple ASM implementation issue: final p256PointAddAsm's input maybe equal](https://github.com/emmansun/gmsm/discussions/127)
|
||||||
|
|
||||||
## amd64架构优化
|
## amd64架构优化
|
||||||
|
* 使用**MULX**优化, 可以参考这个提交 https://github.com/emmansun/gmsm/commit/a0c4a389b8ceea6cbad3ede4eef011b26482b2ad
|
||||||
|
* AVX2优化,这里只是SELECT、MOVE等优化,不涉及计算。
|
||||||
|
|
||||||
|
## amd64架构优化
|
||||||
|
* 使用SIMD实现SELECT、MOVE操作
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user