2021-12-04 16:42:11 +00:00

86 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 更新日志
### 2.0 更新June 92021
- [FIX] SM2公钥压缩格式前缀修改
- [FIX]]国密tls部分bug修改
- [FIX]]SM4_gcm模式bug修改
- [New] 公私钥16进制格式导入导出
- [New] SM4加密可设置IV值
- [New] 国密tls与非国密自适应实现
### 1.4 更新Sep 152020
**破坏性更新**
- [FIX] SM2 生成私钥、签名及加密方法加入随机数,可使用外部随机数。
- [FIX] 公私钥及证书从pem格式[]byte数据中导入导出不再从pem格式File文件导入导出。
- [FIX] SM2证书相关实现代码单独移至X509包中。
- [FIX] 代码优化,删除无用方法
- [New] SM4加密ecb、cbc模式实现
- [New] 国密tls实现移至该库gmtls包中
- [New] 国密tls实现使用双证书
### 1.2 更新(Feb 20, 2019)
- [NEW] 实现PKCS#7签名及验签
- [FIX] SM2 签名及验签方法完全遵循标准GM/T 0003系列兼容CFCA Java-SDK
**破坏性更新,证书与之前版本不兼容**
### 1.1.1更新
- 新增以下函数支持用户其他信息<br>
SignDigitToSignData 将签名所得的大数r和s转换为签名的格式<br>
Sm2Sign 支持用户信息的签名<br>
Sm2Verify 支持用户信息的验签<br>
### 1.1.0更新:
- 改进新能,具体提升如下
&emsp;注:本次优化并不彻底,只是第一次尝试优化,后续有时间还会继续优化
```
old:
generate key:
BenchmarkSM2-4 1000 2517147 ns/op 1156476 B/op 11273 allocs/op
sign:
BenchmarkSM2-4 300 6297498 ns/op 2321890 B/op 22653 allocs/op
verify:
BenchmarkSM2-4 2000 8557215 ns/op 3550626 B/op 34627 allocs/op
encrypt:
BenchmarkSM2-4 2000 8304840 ns/op 3483113 B/op 33967 allocs/op
decrypt:
BenchmarkSM2-4 2000 5726181 ns/op 2321728 B/op 22644 allocs/op
new:
generate key:
BenchmarkSM2-4 5000 303656 ns/op 2791 B/op 41 allocs/op
sign:
BenchmarkSM2-4 2000 652465 ns/op 8828 B/op 133 allocs/op
verify:
BenchmarkSM2-4 1000 2004511 ns/op 122709 B/op 1738 allocs/op
encrpyt:
BenchmarkSM2-4 1000 1984419 ns/op 118560 B/op 1687 allocs/op
decrypt:
BenchmarkSM2-4 1000 1725001 ns/op 118331 B/op 1679 allocs/op
```
### 1.0.1 更新:
- 添加全局的sbox改进sm4效率(by https://github.com/QwertyJack)
### 1.0 更新:
- 添加以下oid<br>
SM3WithSM2 1.2.156.10197.1.501<br>
SHA1WithSM2 1.2.156.10197.1.502<br>
SHA256WithSM2 1.2.156.10197.1.503<br>
- x509生成的证书如今可以使用SM3作为hash算法
- 引入了以下hash算法
RIPEMD160<br>
SHA3_256<br>
SHA3_384<br>
SHA3_512<br>
SHA3_SM3<br>
用户需要自己安装golang.org/x/crypto