mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-13 14:39:25 +00:00
Add Ristretto eVRF trait impls
This commit is contained in:
@@ -95,5 +95,6 @@ evrf = [
|
|||||||
]
|
]
|
||||||
evrf-secp256k1 = ["evrf", "ciphersuite/secp256k1", "secq256k1"]
|
evrf-secp256k1 = ["evrf", "ciphersuite/secp256k1", "secq256k1"]
|
||||||
evrf-ed25519 = ["evrf", "ciphersuite/ed25519", "embedwards25519"]
|
evrf-ed25519 = ["evrf", "ciphersuite/ed25519", "embedwards25519"]
|
||||||
|
evrf-ristretto = ["evrf", "ciphersuite/ristretto", "embedwards25519"]
|
||||||
tests = ["rand_core/getrandom"]
|
tests = ["rand_core/getrandom"]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
|
|||||||
@@ -45,6 +45,12 @@ impl EvrfCurve for ciphersuite::Ed25519 {
|
|||||||
type EmbeddedCurveParameters = embedwards25519::Embedwards25519;
|
type EmbeddedCurveParameters = embedwards25519::Embedwards25519;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "evrf-ristretto")]
|
||||||
|
impl EvrfCurve for ciphersuite::Ristretto {
|
||||||
|
type EmbeddedCurve = embedwards25519::Embedwards25519;
|
||||||
|
type EmbeddedCurveParameters = embedwards25519::Embedwards25519;
|
||||||
|
}
|
||||||
|
|
||||||
fn sample_point<C: Ciphersuite>(rng: &mut (impl RngCore + CryptoRng)) -> C::G {
|
fn sample_point<C: Ciphersuite>(rng: &mut (impl RngCore + CryptoRng)) -> C::G {
|
||||||
let mut repr = <C::G as GroupEncoding>::Repr::default();
|
let mut repr = <C::G as GroupEncoding>::Repr::default();
|
||||||
loop {
|
loop {
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ serde_json = { version = "1", default-features = false, features = ["std"] }
|
|||||||
ciphersuite = { path = "../crypto/ciphersuite", default-features = false, features = ["std", "ristretto"] }
|
ciphersuite = { path = "../crypto/ciphersuite", default-features = false, features = ["std", "ristretto"] }
|
||||||
|
|
||||||
transcript = { package = "flexible-transcript", path = "../crypto/transcript", default-features = false, features = ["std"] }
|
transcript = { package = "flexible-transcript", path = "../crypto/transcript", default-features = false, features = ["std"] }
|
||||||
dkg = { package = "dkg", path = "../crypto/dkg", default-features = false, features = ["std"] }
|
dkg = { package = "dkg", path = "../crypto/dkg", default-features = false, features = ["std", "evrf-ristretto"] }
|
||||||
frost = { package = "modular-frost", path = "../crypto/frost", default-features = false, features = ["ristretto"] }
|
frost = { package = "modular-frost", path = "../crypto/frost", default-features = false, features = ["ristretto"] }
|
||||||
frost-schnorrkel = { path = "../crypto/schnorrkel", default-features = false }
|
frost-schnorrkel = { path = "../crypto/schnorrkel", default-features = false }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user