huangxt
|
f369ae61de
|
修复 no_std 测试并升级 MSRV 至 1.83.0
- 修复 cargo test --no-default-features --lib 编译错误
- SM3 测试:移除 alloc 依赖,改用手动十六进制解析
- SM4 modes 测试:添加 #[cfg(feature = "alloc")]
- MSRV 升级至 1.83.0(crypto-bigint 0.6.x 的 ConstMontyForm 所需)
- 更新 CI 工作流中的 MSRV 版本
- 修正 Cargo.toml 仓库链接
|
2026-03-07 20:38:34 +08:00 |
|
huangxt
|
8ad52ecac0
|
准备发布 v0.1.0
- 添加 Apache-2.0 许可证
- 添加 CHANGELOG.md 变更日志
- 添加 SECURITY.md 安全策略
- 添加 README.zh-CN.md 中文文档
- 添加 rustfmt.toml 代码格式配置
- 添加 scripts/pre_publish_check.sh 发布检查脚本
- 更新 Cargo.toml 元数据(分类、关键词、文档链接)
- 完善 README.md 示例代码
- 优化 SM2/SM9 性能和测试覆盖率
|
2026-03-07 19:27:41 +08:00 |
|
huangxt
|
bec7f277ce
|
性能优化:核心算法加速
- SM2: 优化标量乘法,使用滑动窗口和预计算表
- SM3: 展开压缩循环,减少分支预测开销
- SM4: 优化 bitslice S-box,使用 SIMD 友好的位操作
- SM4 模式: 内联关键路径,减少函数调用开销
|
2026-03-07 16:01:16 +08:00 |
|
huangxt
|
7ec2580514
|
安全加固:常量时间改进与侧信道缓解
- SM2: 常量时间标量乘法、点验证和域运算
- SM3: 常量时间填充和长度处理
- SM4: bitslice S-box 实现,避免缓存时序攻击
- SM4 模式: 常量时间 CBC 填充和标签比较
- SM9: 常量时间 Fp12 求逆和哈希到标量
- 添加 zeroize 用于私钥清理
- 改进错误处理,使用常量时间比较
|
2026-03-07 15:32:52 +08:00 |
|
huangxt
|
e929e6a103
|
初始提交:SM2/SM3/SM4/SM9 密码算法库
- SM3 哈希函数 (GB/T 32905-2013)
- SM4 分组密码,支持 ECB/CBC/OFB/CFB/CTR/GCM/CCM/XTS 模式 (GB/T 32907-2016)
- SM2 椭圆曲线密码 (GB/T 32918.1-5-2016)
- SM9 标识密码 (GB/T 38635.1-2-2020)
- 全程常量时间运算
- 支持 no_std,带 alloc 特性
- 完整的国标测试向量
- Criterion 性能基准测试
|
2026-03-07 15:32:47 +08:00 |
|