2.0 KiB
2.0 KiB
20230321-v1.6.1
gcl/x/tpc移到gcl/tpc gcl/tpc增加SM9协同签名、解密、密钥解封装
20230128-v1.5.0
Add SM4_RNG.
20230118-v1.4.7
Add DRNG and SM3_RNG.
20221125-v1.4.6
Fix Issue 5
20221125-v1.4.5
Typo&Tidy
20221117-v1.4.4
fix Issue 4
20220810-v1.4.1
- Replace all error returns from
gclwitherrorchain.Error. - Review package
utils/blockmod, replace panic with error. utils/blockmode.NewCTR增加返回error.
20220809-v1.4.0
sm9.Sign函数签名更改,增加返回错误.sm9.KeyEncapsule函数签名更改,增加rnd输入类型,增加返回错误.- 增加加密函数
func Encrypt(encType EncType, pube *MastEncPublicKey, id, plain []byte, rand io.Reader, optionalIV []byte) (*Cipher, error)
- 增加解密函数
func Decrypt(id []byte, c *Cipher, de *UserEncKey) ([]byte, error)
注1:如果是外部产生随机数,如自测用的标准数据,则用bytes.NewReader(b []byte)得到一个io.Reader.
注2:注1的方法临时或测试用,生产环境应将外部随机源包装为一个io.Reader,因为注1的方法读取len(b)字节后会报io.EOF错误.
注3:除安审,使用grand.Reader(e.g. crypto/Rand.Reader-Linux上是读取/dev/(u)random)已足够。
20211120
- amd64平台,SM4 SIMD汇编实现。
- SM4 ECB 单线程 250MBps
20211119
- 移除x509到gssl
- 在支持SIMD的amd64平台下,SM4 ECB模式性能翻倍(单线程 > 1.2Gbps)
arm64平台、CTR和GCM模式未完待续
20210901
- 增加x509,sharing/ssss
2021-0331
- 增加sm/sm2v1包
- sm/sm2v1是go标准库风格的签名库。与ecdsa调用方式兼容。
用于方便替换ecdsa签名
2020-0916
- 增加SM4-GCM模式
20200901
SM9
Signature 结构
// before
type Signature struct {
H *big.Int
S *G1
}
// now
type Signature struct {
H big.Int
S G1
}
加密类型
ENC_TYPE_XXX change to oid.xxx(GM/T 0006修订稿加入SM9)
20200701
- add assemble implements on amd64 and arm64
20190318
- version 0.1