Skip to content

Releases: emmansun/gmsm

v0.21.5-beta

01 Nov 05:18
2f16366

Choose a tag to compare

v0.21.5-beta Pre-release
Pre-release

For #174 test only

v0.21.4

24 Oct 08:01
55e8c79

Choose a tag to compare

Notable Changes:

  • sm9/bn256: fix amd64 non-avx2 issue 55e8c79

v0.21.3

29 Sep 02:06

Choose a tag to compare

Notable Changes:

  • ZUC: fix eea src/dst can't share same buffer issue. #169
  • SM4: 优化线性变换L. #168

v0.21.2

25 Sep 02:09
232af55

Choose a tag to compare

Notable Changes:

  • sm3: GG2使用等价公式,不使用ANDN指令。#166 #167

v0.21.1

20 Sep 08:48
edcba25

Choose a tag to compare

Notable Changes:

  • sm3: do not use RORX in avx implementation. #157 RORX指令属于BMI2指令集,上个release使用了AVX+BMI2组合,很多仅支持AVX的老机器性能没有得到提升。
  • sm3: amd64 SSE implementation. #165 虽然不支持AVX的AMD64 架构的CPU应该不多了,还是支持一下吧。
  • sm3: message schedule optimization. #164 尽量减少使用指令,使用和sha256实现不一样的思路,具体请参考SM3实现及优化
  • sm3: message compression optimization. #163 #160 压缩函数,尽量减少指令。
  • sm3: reduce stack memory usage for amd64 avx & arm64 neon. #162

Full Changelog: v0.21.0...v0.21.1

v0.21.0

15 Sep 00:20
0056f1a

Choose a tag to compare

Notable Changes:

v0.20.2

08 Sep 08:58
3bb540d

Choose a tag to compare

Notable Changes:

  • sm3 去除R15使用,plugin编译没有特殊实现;
  • zuc core去除R15使用,plugin编译没有特殊实现;
  • internal/sm2ec: 单独为plugin编译flag去除R15使用;
  • sm9/bn256: gfp单独为plugin编译flag去除R15使用,gfp2未作修改(权衡性能和可维护性,除非必要);

v0.20.1

07 Sep 01:54
6ba199a

Choose a tag to compare

Notable Changes:

  • build: support plugin flag for amd64. 支持plugin编译flag,#154,相对purego 编译flag 而言,保留了不使用R15的amd64 汇编实现。相对于arm64,amd64的可用通用寄存器较少,如果不使用R15,会有更多的内存、寄存器交互,汇编代码会更复杂,项目的实现和维护成本也会大量增加。可以考虑基于rpc的插件实现机制,譬如Go Plugin System over RPC
  • zuc: add comments. 增加代码说明。
  • upgrade golang.org/x/sys from 0.11.0 to 0.12.0.

v0.20.0

28 Aug 09:38
4f1b16d

Choose a tag to compare

Notable Changes:

  • README: add acknowledgements.
  • cipher/xts: XTS mode $GF(2^{128})$ mul2 amd64/arm64 asm implementation.
  • sm4: xts amd64/arm64 asm implementation, #151.
  • sm4: gcm amd64 optimization, #152.

v0.19.3

16 Aug 07:01

Choose a tag to compare

Notable Changes:

  • padding: ISO/IEC 9797 method 2. 这也是GB/T 17964-2021中列出的填充方式2。
  • sm4: improve performance, especially for GCM, ECB, CBC decrypt.尽量使用SIMD寄存器,提高并行吞吐量,ECB, CBC解密的汇编实现。
  • internal/bigmod: fix duplicated function name issue. 修复和golang SDK(1.21+)中全局汇编函数名重复问题。