wip2
arnaucube git@arnaucube.com
Fri, 27 Dec 2024 16:01:39 +0100
2 files changed,
7 insertions(+),
11 deletions(-)
M
src/eddsa.rs
→
src/eddsa.rs
@@ -4,8 +4,9 @@ poseidon::{PoseidonConfig, PoseidonSponge},
Absorb, CryptographicSponge, }; use ark_ec::{ - twisted_edwards::{Affine, TECurveConfig}, - AffineRepr, CurveGroup, + // twisted_edwards::{Affine, TECurveConfig}, + AffineRepr, + CurveGroup, }; use ark_ff::{BigInteger, PrimeField}; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
M
src/signature.rs
→
src/signature.rs
@@ -1,8 +1,5 @@
-use ark_ec::twisted_edwards::Affine; -use ark_ec::twisted_edwards::TECurveConfig; -use ark_ec::CurveGroup; -use ark_serialize::CanonicalDeserialize; -use ark_serialize::CanonicalSerialize; +use ark_ec::{AffineRepr, CurveGroup}; +use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; /// `SignatureComponents` contains the realized parts of a signature #[derive(Copy, Clone, Debug, PartialEq, CanonicalSerialize, CanonicalDeserialize)]@@ -12,7 +9,6 @@ pub s: C::ScalarField,
} impl<C: CurveGroup + Clone> Signature<C> { - /* /// Serializes the signature components to bytes as uncompressed. /// Expect output size to be `size_of(C::BaseField) * 2 + size_of(C::ScalarField)` pub fn to_bytes(&self) -> Vec<u8> {@@ -25,8 +21,8 @@
/// Checked deserialization of the signature components from bytes. /// Expects input size to be `size_of(C::BaseField) * 2 + size_of(C::ScalarField)` pub fn from_bytes(bytes: &[u8]) -> Result<Self, Box<dyn ark_std::error::Error>> { - let point_size = C::Affine::Config::serialized_size(ark_serialize::Compress::No); - (bytes.len() == 32 + C::Affine::Config::serialized_size(ark_serialize::Compress::No)) + let point_size = C::Affine::generator().serialized_size(ark_serialize::Compress::No); + (bytes.len() == 32 + point_size) .then_some(true) .ok_or(ark_serialize::SerializationError::InvalidData)?;@@ -37,7 +33,6 @@ let r = C::Affine::deserialize_uncompressed(&bytes[00..off1])?;
let s = C::ScalarField::deserialize_uncompressed(&bytes[off1..off2])?; Ok(Signature { r, s }) } - */ pub fn new(r: C::Affine, s: C::ScalarField) -> Self { Self { r, s }