[package] name = "commonware-cryptography-curve25519" edition.workspace = true publish = true version.workspace = true license.workspace = true description = "Perform Curve25519 field/group arithmetic, Ed25519 signing and verification, and X25519 key exchange." readme = "README.md" homepage.workspace = true repository = "https://github.com/commonwarexyz/monorepo/tree/main/cryptography/curve25519" documentation = "https://docs.rs/commonware-cryptography-curve25519" [lints] workspace = true [dependencies] arbitrary = { workspace = true, optional = true } bytes.workspace = true commonware-codec.workspace = true commonware-formatting.workspace = true commonware-macros.workspace = true commonware-math.workspace = true commonware-parallel.workspace = true commonware-utils.workspace = true ed25519-consensus = { workspace = true, optional = true } rand_core.workspace = true sha2 = { workspace = true, features = [ "zeroize" ] } subtle.workspace = true x25519-dalek = { workspace = true, optional = true } zeroize = { workspace = true, features = [ "zeroize_derive" ] } [dev-dependencies] arbitrary = { workspace = true, features = [ "derive" ] } commonware-conformance.workspace = true commonware-invariants.workspace = true commonware-parallel = { workspace = true, features = [ "std" ] } commonware-utils = { workspace = true, features = [ "std" ] } criterion.workspace = true ed25519-consensus.workspace = true x25519-dalek.workspace = true [lib] bench = false [[bench]] name = "batch_verify" harness = false path = "benches/batch_verify.rs" [features] default = [ "std" ] arbitrary = [ "commonware-codec/arbitrary", "commonware-math/arbitrary", "commonware-utils/arbitrary", "dep:arbitrary", ] fuzz = [ "arbitrary", "arbitrary/derive", "dep:arbitrary", "dep:ed25519-consensus", "dep:x25519-dalek", "std", ] std = [ "bytes/std", "commonware-codec/std", "commonware-formatting/std", "commonware-macros/std", "commonware-math/std", "commonware-parallel/std", "commonware-utils/std", "subtle/std", "zeroize/std", ]