Skip to content

Commit b6fc869

Browse files
committed
Compression integration (add ark-serialize traits)
1 parent 1edd959 commit b6fc869

File tree

6 files changed

+11
-4
lines changed

6 files changed

+11
-4
lines changed

curves/bn254/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ ark-ff = { workspace = true }
1717
ark-ec = { workspace = true }
1818
ark-std = { workspace = true }
1919
ark-r1cs-std = { workspace = true, optional = true }
20+
ark-serialize = { workspace = true }
2021

2122
[dev-dependencies]
2223
ark-serialize = { workspace = true }

curves/bn254/src/fields/compression.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ use ark_ec::bn::FromPsi6Pow;
44
/// This module contains relevant data structures such as compressible Fq12 and compressed Fq12
55
/// and the relevant compression and conversion functions.
66
use ark_ff::{AdditiveGroup, Field, Fp12, Fp12Config, Fp6Config, MontFp};
7+
use ark_ff::vec::Vec;
8+
use ark_serialize::{ CanonicalDeserialize, CanonicalSerialize};
79

810
pub type CompressibleFq12 = Fp12<CompressibleFq12Config>;
911

1012
// https://eprint.iacr.org/2007/429.pdf Proposition 1
11-
#[derive(Clone, Copy)]
13+
#[derive(Clone, Copy, CanonicalSerialize, CanonicalDeserialize)]
1214
pub struct CompressedFq12(pub (Fq2, Fq2));
1315

1416
#[derive(Clone, Copy)]

ec/src/models/bn/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ use ark_ff::{
1111
},
1212
CyclotomicMultSubgroup,
1313
};
14+
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
1415
use ark_std::{cfg_chunks_mut, marker::PhantomData, vec::*};
1516
use educe::Educe;
1617
use itertools::Itertools;
@@ -221,7 +222,7 @@ pub trait BnConfig: 'static + Sized {
221222
type Fp2Config: Fp2Config<Fp = Self::Fp>;
222223
type Fp6Config: Fp6Config<Fp2Config = Self::Fp2Config>;
223224
type Fp12Config: Fp12Config<Fp6Config = Self::Fp6Config>;
224-
type CompressedFp12Config: FromPsi6Pow<Self> + Sized;
225+
type CompressedFp12Config: FromPsi6Pow<Self> + Sized + Sync + CanonicalDeserialize + CanonicalSerialize;
225226
type G1Config: SWCurveConfig<BaseField = Self::Fp>;
226227
type G2Config: SWCurveConfig<
227228
BaseField = Fp2<Self::Fp2Config>,

ec/src/pairing.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use zeroize::Zeroize;
2020
use crate::{AffineRepr, CurveGroup, PrimeGroup, VariableBaseMSM};
2121

2222
pub trait CompressedPairing: Pairing {
23-
type CompressedTargetField;
23+
type CompressedTargetField: Sync + CanonicalSerialize + CanonicalDeserialize;
2424

2525
fn compressed_final_exponentiation(
2626
f: MillerLoopOutput<Self>,

test-curves/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ ark-std = { workspace = true, default-features = false }
2020
ark-ff = { workspace = true, default-features = false }
2121
ark-ec = { workspace = true, default-features = false }
2222
ark-ff-macros = { workspace = true, default-features = false }
23+
ark-serialize = { workspace = true, default-features = false }
2324

2425
[dev-dependencies]
2526
ark-serialize = { workspace = true, default-features = false }

test-curves/src/bn254/fq12.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
use ark_ec::bn::FromPsi6Pow;
22
use ark_ff::{AdditiveGroup, Field, Fp12, Fp12Config, Fp6Config, MontFp};
3+
use ark_ff::vec::Vec;
4+
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
35

46
use crate::bn254::{Config, Fq, Fq2, Fq6, Fq6Config};
57

@@ -18,7 +20,7 @@ static Q: [u64; 8] = [
1820
];
1921

2022
// https://eprint.iacr.org/2007/429.pdf Proposition 1
21-
#[derive(Clone, Copy)]
23+
#[derive(Clone, Copy, CanonicalSerialize, CanonicalDeserialize)]
2224
pub struct CompressedFq12(pub (Fq2, Fq2));
2325

2426
#[inline]

0 commit comments

Comments
 (0)