libsmx 0.3.0

Pure-Rust, no_std, constant-time SM2/SM3/SM4/SM9 Chinese cryptography (GB/T 32918/32905/32907/38635)
Documentation
[package]
name = "libsmx"
version = "0.3.0"
edition = "2021"
rust-version = "1.83.0"
license = "Apache-2.0"
description = "Pure-Rust, no_std, constant-time SM2/SM3/SM4/SM9 Chinese cryptography (GB/T 32918/32905/32907/38635)"
repository = "https://github.com/kintaiW/libsmx"
documentation = "https://docs.rs/libsmx"
homepage = "https://github.com/kintaiW/libsmx"
categories = ["cryptography", "no-std"]
keywords = ["sm2", "sm3", "sm4", "sm9", "gmssl"]
readme = "README.md"
exclude = [
    "benches/",
    "tests/",
    "docs/",
    ".github/",
    "scripts/",
    "reference/",
    "*.sh",
    "*.md",
    "!README.md",
    "!CHANGELOG.md",
    "!SECURITY.md",
    ".claude*",
]

[lib]
name = "libsmx"
path = "src/lib.rs"

[dependencies]
crypto-bigint = { version = "0.6", default-features = false }
subtle    = { version = "2.6", default-features = false }
zeroize   = { version = "1.8", default-features = false, features = ["derive"] }
rand_core = { version = "0.6", default-features = false }
rustls    = { version = "0.24.0-dev.0", path = "../rustls/rustls", optional = true, default-features = false }
pki-types = { package = "rustls-pki-types", version = "1", optional = true, features = ["alloc"] }
getrandom = { version = "0.2", optional = true }

[features]
default = ["alloc"]
alloc = []
std = ["alloc", "rand_core/std"]
# rustls CryptoProvider 集成(RFC 8998 国密 TLS 套件)
rustls-provider = ["alloc", "dep:rustls", "dep:pki-types", "dep:getrandom"]

[dev-dependencies]
hex       = "0.4"
criterion = { version = "0.5", features = ["html_reports"] }
rand      = "0.8"
sm9_core = "0.5.0"

[[bench]]
name    = "sm2_bench"
harness = false

[[bench]]
name    = "sm3_bench"
harness = false

[[bench]]
name    = "sm4_bench"
harness = false

[[bench]]
name    = "sm9_bench"
harness = false