[package] name = "ciphersuite" version = "0.4.1" description = "Ciphersuites built around ff/group" license = "MIT" repository = "https://github.com/serai-dex/serai/tree/develop/crypto/ciphersuite" authors = ["Luke Parker "] keywords = ["ciphersuite", "ff", "group"] edition = "2021" rust-version = "1.74" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [lints] workspace = true [dependencies] std-shims = { path = "../../common/std-shims", version = "^0.1.1", default-features = false, optional = true } rand_core = { version = "0.6", default-features = false } zeroize = { version = "^1.5", default-features = false, features = ["derive"] } subtle = { version = "^2.4", default-features = false } digest = { version = "0.10", default-features = false } transcript = { package = "flexible-transcript", path = "../transcript", version = "^0.3.2", default-features = false } sha2 = { version = "0.10", default-features = false, optional = true } sha3 = { version = "0.10", default-features = false, optional = true } ff = { version = "0.13", default-features = false, features = ["bits"] } group = { version = "0.13", default-features = false } dalek-ff-group = { path = "../dalek-ff-group", version = "0.4", default-features = false, optional = true } elliptic-curve = { version = "0.13", default-features = false, features = ["hash2curve"], optional = true } p256 = { version = "^0.13.1", default-features = false, features = ["arithmetic", "bits", "hash2curve"], optional = true } k256 = { version = "^0.13.1", default-features = false, features = ["arithmetic", "bits", "hash2curve"], optional = true } minimal-ed448 = { path = "../ed448", version = "0.4", default-features = false, optional = true } [dev-dependencies] hex = { version = "0.4", default-features = false, features = ["std"] } rand_core = { version = "0.6", default-features = false, features = ["std"] } ff-group-tests = { version = "0.13", path = "../ff-group-tests" } [features] alloc = ["std-shims"] std = [ "std-shims/std", "rand_core/std", "zeroize/std", "subtle/std", "digest/std", "transcript/std", "sha2?/std", "sha3?/std", "ff/std", "dalek-ff-group?/std", "elliptic-curve?/std", "p256?/std", "k256?/std", "minimal-ed448?/std", ] dalek = ["sha2", "dalek-ff-group"] ed25519 = ["dalek"] ristretto = ["dalek"] kp256 = ["sha2", "elliptic-curve"] p256 = ["kp256", "dep:p256"] secp256k1 = ["kp256", "k256"] ed448 = ["sha3", "minimal-ed448"] default = ["std"]