diff --git a/src/flp/szk.rs b/src/flp/szk.rs index 72cee5c0..e74f357e 100644 --- a/src/flp/szk.rs +++ b/src/flp/szk.rs @@ -2,14 +2,16 @@ //! A wrapper for the [FLP](crate::flp) proof system as it is used in Mastic. //! -//! [`Szk`] is a wrapper struct for the FLP proof system (accessible through the [`Type`] trait) -//! that is designed to accept inputs that are already secret-shared between two aggregators -//! and returns proofs that are also shared between the two aggregators. The underlying FLP -//! accepts inputs that are vectors over a finite field, and its random coins and proofs are also -//! vectors over the same field. In contrast, only the leader's SZK proof share contains any finite -//! field elements, and the initial coins are bytestrings ([`Seed`]s). The wrapper struct defined -//! here uses an [`Xof`] (to be modeled as a random oracle) to sample coins and the helper's proof share, -//! following a strategy similar to [`Prio3`](crate::vdaf::prio3::Prio3). +//! [`Szk`] is a wrapper struct for the FLP proof system (accessible through the [`Type`] trait). +//! It consists of a method for splitting a measurement into shares and jointly verifying the +//! validating the measurment. +//! +//! The underlying FLP accepts inputs that are vectors over a finite field, and its random coins +//! and proofs are also vectors over the same field. In contrast, only the leader's SZK proof share +//! contains any finite field elements, and the initial coins are bytestrings ([`Seed`]s). The +//! wrapper struct defined here uses an [`Xof`] (to be modeled as a random oracle) to sample coins +//! and the helper's proof share, following a strategy similar to +//! [`Prio3`](crate::vdaf::prio3::Prio3). use crate::{ codec::{CodecError, Decode, Encode, ParameterizedDecode}, @@ -17,7 +19,7 @@ use crate::{ flp::{FlpError, Type}, prng::PrngError, vdaf::{ - mastic::{self, USAGE_PROOF_SHARE}, + mastic::{self, USAGE_PROOF_SHARE, USAGE_WEIGHT_SHARE}, xof::{IntoFieldVec, Seed, Xof, XofTurboShake128}, }, }; @@ -26,8 +28,6 @@ use std::io::Cursor; use std::ops::BitAnd; use subtle::{Choice, ConstantTimeEq}; -// Domain separation tags - /// Errors propagated by methods in this module. #[derive(Debug, thiserror::Error)] #[non_exhaustive] @@ -53,56 +53,64 @@ pub enum SzkError { Codec(#[from] CodecError), } -/// Contains an FLP proof share, and if joint randomness is needed, the blind -/// used to derive it and the other party's joint randomness part. +/// An SZK input share. #[derive(Debug, Clone)] -pub enum SzkProofShare { - /// Leader's proof share is uncompressed. +pub enum SzkInputShare { + /// The leader's input share. Leader { - /// Share of an FLP proof, as a vector of Field elements. + /// Share of the underlying measurement. The Helper's share is derived from its seed. + uncompressed_meas_share: Vec, + + /// Share of the validity proof. The Helper's share is derived from its seed. uncompressed_proof_share: Vec, - /// Set only if joint randomness is needed. The first Seed is a blind, second - /// is the helper's joint randomness part. + + /// Set only if joint randomness is needed for the FLP. The first component is the leader's + /// blind and the second is the helper's joint randomness part. leader_blind_and_helper_joint_rand_part_opt: Option<(Seed<32>, Seed<32>)>, }, - /// The Helper uses one seed for both its compressed proof share and as the blind for its joint - /// randomness. + + /// The helper's input share. Helper { - /// The Seed that acts both as the compressed proof share and, optionally, as the blind. - proof_share_seed_and_blind: Seed<32>, - /// The leader's joint randomness part, if needed. + /// Used to derive the helper's input and proof shares and its blind for FLP joint + /// randomness computation. + share_seed_and_blind: Seed<32>, + /// Set only if joint randomness is needed for the FLP. leader_joint_rand_part_opt: Option>, }, } -impl PartialEq for SzkProofShare { - fn eq(&self, other: &SzkProofShare) -> bool { +impl PartialEq for SzkInputShare { + fn eq(&self, other: &SzkInputShare) -> bool { bool::from(self.ct_eq(other)) } } -impl ConstantTimeEq for SzkProofShare { - fn ct_eq(&self, other: &SzkProofShare) -> Choice { +impl ConstantTimeEq for SzkInputShare { + fn ct_eq(&self, other: &SzkInputShare) -> Choice { match (self, other) { ( - SzkProofShare::Leader { + SzkInputShare::Leader { + uncompressed_meas_share: s_meas, uncompressed_proof_share: s_proof, leader_blind_and_helper_joint_rand_part_opt: s_blind, }, - SzkProofShare::Leader { + SzkInputShare::Leader { + uncompressed_meas_share: o_meas, uncompressed_proof_share: o_proof, leader_blind_and_helper_joint_rand_part_opt: o_blind, }, - ) => s_proof[..] - .ct_eq(&o_proof[..]) - .bitand(option_tuple_ct_eq(s_blind, o_blind)), + ) => s_meas.ct_eq(o_meas).bitand( + s_proof[..] + .ct_eq(&o_proof[..]) + .bitand(option_tuple_ct_eq(s_blind, o_blind)), + ), ( - SzkProofShare::Helper { - proof_share_seed_and_blind: s_seed, + SzkInputShare::Helper { + share_seed_and_blind: s_seed, leader_joint_rand_part_opt: s_rand, }, - SzkProofShare::Helper { - proof_share_seed_and_blind: o_seed, + SzkInputShare::Helper { + share_seed_and_blind: o_seed, leader_joint_rand_part_opt: o_rand, }, ) => s_seed.ct_eq(o_seed).bitand(option_ct_eq(s_rand, o_rand)), @@ -111,41 +119,45 @@ impl ConstantTimeEq for SzkProofShare { } } -impl Encode for SzkProofShare { +impl Encode for SzkInputShare { fn encode(&self, bytes: &mut Vec) -> Result<(), CodecError> { match self { - SzkProofShare::Leader { + SzkInputShare::Leader { + uncompressed_meas_share, uncompressed_proof_share, leader_blind_and_helper_joint_rand_part_opt, - } => ( - encode_fieldvec(uncompressed_proof_share, bytes)?, + } => { if let Some((blind, helper_joint_rand_part)) = leader_blind_and_helper_joint_rand_part_opt { blind.encode(bytes)?; helper_joint_rand_part.encode(bytes)?; - }, - ), - SzkProofShare::Helper { - proof_share_seed_and_blind, + } + encode_fieldvec(uncompressed_meas_share, bytes)?; + encode_fieldvec(uncompressed_proof_share, bytes)?; + } + SzkInputShare::Helper { + share_seed_and_blind, leader_joint_rand_part_opt, - } => ( - proof_share_seed_and_blind.encode(bytes)?, + } => { + share_seed_and_blind.encode(bytes)?; if let Some(leader_joint_rand_part) = leader_joint_rand_part_opt { leader_joint_rand_part.encode(bytes)?; - }, - ), + } + } }; Ok(()) } fn encoded_len(&self) -> Option { match self { - SzkProofShare::Leader { + SzkInputShare::Leader { + uncompressed_meas_share, uncompressed_proof_share, leader_blind_and_helper_joint_rand_part_opt, } => Some( - uncompressed_proof_share.len() * F::ENCODED_SIZE + uncompressed_meas_share.len() * F::ENCODED_SIZE + + uncompressed_proof_share.len() * F::ENCODED_SIZE + if let Some((blind, helper_joint_rand_part)) = leader_blind_and_helper_joint_rand_part_opt { @@ -154,11 +166,11 @@ impl Encode for SzkProofShare { 0 }, ), - SzkProofShare::Helper { - proof_share_seed_and_blind, + SzkInputShare::Helper { + share_seed_and_blind, leader_joint_rand_part_opt, } => Some( - proof_share_seed_and_blind.encoded_len()? + share_seed_and_blind.encoded_len()? + if let Some(leader_joint_rand_part) = leader_joint_rand_part_opt { leader_joint_rand_part.encoded_len()? } else { @@ -169,24 +181,25 @@ impl Encode for SzkProofShare { } } -impl ParameterizedDecode<(bool, usize, bool)> for SzkProofShare { +impl ParameterizedDecode<(&Szk, bool)> for SzkInputShare { fn decode_with_param( - (is_leader, proof_len, requires_joint_rand): &(bool, usize, bool), + (szk, is_leader): &(&Szk, bool), bytes: &mut Cursor<&[u8]>, ) -> Result { if *is_leader { - Ok(SzkProofShare::Leader { - uncompressed_proof_share: decode_fieldvec::(*proof_len, bytes)?, - leader_blind_and_helper_joint_rand_part_opt: if *requires_joint_rand { + Ok(SzkInputShare::Leader { + leader_blind_and_helper_joint_rand_part_opt: if szk.typ.joint_rand_len() > 0 { Some((Seed::decode(bytes)?, Seed::decode(bytes)?)) } else { None }, + uncompressed_meas_share: decode_fieldvec(szk.typ.input_len(), bytes)?, + uncompressed_proof_share: decode_fieldvec(szk.typ.proof_len(), bytes)?, }) } else { - Ok(SzkProofShare::Helper { - proof_share_seed_and_blind: Seed::decode(bytes)?, - leader_joint_rand_part_opt: if *requires_joint_rand { + Ok(SzkInputShare::Helper { + share_seed_and_blind: Seed::decode(bytes)?, + leader_joint_rand_part_opt: if szk.typ.joint_rand_len() > 0 { Some(Seed::decode(bytes)?) } else { None @@ -196,7 +209,7 @@ impl ParameterizedDecode<(bool, usize, bool)> for SzkP } } -/// A tuple containing the state and messages produced by an SZK query. +/// SZK query share. #[derive(Clone, Debug, PartialEq)] pub struct SzkQueryShare { joint_rand_part_opt: Option>, @@ -238,7 +251,7 @@ impl ParameterizedDecode<(bool, usize)> for SzkQuerySh } } -/// Szk query state. +/// SZK query state. /// /// The state that needs to be stored by an Szk verifier between query() and decide(). pub(crate) type SzkQueryState = Option>; @@ -279,12 +292,11 @@ impl ParameterizedDecode for SzkJointShare { } } -/// Main struct encapsulating the shared zero-knowledge functionality. The type -/// T is the underlying FLP proof system. P is the XOF used to derive all random -/// coins (it should be indifferentiable from a random oracle for security.) +/// Main struct encapsulating the shared zero-knowledge functionality. The type `T` is the +/// underlying FLP proof system. #[derive(Clone, Debug)] pub struct Szk { - /// The Type representing the specific FLP system used to prove validity of an input. + /// The Type representing the specific FLP system used to prove validity of a measurement. pub(crate) typ: T, id: [u8; 4], } @@ -374,6 +386,19 @@ impl Szk { (joint_rand_seed, joint_rand) } + pub(crate) fn derive_helper_meas_share( + &self, + meas_share_seed: &Seed<32>, + ctx: &[u8], + ) -> Vec { + XofTurboShake128::seed_stream( + meas_share_seed, + &[&mastic::dst_usage(USAGE_WEIGHT_SHARE), &self.id, ctx], + &[], + ) + .into_field_vec(self.typ.input_len()) + } + fn derive_helper_proof_share(&self, proof_share_seed: &Seed<32>, ctx: &[u8]) -> Vec { XofTurboShake128::seed_stream( proof_share_seed, @@ -404,26 +429,27 @@ impl Szk { self.typ.joint_rand_len() > 0 } - /// Used by a client to prove validity (according to an FLP system) of an input - /// that is both shared between the leader and helper - /// and encoded as a measurement. Has a precondition that leader_input_share - /// \+ helper_input_share = encoded_measurement. - /// leader_seed_opt should be set only if the underlying FLP system requires - /// joint randomness. - /// In this case, the helper uses the same seed to derive its proof share and - /// joint randomness. - #[allow(clippy::too_many_arguments)] + /// Produce SZK input shares for a given encoded measurement. + /// + /// `leader_seed_opt` should be set if and only if the underlying FLP system requires joint + /// randomness. In this case, the helper uses the same seed to derive its proof share and joint + /// randomness. pub(crate) fn prove( &self, ctx: &[u8], - leader_input_share: &[T::Field], - helper_input_share: &[T::Field], encoded_measurement: &[T::Field], rand_seeds: [Seed<32>; 2], leader_seed_opt: Option>, nonce: &[u8; 16], - ) -> Result<[SzkProofShare; 2], SzkError> { + ) -> Result<[SzkInputShare; 2], SzkError> { let [prove_rand_seed, helper_seed] = rand_seeds; + + let mut leader_meas_share = encoded_measurement.to_vec(); + let helper_meas_share = &self.derive_helper_meas_share(&helper_seed, ctx); + for (x, y) in leader_meas_share.iter_mut().zip(helper_meas_share) { + *x -= *y; + } + // If joint randomness is used, derive it from the two input shares, // the seeds used to blind the derivation, and the nonce. Pass the // leader its blinding seed and the helper's joint randomness part, and @@ -432,9 +458,9 @@ impl Szk { let (leader_blind_and_helper_joint_rand_part_opt, leader_joint_rand_part_opt, joint_rand) = if let Some(leader_seed) = leader_seed_opt { let leader_joint_rand_part = - self.derive_joint_rand_part(&leader_seed, leader_input_share, nonce, ctx)?; + self.derive_joint_rand_part(&leader_seed, &leader_meas_share, nonce, ctx)?; let helper_joint_rand_part = - self.derive_joint_rand_part(&helper_seed, helper_input_share, nonce, ctx)?; + self.derive_joint_rand_part(&helper_seed, helper_meas_share, nonce, ctx)?; let (_joint_rand_seed, joint_rand) = self.derive_joint_rand_and_seed( &leader_joint_rand_part, &helper_joint_rand_part, @@ -463,12 +489,13 @@ impl Szk { } // Construct the output messages. - let leader_proof_share = SzkProofShare::Leader { + let leader_proof_share = SzkInputShare::Leader { + uncompressed_meas_share: leader_meas_share, uncompressed_proof_share: leader_proof_share, leader_blind_and_helper_joint_rand_part_opt, }; - let helper_proof_share = SzkProofShare::Helper { - proof_share_seed_and_blind: helper_seed, + let helper_proof_share = SzkInputShare::Helper { + share_seed_and_blind: helper_seed, leader_joint_rand_part_opt, }; Ok([leader_proof_share, helper_proof_share]) @@ -478,31 +505,43 @@ impl Szk { &self, ctx: &[u8], level: u16, // level of the prefix tree - input_share: &[T::Field], - proof_share: &SzkProofShare, + szk_input_share: &SzkInputShare, verify_key: &[u8; 32], nonce: &[u8; 16], ) -> Result<(SzkQueryShare, SzkQueryState), SzkError> { let query_rand = self.derive_query_rand(verify_key, nonce, level, ctx); - let flp_proof_share = match proof_share { - SzkProofShare::Leader { + let (flp_input_share, flp_proof_share) = match szk_input_share { + SzkInputShare::Leader { + ref uncompressed_meas_share, ref uncompressed_proof_share, .. - } => Cow::Borrowed(uncompressed_proof_share), - SzkProofShare::Helper { - ref proof_share_seed_and_blind, + } => ( + Cow::Borrowed(uncompressed_meas_share), + Cow::Borrowed(uncompressed_proof_share), + ), + SzkInputShare::Helper { + ref share_seed_and_blind, .. - } => Cow::Owned(self.derive_helper_proof_share(proof_share_seed_and_blind, ctx)), + } => ( + Cow::Owned(self.derive_helper_meas_share(share_seed_and_blind, ctx)), + Cow::Owned(self.derive_helper_proof_share(share_seed_and_blind, ctx)), + ), }; let (joint_rand, joint_rand_seed, joint_rand_part) = if self.requires_joint_rand() { - let ((joint_rand_seed, joint_rand), host_joint_rand_part) = match proof_share { - SzkProofShare::Leader { + let ((joint_rand_seed, joint_rand), host_joint_rand_part) = match szk_input_share { + SzkInputShare::Leader { + uncompressed_meas_share: _, uncompressed_proof_share: _, leader_blind_and_helper_joint_rand_part_opt, } => match leader_blind_and_helper_joint_rand_part_opt { Some((seed, helper_joint_rand_part)) => { - match self.derive_joint_rand_part(seed, input_share, nonce, ctx) { + match self.derive_joint_rand_part( + seed, + flp_input_share.as_ref(), + nonce, + ctx, + ) { Ok(leader_joint_rand_part) => ( self.derive_joint_rand_and_seed( &leader_joint_rand_part, @@ -520,13 +559,13 @@ impl Szk { )) } }, - SzkProofShare::Helper { - proof_share_seed_and_blind, + SzkInputShare::Helper { + share_seed_and_blind, leader_joint_rand_part_opt, } => match leader_joint_rand_part_opt { Some(leader_joint_rand_part) => match self.derive_joint_rand_part( - proof_share_seed_and_blind, - input_share, + share_seed_and_blind, + flp_input_share.as_ref(), nonce, ctx, ) { @@ -556,7 +595,7 @@ impl Szk { (Vec::new(), None, None) }; let verifier_share = self.typ.query( - input_share, + flp_input_share.as_ref(), flp_proof_share.as_ref(), &query_rand, &joint_rand, @@ -670,70 +709,49 @@ mod tests { flp::types::{Count, Sum, SumVec}, flp::Type, }; + use assert_matches::assert_matches; use rand::{thread_rng, Rng}; fn generic_szk_test(typ: T, encoded_measurement: &[T::Field], valid: bool) { let ctx = b"some application context"; let mut nonce = [0u8; 16]; let mut verify_key = [0u8; 32]; - let szk_typ = Szk::new(typ.clone(), 0); + let szk = Szk::new(typ.clone(), 0); thread_rng().fill(&mut verify_key[..]); thread_rng().fill(&mut nonce[..]); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); - let leader_seed_opt = szk_typ - .requires_joint_rand() - .then(|| Seed::generate().unwrap()); - let helper_input_share: Vec = random_vector(szk_typ.typ.input_len()).unwrap(); - let mut leader_input_share = encoded_measurement.to_owned(); - for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { - *x -= *y; - } + let leader_seed_opt = szk.requires_joint_rand().then(|| Seed::generate().unwrap()); - let proof_shares = szk_typ.prove( - ctx, - &leader_input_share, - &helper_input_share, - encoded_measurement, - [prove_rand_seed, helper_seed], - leader_seed_opt, - &nonce, - ); - - let [leader_proof_share, helper_proof_share] = proof_shares.unwrap(); - let (leader_query_share, leader_query_state) = szk_typ - .query( + let [mut leader_input_share, helper_input_share] = szk + .prove( ctx, - 0, - &leader_input_share, - &leader_proof_share, - &verify_key, + encoded_measurement, + [prove_rand_seed, helper_seed], + leader_seed_opt, &nonce, ) .unwrap(); - let (helper_query_share, helper_query_state) = szk_typ - .query( - ctx, - 0, - &helper_input_share, - &helper_proof_share, - &verify_key, - &nonce, - ) + + let (leader_query_share, leader_query_state) = szk + .query(ctx, 0, &leader_input_share, &verify_key, &nonce) + .unwrap(); + let (helper_query_share, helper_query_state) = szk + .query(ctx, 0, &helper_input_share, &verify_key, &nonce) .unwrap(); let joint_share_result = - szk_typ.merge_query_shares(ctx, leader_query_share.clone(), helper_query_share.clone()); + szk.merge_query_shares(ctx, leader_query_share.clone(), helper_query_share.clone()); let joint_share = match joint_share_result { Ok(joint_share) => { - let leader_decision = szk_typ + let leader_decision = szk .decide(leader_query_state.clone(), joint_share.clone()) .is_ok(); assert_eq!( leader_decision, valid, "Leader incorrectly determined validity", ); - let helper_decision = szk_typ + let helper_decision = szk .decide(helper_query_state.clone(), joint_share.clone()) .is_ok(); assert_eq!( @@ -749,9 +767,9 @@ mod tests { }; //test mutated jr seed - if szk_typ.requires_joint_rand() { + if szk.requires_joint_rand() { let joint_rand_seed_opt = Some(Seed::generate().unwrap()); - if let Ok(()) = szk_typ.decide(joint_rand_seed_opt.clone(), joint_share) { + if let Ok(()) = szk.decide(joint_rand_seed_opt.clone(), joint_share) { panic!("Leader accepted wrong jr seed"); }; }; @@ -765,102 +783,89 @@ mod tests { } let joint_share_res = - szk_typ.merge_query_shares(ctx, mutated_query_share, helper_query_share.clone()); + szk.merge_query_shares(ctx, mutated_query_share, helper_query_share.clone()); let leader_decision = match joint_share_res { - Ok(joint_share) => szk_typ - .decide(leader_query_state.clone(), joint_share) - .is_ok(), + Ok(joint_share) => szk.decide(leader_query_state.clone(), joint_share).is_ok(), Err(_) => false, }; assert!(!leader_decision, "Leader validated after proof mutation"); // test mutated input share - let mut mutated_input = leader_input_share.clone(); - mutated_input[0] *= - T::Field::from(::Integer::try_from(23).unwrap()); - let (mutated_query_share, mutated_query_state) = szk_typ - .query( - ctx, - 0, - &mutated_input, - &leader_proof_share, - &verify_key, - &nonce, - ) + assert_matches!(leader_input_share, + SzkInputShare::Leader { ref mut uncompressed_meas_share, ..} => { + uncompressed_meas_share[0] *= T::Field::from(::Integer::try_from(23).unwrap()) + }); + let (mutated_query_share, mutated_query_state) = szk + .query(ctx, 0, &leader_input_share, &verify_key, &nonce) .unwrap(); let joint_share_res = - szk_typ.merge_query_shares(ctx, mutated_query_share, helper_query_share.clone()); + szk.merge_query_shares(ctx, mutated_query_share, helper_query_share.clone()); let leader_decision = match joint_share_res { - Ok(joint_share) => szk_typ.decide(mutated_query_state, joint_share).is_ok(), + Ok(joint_share) => szk.decide(mutated_query_state, joint_share).is_ok(), Err(_) => false, }; assert!(!leader_decision, "Leader validated after input mutation"); // test mutated proof share - let (mut mutated_proof, leader_blind_and_helper_joint_rand_part_opt) = - match leader_proof_share { - SzkProofShare::Leader { - uncompressed_proof_share, - leader_blind_and_helper_joint_rand_part_opt, - } => ( - uncompressed_proof_share, - leader_blind_and_helper_joint_rand_part_opt, - ), - _ => (vec![], None), - }; + let ( + uncompressed_meas_share, + mut mutated_proof, + leader_blind_and_helper_joint_rand_part_opt, + ) = match leader_input_share { + SzkInputShare::Leader { + uncompressed_meas_share, + uncompressed_proof_share, + leader_blind_and_helper_joint_rand_part_opt, + } => ( + uncompressed_meas_share, + uncompressed_proof_share, + leader_blind_and_helper_joint_rand_part_opt, + ), + _ => (vec![], vec![], None), + }; mutated_proof[0] *= T::Field::from(::Integer::try_from(23).unwrap()); - let mutated_proof_share = SzkProofShare::Leader { + let mutated_input_share = SzkInputShare::Leader { + uncompressed_meas_share, uncompressed_proof_share: mutated_proof, leader_blind_and_helper_joint_rand_part_opt, }; - let (leader_query_share, leader_query_state) = szk_typ - .query( - ctx, - 0, - &leader_input_share, - &mutated_proof_share, - &verify_key, - &nonce, - ) + let (leader_query_share, leader_query_state) = szk + .query(ctx, 0, &mutated_input_share, &verify_key, &nonce) .unwrap(); let joint_share_res = - szk_typ.merge_query_shares(ctx, leader_query_share, helper_query_share.clone()); + szk.merge_query_shares(ctx, leader_query_share, helper_query_share.clone()); let leader_decision = match joint_share_res { - Ok(joint_share) => szk_typ - .decide(leader_query_state.clone(), joint_share) - .is_ok(), + Ok(joint_share) => szk.decide(leader_query_state.clone(), joint_share).is_ok(), Err(_) => false, }; assert!(!leader_decision, "Leader validated after proof mutation"); } #[test] - fn test_sum_proof_share_encode() { + fn test_sum_input_share_encode() { let mut nonce = [0u8; 16]; let max_measurement = 13; thread_rng().fill(&mut nonce[..]); let sum = Sum::::new(max_measurement).unwrap(); let encoded_measurement = sum.encode_measurement(&9).unwrap(); - let szk_typ = Szk::new(sum, 0); + let szk = Szk::new(sum, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = Some(Seed::generate().unwrap()); - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [leader_proof_share, _] = szk_typ + let [leader_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, @@ -868,34 +873,32 @@ mod tests { .unwrap(); assert_eq!( - leader_proof_share.encoded_len().unwrap(), - leader_proof_share.get_encoded().unwrap().len() + leader_input_share.encoded_len().unwrap(), + leader_input_share.get_encoded().unwrap().len() ); } #[test] - fn test_sumvec_proof_share_encode() { + fn test_sumvec_input_share_encode() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let sumvec = SumVec::>>::new(5, 3, 3).unwrap(); let encoded_measurement = sumvec.encode_measurement(&vec![1, 16, 0]).unwrap(); - let szk_typ = Szk::new(sumvec, 0); + let szk = Szk::new(sumvec, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = Some(Seed::generate().unwrap()); - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [l_proof_share, _] = szk_typ + let [l_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, @@ -903,33 +906,31 @@ mod tests { .unwrap(); assert_eq!( - l_proof_share.encoded_len().unwrap(), - l_proof_share.get_encoded().unwrap().len() + l_input_share.encoded_len().unwrap(), + l_input_share.get_encoded().unwrap().len() ); } #[test] - fn test_count_proof_share_encode() { + fn test_count_input_share_encode() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let count = Count::::new(); let encoded_measurement = count.encode_measurement(&true).unwrap(); - let szk_typ = Szk::new(count, 0); + let szk = Szk::new(count, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = Some(Seed::generate().unwrap()); - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [l_proof_share, _] = szk_typ + let [l_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, @@ -937,253 +938,208 @@ mod tests { .unwrap(); assert_eq!( - l_proof_share.encoded_len().unwrap(), - l_proof_share.get_encoded().unwrap().len() + l_input_share.encoded_len().unwrap(), + l_input_share.get_encoded().unwrap().len() ); } #[test] - fn test_sum_leader_proof_share_roundtrip() { + fn test_sum_leader_input_share_roundtrip() { let max_measurement = 13; let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let sum = Sum::::new(max_measurement).unwrap(); let encoded_measurement = sum.encode_measurement(&9).unwrap(); - let szk_typ = Szk::new(sum, 0); + let szk = Szk::new(sum, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = None; - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [l_proof_share, _] = szk_typ + let [l_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - true, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = l_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) - .unwrap(); - assert_eq!(l_proof_share, decoded_proof_share); + let encoded_input_share = l_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, true), &encoded_input_share[..]).unwrap(); + assert_eq!(l_input_share, decoded_input_share); } #[test] - fn test_sum_helper_proof_share_roundtrip() { + fn test_sum_helper_input_share_roundtrip() { let max_measurement = 13; let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let sum = Sum::::new(max_measurement).unwrap(); let encoded_measurement = sum.encode_measurement(&9).unwrap(); - let szk_typ = Szk::new(sum, 0); + let szk = Szk::new(sum, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = None; - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [_, h_proof_share] = szk_typ + let [_, h_input_share] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - false, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = h_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) + let encoded_input_share = h_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, false), &encoded_input_share[..]) .unwrap(); - assert_eq!(h_proof_share, decoded_proof_share); + assert_eq!(h_input_share, decoded_input_share); } #[test] - fn test_count_leader_proof_share_roundtrip() { + fn test_count_leader_input_share_roundtrip() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let count = Count::::new(); let encoded_measurement = count.encode_measurement(&true).unwrap(); - let szk_typ = Szk::new(count, 0); + let szk = Szk::new(count, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = None; - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [l_proof_share, _] = szk_typ + let [l_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - true, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = l_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) - .unwrap(); - assert_eq!(l_proof_share, decoded_proof_share); + let encoded_input_share = l_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, true), &encoded_input_share[..]).unwrap(); + assert_eq!(l_input_share, decoded_input_share); } #[test] - fn test_count_helper_proof_share_roundtrip() { + fn test_count_helper_input_share_roundtrip() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let count = Count::::new(); let encoded_measurement = count.encode_measurement(&true).unwrap(); - let szk_typ = Szk::new(count, 0); + let szk = Szk::new(count, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = None; - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [_, h_proof_share] = szk_typ + let [_, h_input_share] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - false, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = h_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) + let encoded_input_share = h_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, false), &encoded_input_share[..]) .unwrap(); - assert_eq!(h_proof_share, decoded_proof_share); + assert_eq!(h_input_share, decoded_input_share); } #[test] - fn test_sumvec_leader_proof_share_roundtrip() { + fn test_sumvec_leader_input_share_roundtrip() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let sumvec = SumVec::>>::new(5, 3, 3).unwrap(); let encoded_measurement = sumvec.encode_measurement(&vec![1, 16, 0]).unwrap(); - let szk_typ = Szk::new(sumvec, 0); + let szk = Szk::new(sumvec, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = Some(Seed::generate().unwrap()); - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [l_proof_share, _] = szk_typ + let [l_input_share, _] = szk .prove( b"some application", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - true, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = l_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) - .unwrap(); - assert_eq!(l_proof_share, decoded_proof_share); + let encoded_input_share = l_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, true), &encoded_input_share[..]).unwrap(); + assert_eq!(l_input_share, decoded_input_share); } #[test] - fn test_sumvec_helper_proof_share_roundtrip() { + fn test_sumvec_helper_input_share_roundtrip() { let mut nonce = [0u8; 16]; thread_rng().fill(&mut nonce[..]); let sumvec = SumVec::>>::new(5, 3, 3).unwrap(); let encoded_measurement = sumvec.encode_measurement(&vec![1, 16, 0]).unwrap(); - let szk_typ = Szk::new(sumvec, 0); + let szk = Szk::new(sumvec, 0); let prove_rand_seed = Seed::generate().unwrap(); let helper_seed = Seed::generate().unwrap(); let leader_seed_opt = Some(Seed::generate().unwrap()); - let helper_input_share = random_vector(szk_typ.typ.input_len()).unwrap(); + let helper_input_share = random_vector(szk.typ.input_len()).unwrap(); let mut leader_input_share = encoded_measurement.clone().to_owned(); for (x, y) in leader_input_share.iter_mut().zip(&helper_input_share) { *x -= *y; } - let [_, h_proof_share] = szk_typ + let [_, h_input_share] = szk .prove( b"some applicqation", - &leader_input_share, - &helper_input_share, - &encoded_measurement[..], + &encoded_measurement, [prove_rand_seed, helper_seed], leader_seed_opt, &nonce, ) .unwrap(); - let decoding_parameter = ( - false, - szk_typ.typ.proof_len(), - szk_typ.typ.joint_rand_len() != 0, - ); - let encoded_proof_share = h_proof_share.get_encoded().unwrap(); - let decoded_proof_share = - SzkProofShare::get_decoded_with_param(&decoding_parameter, &encoded_proof_share[..]) + let encoded_input_share = h_input_share.get_encoded().unwrap(); + let decoded_input_share = + SzkInputShare::get_decoded_with_param(&(&szk, false), &encoded_input_share[..]) .unwrap(); - assert_eq!(h_proof_share, decoded_proof_share); + assert_eq!(h_input_share, decoded_input_share); } #[test] diff --git a/src/vdaf/mastic.rs b/src/vdaf/mastic.rs index a82fb025..14b6865c 100644 --- a/src/vdaf/mastic.rs +++ b/src/vdaf/mastic.rs @@ -9,7 +9,7 @@ use crate::{ codec::{CodecError, Decode, Encode, ParameterizedDecode}, field::{decode_fieldvec, FieldElement, FieldElementWithInteger}, flp::{ - szk::{Szk, SzkJointShare, SzkProofShare, SzkQueryShare, SzkQueryState}, + szk::{Szk, SzkInputShare, SzkJointShare, SzkQueryShare, SzkQueryState}, Type, }, vdaf::{ @@ -20,7 +20,7 @@ use crate::{ }, vidpf::{ Vidpf, VidpfError, VidpfInput, VidpfKey, VidpfPublicShare, VidpfServerId, VidpfWeight, - VIDPF_PROOF_SIZE, + VIDPF_PROOF_SIZE, VIDPF_SEED_SIZE, }, }; @@ -35,17 +35,18 @@ use super::xof::XofTurboShake128; const NONCE_SIZE: usize = 16; pub(crate) const USAGE_PROVE_RAND: u8 = 0; -pub(crate) const USAGE_PROOF_SHARE: u8 = 1; -pub(crate) const USAGE_QUERY_RAND: u8 = 2; -pub(crate) const USAGE_JOINT_RAND_SEED: u8 = 3; -pub(crate) const USAGE_JOINT_RAND_PART: u8 = 4; -pub(crate) const USAGE_JOINT_RAND: u8 = 5; -pub(crate) const USAGE_ONEHOT_CHECK: u8 = 6; -pub(crate) const USAGE_PAYLOAD_CHECK: u8 = 7; -pub(crate) const USAGE_EVAL_PROOF: u8 = 8; -pub(crate) const USAGE_NODE_PROOF: u8 = 9; -pub(crate) const USAGE_EXTEND: u8 = 10; -pub(crate) const USAGE_CONVERT: u8 = 11; +pub(crate) const USAGE_WEIGHT_SHARE: u8 = 1; +pub(crate) const USAGE_PROOF_SHARE: u8 = 2; +pub(crate) const USAGE_QUERY_RAND: u8 = 3; +pub(crate) const USAGE_JOINT_RAND_SEED: u8 = 4; +pub(crate) const USAGE_JOINT_RAND_PART: u8 = 5; +pub(crate) const USAGE_JOINT_RAND: u8 = 6; +pub(crate) const USAGE_ONEHOT_CHECK: u8 = 7; +pub(crate) const USAGE_PAYLOAD_CHECK: u8 = 8; +pub(crate) const USAGE_EVAL_PROOF: u8 = 9; +pub(crate) const USAGE_NODE_PROOF: u8 = 10; +pub(crate) const USAGE_EXTEND: u8 = 11; +pub(crate) const USAGE_CONVERT: u8 = 12; pub(crate) fn dst_usage(usage: u8) -> [u8; 8] { const VERSION: u8 = 0; @@ -67,7 +68,7 @@ pub struct Mastic { impl Mastic { /// Creates a new instance of Mastic, with a specific attribute length and weight type. pub fn new(algorithm_id: u32, typ: T, bits: usize) -> Result { - let vidpf = Vidpf::new(bits, typ.input_len() + 1)?; + let vidpf = Vidpf::new(bits, 1 + typ.output_len())?; let szk = Szk::new(typ, algorithm_id); Ok(Self { id: algorithm_id.to_le_bytes(), @@ -152,19 +153,19 @@ pub struct MasticInputShare { /// VIDPF key share. vidpf_key: VidpfKey, - /// The proof share. - proof_share: SzkProofShare, + /// SZK input share. + szk_input_share: SzkInputShare, } impl Encode for MasticInputShare { fn encode(&self, bytes: &mut Vec) -> Result<(), CodecError> { bytes.extend_from_slice(&self.vidpf_key.0[..]); - self.proof_share.encode(bytes)?; + self.szk_input_share.encode(bytes)?; Ok(()) } fn encoded_len(&self) -> Option { - Some(16 + self.proof_share.encoded_len()?) + Some(VIDPF_SEED_SIZE + self.szk_input_share.encoded_len()?) } } @@ -177,17 +178,11 @@ impl<'a, T: Type> ParameterizedDecode<(&'a Mastic, usize)> for MasticInputSha return Err(CodecError::UnexpectedValue); } let vidpf_key = VidpfKey::decode(bytes)?; - let proof_share = SzkProofShare::decode_with_param( - &( - *agg_id == 0, - mastic.szk.typ.proof_len(), - mastic.szk.typ.joint_rand_len() != 0, - ), - bytes, - )?; + let szk_input_share = + SzkInputShare::decode_with_param(&(&mastic.szk, *agg_id == 0), bytes)?; Ok(Self { vidpf_key, - proof_share, + szk_input_share, }) } } @@ -202,7 +197,7 @@ impl ConstantTimeEq for MasticInputShare { fn ct_eq(&self, other: &MasticInputShare) -> Choice { self.vidpf_key .ct_eq(&other.vidpf_key) - .bitand(self.proof_share.ct_eq(&other.proof_share)) + .bitand(self.szk_input_share.ct_eq(&other.szk_input_share)) } } @@ -270,47 +265,28 @@ impl Mastic { } // The output with which we program the VIDPF is a counter and the encoded measurement. - let mut beta = VidpfWeight(self.szk.typ.encode_measurement(weight)?); - beta.0.insert(0, T::Field::one()); + let encoded_weight = self.szk.typ.encode_measurement(weight)?; + let mut beta = Vec::with_capacity(1 + self.szk.typ.output_len()); + beta.push(T::Field::one()); + beta.append(&mut self.szk.typ.truncate(encoded_weight.clone())?); // Compute the measurement shares for each aggregator by generating VIDPF // keys for the measurement and evaluating each of them. - let public_share = self - .vidpf - .gen_with_keys(ctx, &vidpf_keys, alpha, &beta, nonce)?; + let public_share = + self.vidpf + .gen_with_keys(ctx, &vidpf_keys, alpha, &VidpfWeight(beta), nonce)?; - let leader_beta_share = self.vidpf.get_beta_share( - ctx, - VidpfServerId::S0, - &public_share, - &vidpf_keys[0], - nonce, - )?; - let helper_beta_share = self.vidpf.get_beta_share( - ctx, - VidpfServerId::S1, - &public_share, - &vidpf_keys[1], - nonce, - )?; - - let [leader_szk_proof_share, helper_szk_proof_share] = self.szk.prove( - ctx, - &leader_beta_share.as_ref()[1..], - &helper_beta_share.as_ref()[1..], - &beta.as_ref()[1..], - szk_random, - joint_random_opt, - nonce, - )?; + let [leader_szk_input_share, helper_szk_input_share] = + self.szk + .prove(ctx, &encoded_weight, szk_random, joint_random_opt, nonce)?; let [leader_vidpf_key, helper_vidpf_key] = vidpf_keys; let leader_share = MasticInputShare { vidpf_key: leader_vidpf_key, - proof_share: leader_szk_proof_share, + szk_input_share: leader_szk_input_share, }; let helper_share = MasticInputShare { vidpf_key: helper_vidpf_key, - proof_share: helper_szk_proof_share, + szk_input_share: helper_szk_input_share, }; Ok((public_share, vec![leader_share, helper_share])) } @@ -405,7 +381,7 @@ impl<'a, T: Type> ParameterizedDecode<(&'a Mastic, &'a MasticAggregationParam #[derive(Clone, Debug, PartialEq)] pub struct MasticPrepareShare { /// [`Vidpf`] evaluation proof, which guarantees one-hotness and payload consistency. - eval_proof: [u8; VIDPF_PROOF_SIZE], + vidpf_eval_proof: [u8; VIDPF_PROOF_SIZE], /// If [`Szk`]` verification of the root weight is needed, a verification message. szk_query_share_opt: Option>, @@ -413,7 +389,7 @@ pub struct MasticPrepareShare { impl Encode for MasticPrepareShare { fn encode(&self, bytes: &mut Vec) -> Result<(), CodecError> { - bytes.extend_from_slice(&self.eval_proof); + bytes.extend_from_slice(&self.vidpf_eval_proof); match &self.szk_query_share_opt { Some(query_share) => query_share.encode(bytes), None => Ok(()), @@ -436,8 +412,8 @@ impl ParameterizedDecode> for MasticPrepa prep_state: &MasticPrepareState, bytes: &mut Cursor<&[u8]>, ) -> Result { - let mut eval_proof = [0; VIDPF_PROOF_SIZE]; - bytes.read_exact(&mut eval_proof[..])?; + let mut vidpf_eval_proof = [0; VIDPF_PROOF_SIZE]; + bytes.read_exact(&mut vidpf_eval_proof[..])?; let requires_joint_rand = prep_state.szk_query_state.is_some(); let szk_query_share_opt = prep_state .verifier_len @@ -446,7 +422,7 @@ impl ParameterizedDecode> for MasticPrepa }) .transpose()?; Ok(Self { - eval_proof, + vidpf_eval_proof, szk_query_share_opt, }) } @@ -523,6 +499,32 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { &mut prefix_tree, )?; + // Set the weight of the root node to the weight we expect for each level of the three. + { + let encoded_weight_share = match input_share.szk_input_share { + SzkInputShare::Leader { + ref uncompressed_meas_share, + .. + } => uncompressed_meas_share.clone(), + SzkInputShare::Helper { + ref share_seed_and_blind, + .. + } => self.szk.derive_helper_meas_share(share_seed_and_blind, ctx), + }; + + let mut beta_share = Vec::with_capacity(1 + self.szk.typ.output_len()); + beta_share.push(T::Field::zero()); + beta_share.append(&mut self.szk.typ.truncate(encoded_weight_share)?); + if agg_id == 1 { + beta_share[0] = T::Field::one(); + for x in beta_share.iter_mut() { + *x = -*x; + } + } + + prefix_tree.root.as_mut().unwrap().value.share = VidpfWeight(beta_share); + } + let root = prefix_tree.root.as_ref().unwrap(); // Onehot and payload checks @@ -539,11 +541,12 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { // Traverse the prefix tree breadth-first. let mut q = VecDeque::with_capacity(100); - q.push_back(root.left.as_ref().unwrap()); - q.push_back(root.right.as_ref().unwrap()); + q.push_back(root); while let Some(node) = q.pop_front() { // Update onehot proof. - onehot_check_xof.update(&node.value.state.node_proof); + if let Some(ref node_proof) = node.value.state.node_proof { + onehot_check_xof.update(node_proof); + } // Update payload check. if let (Some(left), Some(right)) = (node.left.as_ref(), node.right.as_ref()) { @@ -583,7 +586,7 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { c.get_encoded().unwrap() }; - let eval_proof = { + let vidpf_eval_proof = { let mut eval_proof_xof = XofTurboShake128::init(verify_key, &[&dst_usage(USAGE_EVAL_PROOF), &self.id, ctx]); eval_proof_xof.update(&onehot_check); @@ -592,19 +595,15 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { eval_proof_xof.into_seed().0 }; - let mut truncated_out_shares = - Vec::with_capacity(self.szk.typ.output_len() * prefixes.len()); - for VidpfWeight(mut out_share) in out_shares.into_iter() { - let mut truncated_out_share = self.szk.typ.truncate(out_share.drain(1..).collect())?; - truncated_out_shares.append(&mut out_share); - truncated_out_shares.append(&mut truncated_out_share); - } + let output_shares = MasticOutputShare::from( + out_shares + .into_iter() + .flat_map(|VidpfWeight(out_share)| out_share) + .collect::>(), + ); Ok(if agg_param.require_weight_check { // Range check. - let VidpfWeight(beta_share) = - self.vidpf - .get_beta_share(ctx, id, public_share, &input_share.vidpf_key, nonce)?; let (szk_query_share, szk_query_state) = self.szk.query( ctx, agg_param @@ -612,8 +611,7 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { .level() .try_into() .map_err(|_| VdafError::Vidpf(VidpfError::InvalidInputLength))?, - &beta_share[1..], - &input_share.proof_share, + &input_share.szk_input_share, verify_key, nonce, )?; @@ -621,24 +619,24 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { let verifier_len = szk_query_share.flp_verifier.len(); ( MasticPrepareState { - output_shares: MasticOutputShare::from(truncated_out_shares), + output_shares, szk_query_state, verifier_len: Some(verifier_len), }, MasticPrepareShare { - eval_proof, + vidpf_eval_proof, szk_query_share_opt: Some(szk_query_share), }, ) } else { ( MasticPrepareState { - output_shares: MasticOutputShare::from(truncated_out_shares), + output_shares, szk_query_state: None, verifier_len: None, }, MasticPrepareShare { - eval_proof, + vidpf_eval_proof, szk_query_share_opt: None, }, ) @@ -663,7 +661,7 @@ impl Aggregator<32, NONCE_SIZE> for Mastic { "Received more than two prepare shares".to_string(), )); }; - if leader_share.eval_proof != helper_share.eval_proof { + if leader_share.vidpf_eval_proof != helper_share.vidpf_eval_proof { return Err(VdafError::Uncategorized( "Vidpf proof verification failed".to_string(), )); diff --git a/src/vdaf/test_vec/mastic/04/MasticCount_0.json b/src/vdaf/test_vec/mastic/04/MasticCount_0.json index 03c22f7c..1da569e5 100644 --- a/src/vdaf/test_vec/mastic/04/MasticCount_0.json +++ b/src/vdaf/test_vec/mastic/04/MasticCount_0.json @@ -5,14 +5,14 @@ 1 ], "agg_shares": [ - "3e9d16bcf3364f0b855cecb7b6c54efdb5f87e0adad194cb9a4b489d3f726b60", - "c362e9430bc9b0f47ca31348483ab1024d0781f5242e6b3468b4b762bf8d949f" + "5af9ab8b843705149280f1ccca8f6fd27b2a8e20fffc93386561e426cb661abe", + "a70654747ac8faeb6f7f0e333470902d87d571dfff026cc79d9e1bd93399e541" ], "ctx": "736f6d65206170706c69636174696f6e", "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -25,16 +25,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "855cecb7b6c54efd", - "b5f87e0adad194cb", - "9a4b489d3f726b60" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c362e9430bc9b0f4", - "7ca31348483ab102", - "4d0781f5242e6b34", - "68b4b762bf8d949f" + "a70654747ac8faeb", + "6f7f0e333470902d", + "87d571dfff026cc7", + "9d9e1bd93399e541" ] ], "prep_messages": [ @@ -42,11 +42,11 @@ ], "prep_shares": [ [ - "e5633260ecd70036482bbf2c93887bf4347c130f587247d63fe537250bb3c49382518600b8bd84150c9df3154968eb00fd6949610bbaa838f528e845e9b134bf", - "e5633260ecd70036482bbf2c93887bf4347c130f587247d63fe537250bb3c4937fae79ff46427bea6814d366e7d3bd95781ac4b7ab90e6a99f6399ebb8914e6d" + "dd752fe3b326ead90c6c15b9e88eb68d66bc6c3027ffe47cd30adc6a676768bc5844bbdc64f5c59673f8175353ab579a89d7292b5633f55789cefa7a75c23285", + "dd752fe3b326ead90c6c15b9e88eb68d66bc6c3027ffe47cd30adc6a676768bca9bb44239a0a3a69f4717d9b89198300c1b3deaa8e061c1f41e575da38079978" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6bfd5e3a8400fe1b3f71da0726d672f55f893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e277199e80a0654e867d0fa4377137a8dafd9937992c6f5cac40610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticCount_1.json b/src/vdaf/test_vec/mastic/04/MasticCount_1.json index 548dc9b6..b07ce262 100644 --- a/src/vdaf/test_vec/mastic/04/MasticCount_1.json +++ b/src/vdaf/test_vec/mastic/04/MasticCount_1.json @@ -5,14 +5,14 @@ 0 ], "agg_shares": [ - "15b6f3ac7e9865cf78cf798aff1e69a14efdc2ee9370d9e290b8ff73f7c8b79b", - "ec490c5380679a3089308675ffe0965eb3023d116b8f261d7147008c07374864" + "23f6e0c0d1442ba87bd5ad516751f3bc4a3ed1dd49d16efd191cea96fe2358b9", + "de091f3f2dbbd457862a52ae97ae0c43b7c12e22b52e9102e8e3156900dca746" ], "ctx": "736f6d65206170706c69636174696f6e", "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -25,16 +25,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "78cf798aff1e69a1", - "4efdc2ee9370d9e2", - "90b8ff73f7c8b79b" + "23f6e0c0d1442ba8", + "7bd5ad516751f3bc", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ec490c5380679a30", - "89308675ffe0965e", - "b3023d116b8f261d", - "7147008c07374864" + "de091f3f2dbbd457", + "862a52ae97ae0c43", + "b7c12e22b52e9102", + "e8e3156900dca746" ] ], "prep_messages": [ @@ -42,11 +42,11 @@ ], "prep_shares": [ [ - "da7b578f9408c348b22ae735a3693ba6911b45de47b0a3502055735eddf5c85382518600b8bd8415522695511228b9228a6b0a9d88a7f97af0b1b62107f08c47", - "da7b578f9408c348b22ae735a3693ba6911b45de47b0a3502055735eddf5c8537fae79ff46427beaf79ffb3f48d217d30f4b40b400becf0407f72fed209095f2" + "4b9fbd64a78e433fe5e52df6bd8170f35ae127e31a31c7b42eb095f10b53b4c55844bbdc64f5c5966318ac917efeee024c36d841de1b598706a691762cce0f5f", + "4b9fbd64a78e433fe5e52df6bd8170f35ae127e31a31c7b42eb095f10b53b4c5a9bb44239a0a3a69c94fea6d43f8f03425f870ee51130f14f825c5dccb6afa1c" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6bfd5e3a8400fe1b3f71da0726d672f55f893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e277199e80a0654e867d0fa4377137a8dafd9937992c6f5cac40610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticCount_2.json b/src/vdaf/test_vec/mastic/04/MasticCount_2.json index 1772d4bc..2e1b2601 100644 --- a/src/vdaf/test_vec/mastic/04/MasticCount_2.json +++ b/src/vdaf/test_vec/mastic/04/MasticCount_2.json @@ -10,14 +10,14 @@ 0 ], "agg_shares": [ - "6ef57dc62643f41df3b612481443be35041823540b68e1f42e5bc0751e031a6bcfff42d5a15f4f9b8e57d3d527a38d0bc144ff28f459af0c73a530f273eb9bad2a67bb5bcfadb352f88c452d81b96d54cbaa87245eefb24848dd5b2367dce390abcfae9c0690b138240bf80d93906c9c", - "950a8239d8bc0be21049edb7eabc41cafee7dcabf3971e0bd4a43f8ae0fce5943300bd2a5da0b06474a82c2ad75c72f443bb00d70aa650f3915acf0d8b146452d89844a42f524cad0a73bad27d4692ab365578dba0104db7b922a4dc97231c6f56305163f86f4ec7ddf407f26b6f9363" + "995518ea01cfea5e4aee43c44d6cef4897d61ad3dc171229ce55715740c77670ce3b5557cefc3fe5d13a1d03de4e34595163ee673c75f5a63706261ed976bcc5d314f216ee2a1116647322cf9f970756f7c89a0434dae70ff78822a1041bb1570abc6762ebd28de838a16407329e3ccf", + "6aaae715fd3015a1b911bc3bb19310b76b29e52c22e8edd634aa8ea8be38898f34c4aaa83003c01a31c5e2fc20b1cba6b39c1198c28a0a59cdf9d9e12589433a2feb0de910d5eee99e8cdd305f68f8a90a3765fbca2518f00a77dd5efae44ea8f743989d132d7217c95e9bf8cc61c330" ], "ctx": "736f6d65206170706c69636174696f6e", "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -33,36 +33,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "044022ecd0654d3a", - "3eba1ae1ffe96e0d", - "a2a356a692d54c99", - "dce339557b6d1cc9", - "0dd9f10d7f809235", - "989294b85f5b6e65", - "69b43811444e8f81", - "32526f1483e4a2e6", - "fed805eb193a98e6", - "9007cbc075890324", - "de0c800fd2226297", - "c453bba6de936328", - "88e8e90fef74a93a", - "038629f2673ef9f6" + "aa5e3bcfc1b55fbb", + "a8e9b7c3fd258dac", + "6f77b4bc86f80ea9", + "bf054fc17a61db17", + "b7de71c11583db34", + "3c4bcb6e8934778a", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "28985ef91654c62c", + "da4d182643e63dc2", + "11c41604140d07f2", + "50b40e2be0cffdb6" ], [ - "febfdd132e9ab2c5", - "c445e51eff1591f2", - "5f5ca9596c2ab366", - "251cc6aa8392e336", - "f4260ef27f7f6dca", - "696d6b479fa4919a", - "984bc7eebab1707e", - "cfad90eb7b1b5d19", - "0327fa14e5c56719", - "71f8343f8976fcdb", - "23f37ff02cdd9d68", - "3dac4459206c9cd7", - "791716f00f8b56c5", - "fe79d60d97c10609" + "58a1c4303d4aa044", + "5a16483c01da7253", + "92884b437807f156", + "42fab03e849e24e8", + "4a218e3ee97c24cb", + "c5b4349175cb8875", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "d967a106e8ab39d3", + "27b2e7d9bb19c23d", + "f03be9fbeaf2f80d", + "b14bf1d41e300249" ] ], "prep_messages": [ @@ -70,16 +70,16 @@ ], "prep_shares": [ [ - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4fd59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d5844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262da9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af7ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19baaaf1d852effaecf38087b1f17ad19b1e80e4d3db60256766001b0a4c38a898a85aa6f8e3232ffd494468e9fb68a47adaf0c8208509e03347be29702fece293d8af82c3d087c30ea20ac9bb6d0f2d87c22beaa9561bff4925c071d452e2d774d", + "public_share": "6d01104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be0e64efb0e60765397d80e57017f4ffbda01ed68d8400a65e83b18e5fcb749d128093424b3face90ae8203fb8ea26dfda3b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153ddf2e8be2149eac18ce6b46d11680adcb41d20a7332511ea8a80395d7c08a242fe53fb89d5e5346f70f86a444505b108c9456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad1b6e83c60549afcacba3b0c2218b1718253a48fad5c9ba76b4307c5b5a3ecce126261c56294c1c3a7ef89199f872a859786f39198e4149eee68cdf0776ef9aced2fd22edf94db3046b926631e4f6c327f1c050972cd1c3f6ebd6de868167874e", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -95,36 +95,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "044022ecd0654d3a", - "3eba1ae1ffe96e0d", - "a2a356a692d54c99", - "dce339557b6d1cc9", - "0dd9f10d7f809235", - "989294b85f5b6e65", - "69b43811444e8f81", - "32526f1483e4a2e6", - "fed805eb193a98e6", - "9007cbc075890324", - "de0c800fd2226297", - "c453bba6de936328", - "88e8e90fef74a93a", - "038629f2673ef9f6" + "aa5e3bcfc1b55fbb", + "a8e9b7c3fd258dac", + "6f77b4bc86f80ea9", + "bf054fc17a61db17", + "b7de71c11583db34", + "3c4bcb6e8934778a", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "28985ef91654c62c", + "da4d182643e63dc2", + "11c41604140d07f2", + "50b40e2be0cffdb6" ], [ - "febfdd132e9ab2c5", - "c445e51eff1591f2", - "5f5ca9596c2ab366", - "251cc6aa8392e336", - "f4260ef27f7f6dca", - "696d6b479fa4919a", - "984bc7eebab1707e", - "cfad90eb7b1b5d19", - "0327fa14e5c56719", - "71f8343f8976fcdb", - "23f37ff02cdd9d68", - "3dac4459206c9cd7", - "791716f00f8b56c5", - "fe79d60d97c10609" + "58a1c4303d4aa044", + "5a16483c01da7253", + "92884b437807f156", + "42fab03e849e24e8", + "4a218e3ee97c24cb", + "c5b4349175cb8875", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "d967a106e8ab39d3", + "27b2e7d9bb19c23d", + "f03be9fbeaf2f80d", + "b14bf1d41e300249" ] ], "prep_messages": [ @@ -132,16 +132,16 @@ ], "prep_shares": [ [ - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4fd59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d5844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262da9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af7ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19baaaf1d852effaecf38087b1f17ad19b1e80e4d3db60256766001b0a4c38a898a85aa6f8e3232ffd494468e9fb68a47adaf0c8208509e03347be29702fece293d8af82c3d087c30ea20ac9bb6d0f2d87c22beaa9561bff4925c071d452e2d774d", + "public_share": "6d01104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be0e64efb0e60765397d80e57017f4ffbda01ed68d8400a65e83b18e5fcb749d128093424b3face90ae8203fb8ea26dfda3b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153ddf2e8be2149eac18ce6b46d11680adcb41d20a7332511ea8a80395d7c08a242fe53fb89d5e5346f70f86a444505b108c9456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad1b6e83c60549afcacba3b0c2218b1718253a48fad5c9ba76b4307c5b5a3ecce126261c56294c1c3a7ef89199f872a859786f39198e4149eee68cdf0776ef9aced2fd22edf94db3046b926631e4f6c327f1c050972cd1c3f6ebd6de868167874e", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -157,36 +157,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "0c95d60d13948285", - "98ca7f3abe53a381", - "c1a71c81e99cd17b", - "31544efb9115d8ea", - "563ab8abe8076462", - "c69e809fa46400f8", - "6069eb00c4aeda98", - "a0991d772bfe6f0b", - "9ffa11d0fa061ee7", - "79cff946897c150a", - "02071651d6fe1d91", - "d856578148c563b2", - "2f68d1997ce8a293", - "9b09360eaef7c3eb" + "688d0e545be2bd2b", + "496fa3d546b57dee", + "5e574754f2e779c2", + "e0d4e22d090fe2c6", + "560e9e37fad7b1b9", + "f4140cec1d62a34f", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "c5effbee6bcf2bbb", + "7308835ea07f279c", + "6876d01d2cd17c4d", + "ad5b74ecbe060feb" ], [ - "f56a29f2eb6b7d7a", - "693580c540ac5c7e", - "4058e37e15632e84", - "d0abb1046dea2715", - "acc5475416f89b9d", - "3c617f605a9bff07", - "a19614ff3a512567", - "6166e288d30190f4", - "6205ee2f04f9e118", - "883006b97583eaf5", - "fff8e9ae2801e26e", - "29a9a87eb63a9c4d", - "d2972e6682175d6c", - "66f6c9f150083c14" + "9972f1aba31d42d4", + "b8905c2ab84a8211", + "a3a8b8ab0c18863d", + "212b1dd2f5f01d39", + "acf161c804284e46", + "0eebf313e19d5cb0", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "3c1004119330d444", + "8ef77ca15e80d863", + "99892fe2d22e83b2", + "54a48b1340f9f014" ] ], "prep_messages": [ @@ -194,16 +194,16 @@ ], "prep_shares": [ [ - "c9d0da8cfc02347b2b1d9045be754e283d2141b33d77a38a2666ad6329566c482c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "c9d0da8cfc02347b2b1d9045be754e283d2141b33d77a38a2666ad6329566c48d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "ad3bf51852fe618c885380146145159059a1d15b537068ae069a35ebb8bc602c5844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "ad3bf51852fe618c885380146145159059a1d15b537068ae069a35ebb8bc602ca9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "7d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a9e821410b02d88a837bc1be5f59b920e4149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca08c7752a400682f85f764f00e454aa8eee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19bf9f059a1bd2f7dc042c265cc3a3996d66a9c40e98baee3afa152bf3409e125d8d198350d02b43d48d2d0107db1d8852adf97fcd85574b13921482e2aac8dc9f4445b323b3f134362290326a68932ff3074c171f37827428c61790656b82b9815", + "public_share": "9d00104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be4eed9f179f90c7885bd5a33f02465ed4ae66763b9fabca52b1e670668e40aeede249196c0740008b3493ade77c661c663b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153dd40c6fb12ae3490ff83ce859cfd01db331b3bdb68ae58eed7da515957d2b99a736e0836865c6e5305e8fd18236436f4df456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad4736a653498a08deb49582e65299b9d07bb2c57e8aadbda142b8319580b93f311ff6720c1f8e37d57290582c73e13094bcfb51ce2c6db8a9df4da0f52546b3309e07670e9dc5fe720b24d36da51d11eac053c9a8a2b279ac78ad37125102f756", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -219,36 +219,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "690ad4211e7c6000", - "1f8f290825612acf", - "c2a71c81e99cd17b", - "32544efb9115d8ea", - "553ab8abe8076462", - "c59e809fa46400f8", - "dd9de91e14dfc894", - "c2741d3500b2f2f5", - "9ffa11d0fa061ee7", - "79cff946897c150a", - "5fba44f0e9b9f4df", - "0da391f283194c83", - "558f9968ef3426a4", - "6e6798e5cbd52bc6" + "439ca1905a7e317a", + "800fc70d209ede59", + "5f574754f2e779c2", + "e1d4e22d090fe2c6", + "550e9e37fad7b1b9", + "f3140cec1d62a34f", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "c5effbee6bcf2bbb", + "7308835ea07f279c", + "b50b90cff0097649", + "4e36fead97436b0c" ], [ - "98f52bdee0839fff", - "e270d6f7d99ed530", - "4058e37e15632e84", - "d0abb1046dea2715", - "acc5475416f89b9d", - "3c617f605a9bff07", - "246216e1ea20376b", - "3f8be2cafe4d0d0a", - "6205ee2f04f9e118", - "883006b97583eaf5", - "a245bb0f15460b20", - "f45c6e0d7be6b37c", - "ac7066970fcbd95b", - "9398671a332ad439" + "be635e6fa481ce85", + "81f038f2de6121a6", + "a3a8b8ab0c18863d", + "212b1dd2f5f01d39", + "acf161c804284e46", + "0eebf313e19d5cb0", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "3c1004119330d444", + "8ef77ca15e80d863", + "4cf46f300ef689b6", + "b3c9015267bc94f3" ] ], "prep_messages": [ @@ -256,16 +256,16 @@ ], "prep_shares": [ [ - "7216b1776a3e04a2ac0b7e6d28cc25ebec003be7fe6a43141c10e352df5299232c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "7216b1776a3e04a2ac0b7e6d28cc25ebec003be7fe6a43141c10e352df529923d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "31602a921ea018c60410b0eb8aad77f582cc8dcad37262a9673d5f6d6f376f945844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "31602a921ea018c60410b0eb8aad77f582cc8dcad37262a9673d5f6d6f376f94a9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "7d008031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a916e5a7207c22876c3e8651e6ec087889149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca85fb7348903670f480514fbeb9082d79ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19bf9f059a1bd2f7dc042c265cc3a3996d66a9c40e98baee3afa152bf3409e125d8d198350d02b43d48d2d0107db1d8852adf97fcd85574b13921482e2aac8dc9f4dd4a100279307c773f9edeccc2e2326af46998f278998fa21f7e0219e2fa7bf4", + "public_share": "9d03104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be4eed9f179f90c7885bd5a33f02465ed4ae66763b9fabca52b1e670668e40aeed4694a3948159767e35747081eb579fb03b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153dd40c6fb12ae3490ff83ce859cfd01db331b3bdb68ae58eed7da515957d2b99a7371a479095f7e5e2f3c16381bb3588dea456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad4736a653498a08deb49582e65299b9d07bb2c57e8aadbda142b8319580b93f311ff6720c1f8e37d57290582c73e13094bcfb51ce2c6db8a9df4da0f52546b330eeeb06487dc9f4d1364bfe0c66a764ba6f9d3d9c6d66ba1ac58df338fa02d8a1", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -281,36 +281,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "7a1cdf0580cec443", - "5e6a0d7e76a984d2", - "df2db85daed428fd", - "0109114d04a7357b", - "721bb2b243e7c1ef", - "36336c3d45a82f84", - "c8d4547be6fe4627", - "5c8676979f8425b5", - "feef6239e8cad16d", - "bbf76e0760eb0ebe", - "d73c5926144ac256", - "1a9a137b61ac407a", - "e1eb2b742fb3b71b", - "2bb6ff33191b2d5e" + "927a495ae5324f72", + "22ca91c954568ad0", + "d5344d4aff7fcead", + "e064542eea4ee26d", + "432fcc2d24b70cb2", + "bbbefebf7b3a17ec", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "2e7e72494f2d1d19", + "b9fc89e88fd48af4", + "746c365b683763db", + "a829b50506ad715a" ], [ - "87e320fa7e313bbc", - "a395f28188567b2d", - "22d247a2502bd702", - "00f7eeb2fa58ca84", - "8fe44d4dbb183e10", - "cbcc93c2b957d07b", - "392bab841801b9d8", - "a57989685f7bda4a", - "04109dc616352e92", - "470891f89e14f141", - "2ac3a6d9eab53da9", - "e765ec849d53bf85", - "2014d48bcf4c48e4", - "d64900cce5e4d2a1" + "6f85b6a519cdb08d", + "df356e36aaa9752f", + "2ccbb2b5ff7f3152", + "219babd114b11d92", + "bed033d2da48f34d", + "4641014083c5e813", + "963302535851210b", + "3a3f3bfc237148c7", + "67bd21dda1da3d5d", + "95b11b860b0d3f75", + "d3818db6afd2e2e6", + "480376176f2b750b", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -318,16 +318,16 @@ ], "prep_shares": [ [ - "66e2a7759d077c408a12e7d051cc184d1836e2e9d0a9519a200da0997ca41e662c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "66e2a7759d077c408a12e7d051cc184d1836e2e9d0a9519a200da0997ca41e66d59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "59dabe73d5b7c16d8fd8ef65a55a899874c9bd19fa5b1183278314be1ad252775844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "59dabe73d5b7c16d8fd8ef65a55a899874c9bd19fa5b1183278314be1ad25277a9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "f1008031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb15e5ac395c89a2db8dbb05470e32bb53f2e5dce6ec3fc1614aeae2cc0abde9ed7149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b5a936fed7a48b510d19fd09bbfab24426f53efa61f0150248095da69d5a7c1f4fee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a67860743cae347ccd1d6500674997f9434c2b9d10c2045b0334a5f6011d684811832b216b9c711ae4a9c4cb19fce661cfadaa821b51f5fbf87fc26694836ce0248e9", + "public_share": "c101104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3e6c82891f59159d3fc205043f73ae51921487477e4a9bb8b795e625f32b3ff3fa3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0f7c7d6959c852a9b4f6011ba0112b4c834d62ccdaedf6fd113d792a8e35b213e456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543b863c9447f1da7e9e63da00e5a4b52986ca4410ff68058b08299cbafe27f72b38c7d9135757739667cd675c3dae77a4fd50418d03cb8ef4bdb2314c8db25ab33", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -343,36 +343,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -380,16 +380,16 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ead59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db494465844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446a9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -405,36 +405,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -442,16 +442,16 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ead59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db494465844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446a9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -467,36 +467,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -504,11 +504,11 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea2c6d7e029fcf988f10f9095c548f022766f44bd80f2e0313d1f3468b15732930", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ead59281fd5f30677010fb3c8ed88093515d94632fceae87396146dd9ef6cad681" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db494465844bbdc64f5c596e12ad33c281792ff490b3b4bcd8425aa73b0753fee6309d8", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446a9bb44239a0a3a69e7a21cb93aafa9688519275a403aec16ff53926afc331b99" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticCount_3.json b/src/vdaf/test_vec/mastic/04/MasticCount_3.json index 813580c6..79d3e0c6 100644 --- a/src/vdaf/test_vec/mastic/04/MasticCount_3.json +++ b/src/vdaf/test_vec/mastic/04/MasticCount_3.json @@ -10,14 +10,14 @@ 0 ], "agg_shares": [ - "6ef57dc62643f41df3b612481443be35041823540b68e1f42e5bc0751e031a6bcfff42d5a15f4f9b8e57d3d527a38d0bc144ff28f459af0c73a530f273eb9bad2a67bb5bcfadb352f88c452d81b96d54cbaa87245eefb24848dd5b2367dce390abcfae9c0690b138240bf80d93906c9c", - "950a8239d8bc0be21049edb7eabc41cafee7dcabf3971e0bd4a43f8ae0fce5943300bd2a5da0b06474a82c2ad75c72f443bb00d70aa650f3915acf0d8b146452d89844a42f524cad0a73bad27d4692ab365578dba0104db7b922a4dc97231c6f56305163f86f4ec7ddf407f26b6f9363" + "995518ea01cfea5e4aee43c44d6cef4897d61ad3dc171229ce55715740c77670ce3b5557cefc3fe5d13a1d03de4e34595163ee673c75f5a63706261ed976bcc5d314f216ee2a1116647322cf9f970756f7c89a0434dae70ff78822a1041bb1570abc6762ebd28de838a16407329e3ccf", + "6aaae715fd3015a1b911bc3bb19310b76b29e52c22e8edd634aa8ea8be38898f34c4aaa83003c01a31c5e2fc20b1cba6b39c1198c28a0a59cdf9d9e12589433a2feb0de910d5eee99e8cdd305f68f8a90a3765fbca2518f00a77dd5efae44ea8f743989d132d7217c95e9bf8cc61c330" ], "ctx": "736f6d65206170706c69636174696f6e", "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -33,36 +33,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "044022ecd0654d3a", - "3eba1ae1ffe96e0d", - "a2a356a692d54c99", - "dce339557b6d1cc9", - "0dd9f10d7f809235", - "989294b85f5b6e65", - "69b43811444e8f81", - "32526f1483e4a2e6", - "fed805eb193a98e6", - "9007cbc075890324", - "de0c800fd2226297", - "c453bba6de936328", - "88e8e90fef74a93a", - "038629f2673ef9f6" + "aa5e3bcfc1b55fbb", + "a8e9b7c3fd258dac", + "6f77b4bc86f80ea9", + "bf054fc17a61db17", + "b7de71c11583db34", + "3c4bcb6e8934778a", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "28985ef91654c62c", + "da4d182643e63dc2", + "11c41604140d07f2", + "50b40e2be0cffdb6" ], [ - "febfdd132e9ab2c5", - "c445e51eff1591f2", - "5f5ca9596c2ab366", - "251cc6aa8392e336", - "f4260ef27f7f6dca", - "696d6b479fa4919a", - "984bc7eebab1707e", - "cfad90eb7b1b5d19", - "0327fa14e5c56719", - "71f8343f8976fcdb", - "23f37ff02cdd9d68", - "3dac4459206c9cd7", - "791716f00f8b56c5", - "fe79d60d97c10609" + "58a1c4303d4aa044", + "5a16483c01da7253", + "92884b437807f156", + "42fab03e849e24e8", + "4a218e3ee97c24cb", + "c5b4349175cb8875", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "d967a106e8ab39d3", + "27b2e7d9bb19c23d", + "f03be9fbeaf2f80d", + "b14bf1d41e300249" ] ], "prep_messages": [ @@ -70,16 +70,16 @@ ], "prep_shares": [ [ - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f", - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f" + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d", + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d" ] ], - "public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af7ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19baaaf1d852effaecf38087b1f17ad19b1e80e4d3db60256766001b0a4c38a898a85aa6f8e3232ffd494468e9fb68a47adaf0c8208509e03347be29702fece293d8af82c3d087c30ea20ac9bb6d0f2d87c22beaa9561bff4925c071d452e2d774d", + "public_share": "6d01104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be0e64efb0e60765397d80e57017f4ffbda01ed68d8400a65e83b18e5fcb749d128093424b3face90ae8203fb8ea26dfda3b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153ddf2e8be2149eac18ce6b46d11680adcb41d20a7332511ea8a80395d7c08a242fe53fb89d5e5346f70f86a444505b108c9456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad1b6e83c60549afcacba3b0c2218b1718253a48fad5c9ba76b4307c5b5a3ecce126261c56294c1c3a7ef89199f872a859786f39198e4149eee68cdf0776ef9aced2fd22edf94db3046b926631e4f6c327f1c050972cd1c3f6ebd6de868167874e", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -95,36 +95,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "044022ecd0654d3a", - "3eba1ae1ffe96e0d", - "a2a356a692d54c99", - "dce339557b6d1cc9", - "0dd9f10d7f809235", - "989294b85f5b6e65", - "69b43811444e8f81", - "32526f1483e4a2e6", - "fed805eb193a98e6", - "9007cbc075890324", - "de0c800fd2226297", - "c453bba6de936328", - "88e8e90fef74a93a", - "038629f2673ef9f6" + "aa5e3bcfc1b55fbb", + "a8e9b7c3fd258dac", + "6f77b4bc86f80ea9", + "bf054fc17a61db17", + "b7de71c11583db34", + "3c4bcb6e8934778a", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "28985ef91654c62c", + "da4d182643e63dc2", + "11c41604140d07f2", + "50b40e2be0cffdb6" ], [ - "febfdd132e9ab2c5", - "c445e51eff1591f2", - "5f5ca9596c2ab366", - "251cc6aa8392e336", - "f4260ef27f7f6dca", - "696d6b479fa4919a", - "984bc7eebab1707e", - "cfad90eb7b1b5d19", - "0327fa14e5c56719", - "71f8343f8976fcdb", - "23f37ff02cdd9d68", - "3dac4459206c9cd7", - "791716f00f8b56c5", - "fe79d60d97c10609" + "58a1c4303d4aa044", + "5a16483c01da7253", + "92884b437807f156", + "42fab03e849e24e8", + "4a218e3ee97c24cb", + "c5b4349175cb8875", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "d967a106e8ab39d3", + "27b2e7d9bb19c23d", + "f03be9fbeaf2f80d", + "b14bf1d41e300249" ] ], "prep_messages": [ @@ -132,16 +132,16 @@ ], "prep_shares": [ [ - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f", - "b3cd0aed8a950172f79946eb28e09d9620dbe29c46e043069eab50900f1b8a4f" + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d", + "44fc1b0722bffd27ad469e152893e76436f4b62f2afcb03b753989e95632262d" ] ], - "public_share": "8d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c50c4eecaffdf4f2310f168d03c5a4cbfc4c3ed6bc04479d05151e4f21be576a880c8ec3143a6b9fb9509d7d0658fc05dc149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a500673e19649c10909b051ef18c08828de79e178096261b4c3169c50015389bba0478bf97610f7213fc164c370974ff59af7ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19baaaf1d852effaecf38087b1f17ad19b1e80e4d3db60256766001b0a4c38a898a85aa6f8e3232ffd494468e9fb68a47adaf0c8208509e03347be29702fece293d8af82c3d087c30ea20ac9bb6d0f2d87c22beaa9561bff4925c071d452e2d774d", + "public_share": "6d01104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be0e64efb0e60765397d80e57017f4ffbda01ed68d8400a65e83b18e5fcb749d128093424b3face90ae8203fb8ea26dfda3b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153ddf2e8be2149eac18ce6b46d11680adcb41d20a7332511ea8a80395d7c08a242fe53fb89d5e5346f70f86a444505b108c9456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad1b6e83c60549afcacba3b0c2218b1718253a48fad5c9ba76b4307c5b5a3ecce126261c56294c1c3a7ef89199f872a859786f39198e4149eee68cdf0776ef9aced2fd22edf94db3046b926631e4f6c327f1c050972cd1c3f6ebd6de868167874e", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -157,36 +157,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "0c95d60d13948285", - "98ca7f3abe53a381", - "c1a71c81e99cd17b", - "31544efb9115d8ea", - "563ab8abe8076462", - "c69e809fa46400f8", - "6069eb00c4aeda98", - "a0991d772bfe6f0b", - "9ffa11d0fa061ee7", - "79cff946897c150a", - "02071651d6fe1d91", - "d856578148c563b2", - "2f68d1997ce8a293", - "9b09360eaef7c3eb" + "688d0e545be2bd2b", + "496fa3d546b57dee", + "5e574754f2e779c2", + "e0d4e22d090fe2c6", + "560e9e37fad7b1b9", + "f4140cec1d62a34f", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "c5effbee6bcf2bbb", + "7308835ea07f279c", + "6876d01d2cd17c4d", + "ad5b74ecbe060feb" ], [ - "f56a29f2eb6b7d7a", - "693580c540ac5c7e", - "4058e37e15632e84", - "d0abb1046dea2715", - "acc5475416f89b9d", - "3c617f605a9bff07", - "a19614ff3a512567", - "6166e288d30190f4", - "6205ee2f04f9e118", - "883006b97583eaf5", - "fff8e9ae2801e26e", - "29a9a87eb63a9c4d", - "d2972e6682175d6c", - "66f6c9f150083c14" + "9972f1aba31d42d4", + "b8905c2ab84a8211", + "a3a8b8ab0c18863d", + "212b1dd2f5f01d39", + "acf161c804284e46", + "0eebf313e19d5cb0", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "3c1004119330d444", + "8ef77ca15e80d863", + "99892fe2d22e83b2", + "54a48b1340f9f014" ] ], "prep_messages": [ @@ -194,16 +194,16 @@ ], "prep_shares": [ [ - "c9d0da8cfc02347b2b1d9045be754e283d2141b33d77a38a2666ad6329566c48", - "c9d0da8cfc02347b2b1d9045be754e283d2141b33d77a38a2666ad6329566c48" + "ad3bf51852fe618c885380146145159059a1d15b537068ae069a35ebb8bc602c", + "ad3bf51852fe618c885380146145159059a1d15b537068ae069a35ebb8bc602c" ] ], - "public_share": "7d038031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a9e821410b02d88a837bc1be5f59b920e4149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca08c7752a400682f85f764f00e454aa8eee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19bf9f059a1bd2f7dc042c265cc3a3996d66a9c40e98baee3afa152bf3409e125d8d198350d02b43d48d2d0107db1d8852adf97fcd85574b13921482e2aac8dc9f4445b323b3f134362290326a68932ff3074c171f37827428c61790656b82b9815", + "public_share": "9d00104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be4eed9f179f90c7885bd5a33f02465ed4ae66763b9fabca52b1e670668e40aeede249196c0740008b3493ade77c661c663b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153dd40c6fb12ae3490ff83ce859cfd01db331b3bdb68ae58eed7da515957d2b99a736e0836865c6e5305e8fd18236436f4df456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad4736a653498a08deb49582e65299b9d07bb2c57e8aadbda142b8319580b93f311ff6720c1f8e37d57290582c73e13094bcfb51ce2c6db8a9df4da0f52546b3309e07670e9dc5fe720b24d36da51d11eac053c9a8a2b279ac78ad37125102f756", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -219,36 +219,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "690ad4211e7c6000", - "1f8f290825612acf", - "c2a71c81e99cd17b", - "32544efb9115d8ea", - "553ab8abe8076462", - "c59e809fa46400f8", - "dd9de91e14dfc894", - "c2741d3500b2f2f5", - "9ffa11d0fa061ee7", - "79cff946897c150a", - "5fba44f0e9b9f4df", - "0da391f283194c83", - "558f9968ef3426a4", - "6e6798e5cbd52bc6" + "439ca1905a7e317a", + "800fc70d209ede59", + "5f574754f2e779c2", + "e1d4e22d090fe2c6", + "550e9e37fad7b1b9", + "f3140cec1d62a34f", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "c5effbee6bcf2bbb", + "7308835ea07f279c", + "b50b90cff0097649", + "4e36fead97436b0c" ], [ - "98f52bdee0839fff", - "e270d6f7d99ed530", - "4058e37e15632e84", - "d0abb1046dea2715", - "acc5475416f89b9d", - "3c617f605a9bff07", - "246216e1ea20376b", - "3f8be2cafe4d0d0a", - "6205ee2f04f9e118", - "883006b97583eaf5", - "a245bb0f15460b20", - "f45c6e0d7be6b37c", - "ac7066970fcbd95b", - "9398671a332ad439" + "be635e6fa481ce85", + "81f038f2de6121a6", + "a3a8b8ab0c18863d", + "212b1dd2f5f01d39", + "acf161c804284e46", + "0eebf313e19d5cb0", + "963302535851210b", + "3a3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "3c1004119330d444", + "8ef77ca15e80d863", + "4cf46f300ef689b6", + "b3c9015267bc94f3" ] ], "prep_messages": [ @@ -256,16 +256,16 @@ ], "prep_shares": [ [ - "7216b1776a3e04a2ac0b7e6d28cc25ebec003be7fe6a43141c10e352df529923", - "7216b1776a3e04a2ac0b7e6d28cc25ebec003be7fe6a43141c10e352df529923" + "31602a921ea018c60410b0eb8aad77f582cc8dcad37262a9673d5f6d6f376f94", + "31602a921ea018c60410b0eb8aad77f582cc8dcad37262a9673d5f6d6f376f94" ] ], - "public_share": "7d008031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5848d58535ab915bafb428087a2f62dbc76138f52a253028dda7eae3b502b33a916e5a7207c22876c3e8651e6ec087889149b0a3cb2046aef8e96793a0ac548f123fcc6eebe7973c8a4500651955a5006024a26201bd34c0c4a4cdc45998b19adf4c9f946b4430a94eee7e5347e4fd8ca85fb7348903670f480514fbeb9082d79ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d95195d8a6ed1b06313abfd68aed8386c912daf717fa863f9be15f7deed160398a19bf9f059a1bd2f7dc042c265cc3a3996d66a9c40e98baee3afa152bf3409e125d8d198350d02b43d48d2d0107db1d8852adf97fcd85574b13921482e2aac8dc9f4dd4a100279307c773f9edeccc2e2326af46998f278998fa21f7e0219e2fa7bf4", + "public_share": "9d03104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be4eed9f179f90c7885bd5a33f02465ed4ae66763b9fabca52b1e670668e40aeed4694a3948159767e35747081eb579fb03b8254761c8dd51cf61abd98613c64b7d5f3a7728597a50be45cb27c683153dd40c6fb12ae3490ff83ce859cfd01db331b3bdb68ae58eed7da515957d2b99a7371a479095f7e5e2f3c16381bb3588dea456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a477e5ced712f650024eef7158f854ba6f0129f0d97a502102c9f9f54dd43f8ffaad4736a653498a08deb49582e65299b9d07bb2c57e8aadbda142b8319580b93f311ff6720c1f8e37d57290582c73e13094bcfb51ce2c6db8a9df4da0f52546b330eeeb06487dc9f4d1364bfe0c66a764ba6f9d3d9c6d66ba1ac58df338fa02d8a1", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -281,36 +281,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "7a1cdf0580cec443", - "5e6a0d7e76a984d2", - "df2db85daed428fd", - "0109114d04a7357b", - "721bb2b243e7c1ef", - "36336c3d45a82f84", - "c8d4547be6fe4627", - "5c8676979f8425b5", - "feef6239e8cad16d", - "bbf76e0760eb0ebe", - "d73c5926144ac256", - "1a9a137b61ac407a", - "e1eb2b742fb3b71b", - "2bb6ff33191b2d5e" + "927a495ae5324f72", + "22ca91c954568ad0", + "d5344d4aff7fcead", + "e064542eea4ee26d", + "432fcc2d24b70cb2", + "bbbefebf7b3a17ec", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "2e7e72494f2d1d19", + "b9fc89e88fd48af4", + "746c365b683763db", + "a829b50506ad715a" ], [ - "87e320fa7e313bbc", - "a395f28188567b2d", - "22d247a2502bd702", - "00f7eeb2fa58ca84", - "8fe44d4dbb183e10", - "cbcc93c2b957d07b", - "392bab841801b9d8", - "a57989685f7bda4a", - "04109dc616352e92", - "470891f89e14f141", - "2ac3a6d9eab53da9", - "e765ec849d53bf85", - "2014d48bcf4c48e4", - "d64900cce5e4d2a1" + "6f85b6a519cdb08d", + "df356e36aaa9752f", + "2ccbb2b5ff7f3152", + "219babd114b11d92", + "bed033d2da48f34d", + "4641014083c5e813", + "963302535851210b", + "3a3f3bfc237148c7", + "67bd21dda1da3d5d", + "95b11b860b0d3f75", + "d3818db6afd2e2e6", + "480376176f2b750b", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -318,16 +318,16 @@ ], "prep_shares": [ [ - "66e2a7759d077c408a12e7d051cc184d1836e2e9d0a9519a200da0997ca41e66", - "66e2a7759d077c408a12e7d051cc184d1836e2e9d0a9519a200da0997ca41e66" + "59dabe73d5b7c16d8fd8ef65a55a899874c9bd19fa5b1183278314be1ad25277", + "59dabe73d5b7c16d8fd8ef65a55a899874c9bd19fa5b1183278314be1ad25277" ] ], - "public_share": "f1008031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb15e5ac395c89a2db8dbb05470e32bb53f2e5dce6ec3fc1614aeae2cc0abde9ed7149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b5a936fed7a48b510d19fd09bbfab24426f53efa61f0150248095da69d5a7c1f4fee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a67860743cae347ccd1d6500674997f9434c2b9d10c2045b0334a5f6011d684811832b216b9c711ae4a9c4cb19fce661cfadaa821b51f5fbf87fc26694836ce0248e9", + "public_share": "c101104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3e6c82891f59159d3fc205043f73ae51921487477e4a9bb8b795e625f32b3ff3fa3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0f7c7d6959c852a9b4f6011ba0112b4c834d62ccdaedf6fd113d792a8e35b213e456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543b863c9447f1da7e9e63da00e5a4b52986ca4410ff68058b08299cbafe27f72b38c7d9135757739667cd675c3dae77a4fd50418d03cb8ef4bdb2314c8db25ab33", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -343,36 +343,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -380,16 +380,16 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -405,36 +405,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -442,16 +442,16 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f2712998769f26b6277b32c9f3a40c040110fbc523feaddcea2f553d5770bb55232e052d8e61616f7", + "000102030405060708090a0b0c0d0e0f3a5ce17b0f2a658b62d021849c8078cc153daebc91baff47cafe696f8a727550eabecb1d9d526dbcb160fe0688ff228e", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -467,36 +467,36 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "29933ae8ef323bf5", - "777fb7413db08452", - "217181e21f3a29ef", - "b2a0dfd753c7532d", - "dee9be8fd9773529", - "36ebbea2f1288099", - "faffcb23e3ba8c91", - "c7ce8a2c8aa44463", - "fdef6239e8cad16d", - "baf76e0760eb0ebe", - "f430f189f58c08c6", - "97e0a2f72763b9da", - "beb31602839cf4cf", - "509d47abb86374df" + "59518d59f5ef4e45", + "07469ddada7c4ff2", + "0fac9c774cf265e1", + "3b69e818c4870817", + "d21023bd2c855dc7", + "3ee9cfd95aa2a23d", + "6bccfdaca6aedef4", + "c7c0c403db8eb738", + "9b42de225d25c2a2", + "6d4ee479f3f2c08a", + "51be7ba3f321a2b7", + "e39f20e5e228c98c", + "746c365b683763db", + "a829b50506ad715a" ], [ - "d86cc5170fcdc40a", - "8a8048bec14f7bad", - "e08e7e1ddfc5d610", - "4f5f2028ab38acd2", - "231641702588cad6", - "cb14415d0dd77f66", - "080034dc1b45736e", - "3b3175d3745bbb9c", - "04109dc616352e92", - "470891f89e14f141", - "0dcf0e760973f739", - "6a1f5d08d79c4625", - "434ce9fd7b630b30", - "b162b854469c8b20" + "a8ae72a60910b1ba", + "fab962252483b00d", + "f2536388b20d9a1e", + "c69617e73a78f7e8", + "2fefdc42d27aa238", + "c3163026a45d5dc2", + "973302535851210b", + "3b3f3bfc237148c7", + "66bd21dda1da3d5d", + "94b11b860b0d3f75", + "b041845c0bde5d48", + "1e60df1a1cd73673", + "8d93c9a496c89c24", + "59d64afaf8528ea5" ] ], "prep_messages": [ @@ -504,11 +504,11 @@ ], "prep_shares": [ [ - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea", - "1d12dfd5d8e831d525bcbe038a44a9a93bc63c7a7bb7e20cf65e699723c961ea" + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446", + "382d9b6b5f53a7afe00f229d35cb4047c3f2869f0d2eff0bf3d957eb9db49446" ] ], - "public_share": "31028031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7c061c2d66fafdc0b34509f1ee246cbb18481284d0d1422caa93c58f805ae12fc96571eb833cf5d83fb68cbb285da472b149b0a3cb2046aef8e96793a0ac548f162d5e495135c2e58052f8f36198892949f86b8b81414971f05f924425ae428b556e4139b9825e7e74c4196275f57f2fc35eb52f72c55e93e3193770130eeba06ee93800b487bd2d95f87686634e4c74723ab3aa3d8e288a63d584e3ce60d951995ab0e635ea4fedf3caa17b706f31176ecf46fb2e546968cacd3a14cc0d62fa67c6a09c7f01c16d806cec200dc627740e5f34a4a7ea2e9e55e3194a8652a6786e7470ead40be1b247b55d606b969ae0c3d0360c532198dcad4e005bf46c41a53dba6144791872eda1df638dddb9611af728d28038b36219984799f53979b99c7", + "public_share": "0102104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b91c9db857f4e5ec1c467b9b91bd02cf3eba415dc04bfad8868ba849aa709300ff268b821eaf4980e73a337d682204c9ac3b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d5e604f7da8bc655e07c4551e1423ebb0c5a438b13c3db7ce77781dfcabedf6b5fbac70ccbe9c6fa4f8529eb96982e65f456cc9ec8f775b9e51b8e5a9cdd88756e116652fa2f6e95a6f6e09cc34d1a47772ec05f9c93d1dfb474365f2046b07d4ed0307fa0c53093c3004502b615ef62884821f81338d647fff6a68a05ab1cc233a531e0c318d7eec79745ddb66f4a543ee488a5c4d4613c2c17039231fd799306bba464073409fab94ff1c5f442bb07c35d763058c3754ea90c923b2861c64c4541a579ca4bd5c457d2e0abb25fed11a", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticHistogram_0.json b/src/vdaf/test_vec/mastic/04/MasticHistogram_0.json index d15660cf..bb70464a 100644 --- a/src/vdaf/test_vec/mastic/04/MasticHistogram_0.json +++ b/src/vdaf/test_vec/mastic/04/MasticHistogram_0.json @@ -15,8 +15,8 @@ ] ], "agg_shares": [ - "3e22db067cc9306e866e6d9ffe5c3be47dfa6a58442bcdcab46651164ab69c55d097145b316b7510cd07328fe39dfd3a1143f807f471acfa8f8ebd31869a8b6f41758804a1dadf591728101fd50b0616730b80488e2bf64a94f48497e8571fae9bfd877123c910df6bd6770145058d6ca0ba3202a93e3ffc8ee292c48759e51ac0af1457c6f91058b15820cec436f19e31ddfe78d262bcc719382c5299fc099d", - "c4dd24f98336cf915d91926001a3c41b840595a7bbd432352f99aee9b54963aa3168eba4ce948aef16f8cd701c6202c5f0bc07f80b8e5305547142ce79657490c18a77fb5e2520a6ccd7efe02af4f9e98ff47fb771d409b54f0b7b6817a8e0516602788edc36ef20782988febafa72936145cdfd56c1c003551d6d3b78a61ae54250eba83906efa732a7df313bc90e61d02201872d9d4338cac7d3ad6603f662" + "57edd9c20c118f6a195d314e77fc240884401acdefe525dd848bc63c3be70ec45c54085802ed3b36744da405e11c166b0bda29b8e77a5da66dc328d9b93e15a859010fbcc4acbfa6ddd14a91390bbf5adcba7399dd734cf88554bec4fb6b082c2ac0fe270eec06872e1a4ed37b0ecb2dfb80fbd12a518aa17c8b0be900e8e2e73e0166035d50acd6b600267ac5dcaf77bdf860affbbfe84c5835e9944caa5e16", + "ab12263df3ee7095caa2ceb18803dbf77dbfe532101ada225f7439c3c418f13ba5abf7a7fd12c4c96fb25bfa1ee3e994f625d6471885a259763cd72646c1ea57a9fef0433b534059062eb56ec6f440a526458c66228cb3075eab413b0494f7d3d73f01d8f113f978b5e5b12c84f134d2067f042ed5ae755e6774f416ff171d18c4fe99fca2af53292dffd9853a23508844079f50044017b38bca166bb355a1e9" ], "chunk_length": 2, "ctx": "736f6d65206170706c69636174696f6e", @@ -24,8 +24,8 @@ "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f1b190a31573f94a3ff5b5ed612f50d02d461052ad4df91ac91302eff7f3f22563650a42742a70c41dfd8711173eb4a40c8b4c682e8a2a29f16cf82b6c3d05ef74c4b6e26b3f88357635787854d2837ef574542fac51296e37a01dc19540faca992e5e9fbcf9ae9d8485f3e3ebbca69452c9177aac9fc4b6540f2aefc7874cfd7b2c523999e84a39b092de32ba893433a5ebb2de8020db63498f05a31ba0b51acca8b06bb5551dfacc41c5cc82ae198a2606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f1ff08c44c74df85378ff5da84b83ebd2848f6620f3fe286bf21d277851282cdb", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6679cc979fa30684efd4027510ff58f56d3c1d50cf7e9b9eb2e46354f16b674a" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7feb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e1e9d2fdab57b961f1617a6037fcb7720ae62043763961ce67fc625e8db7fb9d433bbe6badf38ecaba2809837ef8a1d90e7dc60922f14b0f5f61cad008ba8637bb91ecbf31081eeb5f1d00af169db722dcc4ab1815360014b5c486a530d30a80c482d49a8e3d64d7c75494da47a21ef6823eb543da722a51120df2ccd103cff0805e3cad172a16e59a1c0ab112345adb5553f8bfc1032c0cab1587bfbb8f290bf0c96bcc56841495fea9eaf8ed84668b2f29d493e23ae6074f7fcdfd2293847e1dbe6b54965251e4f2e6cbee42d63cd5b882a485c230d861ac9297b944509f580b0ebf83c178404f7a7aafe1cb4c7d1c7", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f8fda237882b6c0f8a7971c476a4b11c8e3f93350be5cb01fadf36ee076c8f77c" ], "measurement": [ [ @@ -37,46 +37,46 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf78cf798aff1e69a1", - "d5a823c816b99943d4ccc55cc33c34c7", - "9b325c1ebb2327b0e557bb2fa134ff68", - "b16bfd57517b39fec78494108233d9cf", - "c1d182018bf39fc89f6205b5f10302b2", - "4dfdc2ee9470d9e28eb8ff73f7c8b79b", - "abbc93b45bede3cacf42f34f844bd188", - "f5d80d3257cf28bbe76aae5675f6c583", - "79b6361775d82efd59c0f3fac8ae5a76", - "c724a76a617781fdb06fa8e8c601a44d" + "23f6e0c0d1442ba87cd5ad516751f3bc", + "605d786d8878f02a47d95992a3a13827", + "2196f34812ee02e51bcf62bd2ce876c5", + "01ad56717d11bbf29b0a1944bc5d39b6", + "9c2dcfd2873ddcd446e4e1063d758cc7", + "4a3ed1dd49d16efd191cea96fe2358b9", + "b9ea540d5af9acd7b0081af1d3049964", + "a9d5539b637083e07e2e59f8aaa24b4d", + "c055775674c58e472a0062d341f48fd2", + "ea5220e553954dc4be11a331c438ca5c" ], [ - "ec490c5381679a306b30867500e1965e", - "2c57dc37e94666bc0f333aa33cc3cb38", - "66cda3e144dcd84ffea744d05ecb0097", - "509402a8ae84c6011c7b6bef7dcc2630", - "402e7dfe740c6037449dfa4a0efcfd4d", - "b4023d116b8f261d5547008c08374864", - "56436c4ba4121c3514bd0cb07bb42e77", - "0c27f2cda830d744fc9451a98a093a7c", - "8849c9e88a27d1028a3f0c053751a589", - "3adb58959e887e023390571739fe5bb2" + "de091f3f2ebbd457672a52ae98ae0c43", + "a1a2879277870fd59c26a66d5c5ec7d8", + "e0690cb7ed11fd1ac8309d42d317893a", + "0053a98e82ee440d48f5e6bb43a2c649", + "65d2302d78c2232b9d1b1ef9c28a7338", + "b7c12e22b62e9102cae3156901dca746", + "4815abf2a506532833f7e50e2cfb669b", + "582aac649c8f7c1f65d1a607555db4b2", + "41aa88a98b3a71b8b9ff9d2cbe0b702d", + "17addf1aac6ab23b25ee5cce3bc735a3" ] ], "prep_messages": [ - "355d67d51eaf409442d63141ca99292dd063cc89ce24940af1fc5f73229ad172" + "e935dfee099d6787fc00eb8664d7a8b4f3e0b78101d3dfd67edfe1f009804c47" ], "prep_shares": [ [ - "e02120c7ccc7b316fb2abd5861076b8a1fbcf41fe1831cdd7796cec6728b787a6679cc979fa30684efd4027510ff58f56d3c1d50cf7e9b9eb2e46354f16b674a8d1d240afc43c4417e46872b273a885a324976797dc80b1f91adbba17a163272c7eb84e5f0366d824e2480e0530971134737391f58128f3578d67cf3dbbeab2422955ad6463e273d6f4dc3368ae00bb6cb2ff8077159c304d9dcd36cf3a7bbd3", - "e02120c7ccc7b316fb2abd5861076b8a1fbcf41fe1831cdd7796cec6728b787a1ff08c44c74df85378ff5da84b83ebd2848f6620f3fe286bf21d277851282cdb74e2dbf503bc3bbe65b978d4d8c577a599fb40798a5822282ba2af02fb2314ebcf4e9c5205d755cd092d7c482e7202ef68833eb8b1828a95fe094ff66085a27e7f557646c775df3217c560ea114f254f783fa9275229042d61f2defc752e1207" + "c5f2758926a6f70575fad13f89a196adaea8785fbfa1d29aaa0cfbe2c7ddab108fda237882b6c0f8a7971c476a4b11c8e3f93350be5cb01fadf36ee076c8f77cb838b430d02b16c87d236adc4d617b0fdc6c8550ebbfaa07e83812c40c2f395bd5be27ee20bc651bd6ea8666013f498c6e670cab5d77f4253a2dca44927b66121fa50c910ab412fc713a06141857991d949c79e8ccc2babc9b5b970f49bdd6ab", + "c5f2758926a6f70575fad13f89a196adaea8785fbfa1d29aaa0cfbe2c7ddab10eb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e49c74bcf2fd4e93766dc9523b29e84f000952ecd6f677785dbc5a89e5780f9d13b479d2ab45f08524f1607b931a77b66a9f4a31ca7d6a234f6cad3057cc481a4f1ae4d6955105d0efcc048b81b73a1a91c24f64dcfc5cf99081c3af88158d7df" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff1676312c362381919b2713cf3d65c6b8292f0d3c5d16ea7e1e74d3746a519e300d32bf9633b4251c048e7f6cdc71ed819ba5f88373856a9a1585d7379ba7f9f20253982bf18b6c7f2455e089f4aa1f8fc5e3a8401fe1b3f6fda0726d672f55f6a6225aed0bb419c3efa5a4060278e9f02a185e3eba238ec8e7cf8395eadd3adafa9d2b0281cbcec50a1cf3fa2dad0e70f557d1bd7033800aac382b9814edb82893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e277299e80a0654e86797f9a9389e5d0eb5d7b0952dc86b431dfa6c5fb2c5dce631157af49f50eea5d37f2776baeeb1961b70633d5b550ad94d1aba9254609c712ebbd14d7aacf41935d0fa4377147a8dafbc937992c7f5cac47ec66028e394bdbaed0345a523405e54da1d8c9ca8a13bfc1183b6b9e4f6704cbfcca9375997c945044bbfc47fad679eeffe3db22289b97b2080ef7fb4ea171b0610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f1b190a31573f94a3ff5b5ed612f50d02d461052ad4df91ac91302eff7f3f22563650a42742a70c41dfd8711173eb4a40c8b4c682e8a2a29f16cf82b6c3d05ef7d9f5b3697bda8361c0814f5de83d4b2c8f9830c45738643d82bedf2938597b8086c34d0fd0fc64c0065297add641324b2c9177aac9fc4b6540f2aefc7874cfd7251bde55d6a2a391ac021b540d7e2ffd26683f1e71e7e7da90335721d6c181d5d6ada2a755ef63c5062a03590f6ad09c606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f19f63e6dd9448ce253d1586347bdbf21ac5aac8d1c20f23815ecc54eb4fecee0", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f761516be946546b487df4d2793729b4cad0a7b18ece4b5d3885b3354e34dd8f5" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7feb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e1e9d2fdab57b961f1617a6037fcb7720ad62043763961ce67fc625e8db7fb9d434bbe6badf38ecaba2809837ef8a1d90e7dc60922f14b0f5f61cad008ba8637bb91ecbf31081eeb5f1d00af169db722dcc4ab1815360014b5c486a530d30a80c482d49a8e3d64d7c75494da47a21ef6823eb543da722a51120df2ccd103cff089d1467703d9052dc00eab355f0ed36ef1e11e03fc6989f03b4a6553a57f453735246579f1f2e19e319d7d338c48e338cf29d493e23ae6074f7fcdfd2293847e143b519ab9a363accce42b6a060ba4322bf58f3186ea6a6e1c6dba055a70732cd6a3b5e63609734737872da72c87f06ee", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f4c17d2c47a98fa6c33fb32a6e14bb5ed107813727cab1789c015c878ca83ef96" ], "measurement": [ [ @@ -88,46 +88,46 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf78cf798aff1e69a1", - "d5a823c816b99943d4ccc55cc33c34c7", - "9b325c1ebb2327b0e557bb2fa134ff68", - "b16bfd57517b39fec78494108233d9cf", - "c1d182018bf39fc89f6205b5f10302b2", - "b3736d00a7ceebfb230d87843ade54d0", - "15ac8bf7ede462ed7eb7540ed0ff2c7a", - "6935c9aefdff752ea9e6d5bde9082cb3", - "9893e43f794fbf9df4397e8392057153", - "c91676b48f5dfcbb29a1e3fee0ca0307" + "0e08b445f76920bedfe89cc0061eb675", + "597b1807f5dc7a9b2344d4a53ec21699", + "105994961cc0ef9efaef250ae74b0855", + "4b8bb8dbc4c2990f377f387fd6bca2c0", + "842b9a28995a2198dfaba041b64776c3", + "4a3ed1dd49d16efd191cea96fe2358b9", + "b9ea540d5af9acd7b0081af1d3049964", + "a9d5539b637083e07e2e59f8aaa24b4d", + "c055775674c58e472a0062d341f48fd2", + "ea5220e553954dc4be11a331c438ca5c" ], [ - "ec490c5381679a306b30867500e1965e", - "2c57dc37e94666bc0f333aa33cc3cb38", - "66cda3e144dcd84ffea744d05ecb0097", - "509402a8ae84c6011c7b6bef7dcc2630", - "402e7dfe740c6037449dfa4a0efcfd4d", - "4f8c92ff58311404c0f2787bc521ab2f", - "ec537408121b9d126548abf12f00d385", - "98ca365102008ad13a192a4216f7d34c", - "6a6c1bc086b04062efc5817c6dfa8eac", - "38e9894b70a20344ba5e1c011f35fcf8" + "f3f74bba0896df410417633ff9e1498a", + "a884e7f80a238564c0bb2b5ac13de966", + "f1a66b69e33f1061e90fdaf518b4f7aa", + "b67447243b3d66f0ac80c78029435d3f", + "7dd465d766a5de6704545fbe49b8893c", + "b8c12e22b62e9102cae3156901dca746", + "4815abf2a506532833f7e50e2cfb669b", + "582aac649c8f7c1f65d1a607555db4b2", + "42aa88a98b3a71b8b9ff9d2cbe0b702d", + "17addf1aac6ab23b25ee5cce3bc735a3" ] ], "prep_messages": [ - "5304fc58bde6782dee8b2852a748ce19457a434a232bda334f55f92fac1c019c" + "84a5f6d38ab83c5384902decd52b89667bd699aa8eeb4d654d8fd126de852fc1" ], "prep_shares": [ [ - "9231df1d385dd79881925bb56ee4525c4beb6089da6146f7dd76e0342f95094e761516be946546b487df4d2793729b4cad0a7b18ece4b5d3885b3354e34dd8f5a83944bcb3656eaf883a692698b4bf817f2ea2fe9d94d6c80a18da829261b7e5e85af9ec0e44be4651e6d5f1e932756d63c1b7114be9c722a6906547e165a30e216acee297f14fe805592aff1f4ceca7745704bd2b1f6dfa8d91355267e72fda", - "9231df1d385dd79881925bb56ee4525c4beb6089da6146f7dd76e0342f95094e19f63e6dd9448ce253d1586347bdbf21ac5aac8d1c20f23815ecc54eb4fecee059c6bb434c9a91505bc596d9674b407e58e3c8c9d0d1c0ca3cf3fde212d27fc95efec07e8e9eb4714dbac2886b9bc9bd303e191c97229ea6e7acbe828128bd4d95d5098b1597be158ddf2f58aa614d13783fa9275229042d61f2defc752e1207" + "ab86357223f924e61eec632aa9d008b8805a698ea267e244a309e32ba6c63e1f4c17d2c47a98fa6c33fb32a6e14bb5ed107813727cab1789c015c878ca83ef96b838b430d02b16c87d236adc4d617b0f3add48aeeda19c6553f40ad2514b58901f5b379e9139fb109e39f3bd0b34f4cc15ad676c67882b6c7e4b6421da5b3423f2acb0278d956e3b7a45aeac80a26f5d7a4c7f6ccc9a0120e74f7030a1a8f50a", + "ab86357223f924e61eec632aa9d008b8805a698ea267e244a309e32ba6c63e1feb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e49c74bcf2fd4e93766dc9523b29e84f0b21781feb9bf634f454864a61c5fe6573b479d2ab45f08524f1607b931a77b66f0b1aa63d52d530e80467f43a19aca16f1ae4d6955105d0efcc048b81b73a1a91c24f64dcfc5cf99081c3af88158d7df" ] ], - "public_share": "018031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7139b0a3cb3046aef8e96793a0ac548f1f980e043c70626e9f31e3b00ac83699c9f98ab4988ffed0a6bd6b98f40c7e3ad9858ee70db7475912f9e7251a00eb55fac13bad70c908d603bd560051b7b9f1f62d5e495135c2e58042f8f3619889294d4511df162b3c0beed6ebcfeabdbe99076fd406092d3855f50f81fa1d2bf39ddce8680d92c934c8deb1a5ac86b31e7c411474c6505eab2be22f5bdcf9b173b3c0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc44843152e3510566e6a43d267e49614508cc7b3a94ad4359bb0a880fa1ec1dab03de6df", + "public_share": "01104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b93a8254761d8dd51cf61abd98613c64b7b9f7fb701469d6b03385c4897b25b443f06ed4eb3121b982e0909e1a0c584da699461157e277faada1762c75e544f78e4f062649a21597f163825699c3a6b2bcbb0c17fc399f82c51fa7680167c28d7d77e400c24ff9472bca6ebfb8be603cc6cae02ceab27328b6d4a379069f5a02dc09ab0ba2a048a8629fbfdeff990cd1a8d7fc080834a6fe3eb947aeba2dbd01176a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd45b11fb570f3385802fc05ce7172d33aa724d997264b95e40a3232c4c79293ac6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f1b190a31573f94a3ff5b5ed612f50d02d461052ad4df91ac91302eff7f3f22563650a42742a70c41dfd8711173eb4a40c8b4c682e8a2a29f16cf82b6c3d05ef7def73a9e7b931c9eb9e0f7bd65d80b217a7cf7d0737e3e89433fbf4588a7bbde4ece8c0fad39809c23d48e18f9293edb2c9177aac9fc4b6540f2aefc7874cfd71f195721d6e90a55cfa372f38fe36e083b84781155a10d8fcfb27705867341770ea363a778b248e9e9a70beeec81c40c606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f75cdd16c78b72094aa3d1245de0f6d8d9cf647df7a1b0bf2fce7bc69b0b1f6b5", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5fa40e0968dafc98e8a20ba66164b2d681ab4e651299ed39200fa5c089aa80e33f" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7feb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e1e9d2fdab57b961f1617a6037fcb7720ad62043763961ce67fc625e8db7fb9d433bbe6badf38ecaba2809837ef8a1d90e8dc60922f14b0f5f61cad008ba8637bb91ecbf31081eeb5f1d00af169db722dcc4ab1815360014b5c486a530d30a80c482d49a8e3d64d7c75494da47a21ef6823eb543da722a51120df2ccd103cff0837acaf1026a96d19d50744a644b42e578ce34f960d801d062cc66c5da563ba0369b39476c7ce88085b932d500ababc6cf29d493e23ae6074f7fcdfd2293847e1a91dd10ab21d1f8ffa2426500cf44bba508683c226bf28df6abc89325998cb3c52ce208cb8f6c44d53b6805b82547d0d", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f248d411f19954c8c4db77bee96b3fef87419057e3ba01e9372c23d4337662e78" ], "measurement": [ [ @@ -139,40 +139,40 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf78cf798aff1e69a1", - "d5a823c816b99943d4ccc55cc33c34c7", - "9b325c1ebb2327b0e557bb2fa134ff68", - "b16bfd57517b39fec78494108233d9cf", - "c1d182018bf39fc89f6205b5f10302b2", - "749a4f5952ec306cc52efe9eb6b01242", - "dc9468c5d9f6c92601dc2fa3f0b98e69", - "44ac5b21546fa012c6900eb0285af3e3", - "b065f9ffd7d122bd465eae4f698225d5", - "a1a1e159e18d3e0e3f27a06af12f6248" + "28ef44bc43624304859ee63b098d7bd5", + "cb6789587290ba161a6e98045983bf03", + "2c658078d33e49b2418e1b3ecde89650", + "c0a11a6ba5a608a47e39d71527243931", + "3ba8a5c0a314c2397f41c848464ebccf", + "4a3ed1dd49d16efd191cea96fe2358b9", + "b9ea540d5af9acd7b0081af1d3049964", + "a9d5539b637083e07e2e59f8aaa24b4d", + "c055775674c58e472a0062d341f48fd2", + "ea5220e553954dc4be11a331c438ca5c" ], [ - "ed490c5381679a306b30867500e1965e", - "2c57dc37e94666bc0f333aa33cc3cb38", - "66cda3e144dcd84ffea744d05ecb0097", - "509402a8ae84c6011c7b6bef7dcc2630", - "412e7dfe740c6037449dfa4a0efcfd4d", - "8d65b0a6ad13cf931ed10161494fedbd", - "256b973a260936d9e223d05c0f467196", - "bd53a4deab905fed1d6ff14fd7a50c1c", - "519a0600282edd429da151b0967dda2a", - "605e1ea61e72c1f1a4d85f950ed09db7" + "da10bb43bc9dbcfb5e6119c4f672842a", + "369876a78d6f45e9c99167fba67c40fc", + "d59a7f872cc1b64da271e4c1321769af", + "415ee5945a59f75b65c628ead8dbc6ce", + "c7575a3f5ceb3dc664be37b7b9b14330", + "b7c12e22b62e9102cae3156901dca746", + "4815abf2a506532833f7e50e2cfb669b", + "582aac649c8f7c1f65d1a607555db4b2", + "41aa88a98b3a71b8b9ff9d2cbe0b702d", + "17addf1aac6ab23b25ee5cce3bc735a3" ] ], "prep_messages": [ - "31ea146ae4efc688f3dfa965a01c2b72f7350732e844e5d8dc9ab8c47c9e7864" + "68edeabd2a948f35f91c0cced4e998f77de671aa090de8e11e15f05272b3fc83" ], "prep_shares": [ [ - "27320957b48ba80e929cb7fee968ec46962257aa5ba7a0a5a85a9f1d0016bb6fa40e0968dafc98e8a20ba66164b2d681ab4e651299ed39200fa5c089aa80e33fa83944bcb3656eaf883a692698b4bf812db9dfe6d05d1c333b636a89c0cde27a98799220b6186eaf97357243bd854096087338e06e9a358e60e31563bf50d614714b35aff01ca07fbf098ead4cf9207fff51023781b09a1cc43c27fb202c52e8", - "27320957b48ba80e929cb7fee968ec46962257aa5ba7a0a5a85a9f1d0016bb6f75cdd16c78b72094aa3d1245de0f6d8d9cf647df7a1b0bf2fce7bc69b0b1f6b559c6bb434c9a91505bc596d9674b407e9e8bd70b37c3111481ec001bb56c63e2fec08e1740f554a0c01b8ae5c4f5326c50d01f2fcae5185ce4861c700a85bb59f5123cf263401ee7197e68fb5007e464783fa9275229042d61f2defc752e1207" + "077dfdeab3b591d033ce6ee1bbc3e51917cbb6799466ffce9f28eeedce9615bd248d411f19954c8c4db77bee96b3fef87419057e3ba01e9372c23d4337662e78b838b430d02b16c87d236adc4d617b0f3cc4449c44d0941ac09edd3a48b916b4d5be27ee20bc651bd6ea8666013f498c7cdd218ab655ffc7642854f8bf0276213c49c0d7fd12043142941a048b971a9e0daf015e8efcd1c095d266e646e11f72", + "077dfdeab3b591d033ce6ee1bbc3e51917cbb6799466ffce9f28eeedce9615bdeb642e0cb3277290235067da8ee668ef5ff09240fa66f84691bdb9b803d7734e49c74bcf2fd4e93766dc9523b29e84f0a03d6f8116578d720360dd271cf61b793b479d2ab45f08524f1607b931a77b66e476bcab40292859f4a1a4be0c69652cf1ae4d6955105d0efcc048b81b73a1a91c24f64dcfc5cf99081c3af88158d7df" ] ], - "public_share": "0d8031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5139b0a3cb3046aef8e96793a0ac548f1f980e043c70626e9f31e3b00ac83699c9f98ab4988ffed0a6bd6b98f40c7e3ad9958ee70db7475912f9e7251a00eb55fab13bad70c908d603bd560051b7b9f1f23fcc6eebe7973c8a5500651955a50069b3afabe4ec527f86f939793cc954b805074d3d2e842b04389a258931111010ee55895998b15b0ac593f8a9442ae9b46e9d1b70a571af510387b7a3bac7c997d0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc448431560ba27b5aa291b3ced36ba59f9e6e38dd684bd456c7ad2d2a748543a8489d874", + "public_share": "0d104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be3a8254761d8dd51cf61abd98613c64b7b9f7fb701469d6b03385c4897b25b443f06ed4eb3121b982e0909e1a0c584da69a461157e277faada1762c75e544f78e4e062649a21597f163825699c3a6b2bcd5f3a7728697a50bc55cb27c693153dde9d07113cdac87a6c0988317d921e530e6ec18cc69f281c91b426f3a85f790d77ec16d31812c17f7e6797d96ea7367198e7914a03e609fe058ddd5c1bdc347236a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd450b5f39f78b3eabfe96388efba2b6dd8912b0699072f81ba38d960acea9531aa", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticMultihotCountVec_0.json b/src/vdaf/test_vec/mastic/04/MasticMultihotCountVec_0.json index 7e1bccf4..dd30b808 100644 --- a/src/vdaf/test_vec/mastic/04/MasticMultihotCountVec_0.json +++ b/src/vdaf/test_vec/mastic/04/MasticMultihotCountVec_0.json @@ -15,8 +15,8 @@ ] ], "agg_shares": [ - "296ce759fd30cb9e0d9ff314ff3dd242a95147902d723387c4998bb98679688e3665b83c76474e60cbaf765f4269fed161d7faafa2f672fcab0929210467b29f81a3050316e73f915bc50a6ae3070464ff7030ef3b3fc5decec586f831a70c6cbf681fac49d246b86afa475e544bfe025e0ed7e054cf9ee9ac5184145ffff136124a1b57ee27ee9a4efa717e5bb4cbc9903b1d1ff1d47db9da108ce7a7cca754", - "d89318a602cf3461d6600ceb00c22dbd58aeb86fd28dcc781f66744679869771cb9a47c389b8b19f185089a0bd96012ea02805505d098d0338f6d6defb984d60805cfafce918c06e883af5951cf8fb9b038fcf10c4c03a21153a7907ce58f3934297e053b62db9477905b8a1abb401fda4f1281fab30611637ae7beba0000ec9f0b5e4a811d8116595058e81a44b343671c4e2e00e2b824609ef7318583358ab" + "30fe9406c9ae4b6678be4a126e6fa932b9d890747d556bc66a1d2e38e2634fc02fef87df2eaef28332bf88c713347f1a4a380f4d42d45402ef8951c3921adc761f5969fb2098fd6c42908248f3bc028b937ca2bb93a2ddfa4f38d42dfd47b07272d5a91ab4f259af611134e2a70932c952aba736c7e006c1fd5cb2f05545979a7fabeeace88a1d8f7000c4a683e81fa5d4a540caa72a9b887d234663887194b9", + "d1016bf93651b4996b41b5ed919056cd48276f8b82aa943979e2d1c71d9cb03fd2107820d1510d7cb1407738eccb80e5b7c7f0b2bd2babfdf475ae3c6de52389e2a69604df670293a16f7db70c43fd746f835d446c5d220594c72bd202b84f8d8f2a56e54b0da65082eecb1d58f6cd36b05458c9381ff93ee6a24d0faaba6865835411531775e27073ff3b597c17e05a2d5abf3558d5647766dcb99c778e6b46" ], "chunk_length": 2, "ctx": "736f6d65206170706c69636174696f6e", @@ -25,8 +25,8 @@ "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0f51a3e10435dc45a8831f8adc144f31c8590df32df2617dcb742ff598295821af0eb750a579c8174c306867a6b9960c6edbae9b44d4397bd2117023bb01480a4f78f98232d619f42a8e8b393a062098af9a055ed03d8c097cb0afde6aafd1258f26e98ca02a2a1385e48b3bfc60fa3a8a32218d1501d7ed76ba48906860d9f10835acfb42403e6367d8b7c2da75035de79236ffa716e3f01d1075befcea12a0b23d51418eb13bdd170f11b9a426cf3ad9606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f52358c332dccef26a1ea7be47c03d16ef6ad0f484c25498cf9a301d833f6cb55", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f5988e31ac1ed2ad49341ac47f78853d7a0f5420dd541699b0d01ee711bfa9f0d" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7faf8cca3a0f8ec8df25b58e79cb8e27dc4a911e6b711b6606a007745b21757878434f2a81039fc65303ec6695cfdc45e5a242b2c81f00e31cc8c1be23592fbf88c25ec2d64f72f09f9adb9a36b822327f00f590302b79fe4e3350ace0725bf909a9f1fe1558a57ca015c4f85c9fa2f312eb6cce81331dbfef9d38bbcaf42c89f93a23c1b922cd0e0c1ff8cd64472e6c621a80438af3ab5de30cb3329676b9d357301e7f50171f95fc0b3f4f791940a51624cd24f3b519a8336249f951171cdd07079c3279a86ac19f0eacd4c93b75f0b76b9ed15aa2c6c7152d99ba1a6adb12ba895df6ba2ed191d1495c2d04a723aae3f85c1ac97c2a4f5dfb2aba7473de766f2cff8f4bb0d50e1b425e9d25cef4f202759f1ff94076ba9eb95e4d34ab8bf8cbb51006eb2d8bb4d041f12f06c6e15396", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f3b074e932e1e321d4670867c0ac719c3bced138d4cad42ac59af2ed0506f622c" ], "measurement": [ [ @@ -43,46 +43,46 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf78cf798aff1e69a1", - "d5a823c816b99943d4ccc55cc33c34c7", - "9b325c1ebb2327b0e557bb2fa134ff68", - "b16bfd57517b39fec78494108233d9cf", - "c1d182018bf39fc89f6205b5f10302b2", - "4dfdc2ee9470d9e28eb8ff73f7c8b79b", - "abbc93b45bede3cacf42f34f844bd188", - "f5d80d3257cf28bbe76aae5675f6c583", - "7ab6361775d82efd59c0f3fac8ae5a76", - "c724a76a617781fdb06fa8e8c601a44d" + "23f6e0c0d1442ba87cd5ad516751f3bc", + "605d786d8878f02a47d95992a3a13827", + "2196f34812ee02e51bcf62bd2ce876c5", + "00ad56717d11bbf29b0a1944bc5d39b6", + "9c2dcfd2873ddcd446e4e1063d758cc7", + "4a3ed1dd49d16efd191cea96fe2358b9", + "b9ea540d5af9acd7b0081af1d3049964", + "a9d5539b637083e07e2e59f8aaa24b4d", + "c055775674c58e472a0062d341f48fd2", + "ea5220e553954dc4be11a331c438ca5c" ], [ - "ec490c5381679a306b30867500e1965e", - "2c57dc37e94666bc0f333aa33cc3cb38", - "66cda3e144dcd84ffea744d05ecb0097", - "509402a8ae84c6011c7b6bef7dcc2630", - "402e7dfe740c6037449dfa4a0efcfd4d", - "b4023d116b8f261d5547008c08374864", - "56436c4ba4121c3514bd0cb07bb42e77", - "0c27f2cda830d744fc9451a98a093a7c", - "8749c9e88a27d1028a3f0c053751a589", - "3adb58959e887e023390571739fe5bb2" + "de091f3f2ebbd457672a52ae98ae0c43", + "a1a2879277870fd59c26a66d5c5ec7d8", + "e0690cb7ed11fd1ac8309d42d317893a", + "0153a98e82ee440d48f5e6bb43a2c649", + "65d2302d78c2232b9d1b1ef9c28a7338", + "b7c12e22b62e9102cae3156901dca746", + "4815abf2a506532833f7e50e2cfb669b", + "582aac649c8f7c1f65d1a607555db4b2", + "41aa88a98b3a71b8b9ff9d2cbe0b702d", + "17addf1aac6ab23b25ee5cce3bc735a3" ] ], "prep_messages": [ - "53d0e81ab0ba4b11f1ed4eead0a517bfbba150929534b5c47668bf5bbef129bc" + "f8cb40cec8af0e16bd97878300490f83925165602ea78e81a651c49bb3bb1578" ], "prep_shares": [ [ - "a31ed68a1f6d15f3254d304d4c74277583696ef799b6869ba3e1f295aed14b425988e31ac1ed2ad49341ac47f78853d7a0f5420dd541699b0d01ee711bfa9f0da36078a456c7a4f520430db78d0d7364727928745f9fe845a944c55ac562111ee4d5302dc4130a56b19af3e55edd0110c57f6ba119d13e702c0815443dacc14942e7aa92d41308c524107172e0bdf987b44bc79bf70726e48b5ce8367866c219", - "a31ed68a1f6d15f3254d304d4c74277583696ef799b6869ba3e1f295aed14b4252358c332dccef26a1ea7be47c03d16ef6ad0f484c25498cf9a301d833f6cb555e9f875ba9385b0ac3bcf24872f28c9b801c7169dddd4cf4aaa7740d568228e100efdd1c2edbc9dd74fbcbc84ebe950bbd88624443def801ab5146d0126b92c84dd192823503ce2b85ec36a505fd71621007b5cb206b33d805b77a6c6736386b" + "5ca0ef9cfdbbe7e891890fdd80259b51fd96c2a49e206ff2646f2606525c7cf43b074e932e1e321d4670867c0ac719c3bced138d4cad42ac59af2ed0506f622cdc2b6bff9764660e605b4e71ff3976e99ada65c3309712763f0cf73dc4a1b9e5c37bdddc6489a397ca6db6f9ce3e883bebfdc50293b3a34f69182fbdd87e1d8707a00656e068b9f3c36ef16416bbd064dafd04fae89b8b70177cc9fd9a3a70f4", + "5ca0ef9cfdbbe7e891890fdd80259b51fd96c2a49e206ff2646f2606525c7cf4af8cca3a0f8ec8df25b58e79cb8e27dc4a911e6b711b6606a007745b2175787825d49400689b99f183a4b18e00c6891600549f2550f619ab1b21ed8e6912b7a5312d6f9e2f1ab7734cfa2c65eec9d62306c9615fa593ca33da51948d130a597e38311759aa6b8a1fde7b98d80b9c9a14abf9a776bdb6675a9d4eb6c4e0b52ba0" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff1676312c362381919b2713cf3d65c6b8292f0d3c5d16ea7e1e74d3746a519e300d32bf9633b4251c048e7f6cdc71ed81aba5f88373856a9a1585d7379ba7f9f20253982bf18b6c7f2455e089f4aa1f83856e6fe88bf5655e2b3d1cae79dcd2437399a0e99ec686fa42b4361830564dcfc5e3a8401fe1b3f6fda0726d672f55f6a6225aed0bb419c3efa5a4060278e9f02a185e3eba238ec8e7cf8395eadd3adb0a9d2b0281cbcec50a1cf3fa2dad0e70f557d1bd7033800aac382b9814edb82761b4e02d6d9cc651db0e014e3e106bb161eb3955c09e5e6598d712ac1368e78893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e277299e80a0654e86797f9a9389e5d0eb5d7b0952dc86b431dfa6c5fb2c5dce631157af49f50eea5d37e2776baeeb1961b70633d5b550ad94d1aba9254609c712ebbd14d7aacf41935d0fa4377147a8dafbc937992c7f5cac47ec66028e394bdbaed0345a523405e54da1d8c9ca8a13bfc1183b6b9e4f6704cbecca9375997c945044bbfc47fad679eeffe3db22289b97b2080ef7fb4ea171b0610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0f51a3e10435dc45a8831f8adc144f31c8590df32df2617dcb742ff598295821af0eb750a579c8174c306867a6b9960c6edbae9b44d4397bd2117023bb01480a4ff3988d4c316577444d862a3d3981709947d9942e667f6053ec60f064843d4a4495885253f493b41ef287dd97ffd8668232218d1501d7ed76ba48906860d9f108ba0cf128e5f2df4d19bdd1d742a284fde562c849eeef9946d4c3ac0216a77bfdceb17bdbe7d13b7e0115170988f00ee1606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7ff9888742c67c90acb2402a36da7287c2afce40a2b4b50832fd6224982888bcda", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5fb48b9dbe706c287c03df5799777fafc0ea378f22556d191266785cc81ab47b5c" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7faf8cca3a0f8ec8df25b58e79cb8e27dc4a911e6b711b6606a007745b21757878434f2a81039fc65303ec6695cfdc45e5a242b2c81f00e31cc8c1be23592fbf88c25ec2d64f72f09f9adb9a36b822327f00f590302b79fe4e3350ace0725bf909a9f1fe1558a57ca015c4f85c9fa2f312eb6cce81331dbfef9d38bbcaf42c89f93a23c1b922cd0e0c1ff8cd64472e6c621a80438af3ab5de30cb3329676b9d357301e7f50171f95fc0b3f4f791940a51624cd24f3b519a8336249f951171cdd07079c3279a86ac19f0eacd4c93b75f0b76b9ed15aa2c6c7152d99ba1a6adb12ba895df6ba2ed191d1495c2d04a723aae3f85c1ac97c2a4f5dfb2aba7473de766f2cff8f4bb0d50e1b425e9d25cef4f202759f1ff94076ba9eb95e4d34ab8bf8cbb51006eb2d8bb4d041f12f06c6e15396", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f3b074e932e1e321d4670867c0ac719c3bced138d4cad42ac59af2ed0506f622c" ], "measurement": [ [ @@ -99,40 +99,40 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf78cf798aff1e69a1", - "d5a823c816b99943d4ccc55cc33c34c7", - "9b325c1ebb2327b0e557bb2fa134ff68", - "b16bfd57517b39fec78494108233d9cf", - "c1d182018bf39fc89f6205b5f10302b2", - "b3736d00a7ceebfb230d87843ade54d0", - "15ac8bf7ede462ed7eb7540ed0ff2c7a", - "6a35c9aefdff752ea9e6d5bde9082cb3", - "9893e43f794fbf9df4397e8392057153", - "c91676b48f5dfcbb29a1e3fee0ca0307" + "0e08b445f76920bedfe89cc0061eb675", + "597b1807f5dc7a9b2344d4a53ec21699", + "0f5994961cc0ef9efaef250ae74b0855", + "4b8bb8dbc4c2990f377f387fd6bca2c0", + "842b9a28995a2198dfaba041b64776c3", + "4a3ed1dd49d16efd191cea96fe2358b9", + "b9ea540d5af9acd7b0081af1d3049964", + "a9d5539b637083e07e2e59f8aaa24b4d", + "c055775674c58e472a0062d341f48fd2", + "ea5220e553954dc4be11a331c438ca5c" ], [ - "ec490c5381679a306b30867500e1965e", - "2c57dc37e94666bc0f333aa33cc3cb38", - "66cda3e144dcd84ffea744d05ecb0097", - "509402a8ae84c6011c7b6bef7dcc2630", - "402e7dfe740c6037449dfa4a0efcfd4d", - "4f8c92ff58311404c0f2787bc521ab2f", - "ec537408121b9d126548abf12f00d385", - "98ca365102008ad13a192a4216f7d34c", - "6a6c1bc086b04062efc5817c6dfa8eac", - "38e9894b70a20344ba5e1c011f35fcf8" + "f3f74bba0896df410417633ff9e1498a", + "a884e7f80a238564c0bb2b5ac13de966", + "f2a66b69e33f1061e90fdaf518b4f7aa", + "b67447243b3d66f0ac80c78029435d3f", + "7dd465d766a5de6704545fbe49b8893c", + "b8c12e22b62e9102cae3156901dca746", + "4815abf2a506532833f7e50e2cfb669b", + "592aac649c8f7c1f65d1a607555db4b2", + "42aa88a98b3a71b8b9ff9d2cbe0b702d", + "17addf1aac6ab23b25ee5cce3bc735a3" ] ], "prep_messages": [ - "40918142322fed3926bc0911bccc92c9d71efdbb1cda778feb629d07b6b9f767" + "f8cb40cec8af0e16bd97878300490f83925165602ea78e81a651c49bb3bb1578" ], "prep_shares": [ [ - "4d30e35ec30a480357fefc97628ad522d6b9f3e624cd593fc2574fe01e5cf00cb48b9dbe706c287c03df5799777fafc0ea378f22556d191266785cc81ab47b5c5c674649f7a17c6a27f03d696a5ca8685d3af9dab3f272622e99eac8d715de13e0e9aaeac1f815426773612fccba5d00c74d4fa232f38b03c8ed6e49b46583609160750d2c35b08275375058aa10378b796f0f78fadac82ba63ffe1a798ec6e7", - "4d30e35ec30a480357fefc97628ad522d6b9f3e624cd593fc2574fe01e5cf00cf9888742c67c90acb2402a36da7287c2afce40a2b4b50832fd6224982888bcdaa598b9b6085e8395bc0fc29695a35797b7a6ff17f4099eaea25451410bc7cf0804db635f30f6bdf1be225e7fe1e0391b6c2e564a77ce8fc3c31dc51b95a78af4fe57c807dee1256e34c557bf3baa345f1007b5cb206b33d805b77a6c6736386b" + "c779c4309ce8873c19e4e699cef29e372754ded16333d05801af2feab1c3eb393b074e932e1e321d4670867c0ac719c3bced138d4cad42ac59af2ed0506f622cdc2b6bff9764660e605b4e71ff3976e99ada65c3309712763f0cf73dc4a1b9e5c37bdddc6489a397ca6db6f9ce3e883bebfdc50293b3a34f69182fbdd87e1d8707a00656e068b9f3c36ef16416bbd064dafd04fae89b8b70177cc9fd9a3a70f4", + "c779c4309ce8873c19e4e699cef29e372754ded16333d05801af2feab1c3eb39af8cca3a0f8ec8df25b58e79cb8e27dc4a911e6b711b6606a007745b2175787825d49400689b99f183a4b18e00c6891600549f2550f619ab1b21ed8e6912b7a5312d6f9e2f1ab7734cfa2c65eec9d62306c9615fa593ca33da51948d130a597e38311759aa6b8a1fde7b98d80b9c9a14abf9a776bdb6675a9d4eb6c4e0b52ba0" ] ], - "public_share": "018031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7139b0a3cb3046aef8e96793a0ac548f1f980e043c70626e9f31e3b00ac83699c9e98ab4988ffed0a6bd6b98f40c7e3ad9858ee70db7475912f9e7251a00eb55fac13bad70c908d603bd560051b7b9f1f28a1929c6b1601a63c90ade10f5d7e9532ba24753d7f08988c8803fe3fe9bf9a62d5e495135c2e58042f8f3619889294d4511df162b3c0beed6ebcfeabdbe99077fd406092d3855f50f81fa1d2bf39ddce8680d92c934c8deb1a5ac86b31e7c411474c6505eab2be22f5bdcf9b173b3c01c266ac9893b71376bedb6f433dc8db32d467ff73168c8c09100d2f786fd4b90b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc44843152e3510566e6a43d267e49614508cc7b3a94ad4359bb0a880fa1ec1dab03de6df", + "public_share": "01104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b93a8254761d8dd51cf61abd98613c64b7b9f7fb701469d6b03385c4897b25b443ef6ed4eb3121b982e0909e1a0c584da699461157e277faada1762c75e544f78e4f062649a21597f163825699c3a6b2bcbb0c17fc399f82c51fa7680167c28d7d77e400c24ff9472bca6ebfb8be603cc6c9e02ceab27328b6d4a379069f5a02dc09ab0ba2a048a8629fbfdeff990cd1a8d7fc080834a6fe3eb947aeba2dbd01176a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd45b11fb570f3385802fc05ce7172d33aa724d997264b95e40a3232c4c79293ac6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticSumVec_0.json b/src/vdaf/test_vec/mastic/04/MasticSumVec_0.json index b7ba0d62..009e6ce1 100644 --- a/src/vdaf/test_vec/mastic/04/MasticSumVec_0.json +++ b/src/vdaf/test_vec/mastic/04/MasticSumVec_0.json @@ -8,8 +8,8 @@ ] ], "agg_shares": [ - "16edfdeaad2211ff7d6bd37ca50883435382df6e016602381c2c553b5fa418b342b0ab075313daed52aca2dc52d3593e29db323fe0126ee1ed22f3db4ac51265", - "ed12021552ddee0066942c835af77cbcae7d2091fe99fdc7c7d3aac4a05be74cc04f54f8acec251291535d23ad2ca6c1d924cdc01fed911ef6dc0c24b53aed9a" + "e3093ebfabeeba3f005c6e1f12922bd8491c5106e764a3606414d0278a7ec623d8fce0456018e50a4b978b6a9a51d5583514a11ce4a842e82be75656b292fc03", + "20f6c140541145c0e3a391e0ed6dd427b8e3aef9189b5c9f7feb2fd8758139dc2a031fba9fe71af59868749565ae2aa7cdeb5ee31b57bd17b818a9a94d6d03fc" ], "bits": 1, "chunk_length": 1, @@ -18,8 +18,8 @@ "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe17870a3c2662f845fe7bb009eb69adc1e19e27b2a4ded86376bf3f91b6d481b0eb8a4faf799bd94f1c4efd00ffa5909d0c0794dd6294dd62690f091377ac82584992e65a0425054240c706250d2081b997bcea75a86585883287590b61c4e3e9044d1604f0d4bd6b7b4f3675ef227e1e46e4d1b8ac8a60ed5eb9caa6169d50e2946f6c8974997f52f0430235a9de8b7606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7fb65b3467a80c2c9463306f865a3e286efa8cf888bcfc8bc2a0a3c949e431a6fe", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5fe5f8a3048906eb1ffc00a65aee4b5666d791da455536f799fcc1ed0ff4784095" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7fc531ecbc7dfda31df3696d4769ecaf8bd12ef0fa7679cbcb0f97f03bf71567546c3f33a410c46f2a258128d54fabeb2c1333dc79523d9806ea6aad734d2f9f80bba2413649859b75075de3c1a289575416e0461342a41aeb4c0fa85c4f891a57688a70e42527cb4d20451d9b5557a0826b089bec2e4a04c52161dfd9cbcff02bbad55542d82f5eb4e975aefda9a9b2ed89907b1ec98230e920842cf22929ab69812a8d61d0456106a5fca9aa30b78b3c94240d4413b4fb52299a291d32f053307cdcbc2348142c414ec412350a324ecaab0d7aba04eabe149a1faea6669f90bf", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f210a6cf92766110a1460e2a7b4a9f7d8c955341c39542901c8d7de0f97e9f1a0" ], "measurement": [ [ @@ -49,34 +49,34 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "8bf67ef5569188ffbeb569be5284c121", - "2ac16fb70033011c0096aa9d2f528cd9", - "21d8d583a909ed762956516ea9e92c1f", - "956d991f7009b7f06891f96da56289b2" + "f2049fdf5577dd1ff22db70f09c915ec", + "258e288373b25130240ae813453fe391", + "6c7ef022308c728597cb4535cda86aac", + "1b8a500e725421f495732b2b5949fe01" ], [ - "7709810aa96e7700254a9641ad7b3ede", - "d73e9048ffccfee3e3695562d0ad7326", - "e0272a7c56f61289baa9ae915616d3e0", - "6d9266e08ff6480f7b6e06925a9d764d" + "10fb6020aa8822e0f1d148f0f636ea13", + "dc71d77c8c4daecfbff517ecbac01c6e", + "95810fddcf738d7a4c34baca32579553", + "e775aff18dabde0b4e8cd4d4a6b601fe" ] ], "prep_messages": [ - "66e5d2f205c6d9ddcedcf8468c7746372af5e121e064e9d36fd7fb5b2a3ce37b" + "1fc7d32bb30f0381fe144071f60b4612bef3bc73e84d4c8ce7e222ca7909bc9c" ], "prep_shares": [ [ - "5e278b590f6ba6d04ffc3dbb6064404520753e2e0548b54f3c1259e0f73eb6cae5f8a3048906eb1ffc00a65aee4b5666d791da455536f799fcc1ed0ff4784095df6aa7d3e2f0e5b944b807585055a879d2983caff33b2fc75efbd15081a031be29f150f0421d01edf59c9e517c11a97a17babce4a4409dea83a836401f4ebfe8", - "5e278b590f6ba6d04ffc3dbb6064404520753e2e0548b54f3c1259e0f73eb6cab65b3467a80c2c9463306f865a3e286efa8cf888bcfc8bc2a0a3c949e431a6fe2295582c1d0f1a469f47f8a7afaa5786b811ad8b3e594feff0bb38a3ac585987ad2c86434296538b7e188847ca1539ad24c2e939cf9c47e6f6088e485a86ecfa" + "3e833a587315ec6c05e81dea3e706508618184748b68dd07dff63d38d536cadf210a6cf92766110a1460e2a7b4a9f7d8c955341c39542901c8d7de0f97e9f1a0150c63f10704254ef516d56e84e405f7bfc575e5dd42228832b2929d392946b7f69c86d1315fc7743cb3a03243fccd2c3d03fc296353f4791786d0b1a2deab7b", + "3e833a587315ec6c05e81dea3e706508618184748b68dd07dff63d38d536cadfc531ecbc7dfda31df3696d4769ecaf8bd12ef0fa7679cbcb0f97f03bf7156754ecf39c0ef8fbdab1eee82a917b1bfa08918b939b3df9b59bd1b547d032a48f1af545574a9b5d035c4bad164718327b1462b498cb2554f0fd90b7b843798139f9" ] ], - "public_share": "124638c630118b55bf77ff34817d80025c5c736b2e06468c12c19b02abfeeaa474bb89aa607bc9d35f344fdc176c403b423935a786b66439929920f390f0931b48eb35c37af643d004228b81d9e86528a77f64b82e4dcaa540c0d36fee1f36fe7a211850dc6d60a5984ec4ab77b0e6e7575fc76fe2e1b915a66a818e7c4fa3ab3b21876b425582120d665c653ccaf31d3ee9f321b6376366bae81fe0e82caf2b1601d6deb8c95643c4a377a782f28510f29ef3e2185a033ec19be5fc0c877b25155cd123aa793e0cd81e9a1873fdad2711ae0352c2268e54fafd25be5bd4567ee4454ee4567d14977fdafc45beadd08c679613c6cadbddac075187203ab6bddf8f134ae8f1676312c362381919b2713cf3d65c6b8292f0d3c5d16ea7e1e74d3746a519e3ffd22bf9633b4251c048e7f6cdc71ed81aba5f88373856a9a1585d7379ba7f9f5ace328399aa96a3f7b0010cc6a5517be67b78ba8ea87593e54dc5e5e384b8a88e2d117cae42aa78670493364ef127cdb2ed8b4f00b923aa0e27c28f760ab7db229a4d45dd399f969592e7e01657b0a7ff1fa4adf87ab1fc52aa0b9c46a462113143098f20c1a7b2cede22e3ae171e3385f9a775cba3b36d74ce6fcf3aa09e6d6fff70466b39ce7a4c900ffbbadc8cfd334d505907dc4ac317326ace42f5092c23966c779bc663d82e969be06a9a3273300a4d27485f73f14e44d126bf87a25ed48ae1fedde6961320d580a09466e8f656d9019be6072ef4885e24489064f759dc3dae091c49fc8b3e8cf9e2f82b51dff392c8122737a933207b23f4d1a72569c22157dbd1676ddbcc3eba4f61e04e665114d5833a34dd6e889fa9ccf705b20d71054e65a8aa8bb6553f5844eeda099d796cbde3b0ce3d76c60c98f5338c0211b7c79bd3b33b41d547fb2eb3f439222c66a506693d2ad9b764e135ea71bfd3a57d7935695678f70205a607b16a82d8bd6cf6360485e21a33300c8bee1f77179896d085cbca58f4bf257769bcf40b55b3965492a5768086a4764588134d5dcae8f5f0105c4466795a7f2d6a994a06a8fcd3930eda8338da27f1f3ffe7ab66aa5c8955b5d2959fb41e27ec269917c8009ae12110cf68d7bccd3763c4069a804c7e44e967381559b47427c6fc3eba36c4d8a572f8cd5d70195a2a8786e8e3ac1536b24df44adb4cfdc21b29b1359c219b934d67b6533631d702da2ce8a031d0b3893cebb1ab8e5896d4580de93a9387a006726f63cf016d4d4d0abc94cb9e5e74f0d375fd75bf5581ed2f6971790846bc94dd5fe2da070e321c483ecc012f47348d0e795f5a3b6b2667c484d0f168bf2dd4de019a37bf2844173463db7ed4e8e44bbce08ffafff60b9a7d231ea15595b2a39cc169206f5c2c2393e09c441344ad710340d86f2d5d5ee74fa531cf839444f4a5bd059b24b0a0fea20ffbcab0e7ae7c180659e3bb35ce7d79c29cd7f1b45801503a08a7f49a5785cb824a74b843bc0b2ccd39eabbf96cf9a44afe1eb68bb3cd757c16457f04546478c78723f1f8759a5851c4bd73f39fbaf6228b7f67d8742835bb49c8488acae8412dca96ce02ca05ad4366f361b2dd8c6aba69915bf37437443650044837925ef07e6f7242ecf0bb5b94903bf59cc16088826203c06a5c085eb080d6bf064ccf2d2c049f1048dd98b728f21319a72aa1102eb3c0dd8c60b5d6821498453feae2dfa39b2746c38b972af6573feb91400fccec16ba06f67a5c3bd4d5b11b903137a4e9d5e912a594b74c2886a42e2bd9a1a6a3ced449ea0c476fdcdc02dfc7124200a7708bba0ba069ebf0cab987f23fa0ecd5194f5dfe5404a317ec73b4e0919ab99acdc47c47f581701f13d34c924d0f2a7a53778f6b5ae196835b6b53d17a249c4122cffdbfc9ca09776a3a42c6d227ff2bf720e608c95081b7ae878978e1bae11e5e09a55ffff296e8cee92cc63575e827c0aef96e4ee919e27f974b13bfbcadd4ee794c089c90470b8b045209491269922e534f702959293166ccd429ad9feb9e6fbd54b45a520d63957afcce393c74fb0366a50b4593b53afd160f2ebcfee5b15a219a61b52e9cc0dcec036c6fcdc07b43dcb7b756cb5d0d9c933246d29fa984bd4c4c9a25bbc5c479a20b8e85f2fca311814f8cba73d9ab16e2708211f84a16f2aacf7fd51807113a4e9f2531274ddda81b4bd7080bf1975379f69df47709fde6c60309736d351efd8bb151f4a3c0e0ba941fd816cf94bcec0648d8587b262b8382ed57e57d2cd5df5b999fdb548329371098b81427f0c654f3fb35cc51b62a50f049a4b96397f49557c111adfdd82469d568176a90438777b3c1b7db95a55f71147293c5aefc4b97b9abfeb1f826ec7eefe4ad4a8f735b1175ee9694544103b5b4832fae40da32718eb8dfa30fa4c4316e8144d75f01565ebaa8c21ed77ebb831db68c715d73658d28618eca6660ac5ccdcb2f597591a309b2fb6d8747f434ffb63594604cc8489660951f2101642ffcf85a916415692df184875b62136c3c222c227a91a2", + "public_share": "ca3fece09034cf44d5ccc95a21fe1c957e4cb148824aee7af6c587810b4950f34ea3dcb7eec0fe8398139974bafc59f0a002e32d6c0f4cb90657011e440b000796b18c3e8271f65289eb0fba568186b664cbac25ca8b993cce8d33dd113607ce079b66cb22b59a1c0b18b03cad8182594e9136183cca9fcc49a02810c7295ffe2b0525417ab0e2d0d74217b52a82e33de7e243bc029c8d15399bfdaed3cc984fa606abccfa46ca15415a2e7fd5a96e40d2522bc5fc7079c81b7acfd564f989f15f009f4c76a27e3b65bd264d1d9573c9f5d77a425a77d480f021e2e9e59371ee3bde6cfb18fd3ac8e9383a4fb3277f670573b4471679392a2ca76b4f5b02201c3058dcd1e03b75ef8ad65e277299e80a0654e86797f9a9389e5d0eb5d7b0952dc86b431dfb6c5fb2c5dce631157af49f50eea5d37e2776baeeb1961b70633d5b550ad94d2baa106f38344fb37f7fb566511102fa204264a1ce24b7376e97cd6471c6a482fcf817cdb18d6f4aaadae4ec753d06ed35fc6953fb6f698816a57620d285743d8e931d544c589220851e2327f515e50cfcfd3da3dc93df5957fa1ece53db288faf341a1a6f5cca5e5435a85a20eebb6035a8df6f843640cd1138755695220f292224410bb1c1809b6803689eaec5bb2ef96a9b6b7121eff3ce0e0ef08ff83fe9f906d14f80d59a954e5d19dc636c307e0635bef5644734e9e5e6deefa0b2b2a567d4e65eba1c325fcb17c31c5ab386620b3cf56b83df347ef89479307d76676002557c90b5b1d192f129be696a4eef7e83b5e4ee7c0892ed9cc3dc73890acfa0c116d8eaeb529ee1ed02cc1509c565f08d7d2b83b4303bded0f6aaf68f038fe635b9858c5face024b5a1051f30bc8b8ca108c1743b39bc3e4ddd8d3723dbe00df50612ac7ee67490837d17f8859a2389ca154c43b1e0e99dabdfef90ceda1b02a7cbbdecfc309140c82537cf101489d39e71c1590e20fcba0828e17ade636b647c2bf666a263d596d3bde838d0837403439e210735d6340c72490898f89957aef71f77d4d35b438ca8e910a1f582f97c1a98c9bfeb9ab006f733a6716f5035bfc2fc9f90da6023a881bc74f823b9d05cf62ea98159742fd9cc294cec52f7e88d4c11ed58e248295727e6c19ba1c96e694723a2e109f28627c2316b5241349a4c0786e6038c0ca62e30fd9bdeedcae8679838300d214420579faf1a8ae686a7532c18197f3da45b2c51dc6b865442c78b28de6094940d543ba6d7ec2750a6c971b5051bbdf59d687f0a1c12bdb8f9d899c140d39f6d048723d8009a3e04a5617a2684b2b563f870ece1db25ddc784c9f7dbed1f0cd5e36a954643558f28966e30d08af16e8b963753870a23d61aba419edad4f2ac191025a89f23f897b75e9ec3ef6cde5fd14c3668f63d9fc825eddd9c2b3133faf15a59a07300e33f36fcebfeaa5fd12b2f15a7635794a1bbb84ce97771383bcfbad43e03913ee9585c2f5d09efb0cdd447fd0af95f449f602ee5714a1427adb2e6822235105acab7216e72ca133fabb856b75308a868bb0ad05480b90fb104daa636b51e1bfd7dcf11a27a75556dbf0e06d4570c43a4b21a0eba42b37a3c307afd279ab52cd48b7a0d58305cd0baeda221ad0d8add58d0f713c6d740b7c49050ffe1d60ebf2f395a8d89558bac42a3cc788a60d2c6bafc60d85cf4308c62ea46a9b9ac85f71f66c7e0edde4d210bed2698219895494ba92f71cdb59d27aac259b7e82405478b71bde1d4baea262f89994792ba3fb7eaa476135cb6136beae082d13dc25e7580023f5d0d4855eac08d361ed134b63e8c8c14a4e384297ab0af7460f4c4cb20436f9b3cc79ed1c9562724c00b9d055aa77b008fe1c6e1ca7debe218a2d3fc6ec7fee46f4eecc29636787b6b7eb9a262836c1f8fe8e5dc3ef2366df63f38615092f494d77aefe47e87b3647f5abed897c6f8f7109bc23ef5b551dd59030998908eaf2e71e2fd53a36c6569e3a7e8ddf88384b18d7b1c52bb0a2cde520992efd206b4a8acdfead7971c5f1b599fd0f80dc36f3b6bcef43e43aa2e2ed0b95c01473418cae9c941ee09091e5a4333e7fe91033b679087d90eda31315170d7edfc45bab3487afc600c6d3dfad5153bbed80019d2b82191d8f725ba4663ec89435d93aea78572467948bc501143938efea0f6bc195efbc8314f61f3c147a55e53e56e264e9f188c920e99f0f3141edd3e4ffdb7ada7275778995190c2a1b2f2a923a96590b3ad55b43e540066d8106b34c04b36c8e81c7c09b7534cadc527a6bed21eb335034d10bd8437326fd54c28af16669f1b67fae02518fd39e7363a069a96a701bbb40403234be8775d74d06a6ba204d26c4228b285ac8940a6dc02e3bc0639c7edb6fd7fc81cd3afdafa114e0c756d07bdd1b64f7a8ad6245d35b1c9222f0f33d541089ce0304e64d1a4ffd839d4e999085f0eea9cab8ea0adf29ea961419415f86517507b1ff7dc269cba10cb41038fdb7a4e9510b9ede5899b8ff91160241e74624c48366b", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe17870a3c2662f845fe7bb009eb69adc1e19e27b2a4ded86376bf3f91b6d481bc9ce5a9437af0fca07722304605e1bb12f80087d80b005b9f2adfdd760358c74b4046b393b90987272e29ebe40a43307997bcea75a86585883287590b61c4e3ed52d1bc70ff8f8a0a107c0340e8e663986afbeebdf41ee2bedcd8f6438ae11c0f9dab9f4fcfb4ed7e12d01c769cbbdcb606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7fb65b3467a80c2c9463306f865a3e286efa8cf888bcfc8bc2a0a3c949e431a6fe", - "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f4b477c67d4961dc5b6a5f34ae1856787977bdbdb98e06d267e56032ee73ddfe4" + "000102030405060708090a0b0c0d0e0f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7fc531ecbc7dfda31df3696d4769ecaf8bd12ef0fa7679cbcb0f97f03bf71567546c3f33a410c46f2a258128d54fabeb2c1433dc79523d9806ea6aad734d2f9f80baa2413649859b75075de3c1a289575416e0461342a41aeb4c0fa85c4f891a57688a70e42527cb4d20451d9b5557a082caafeab092857441f857995a04f181a6cc0a137d9abc629fad513b19e74fabc9dd9927f504936aa4bab895b2018ccce5812a8d61d0456106a5fca9aa30b78b3c367dbd7faf788bd636a36f9cf9cec2b56aa7ffe8858727568ae88519cd8b55ee5704cee3c8d9845900eb44e68e3c6f43", + "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5ff37e32fd6cfbd6f8d0624d89d2d1b5b6a4e97e3cde2daa27553d9f54577b5e80" ], "measurement": [ [ @@ -106,28 +106,28 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "8bf67ef5569188ffbeb569be5284c121", - "2ac16fb70033011c0096aa9d2f528cd9", - "21d8d583a909ed762956516ea9e92c1f", - "956d991f7009b7f06891f96da56289b2" + "f2049fdf5577dd1ff22db70f09c915ec", + "258e288373b25130240ae813453fe391", + "6d7ef022308c728597cb4535cda86aac", + "1a8a500e725421f495732b2b5949fe01" ], [ - "7709810aa96e7700254a9641ad7b3ede", - "d73e9048ffccfee3e3695562d0ad7326", - "e1272a7c56f61289baa9ae915616d3e0", - "6c9266e08ff6480f7b6e06925a9d764d" + "10fb6020aa8822e0f1d148f0f636ea13", + "dc71d77c8c4daecfbff517ecbac01c6e", + "95810fddcf738d7a4c34baca32579553", + "e775aff18dabde0b4e8cd4d4a6b601fe" ] ], "prep_messages": [ - "83f50c14130e9b59ea4c43a4d3a23baecc41dc4943f0e5b0714ae410177a3cc2" + "c19c9d6887bca6d0bf3db376dfd66eea55ec4ff83166bd435747896bf02e8be3" ], "prep_shares": [ [ - "af330619c030a41bef40ee82f301a245c2abcb2633e920305791503b351349c24b477c67d4961dc5b6a5f34ae1856787977bdbdb98e06d267e56032ee73ddfe4df6aa7d3e2f0e5b944b807585055a879820717301252a4b0a7c4c42911905575c432135d1168cd2a5fcffbd7883c3e0158fd6abae81045cd0ce6ebf532c0aacd", - "af330619c030a41bef40ee82f301a245c2abcb2633e920305791503b351349c2b65b3467a80c2c9463306f865a3e286efa8cf888bcfc8bc2a0a3c949e431a6fe2295582c1d0f1a469f47f8a7afaa57864e157951868200788e8660575453db48ad2c86434296538b7e188847ca1539ad24c2e939cf9c47e6f6088e485a86ecfa" + "9db0e2ac87a719fdd348b2d20b26d2179808e4d48044fd94ffb84ba20746b1eaf37e32fd6cfbd6f8d0624d89d2d1b5b6a4e97e3cde2daa27553d9f54577b5e80150c63f10704254ef516d56e84e405f7748b12e83c68e8a784fad1900416d7624a533ba77bf86a3c2ebe15317a68128e335d5043fbded1ad21606f1f1498b18f", + "9db0e2ac87a719fdd348b2d20b26d2179808e4d48044fd94ffb84ba20746b1eac531ecbc7dfda31df3696d4769ecaf8bd12ef0fa7679cbcb0f97f03bf7156754ecf39c0ef8fbdab1eee82a917b1bfa083452be8baa21266925d05622626bfd62f545574a9b5d035c4bad164718327b1462b498cb2554f0fd90b7b843798139f9" ] ], - "public_share": "1246380630118b55bf77ff34817d80025c5c736b2e06468c12c19b02abfeeaa474bb89aa607bc9d35f344fdc176c403b423935a786b66439929920f390f0931b48eb35c37af643d004228b81d9e86528a77f64b82e4dcaa540c0d36fee1f36fe7a211850dc6d60a5984ec4ab77b0e6e7575fc76fe2e1b915a66a818e7c4fa3ab3b21876b425582120d665c653ccaf31d3ee9f321b6376366bae81fe0e82caf2b1601d6deb8c95643c4a377a782f28510f29ef3e2185a033ec19be5fc0c877b25155cd123aa793e0cd81e9a1873fdad2711ae0352c2268e54fafd25be5bd4567ee4454ee4567d14977fdafc45beadd08c679613c64ccdba3340b56650afd2a0fa1b8a339ff1676312c362381919b2713cf3d65c6b8292f0d3c5d16ea7e1e74d3746a519e300d32bf9633b4251c048e7f6cdc71ed819ba5f88373856a9a1585d7379ba7f9f5ace328399aa96a3f7b0010cc6a5517be67b78ba8ea87593e54dc5e5e384b8a88f2d117cae42aa78670493364ef127cdb1ed8b4f00b923aa0e27c28f760ab7db229a4d45dd399f969592e7e01657b0a7ff1fa4adf87ab1fc52aa0b9c46a462113243098f20c1a7b2cede22e3ae171e3384f9a775cba3b36d74ce6fcf3aa09e6d6fff70466b39ce7a4c900ffbbadc8cfd334d505907dc4ac317326ace42f5092c24966c779bc663d82e969be06a9a32732f0a4d27485f73f14e44d126bf87a25ed48ae1fedde6961320d580a09466e8f656d9019be6072ef4885e24489064f759db3dae091c49fc8b3e8cf9e2f82b51dff492c8122737a933207b23f4d1a72569c22157dbd1676ddbcc3eba4f61e04e665114d5833a34dd6e889fa9ccf705b20d72054e65a8aa8bb6553f5844eeda099d786cbde3b0ce3d76c60c98f5338c0211b7c79bd3b33b41d547fb2eb3f439222c66a506693d2ad9b764e135ea71bfd3a57c7935695678f70205a607b16a82d8bd6df6360485e21a33300c8bee1f77179896d085cbca58f4bf257769bcf40b55b3965492a5768086a4764588134d5dcae8f4f0105c4466795a7f2d6a994a06a8fcd4930eda8338da27f1f3ffe7ab66aa5c8955b5d2959fb41e27ec269917c8009ae12110cf68d7bccd3763c4069a804c7e43e967381559b47427c6fc3eba36c4d8a672f8cd5d70195a2a8786e8e3ac1536b24df44adb4cfdc21b29b1359c219b934d67b6533631d702da2ce8a031d0b3893debb1ab8e5896d4580de93a9387a006716f63cf016d4d4d0abc94cb9e5e74f0d375fd75bf5581ed2f6971790846bc94dd5fe2da070e321c483ecc012f47348d0f795f5a3b6b2667c484d0f168bf2dd4dd019a37bf2844173463db7ed4e8e44bbce08ffafff60b9a7d231ea15595b2a39cc169206f5c2c2393e09c441344ad710240d86f2d5d5ee74fa531cf839444f4a6bd059b24b0a0fea20ffbcab0e7ae7c180659e3bb35ce7d79c29cd7f1b45801503a08a7f49a5785cb824a74b843bc0b2dcd39eabbf96cf9a44afe1eb68bb3cd747c16457f04546478c78723f1f8759a5851c4bd73f39fbaf6228b7f67d8742835bb49c8488acae8412dca96ce02ca05ac4366f361b2dd8c6aba69915bf37437453650044837925ef07e6f7242ecf0bb5b94903bf59cc16088826203c06a5c085eb080d6bf064ccf2d2c049f1048dd98b628f21319a72aa1102eb3c0dd8c60b5d7821498453feae2dfa39b2746c38b9761e82727eb262fb3344272912e2a156ea5094a16b873a4ae57ca6ee1b127d8f01ac7aa5b21bed7823d799a3632272df830a5b79948127fdc4b624ec792bceb38ebf0cab987f23fa0ecd5194f5dfe5404a317ec73b4e0919ab99acdc47c47f581701f13d34c924d0f2a7a53778f6b5ae196835b6b53d17a249c4122cffdbfc9ca09776a3a42c6d227ff2bf720e608c95081b7ae878978e1bae11e5e09a55ffff296e8cee92cc63575e827c0aef96e4ee919e27f974b13bfbcadd4ee794c089c90470b8b045209491269922e534f702959293166ccd429ad9feb9e6fbd54b45a520d63957afcce393c74fb0366a50b4593b53afd160f2ebcfee5b15a219a61b52e9cc0dcec036c6fcdc07b43dcb7b756cb5d0d9c933246d29fa984bd4c4c9a25bbc5c479a20b8e85f2fca311814f8cba73d9ab16e2708211f84a16f2aacf7fd51807113a4e9f2531274ddda81b4bd7080bf1975379f69df47709fde6c60309736d351efd8bb151f4a3c0e0ba941fd816cf94bcec0648d8587b262b8382ed57e57d2cd5df5b999fdb548329371098b81427f0c654f3fb35cc51b62a50f049a4b96397f49557c111adfdd82469d568176a90438777b3c1b7db95a55f71147293c5aefc4b97b9abfeb1f826ec7eefe4ad4a8f735b1175ee9694544103b5b4832fae40da32718eb8dfa30fa4c4316e8144d75f01565ebaa8c21ed77ebb831db68c715d73658d28618eca6660ac5ccdcb2f597591a309b2fb6d8747f434ffb63594604cafec0111680a7bbff16e9e16d0b733cbd99dc83d8372431baee9aa5f30620c1c", + "public_share": "ca3fec209034cf44d5ccc95a21fe1c957e4cb148824aee7af6c587810b4950f34ea3dcb7eec0fe8398139974bafc59f0a002e32d6c0f4cb90657011e440b000796b18c3e8271f65289eb0fba568186b664cbac25ca8b993cce8d33dd113607ce079b66cb22b59a1c0b18b03cad8182594e9136183cca9fcc49a02810c7295ffe2b0525417ab0e2d0d74217b52a82e33de7e243bc029c8d15399bfdaed3cc984fa606abccfa46ca15415a2e7fd5a96e40d2522bc5fc7079c81b7acfd564f989f15f009f4c76a27e3b65bd264d1d9573c9f5d77a425a77d480f021e2e9e59371ee3bde6cfb18fd3ac8e9383a4fb3277f670573b447a413534a1086e35209cc7b411ad09190e03b75ef8ad65e277299e80a0654e86797f9a9389e5d0eb5d7b0952dc86b431dfa6c5fb2c5dce631157af49f50eea5d37f2776baeeb1961b70633d5b550ad94d2baa106f38344fb37f7fb566511102fa204264a1ce24b7376e97cd6471c6a482fdf817cdb18d6f4aaadae4ec753d06ed34fc6953fb6f698816a57620d285743d8e931d544c589220851e2327f515e50cfcfd3da3dc93df5957fa1ece53db288fae341a1a6f5cca5e5435a85a20eebb6036a8df6f843640cd1138755695220f292224410bb1c1809b6803689eaec5bb2ef96a9b6b7121eff3ce0e0ef08ff83fe9fa06d14f80d59a954e5d19dc636c307e0535bef5644734e9e5e6deefa0b2b2a567d4e65eba1c325fcb17c31c5ab386620b3cf56b83df347ef89479307d76676003557c90b5b1d192f129be696a4eef7e82b5e4ee7c0892ed9cc3dc73890acfa0c116d8eaeb529ee1ed02cc1509c565f08d7d2b83b4303bded0f6aaf68f038fe634b9858c5face024b5a1051f30bc8b8ca208c1743b39bc3e4ddd8d3723dbe00df50612ac7ee67490837d17f8859a2389ca154c43b1e0e99dabdfef90ceda1b02a8cbbdecfc309140c82537cf101489d39d71c1590e20fcba0828e17ade636b647c2bf666a263d596d3bde838d0837403439e210735d6340c72490898f89957aef81f77d4d35b438ca8e910a1f582f97c1998c9bfeb9ab006f733a6716f5035bfc2fc9f90da6023a881bc74f823b9d05cf62ea98159742fd9cc294cec52f7e88d4b11ed58e248295727e6c19ba1c96e694823a2e109f28627c2316b5241349a4c0786e6038c0ca62e30fd9bdeedcae8679838300d214420579faf1a8ae686a7532b18197f3da45b2c51dc6b865442c78b29de6094940d543ba6d7ec2750a6c971b5051bbdf59d687f0a1c12bdb8f9d899c140d39f6d048723d8009a3e04a5617a2784b2b563f870ece1db25ddc784c9f7daed1f0cd5e36a954643558f28966e30d08af16e8b963753870a23d61aba419edad4f2ac191025a89f23f897b75e9ec3f06cde5fd14c3668f63d9fc825eddd9c2a3133faf15a59a07300e33f36fcebfeaa5fd12b2f15a7635794a1bbb84ce97771383bcfbad43e03913ee9585c2f5d09f0b0cdd447fd0af95f449f602ee5714a1327adb2e6822235105acab7216e72ca133fabb856b75308a868bb0ad05480b90fb104daa636b51e1bfd7dcf11a27a75566dbf0e06d4570c43a4b21a0eba42b3793c307afd279ab52cd48b7a0d58305cd0baeda221ad0d8add58d0f713c6d740b7c49050ffe1d60ebf2f395a8d89558bad42a3cc788a60d2c6bafc60d85cf4308b62ea46a9b9ac85f71f66c7e0edde4d24a93a1cfbc2b065cace4a54d03c6f88e1f76e3c24ec712fe5943345f3aea623e4631cea00746a23f82a1d8b784f4b800892c73760c4f93aaa81a42914c68fe0eac08d361ed134b63e8c8c14a4e384297ab0af7460f4c4cb20436f9b3cc79ed1c9562724c00b9d055aa77b008fe1c6e1ca7debe218a2d3fc6ec7fee46f4eecc29636787b6b7eb9a262836c1f8fe8e5dc3ef2366df63f38615092f494d77aefe47e87b3647f5abed897c6f8f7109bc23ef5b551dd59030998908eaf2e71e2fd53a36c6569e3a7e8ddf88384b18d7b1c52bb0a2cde520992efd206b4a8acdfead7971c5f1b599fd0f80dc36f3b6bcef43e43aa2e2ed0b95c01473418cae9c941ee09091e5a4333e7fe91033b679087d90eda31315170d7edfc45bab3487afc600c6d3dfad5153bbed80019d2b82191d8f725ba4663ec89435d93aea78572467948bc501143938efea0f6bc195efbc8314f61f3c147a55e53e56e264e9f188c920e99f0f3141edd3e4ffdb7ada7275778995190c2a1b2f2a923a96590b3ad55b43e540066d8106b34c04b36c8e81c7c09b7534cadc527a6bed21eb335034d10bd8437326fd54c28af16669f1b67fae02518fd39e7363a069a96a701bbb40403234be8775d74d06a6ba204d26c4228b285ac8940a6dc02e3bc0639c7edb6fd7fc81cd3afdafa114e0c756d07bdd1b64f7a8ad6245d35b1c9222f0f33d541089ce0304e64d1a4ffd839d4e999085f0eea9cab8ea0adf29ea961419415f86517507b1f536dc21d3cdb2ad864a8182b1c1ae93d5f7ad3a6aa45a38d3a3ea8df25753da6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticSum_0.json b/src/vdaf/test_vec/mastic/04/MasticSum_0.json index 278e5ca2..f232a328 100644 --- a/src/vdaf/test_vec/mastic/04/MasticSum_0.json +++ b/src/vdaf/test_vec/mastic/04/MasticSum_0.json @@ -5,15 +5,15 @@ 10 ], "agg_shares": [ - "361271acc2128c381055aa372926bdd2cc41c987255d4ba62cb1ad1e27be9c61", - "cded8e533ced73c7fcaa55c8d5d9422d38be3678d9a2b459df4e52e1d741639e" + "c2de5bba96151a64d682b700face2d1c66d4c6a2fcf0e31af6e675c2fa0184b6", + "4121a44568eae59b367d48ff0431d2e39e2b395d020f1ce515198a3d04fe7b49" ], "ctx": "736f6d65206170706c69636174696f6e", "max_measurement": 7, "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf828506e274f38a239d5106b40f378a25ac38711a91e8a77b08be56ecb03ae9c5c589eb2a9d149b93c669da101918851a4bc59ef00f1cabf66e8e7cf8aaa9edd2595509bdd86ace3110d7db8a1d3a4e9caa47d7e09d4aec06e11f4acdb53d407678ec989220267501198fb6293d2b1d1aa29dca0a078a858042", + "000102030405060708090a0b0c0d0e0fb74417755a31282993583eab1642367e06119440bcac6e29e1528c787d81e50bad4833be345427f753118a4279586ddbf510cb46b96e3813d4d8ac249f869d21fff7a40623e3a19cebd99f022f60ffd3259e7bd11719ce54903329c3621ca31ec9b89d50ee1232818319f423d71c6ca7b733c89f1d64dc338d53fcf6b4079e17ea7f0d3edce44f641e4f578b8dd5b5d0fa410add351230ac4377993fd3bbf6fd7539ffeba4bd5b5a093fcdc641232cc4", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -26,16 +26,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "9daabba4a107595d", - "b5f87e0adad194cb", - "65b17d05f29eae4d" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c362e9430bc9b0f4", - "6455445b5df8a6a2", - "4d0781f5242e6b34", - "9d4e82fa0c6151b2" + "a70654747ac8faeb", + "6f7f0e333470902d", + "87d571dfff026cc7", + "9d9e1bd93399e541" ] ], "prep_messages": [ @@ -43,16 +43,16 @@ ], "prep_shares": [ [ - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea54f6ca3ba3979c6d9bc1ee26d7648f311055dfa95908e5408a", - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea540b35c45c6763926482c0cf23edfdebebacfd2923b1edac52" + "e409857cf046c20410d8f7fcd02a43fba5155c5b777ff6ed95adff6db804ba99856a844ca55d7d8be01818c02855b341d7984ec7d28442a7", + "e409857cf046c20410d8f7fcd02a43fba5155c5b777ff6ed95adff6db804ba997c957bb359a28274d58f30ca850790b9b7ddb4484abe0601" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6b8292f0d3c4d16ea7ffe74d3745a519e3ffd22bf9633b4251dd48e7f6ccc71ed819ba5f88363856a9fd5e3a8400fe1b3f71da0726d672f55f6a6225aecfbb419c5cfa5a405f278e9f03a185e3eaa238ec8f7cf8395eadd3adafa9d2b0271cbcec893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e277199e80a0654e867d0fa4377137a8dafd9937992c6f5cac40610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf82a82426dbbbffbdd2b1511a21e305bd947d41b65a8123215ecd5a7e0713d6ab2398efccfbec97791c6ecfd43ac5df9d1b6db4b23e92a79c398e7cf8aaa9edd25933eb7872a15997da7790240c8ed204c2020745d4b170618b0f463b5f6653901add94f0c14d781bc38ac1651b7ec296d1f5b448d81389da77", + "000102030405060708090a0b0c0d0e0fb64417755a31282994583eab1642367e07119440bcac6e29e0528c787d81e50bae4833be345427f754118a4279586ddbf510cb46b96e3813f7f6f08a67fb37575f430b18cf5e39852faa3bccc8dba42935a20d28ef05b4b2a037cb213a198974cead61729b6db5512b2fb6524d191272b733c89f1d64dc336b35b890eb9203e28a34a72c3069b87bd97ebbc1f459107bea3d78865e254a4e3373f7e0fbbe10a870443bcaf762d88961290b98cb2686f9", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -65,16 +65,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "9daabba4a107595d", - "d82b2634ca73c6a1", - "7b4e1a07a870483c" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c462e9430bc9b0f4", - "6a55445b5df8a6a2", - "29d4d9cb348c395e", - "86b1e5f8568fb7c3" + "a80654747ac8faeb", + "757f0e333470902d", + "86d571dfff026cc7", + "9c9e1bd93399e541" ] ], "prep_messages": [ @@ -82,16 +82,16 @@ ], "prep_shares": [ [ - "3a2e3e02e7352f32d3deac3419b245bc0b7cc79283a92899a7643827668228c6a91e63323176f162b67ab687cf5efb3360e9974583e64f7d", - "3a2e3e02e7352f32d3deac3419b245bc0b7cc79283a92899a7643827668228c658e19ccdcd890e9d73aea3e248aa96a3acfd2923b1edac52" + "e07c049985abdb1490c2193458c60d4659a42f39a844e04b820799e9e4ebf9f4856a844ca55d7d8bae5dd2a22fab1f76c9df95b9edd81552", + "e07c049985abdb1490c2193458c60d4659a42f39a844e04b820799e9e4ebf9f47c957bb359a28274d58f30ca850790b9b7ddb4484abe0601" ] ], - "public_share": "0d8031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5149b0a3cb2046aef8f96793a0ac548f1f980e043c60626e9f31e3b00ac83699c9f98ab4988ffed0a6ad6b98f40c7e3ad9858ee70db74759123fcc6eebe7973c8a5500651955a50069b3afabe4dc527f86f939793cc954b805074d3d2e842b04388a258931111010ee45895998b15b0ac0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc448431560ba27b5aa291b3ced36ba59f9e6e38dd684bd456c7ad2d2a748543a8489d874", + "public_share": "0d104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be3b8254761c8dd51cf11abd98613c64b7d5f3a7728597a50be95cb27c683153dd6a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd450b5f39f78b3eabfe96388efba2b6dd8912b0699072f81ba38d960acea9531aa", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf82cb426a61847458e807eb02ddb4519959d4370d0895e25470e1743017035e60fbac096f13dd1f2eec1b508e7ef41b763e4cf6410f38d5b72c8e7cf8aaa9edd25910cd34ecd8e4fcc421f73b50bc8628fdab10ee269eb12d79fc2b894f75cbdb42ca7a4eaa5cf066f3dd40acd74e86beae1673b9076e5bbf84", + "000102030405060708090a0b0c0d0e0fb74417755a31282994583eab1642367e07119440bcac6e29e1528c787d81e50bae4833be345427f754118a4279586ddbf510cb46b96e38131a1535113070d26cb5dcf3d3a0aa154a86a09279dc9ad83b48bcbf37e08d688ab3516d392ba13d447b2e1bb6caa98d740a714523f3462d65b733c89f1d64dc334817740a231e69cc349bbe705e1ddcb682886414e19adc68d723c6766d9d9576205955c90a375cd8c3c38186c826006781e77bc726f96a06", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -104,16 +104,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "9daabba4a107595d", - "b5f87e0adad194cb", - "6bb17d05f29eae4d" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c362e9430bc9b0f4", - "6455445b5df8a6a2", - "4d0781f5242e6b34", - "9d4e82fa0c6151b2" + "a70654747ac8faeb", + "6f7f0e333470902d", + "87d571dfff026cc7", + "a39e1bd93399e541" ] ], "prep_messages": [ @@ -121,16 +121,16 @@ ], "prep_shares": [ [ - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea54f6ca3ba3979c6d9bd2dc88b276af5ea0c3412c092d0a88c8", - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea540b35c45c6763926482c0cf23edfdebebacfd2923b1edac52" + "c2de42ff1b344d09ae46997f1830e7ca1867039bb19093de85b07ea38c073ea0856a844ca55d7d8b7581cb5a674a8e6dfb8de93fda2b3d4d", + "c2de42ff1b344d09ae46997f1830e7ca1867039bb19093de85b07ea38c073ea07c957bb359a28274d58f30ca850790b9b7ddb4484abe0601" ] ], - "public_share": "0230118b55bf77ff34817d80025c5c736b2e06468c12c19b02abfeeaa474bb89aaf0676312c362381937b2713cf2d65c6b8392f0d3c4d16ea700e84d3745a519e3ffd22bf9633b4251de48e7f6ccc71ed81aba5f88363856a95bce328398aa96a3f9b0010cc6a5517be77b78ba8da87593044ec5e5e284b8a88f2d117cae42aa78680493364ef127cdb2ed8b4fffb823aa893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e14753a243389b5385b0b483ecf90081fe16ba7d27a4ce32f78b33475f4f1d9a72", + "public_share": "0a9034cf44d5ccc95a21fe1c957e4cb148824aee7af6c587810b4950f34ea3dcb7e03b75ef8ad65e276b99e80a0654e8672baa106f37344fb3a47fb566501102fa0610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb8810bd0bc56aece3b0ee7b7561c3a7cea779ff174a420e72b464c156b57cb0bad2f", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf82a82426dbbbffbdd23a09014d7ba9838f2917d1ece133828ef2d4d54b70d76530bd6904404a993329e9d71868253fe29a2bdb4af29a737bce8e7cf8aaa9edd25933eb7872a15997daeed83de0f52e3ec756312a425160005beacbe31a0952d60db81ab97df07661b60fb921ee1d635252388eb0240abdfbe2", + "000102030405060708090a0b0c0d0e0fb74417755a31282993583eab1642367e07119440bcac6e29e1528c787d81e50bad4833be345427f754118a4279586ddbf510cb46b96e3813f7f6f08a67fb3757e8faf14367020080db7f565e29ec055a5a1c656c4c076ebfc5b10266971a438149b6a59ffbccf9d0e8554e0657e5f006b733c89f1d64dc336b35b890eb9203e2017dc00098c5f1802da9a02f9449af4ac5c32042012490410ef9bf9c9ebd569bf53bf79c9703940aa30273e4c25aa764", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -143,16 +143,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "9daabba4a107595d", - "d82b2634ca73c6a1", - "7c4e1a07a870483c" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c462e9430bc9b0f4", - "6955445b5df8a6a2", - "29d4d9cb348c395e", - "85b1e5f8568fb7c3" + "a80654747ac8faeb", + "747f0e333470902d", + "86d571dfff026cc7", + "9c9e1bd93399e541" ] ], "prep_messages": [ @@ -160,16 +160,16 @@ ], "prep_shares": [ [ - "3a2e3e02e7352f32d3deac3419b245bc0b7cc79283a92899a7643827668228c6a91e63323176f1622efb96b09fb55793a607ef1f0823a11d", - "3a2e3e02e7352f32d3deac3419b245bc0b7cc79283a92899a7643827668228c658e19ccdcd890e9d84ade290a7fcdde4acfd2923b1edac52" + "529fff2ec858cde15b4da2b4d172dba24e7f53b187bbd444c8e891dc7a38aecf856a844ca55d7d8b9d73c27df4491f03a21ef491b8f6f5f0", + "529fff2ec858cde15b4da2b4d172dba24e7f53b187bbd444c8e891dc7a38aecf7c957bb359a28274d58f30ca850790b9b7ddb4484abe0601" ] ], - "public_share": "018031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7149b0a3cb2046aef8e96793a0ac548f1fa80e043c60626e9f31e3b00ac83699c9e98ab4988ffed0a6bd6b98f40c7e3ad9858ee70db74759162d5e495135c2e58052f8f3619889294d3511df162b3c0be0b6fbcfeaadbe99077fd406091d3855f6ef81fa1d1bf39ddcd8680d92c934c8d0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc44843152e3510566e6a43d267e49614508cc7b3a94ad4359bb0a880fa1ec1dab03de6df", + "public_share": "01104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b93b8254761c8dd51cf21abd98613c64b7bb0c17fc399f82c51aa7680167c28d7d6a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd45b11fb570f3385802fc05ce7172d33aa724d997264b95e40a3232c4c79293ac6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf828506e274f38a239da84ecdd3bef65ec1859be7068f8f1ad0a9dcb45ccdd70bc96471f358b7a9d9b9efd1bcebb625d6cb20786074fad617c28e7cf8aaa9edd2595509bdd86ace311080937159b2e16295faac1328a404681934c4040aab5130751113ca648366bb2509bf7d6a8c7c5e2143f19aa2aa595fef", + "000102030405060708090a0b0c0d0e0fb64417755a31282994583eab1642367e06119440bcac6e29e0528c787d81e50bae4833be345427f753118a4279586ddbf510cb46b96e3813d4d8ac249f869d215640becaaa4fdbb137046d78d6479e9b1024447daa0714586bb9f17e052be9114eb049238eb3ed01def26388b5488dfab733c89f1d64dc338d53fcf6b4079e179337f4795478164fd1248a15e7ed16090fbc4131a323eaa867f1d08331adb00af0415319051da0d9ae655d6263f70a71", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -182,16 +182,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "3e9d16bcf3364f0b", - "9daabba4a107595d", - "b5f87e0adad194cb", - "66b17d05f29eae4d" + "5af9ab8b84370514", + "9280f1ccca8f6fd2", + "7b2a8e20fffc9338", + "6561e426cb661abe" ], [ - "c362e9430bc9b0f4", - "6455445b5df8a6a2", - "4d0781f5242e6b34", - "9d4e82fa0c6151b2" + "a70654747ac8faeb", + "6f7f0e333470902d", + "87d571dfff026cc7", + "9e9e1bd93399e541" ] ], "prep_messages": [ @@ -199,11 +199,11 @@ ], "prep_shares": [ [ - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea54f6ca3ba3979c6d9b396f070035e68d6f81499f37f8908d3a", - "4339163e05b4a6d6f7cbd8e6984e4efed2020e0f0fc794216f948a0df49fea540b35c45c6763926482c0cf23edfdebebacfd2923b1edac52" + "f963acc0553db3a4ae66ab3b0d940ac6d26e5824622e794f0a92d72d5530b6ee856a844ca55d7d8bf10228e563b6b3b46f4d9dc5c831fd22", + "f963acc0553db3a4ae66ab3b0d940ac6d26e5824622e794f0a92d72d5530b6ee7c957bb359a28274d58f30ca850790b9b7ddb4484abe0601" ] ], - "public_share": "0230118b55bf77ff34817d80025c5c736b2e06468c12c19b02abfeeaa474bb89aaf0676312c362381936b2713cf2d65c6b8392f0d3c4d16ea7ffe74d3745a519e3fed22bf9633b4251de48e7f6ccc71ed819ba5f88363856a95bce328398aa96a3f8b0010cc6a5517be77b78ba8da87593034ec5e5e284b8a88e2d117cae42aa78680493364ef127cdb1ed8b4fffb823aa893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e14753a243389b5385b0b483ecf90081fe16ba7d27a4ce32f78b33475f4f1d9a72", + "public_share": "0a9034cf44d5ccc95a21fe1c957e4cb148824aee7af6c587810b4950f34ea3dcb7e03b75ef8ad65e277099e80a0654e8672baa106f37344fb39f7fb566501102fa0610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb8810bd0bc56aece3b0ee7b7561c3a7cea779ff174a420e72b464c156b57cb0bad2f", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vdaf/test_vec/mastic/04/MasticSum_1.json b/src/vdaf/test_vec/mastic/04/MasticSum_1.json index 3ae27049..107a7d97 100644 --- a/src/vdaf/test_vec/mastic/04/MasticSum_1.json +++ b/src/vdaf/test_vec/mastic/04/MasticSum_1.json @@ -5,15 +5,15 @@ 3 ], "agg_shares": [ - "658ec2607dfafb0ca5a5c585e6d50ecbcfeba8366517368e6090fac966429f52", - "9d713d9f810504f35e5a3a7a182af134341457c999e8c971a46f053698bd60ad" + "e39a3bc1fd799cd4bb06b834748705706e37165575162af37a8c92f2fbb3b89e", + "1f65c43e0186632b48f947cb8a78fa8f95c8e9aa89e9d50c8a736d0d034c4761" ], "ctx": "736f6d65206170706c69636174696f6e", "max_measurement": 3, "prep": [ { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf82a82426dbbbffbdd219a5c9c1363398fc18b3a9618dcd96fbf2d4d54b70d76530bd6904404a993329c773e1dce1c8f607f9760367670d903b8e7cf8aaa9edd25933eb7872a15997da0f3d756b3aa5295a689551cda4c6ebedeacbe31a0952d60db81ab97df07661b6311d597961d93de569f2f7af3e23e775", + "000102030405060708090a0b0c0d0e0fb74417755a31282994583eab1642367e07119440bcac6e29e1528c787d81e50bf510cb46b96e3813f7f6f08a67fb3757c796bab8228c14edca1b2fd3d4851ac75a1c656c4c076ebfc5b10266971a438127526e14b8560e3eb7f1067b227f0574b733c89f1d64dc336b35b890eb9203e222e1f78bdc3bdd133f0dc8bae7af9addc5c32042012490410ef9bf9c9ebd569b17a02e28db797f9dd566ba6ff6c092f7", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -26,16 +26,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "2121c11a2e919c28", - "4efdc2ee9370d9e2", - "e83127ddaea37f31" + "23f6e0c0d1442ba8", + "79d5ad516751f3bc", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ec490c5380679a30", - "e0de3ee5d06e63d7", - "b3023d116b8f261d", - "19ced822505c80ce" + "de091f3f2dbbd457", + "882a52ae97ae0c43", + "b7c12e22b52e9102", + "e8e3156900dca746" ] ], "prep_messages": [ @@ -43,16 +43,16 @@ ], "prep_shares": [ [ - "ecbfeadedad9efae8ca098ed1e9a2c50392efdce83dd8061ae7a62cd7af3744a3593aba0aca30305656cb97ec7c8309a21cc2ddce86f3bc5", - "ecbfeadedad9efae8ca098ed1e9a2c50392efdce83dd8061ae7a62cd7af3744acc6c545f525cfcfad6f2371630c5ec6e9159a71901dd8799" + "3d9a2ad620545db97ae67a28707a2898b7d46101395299f0ed4490f5042ba89412d0ac06c96a9075c1d5915dd37a1e1e6d2fd2915dd248c3", + "3d9a2ad620545db97ae67a28707a2898b7d46101395299f0ed4490f5042ba894ef2f53f935956f8a441cb236a76da80b987d4a7ad527308e" ] ], - "public_share": "0e30118b55bf77ff34817d80025c5c736b1ee2188425350e71cc1dc5a779de3e6ff0676312c362381937b2713cf2d65c6b8392f0d3c4d16ea700e84d3745a519e3ffd22bf9633b4251fd5e3a8400fe1b3f71da0726d672f55f6b6225aecfbb419c5dfa5a405f278e9f03a185e3eaa238ec893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e13432801b02eeda044017d8cc739b4f93ea6360a4887c1b1f4e688c4a6b02a111", + "public_share": "069034cf44d5ccc95a21fe1c957e4cb148fa1e3550974a7e201b5836e2e3a63986e03b75ef8ad65e276f99e80a0654e867d0fa4377137a8dafd7937992c6f5cac40610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb88140d93fa618f9481f8b99db46e5b989a85713fa72c327c92f65754d1ee4269e40", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf828506e274f38a239debc96139b8cda040dad741d11e589f47bb3c4aa1395111ee98efccebec97792cbdb6bdba2ac89981efb9ef3cb00c33bd8e7cf8aaa9edd2595509bdd86ace31103c18ddf3b90a2116a570b95d143ce3a122646fc53ed82a50dd94f0d14d781bb33bda7c9b18da9a6b74af0bdaf42344f4", + "000102030405060708090a0b0c0d0e0fb64417755a31282994583eab1642367e06119440bcac6e29e1528c787d81e50bf510cb46b96e3813d4d8ac249f869d2199bb5230a4261d318c40c742661023132284d9c11681197da037cb113a1989841d954af20056b1b7ad34f3506b7ea8f5b733c89f1d64dc338d53fcf6b4079e1750bc5f145ba1d4cf7ce82f4b57259291fd5bacec36aae4833373f7f0fbbe1098215d524a927adc23df23ce99adc1ef75", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -65,16 +65,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "2121c11a2e919c28", - "739a4f5953ec306c", - "7c58cf296a9ea68f" + "28ef44bc43624304", + "879ee63b098d7bd5", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ed490c5380679a30", - "e2de3ee5d06e63d7", - "8e65b0a6ab13cf93", - "85a730d694615970" + "da10bb43bb9dbcfb", + "7c6119c4f572842a", + "b7c12e22b52e9102", + "e8e3156900dca746" ] ], "prep_messages": [ @@ -82,16 +82,16 @@ ], "prep_shares": [ [ - "f26771567d92f5954712859e1c484f9b7516a60163660880b29e552b9c02fbe9919264b4f0098d7a4bdacbbf5ea5be09360ee658f6e3dba7", - "f26771567d92f5954712859e1c484f9b7516a60163660880b29e552b9c02fbe9706d9b4b0ef6728528dca3e2721f838d9159a71901dd8799" + "1aea1c5909b715a16eca8822d8822352b3d3b7c7e7bbe591c99d2024c7ea06e712d0ac06c96a9075e6c17c2d4a8ae773713aa3d82afd8b7a", + "1aea1c5909b715a16eca8822d8822352b3d3b7c7e7bbe591c99d2024c7ea06e7ef2f53f935956f8a441cb236a76da80b987d4a7ad527308e" ] ], - "public_share": "0d8031b3e41fc4b2fe2a3f77de06db7fe0806225f5601afc6f1578ceb8a6d174c5149b0a3cb2046aef8f96793a0ac548f1f980e043c60626e9f41e3b00ac83699c9e98ab4988ffed0a23fcc6eebe7973c8a5500651955a50069b3afabe4dc527f870939793cc954b804f74d3d2e842b0430b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc448431560ba27b5aa291b3ced36ba59f9e6e38dd684bd456c7ad2d2a748543a8489d874", + "public_share": "0d104c3d284e5562431a8134de0fb7a0af54bf63e0c2b0f32d93ae01d79f4397be3b8254761c8dd51cf51abd98613c64b7d5f3a7728597a50be55cb27c683153dd6a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd450b5f39f78b3eabfe96388efba2b6dd8912b0699072f81ba38d960acea9531aa", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf8262e89d2e2b168947ea6cdb33763e4907da7abbdbdbd047febb3c4a91396111fe76d188852323dff6bc5937c5e8484238ee5c69476e85db738e7cf8aaa9edd2597827011f3343cc653d7563f9fb99784fa6cd3f5356c33aeb22646fd53ec82a4000b3343816edb5e83c3703915a59f2b4740c92cf37ab9b3d", + "000102030405060708090a0b0c0d0e0fb64417755a31282993583eab1642367e06119440bcac6e29e0528c787d81e50bf510cb46b96e3813b2ba68ded51103cc995ecc2a6197c5f78ce3404d2389cbc92284d9b11691198d7d1987ab71a4ee4e1c38c4fcbed6596eacd76c5b29f750acb733c89f1d64dc33b071403d7d7c386d5019e6199e302c097d45b64099ace9dafd5bacfc369ae47356913b57c433abcd22bad83fd4f9336de080548fef4847bf", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -104,16 +104,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "2121c11a2e919c28", - "ab6cbbed2c1d5447", - "653bc7db1ab0433b" + "7ea5adb8f5feecab", + "3fc1e925f16c2af2", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ec490c5380679a30", - "e0de3ee5d06e63d7", - "56934412d2e2abb8", - "9cc43824e44fbcc4" + "835a524709011354", + "c23e16da0d93d50d", + "b7c12e22b52e9102", + "e8e3156900dca746" ] ], "prep_messages": [ @@ -121,16 +121,16 @@ ], "prep_shares": [ [ - "a6f47f6aba15fe2196428d6c3345cbc4eaa6c6ba720ef3ff2cbf11ccc143e51d3593aba0aca303055af709c81309df8af569c44ac78e582d", - "a6f47f6aba15fe2196428d6c3345cbc4eaa6c6ba720ef3ff2cbf11ccc143e51dcc6c545f525cfcfad6f2371630c5ec6e9159a71901dd8799" + "f53a0097ee67b5dd16670cff9e0d355e77386831528ffd6ac229bbfba2d071ab12d0ac06c96a9075f17d466e92816412fe432b19ff6b4c15", + "f53a0097ee67b5dd16670cff9e0d355e77386831528ffd6ac229bbfba2d071abef2f53f935956f8a441cb236a76da80b987d4a7ad527308e" ] ], - "public_share": "0230118b55bf77ff34817d80025c5c736b2e06468c12c19b02abfeeaa474bb89aaf0676312c362381936b2713cf2d65c6b8292f0d3c4d16ea7ffe74d3745a519e3fed22bf9633b42515bce328398aa96a3f8b0010cc6a5517be67b78ba8da87593034ec5e5e284b8a88e2d117cae42aa78893f521233758b42d37212b7a0c5d64e450af652ace0e50986026a123de440e14753a243389b5385b0b483ecf90081fe16ba7d27a4ce32f78b33475f4f1d9a72", + "public_share": "0a9034cf44d5ccc95a21fe1c957e4cb148824aee7af6c587810b4950f34ea3dcb7e03b75ef8ad65e277299e80a0654e8672baa106f37344fb39d7fb566501102fa0610ec917a421217c881c9e01c372d5cf72aa01238da8c11d770bdc1a43eb8810bd0bc56aece3b0ee7b7561c3a7cea779ff174a420e72b464c156b57cb0bad2f", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf828506e274f38a239d284833cce4b340b30756236c5b463fb202d5c54b60d765308b4bd0d9902499f3c7165be79e499fbef9198d71248638f28e7cf8aaa9edd2595509bdd86ace3110009a0b618c2481a378f2d7c2d74d4337dacbf31a1952d60deb38ede3a8ebfbeb317adf6ea458952e6a4f6ea580aa3ebf", + "000102030405060708090a0b0c0d0e0fb74417755a31282993583eab1642367e07119440bcac6e29e0528c787d81e50bf510cb46b96e3813d4d8ac249f869d21d63924c3d00cbda3b9bea8dda2fec27d6a1c556c3c076ebf9293ceffdea5a84b27f5e71e75d7b6f4b6949085e0f7ad2ab733c89f1d64dc338d53fcf6b4079e17133e8e812ebb345d4f6a4eb01a37f226b5c33042112490414117f4025732f1d018fdb41d1df9d6e6d5c330653948ea40", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -143,16 +143,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "2121c11a2e919c28", - "b3736d00a7ceebfb", - "4c659e7318a81aab" + "0e08b445f86920be", + "c0e89cc0071eb675", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ec490c5380679a30", - "e0de3ee5d06e63d7", - "4f8c92ff57311404", - "b69a618ce657e554" + "f3f74bba0696df41", + "4117633ff7e1498a", + "b8c12e22b52e9102", + "e9e3156900dca746" ] ], "prep_messages": [ @@ -160,16 +160,16 @@ ], "prep_shares": [ [ - "81bbc0114d3ea7650415ce730cbab94959056bbea74603fbcaaac7a089f7e0c6919264b4f0098d7ac7fd7791c5d25835a42c894f351115a8", - "81bbc0114d3ea7650415ce730cbab94959056bbea74603fbcaaac7a089f7e0c6706d9b4b0ef6728530954b3fa5c44e369159a71901dd8799" + "3918203a315be52fe622afeae33c29d32ed002f2b702d23aba7a620ff8d6093b12d0ac06c96a9075cd915b9e1a729bbcc8a824c27ff991db", + "3918203a315be52fe622afeae33c29d32ed002f2b702d23aba7a620ff8d6093bef2f53f935956f8a441cb236a76da80b987d4a7ad527308e" ] ], - "public_share": "018031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7149b0a3cb2046aef8e96793a0ac548f1fa80e043c60626e9f31e3b00ac83699c9f98ab4988ffed0a62d5e495135c2e58052f8f3619889294d3511df162b3c0be0b6fbcfeaadbe99076fd406091d3855f0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc44843152e3510566e6a43d267e49614508cc7b3a94ad4359bb0a880fa1ec1dab03de6df", + "public_share": "01104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b93b8254761c8dd51cf61abd98613c64b7bb0c17fc399f82c51ea7680167c28d7d6a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd45b11fb570f3385802fc05ce7172d33aa724d997264b95e40a3232c4c79293ac6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" }, { "input_shares": [ - "000102030405060708090a0b0c0d0e0fe42659d9e37dcf828506e274f38a239debc96139b8cda040dad741d11e589f47bb3c4aa1395111ee98efccebec97792cbdb6bdba2ac89981efb9ef3cb00c33bd8e7cf8aaa9edd2595509bdd86ace31103c18ddf3b90a2116a570b95d143ce3a122646fc53ed82a50dd94f0d14d781bb33bda7c9b18da9a6b74af0bdaf42344f4", + "000102030405060708090a0b0c0d0e0fb64417755a31282994583eab1642367e06119440bcac6e29e1528c787d81e50bf510cb46b96e3813d4d8ac249f869d2199bb5230a4261d318c40c742661023132284d9c11681197da037cb113a1989841d954af20056b1b7ad34f3506b7ea8f5b733c89f1d64dc338d53fcf6b4079e1750bc5f145ba1d4cf7ce82f4b57259291fd5bacec36aae4833373f7f0fbbe1098215d524a927adc23df23ce99adc1ef75", "101112131415161718191a1b1c1d1e1f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" ], "measurement": [ @@ -182,16 +182,16 @@ "nonce": "000102030405060708090a0b0c0d0e0f", "out_shares": [ [ - "15b6f3ac7e9865cf", - "2121c11a2e919c28", - "b3736d00a7ceebfb", - "4d659e7318a81aab" + "0e08b445f86920be", + "bfe89cc0071eb675", + "4a3ed1dd49d16efd", + "191cea96fe2358b9" ], [ - "ec490c5380679a30", - "e0de3ee5d06e63d7", - "4f8c92ff57311404", - "b69a618ce657e554" + "f3f74bba0696df41", + "4217633ff7e1498a", + "b8c12e22b52e9102", + "eae3156900dca746" ] ], "prep_messages": [ @@ -199,11 +199,11 @@ ], "prep_shares": [ [ - "20d9b15daf90eb98fab12001c664d7f779da0f5d50d132ba6a43b1157f753e36919264b4f0098d7a4bdacbbf5ea5be09360ee658f6e3dba7", - "20d9b15daf90eb98fab12001c664d7f779da0f5d50d132ba6a43b1157f753e36706d9b4b0ef6728528dca3e2721f838d9159a71901dd8799" + "78aea2dbd520a9314e4ba218f4d22f9c3275b50c2ea0efad103714517b30cd6a12d0ac06c96a9075e6c17c2d4a8ae773713aa3d82afd8b7a", + "78aea2dbd520a9314e4ba218f4d22f9c3275b50c2ea0efad103714517b30cd6aef2f53f935956f8a441cb236a76da80b987d4a7ad527308e" ] ], - "public_share": "018031b3e41fc4b2fe2a3f77de06db7fe06eb6ffd9b0e2083236efcc45c94d7ca7149b0a3cb2046aef8f96793a0ac548f1f980e043c60626e9f41e3b00ac83699c9e98ab4988ffed0a62d5e495135c2e58042f8f3619889294d4511df162b3c0be0a6fbcfeaadbe99077fd406091d3855f0b92318f237f345cc4ebe8d953bc2fde2311bd794dd29bb586a0207fc44843152e3510566e6a43d267e49614508cc7b3a94ad4359bb0a880fa1ec1dab03de6df", + "public_share": "01104c3d284e5562431a8134de0fb7a0afd2cfe96a7d0a559118cb31aeff8316b93b8254761c8dd51cf51abd98613c64b7bb0c17fc399f82c51da7680167c28d7d6a74273cc2408619e2cae2ba9485ec7e399fa85841c76f63781995ac16a83cd45b11fb570f3385802fc05ce7172d33aa724d997264b95e40a3232c4c79293ac6", "rand": "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f" } ], diff --git a/src/vidpf.rs b/src/vidpf.rs index aa8500cf..2e986c1e 100644 --- a/src/vidpf.rs +++ b/src/vidpf.rs @@ -211,7 +211,9 @@ impl Vidpf { let mut hash = Sha3_256::new(); for (idx, cw) in self.index_iter(input)?.zip(public.cw.iter()) { r = self.eval_next(ctx, cw, idx, &r.state, nonce); - hash.update(r.state.node_proof); + if let Some(ref node_proof) = r.state.node_proof { + hash.update(node_proof); + } } let mut weight = r.share; @@ -260,7 +262,7 @@ impl Vidpf { let next_state = VidpfEvalState { seed: next_seed, control_bit: next_ctrl, - node_proof, + node_proof: Some(node_proof), }; VidpfEvalResult { @@ -269,35 +271,6 @@ impl Vidpf { } } - pub(crate) fn get_beta_share( - &self, - ctx: &[u8], - id: VidpfServerId, - public: &VidpfPublicShare, - key: &VidpfKey, - nonce: &[u8], - ) -> Result { - let cw = public.cw.first().ok_or(VidpfError::InvalidInputLength)?; - - let state = VidpfEvalState::init_from_key(id, key); - let input_left = VidpfInput::from_bools(&[false]); - let idx_left = self.index(&input_left)?; - - let VidpfEvalResult { - state: _, - share: weight_share_left, - } = self.eval_next(ctx, cw, idx_left, &state, nonce); - - let VidpfEvalResult { - state: _, - share: weight_share_right, - } = self.eval_next(ctx, cw, idx_left.right_sibling(), &state, nonce); - - let mut beta_share = weight_share_left + weight_share_right; - beta_share.conditional_negate(Choice::from(id)); - Ok(beta_share) - } - /// Ensure `prefix_tree` contains the prefix tree for `prefixes`, as well as the sibling of /// each node in the prefix tree. The return value is the weights for the prefixes /// concatenated together. @@ -419,20 +392,6 @@ impl Vidpf { }, ))) } - - fn index<'a>(&self, input: &'a VidpfInput) -> Result, VidpfError> { - let level = u16::try_from(input.len()).map_err(|_| VidpfError::InvalidInputLength)? - 1; - if level >= self.bits { - return Err(VidpfError::InvalidInputLength); - } - let bit = Choice::from(u8::from(input.get(usize::from(level)).unwrap())); - Ok(VidpfEvalIndex { - bit, - input, - level, - bits: self.bits, - }) - } } /// VIDPF key. @@ -607,7 +566,7 @@ impl ParameterizedDecode<(usize, W::ValueParameter)> for VidpfPub pub(crate) struct VidpfEvalState { seed: VidpfSeed, control_bit: Choice, - pub(crate) node_proof: VidpfProof, + pub(crate) node_proof: Option, } impl VidpfEvalState { @@ -615,7 +574,7 @@ impl VidpfEvalState { Self { seed: key.0, control_bit: Choice::from(id), - node_proof: VidpfProof::default(), // not used + node_proof: None, } } } @@ -628,7 +587,7 @@ pub(crate) struct VidpfEvalResult { } pub(crate) const VIDPF_PROOF_SIZE: usize = 32; -const VIDPF_SEED_SIZE: usize = 16; +pub(crate) const VIDPF_SEED_SIZE: usize = 16; /// Allows to validate user input and shares after evaluation. pub(crate) type VidpfProof = [u8; VIDPF_PROOF_SIZE];