reddsa/Cargo.toml

73 lines
2.1 KiB
TOML
Raw Normal View History

2019-12-02 14:12:06 -08:00
[package]
2021-03-01 06:38:25 -08:00
name = "reddsa"
edition = "2021"
2023-07-11 08:34:21 -07:00
rust-version = "1.65"
2023-11-22 09:19:52 -08:00
# Refer to DEVELOPERS.md for guidance on making new releases.
2023-07-11 08:34:21 -07:00
version = "0.5.1"
2021-03-01 06:38:25 -08:00
authors = [
"Henry de Valence <hdevalence@hdevalence.ca>",
"Deirdre Connolly <durumcrustulum@gmail.com>",
"Chelsea Komlo <me@chelseakomlo.com>",
"Jack Grigg <jack@electriccoin.co>",
"Conrado Gouvea <conradoplg@gmail.com>",
2021-03-01 06:38:25 -08:00
]
2019-12-09 13:20:56 -08:00
readme = "README.md"
license = "MIT OR Apache-2.0"
2021-03-01 06:38:25 -08:00
repository = "https://github.com/ZcashFoundation/reddsa"
2022-05-10 15:54:11 -07:00
categories = ["cryptography", "no-std"]
2021-03-01 06:38:25 -08:00
keywords = ["cryptography", "crypto", "zcash"]
description = "A standalone implementation of the RedDSA signature scheme."
2019-12-09 13:20:56 -08:00
[package.metadata.docs.rs]
features = ["nightly"]
2019-12-02 14:12:06 -08:00
[dependencies]
blake2b_simd = { version = "1", default-features = false }
byteorder = { version = "1.5", default-features = false }
group = { version = "0.13", default-features = false }
hex = { version = "0.4", optional = true, default-features = false, features = ["alloc"] }
jubjub = { version = "0.10", default-features = false }
pasta_curves = { version = "0.5", default-features = false }
rand_core = { version = "0.6", default-features = false }
serde = { version = "1", optional = true, features = ["derive"] }
thiserror = { version = "1.0", optional = true }
frost-rerandomized = { version = "1.0.0", optional = true }
[dependencies.zeroize]
version = "1"
features = ["zeroize_derive"]
optional = true
2019-12-02 21:32:38 -08:00
[dev-dependencies]
bincode = "1"
criterion = "0.5"
hex = "0.4.3"
proptest-derive = "0.4"
lazy_static = "1.4"
proptest = "1.4"
rand = "0.8"
rand_chacha = "0.3"
Implement the messages spec (#114) * start messages and validation * add missing docs to constants * change validation to matches, fix constant doc Co-authored-by: teor <teor@riseup.net> * fix the build * validate share_commitment * add new constants and validations * fix validation * derive serde Serialize and Deserialize in all messages structs * update created structs Co-authored-by: teor <teor@riseup.net> * fix build * define and use a new MAX_SIGNERS constant * change group_public type * add some test cases * add validation and serialization tests for SigningCommitments * add validation and serialization test to SigningPackage * change some fields order matching the spec * fix field order in tests according to last updates to the spec * implement serialize and deserialize for ParticipantId * move serde-json to dev-dependencies section * change to pub(crate) * fix serialize of VerificationKey * add assert to serialize * add note, fix typo * improve some code in tests * test serialization of individual fields * start messages and validation * add missing docs to constants * change validation to matches, fix constant doc Co-authored-by: teor <teor@riseup.net> * fix the build * validate share_commitment * add new constants and validations * fix validation * define and use a new MAX_SIGNERS constant * change group_public type * change some fields order matching the spec * change message fields to new spec * remove some non needed conversions * use a BTreeMap to guarantee the order * remove some calls to `clone()` by implementing `Copy` * change message type in frost and add validate_signatureshare test * change `share_commitment` to BTreeMap * add `serialize_signatureshare` test * add aggregatesignature tests * add some test header messages utility functions * add a setup utility * move the general serialization checks into an utility function * fi some typos * add and use a `generate_share_commitment` utility * add create_signing_commitments utility function * improve the serialization tests * make room for prop tests * add arbitrary tests for serialization * remove allow dead code from messages * fix some imports * make signature module public only to the crate * simplify a bit the frost tests * improve the generated docs * add a `prop_filter` to Header arbitrary * (ab)use proptest_derive * improve validation for Message * improve some utility functions * change frost to serialization id conversion * add a quick btreemap test * change the `MsgType` to `u32` * add no leftover bytes checks * add a full_setup utility * add map len checks Co-authored-by: teor <teor@riseup.net>
2021-06-16 12:13:23 -07:00
serde_json = "1.0"
num-bigint = "0.4.3"
num-traits = "0.2.18"
frost-rerandomized = { version = "1.0.0", features = ["test-impl"] }
# `alloc` is only used in test code
[dev-dependencies.pasta_curves]
version = "0.5"
default-features = false
features = ["alloc"]
2019-12-02 21:32:38 -08:00
[features]
std = ["blake2b_simd/std", "thiserror", "zeroize", "alloc",
"serde"] # conditional compilation for serde not complete (issue #9)
alloc = ["hex"]
2019-12-02 21:32:38 -08:00
nightly = []
frost = ["std", "frost-rerandomized"]
serde = ["dep:serde", "frost-rerandomized?/serde"]
default = ["std"]
[[bench]]
name = "bench"
harness = false