diff --git a/plonky2/src/curve/ecdsa.rs b/plonky2/src/curve/ecdsa.rs index c84c4c10..3a5d3c7a 100644 --- a/plonky2/src/curve/ecdsa.rs +++ b/plonky2/src/curve/ecdsa.rs @@ -2,12 +2,16 @@ use crate::curve::curve_msm::msm_parallel; use crate::curve::curve_types::{base_to_scalar, AffinePoint, Curve, CurveScalar}; use crate::field::field_types::Field; +#[derive(Copy, Clone, Debug)] pub struct ECDSASignature { pub r: C::ScalarField, pub s: C::ScalarField, } +#[derive(Copy, Clone, Debug)] pub struct ECDSASecretKey(pub C::ScalarField); + +#[derive(Copy, Clone, Debug)] pub struct ECDSAPublicKey(pub AffinePoint); pub fn sign_message(msg: C::ScalarField, sk: ECDSASecretKey) -> ECDSASignature { diff --git a/plonky2/src/gadgets/ecdsa.rs b/plonky2/src/gadgets/ecdsa.rs index eba04d85..0a95e189 100644 --- a/plonky2/src/gadgets/ecdsa.rs +++ b/plonky2/src/gadgets/ecdsa.rs @@ -7,9 +7,13 @@ use crate::gadgets::nonnative::NonNativeTarget; use crate::hash::hash_types::RichField; use crate::plonk::circuit_builder::CircuitBuilder; +#[derive(Clone, Debug)] pub struct ECDSASecretKeyTarget(NonNativeTarget); + +#[derive(Clone, Debug)] pub struct ECDSAPublicKeyTarget(AffinePointTarget); +#[derive(Clone, Debug)] pub struct ECDSASignatureTarget { pub r: NonNativeTarget, pub s: NonNativeTarget,