diff --git a/coins/monero/Cargo.toml b/coins/monero/Cargo.toml index 10001ea5..ba0be578 100644 --- a/coins/monero/Cargo.toml +++ b/coins/monero/Cargo.toml @@ -31,7 +31,7 @@ dalek-ff-group = { path = "../../crypto/dalek-ff-group" } transcript = { package = "flexible-transcript", path = "../../crypto/transcript", features = ["recommended"], optional = true } frost = { package = "modular-frost", path = "../../crypto/frost", features = ["ed25519"], optional = true } -dleq = { path = "../../crypto/dleq", features = ["serialize"], optional = true } +dleq = { package = "dleq-serai", path = "../../crypto/dleq", features = ["serialize"], optional = true } hex = "0.4" serde = { version = "1.0", features = ["derive"] } diff --git a/crypto/dalek-ff-group/Cargo.toml b/crypto/dalek-ff-group/Cargo.toml index a0625ca1..1e88927a 100644 --- a/crypto/dalek-ff-group/Cargo.toml +++ b/crypto/dalek-ff-group/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "dalek-ff-group" -version = "0.1.1" +version = "0.1.2" description = "ff/group bindings around curve25519-dalek" license = "MIT" repository = "https://github.com/serai-dex/serai" diff --git a/crypto/dleq/Cargo.toml b/crypto/dleq/Cargo.toml index e1a018d1..131f6189 100644 --- a/crypto/dleq/Cargo.toml +++ b/crypto/dleq/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "dleq" +name = "dleq-serai" version = "0.1.0" description = "Implementation of single and cross-curve Discrete Log Equality proofs" license = "MIT" diff --git a/crypto/dleq/src/tests/cross_group/mod.rs b/crypto/dleq/src/tests/cross_group/mod.rs index 9e7043f6..bf9b8548 100644 --- a/crypto/dleq/src/tests/cross_group/mod.rs +++ b/crypto/dleq/src/tests/cross_group/mod.rs @@ -7,9 +7,9 @@ use group::{Group, GroupEncoding}; use blake2::{Digest, Blake2b512}; use k256::{Scalar, ProjectivePoint}; -use dalek_ff_group::{self as dfg, EdwardsPoint, CompressedEdwardsY}; +use dalek_ff_group::{self as dfg, EdwardsPoint}; -use transcript::RecommendedTranscript; +use transcript::{Transcript, RecommendedTranscript}; use crate::{ Generators, @@ -41,9 +41,9 @@ pub(crate) fn generators() -> (Generators, Generators) { Generators::new( EdwardsPoint::generator(), - CompressedEdwardsY::new( - hex!("8b655970153799af2aeadc9ff1add0ea6c7251d54154cfa92c173a0dd39c1f94") - ).decompress().unwrap() + EdwardsPoint::from_bytes( + &hex!("8b655970153799af2aeadc9ff1add0ea6c7251d54154cfa92c173a0dd39c1f94") + ).unwrap() ) ) } diff --git a/crypto/dleq/src/tests/cross_group/schnorr.rs b/crypto/dleq/src/tests/cross_group/schnorr.rs index 857044db..f45d85b4 100644 --- a/crypto/dleq/src/tests/cross_group/schnorr.rs +++ b/crypto/dleq/src/tests/cross_group/schnorr.rs @@ -3,7 +3,7 @@ use rand_core::OsRng; use group::{ff::{Field, PrimeFieldBits}, prime::PrimeGroup}; use multiexp::BatchVerifier; -use transcript::RecommendedTranscript; +use transcript::{Transcript, RecommendedTranscript}; use crate::cross_group::schnorr::SchnorrPoK; diff --git a/crypto/dleq/src/tests/mod.rs b/crypto/dleq/src/tests/mod.rs index 781c4840..27e53b4b 100644 --- a/crypto/dleq/src/tests/mod.rs +++ b/crypto/dleq/src/tests/mod.rs @@ -9,7 +9,7 @@ use group::GroupEncoding; use k256::{Scalar, ProjectivePoint}; -use transcript::RecommendedTranscript; +use transcript::{Transcript, RecommendedTranscript}; use crate::{Generators, DLEqProof}; diff --git a/crypto/frost/Cargo.toml b/crypto/frost/Cargo.toml index e68c166b..95304001 100644 --- a/crypto/frost/Cargo.toml +++ b/crypto/frost/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "modular-frost" -version = "0.1.0" +version = "0.2.0" description = "Modular implementation of FROST over ff/group" license = "MIT" repository = "https://github.com/serai-dex/serai" @@ -26,9 +26,9 @@ dalek-ff-group = { path = "../dalek-ff-group", version = "0.1", optional = true transcript = { package = "flexible-transcript", path = "../transcript", version = "0.1" } -multiexp = { path = "../multiexp", version = "0.1", features = ["batch"] } +multiexp = { path = "../multiexp", version = "0.2", features = ["batch"] } -dleq = { package = "dleq", path = "../dleq", version = "0.1", features = ["serialize"] } +dleq = { package = "dleq-serai", path = "../dleq", version = "0.1", features = ["serialize"] } [dev-dependencies] rand = "0.8" diff --git a/crypto/frost/src/sign.rs b/crypto/frost/src/sign.rs index 7a00de7e..05be2d30 100644 --- a/crypto/frost/src/sign.rs +++ b/crypto/frost/src/sign.rs @@ -221,6 +221,8 @@ fn sign_with_share>( // Re-format into the FROST-expected rho transcript let mut rho_transcript = A::Transcript::new(b"FROST_rho"); rho_transcript.append_message(b"message", &C::hash_msg(&msg)); + // This won't just be the commitments, yet the full existing transcript if used in an extended + // protocol rho_transcript.append_message( b"commitments", &C::hash_msg(transcript.challenge(b"commitments").as_ref()) diff --git a/crypto/multiexp/Cargo.toml b/crypto/multiexp/Cargo.toml index 0342f0ee..67d89b92 100644 --- a/crypto/multiexp/Cargo.toml +++ b/crypto/multiexp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "multiexp" -version = "0.1.0" +version = "0.2.0" description = "Multiexponentation algorithms for ff/group" license = "MIT" repository = "https://github.com/serai-dex/serai" diff --git a/crypto/transcript/Cargo.toml b/crypto/transcript/Cargo.toml index 06790af4..777a0c5f 100644 --- a/crypto/transcript/Cargo.toml +++ b/crypto/transcript/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "flexible-transcript" -version = "0.1.2" +version = "0.1.3" description = "A simple transcript trait definition, along with viable options" license = "MIT" repository = "https://github.com/serai-dex/serai" diff --git a/processor/Cargo.toml b/processor/Cargo.toml index c0a88e4f..df4dbcb7 100644 --- a/processor/Cargo.toml +++ b/processor/Cargo.toml @@ -3,7 +3,9 @@ name = "serai-processor" version = "0.1.0" description = "Multichain processor premised on canonicity to reach distributed consensus automatically" license = "AGPL-3.0-only" +repository = "https://github.com/serai-dex/processor" authors = ["Luke Parker "] +keywords = [] edition = "2021" publish = false