Commit Graph

17 Commits

Author SHA1 Message Date
huangxt 21e7e65b32 添加 GitHub Pages 文档与 CI 修复
新增功能:
- docs/ 目录:GitHub Pages 静态页面
  - index.html:项目主页
  - og-image.png/svg:社交分享图片
- tests/rustls_provider.rs:rustls CryptoProvider 集成测试
- rustls_provider 模块增强:
  - hash.rs:新增测试和文档
  - hmac.rs:新增测试和文档
  - kx.rs:新增测试和文档
  - sign.rs:新增测试和文档
  - verify.rs:新增测试和文档

CI 修复:
- rustls 依赖改为 git 源,避免本地路径依赖问题
- 简化 SM3 HMAC 流式测试,移除 alloc 依赖
- 移除未使用的 extern crate alloc
- 代码格式化

文档更新:
- README.md:添加 GitHub Pages 链接
- CHANGELOG.md:更新变更记录
- Cargo.toml:添加 dev-dependencies
2026-03-09 18:51:40 +08:00
huangxt 7c159343f8 发布 v0.3.0:rustls CryptoProvider 支持
新增功能:
- rustls CryptoProvider:完整 rustls 0.23.x 支持
  - SM3 Hash/Context trait 实现
  - SM3 HMAC trait 实现
  - SM4-GCM/CCM AEAD 密码套件
  - SM2 ECDHE 密钥交换
  - SM2 签名/验签算法
- SM3 流式 HMAC(HmacSm3)
- SM2 SPKI DER 编码
- SM2 DEFAULT_ID 常量

文档更新:
- README 依赖版本更新为 0.3
- CHANGELOG 添加 v0.3.0 变更记录
- SECURITY 更新版本支持表
2026-03-09 10:13:09 +08:00
huangxt 2580571881 发布 v0.2.1:SM2 密钥交换、HKDF-SM3、DER 编解码
新增功能:
- SM2 密钥交换:GB/T 32918.3 完整协议(exchange_a/b)、ECDH
- SM2 DER 编解码:签名 DER、SEC1/PKCS#8 私钥解析
- SM2 便捷 API:sign_message/verify_message 自动计算 Z 值
- HKDF-SM3:RFC 5869 兼容的 HKDF
- SM3 Hasher 增强:reset/finalize_reset 流式复用
- SM4 AEAD 合并格式:GCM/CCM combined(TLS 格式)

文档更新:
- CHANGELOG 添加 v0.2.1 变更记录
v0.2.1
2026-03-08 20:58:36 +08:00
huangxt a58fe8275e 发布 v0.2.0:新增 BLS 签名与 FPE 格式保留加密
新增功能:
- BLS 签名:基于 BN256 配对的最小签名尺寸变体
- BLS 门限签名:Shamir 秘密分享 + Lagrange 插值聚合
- Hash-to-Curve:RFC 9380 兼容,SM3 消息扩展
- FPE 格式保留加密:基于 SM4 的 Feistel 密码
- SM9 Fp 平方根:Tonelli-Shanks 算法

文档更新:
- README 添加 BLS/FPE 算法描述
- CHANGELOG 添加 v0.2.0 变更记录
- SECURITY 更新版本支持表
v0.2.0
2026-03-08 20:02:06 +08:00
huangxt 69767aee00 修正 README 依赖版本号
- Quick Start 依赖版本从 0.3 改为 0.1
- no_std 依赖版本从 0.3 改为 0.1
- 与当前 Cargo.toml 版本 0.1.1 保持一致
2026-03-08 11:31:49 +08:00
huangxt 36c2742777 发布 v0.1.1
- 修复 no_std 测试编译错误
- MSRV 升级至 1.83.0
- 使用 Rust 1.83+ 内置 div_ceil 方法
- 优化 CI 安全扫描脚本
v0.1.1
2026-03-07 21:32:20 +08:00
huangxt 14e20cae89 优化安全性扫描脚本,避免测试代码误报
- 使用 awk 在 #[cfg(test)] 处提前退出,跳过测试代码
- 替换多个 grep -v 管道为单一 awk 处理
- 修复乱码字符
v0.1.0
2026-03-07 21:04:18 +08:00
huangxt 0b3f239661 修正安全策略版本号
- SECURITY.md 和 SECURITY.zh-CN.md 版本支持改为 0.1.x
- 与当前 Cargo.toml 版本 0.1.0 保持一致
2026-03-07 20:56:52 +08:00
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 a7eaf413d9 添加性能基准测试数据
- README 添加 Benchmarks 章节,包含 SM3/SM4/SM2/SM9 性能数据
- CHANGELOG 同步更新基准测试性能基线
2026-03-07 20:23:16 +08:00
huangxt 86998a169e 添加中文文档
- SECURITY.md Response timeline 改为英文描述
- 添加 SECURITY.zh-CN.md 中文安全策略
- 添加 CHANGELOG.zh-CN.md 中文变更日志
- 修正 CHANGELOG.md 中的仓库链接
2026-03-07 20:07:02 +08:00
huangxt ce88fd8365 添加 CI/CD 自动化工作流
- 添加 .github/workflows/ci.yml:多平台测试、MSRV 验证、覆盖率、性能基准、自动发布
- 添加 .github/scripts/sanity_check.sh:安全性扫描脚本
- 更新 README 添加 CI 和覆盖率徽章
- 更新 SECURITY.md 响应时间说明(个人维护,无限期宽限)
2026-03-07 19:54:34 +08:00
huangxt 679fa8cff6 合并 feature/sm4-sbox-bitslice:v0.1.0 发布准备
包含:
- 初始提交:SM2/SM3/SM4/SM9 密码算法库
- 安全加固:常量时间改进与侧信道缓解
- 性能优化:核心算法加速
- 准备发布 v0.1.0
2026-03-07 19:27:52 +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