Cargo.toml 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. [package]
  2. name = "cmz"
  3. version = "0.3.0"
  4. edition = "2021"
  5. license = "MIT"
  6. repository = "https://git-crysp.uwaterloo.ca/SigmaProtocol/cmz"
  7. description = "A crate to automatically create protocols that use CMZ14 or µCMZ credentials, by specifying an extremely compact description of the protocol."
  8. [dependencies]
  9. cmz-derive = "=0.3.0"
  10. ff = "0.13"
  11. generic_static = "0.2"
  12. group = "0.13"
  13. hash2group = { version = "0.1.1", features = [ "rfc9380" ] }
  14. hex = { version = "0.4", features = [ "serde" ] }
  15. lazy_static = "1"
  16. postcard = { version = "1", features = [ "alloc" ] }
  17. rand = "0.8.5"
  18. serde = { version = "1", features = [ "derive" ] }
  19. serde_bytes = "0.11"
  20. serde_with = "3"
  21. sha2 = "0.11"
  22. sigma-compiler = "0.2.3"
  23. thiserror = "2"
  24. [dev-dependencies]
  25. chrono = "0.4"
  26. curve25519-dalek = { version = "4", features = [ "group", "rand_core" ] }
  27. # Used for testing co-habitating with a second PrimeGroup.
  28. p256 = { version = "0.13", features = [ "arithmetic" ] }
  29. # Enable both test group implementations regardless of the cmz feature set.
  30. hash2group = { version = "0.1.1", features = [ "curve25519-dalek", "p256" ] }
  31. [patch.crates-io]
  32. cmz-derive = { path = "cmz-derive" }
  33. cmz-core = { path = "cmz-core" }
  34. # Until the draft-v3 line of these crates is released, take them from the
  35. # branches the rewrite lives on.
  36. sigma-compiler = { git = "https://github.com/sigma-rs/sigma-compiler", branch = "mu/draft-v3" }
  37. sigma-compiler-derive = { git = "https://github.com/sigma-rs/sigma-compiler", branch = "mu/draft-v3" }
  38. sigma-compiler-core = { git = "https://github.com/sigma-rs/sigma-compiler", branch = "mu/draft-v3" }
  39. sigma-proofs = { git = "https://github.com/sigma-rs/sigma-proofs", branch = "mu/draft-v3" }
  40. spongefish = { git = "https://github.com/arkworks-rs/spongefish", branch = "mu/draft-v3" }
  41. [features]
  42. # Hash-to-group implementations available to the automatic CMZ generator
  43. # derivation. Ristretto remains the default group used by the examples and
  44. # downstream applications; other groups are opt-in to avoid pulling every
  45. # curve implementation into every build.
  46. default = [ "curve25519-dalek" ]
  47. curve25519-dalek = [ "hash2group/curve25519-dalek" ]
  48. k256 = [ "hash2group/k256" ]
  49. p256 = [ "hash2group/p256" ]
  50. # Dump (to stdout or to a string) the value of the instance on both the
  51. # prover's and verifier's side. They should match.
  52. dump = [ "sigma-compiler/dump" ]
  53. # If the group::WnafBase multiplication implementation becomes constant
  54. # time (and faster than not using it), turn this on.
  55. wnaf_is_constant_time = []