添加性能基准测试数据

- README 添加 Benchmarks 章节,包含 SM3/SM4/SM2/SM9 性能数据
- CHANGELOG 同步更新基准测试性能基线
This commit is contained in:
huangxt
2026-03-07 20:23:16 +08:00
parent 86998a169e
commit a7eaf413d9
4 changed files with 94 additions and 0 deletions
+42
View File
@@ -191,6 +191,48 @@ libsmx = { version = "0.3", default-features = false }
`alloc` 时,SM3 哈希、SM3 HMAC、SM2 签名/验签、SM4 ECB 仍可用(固定大小数组 API)。
## 基准性能
测试环境:Linux x86_64(单核)。所有操作均为常量时间。
### 吞吐量
| 算法 | 数据量 | 耗时 | 吞吐量 |
|------|--------|------|--------|
| SM3 哈希 | 64 B | 349 ns | — |
| SM3 哈希 | 1 KiB | 2.80 µs | — |
| SM3 哈希 | 64 KiB | 167 µs | **374 MiB/s** |
| SM4-ECB 加密 | 16 B | 1.14 µs | — |
| SM4-ECB 加密 | 1 KiB | 37.0 µs | — |
| SM4-ECB 加密 | 64 KiB | 2.32 ms | **27 MiB/s** |
### SM2256 位椭圆曲线)
| 操作 | 耗时 |
|------|------|
| 密钥生成 | 221 µs |
| 签名 | 258 µs |
| 验签 | 316 µs |
| 加密 | 639 µs |
| 解密 | 417 µs |
### SM9BN256 双线性配对)
| 操作 | 耗时 |
|------|------|
| 主密钥生成 | 753 µs |
| 用户密钥派生 | 324 µs |
| 签名 | 3.44 ms |
| 验签 | 5.50 ms |
| 加密 | 4.68 ms |
| 解密 | 1.54 ms |
本地运行基准测试:
```bash
cargo bench
```
## 安全性
- 所有涉密操作均为常量时间(固定迭代次数 + 掩码选择,消除数据依赖分支)