From ea35e224f79c6f920e3816ae2e3cfdb02e2e8448 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Fri, 27 Sep 2024 15:37:20 +0200 Subject: [PATCH 01/16] Bump ring-proof revision --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 63aedf9..9feac9b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ rand_chacha = { version = "0.3", default-features = false } rayon = { version = "1.10", default-features = false, optional = true } hmac = {version = "0.12", default-features = false, optional = true } # Waiting for crates.io -ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "d3e37f9", default-features = false, optional = true } +ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "86e3ce0", default-features = false, optional = true } # Curves ark-secp256r1 = { version = "0.4.0", default-features = false, optional = true } ark-ed25519 = { version = "0.4.0", default-features = false, optional = true } From d12899e75db809fb64be0a4683ed92f840076227 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 12:57:46 +0100 Subject: [PATCH 02/16] TE ring proof unlocked --- Cargo.toml | 5 +++- src/ring.rs | 82 ++++++++++++++++++++++++++--------------------------- 2 files changed, 44 insertions(+), 43 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9feac9b..11aa101 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ rand_chacha = { version = "0.3", default-features = false } rayon = { version = "1.10", default-features = false, optional = true } hmac = {version = "0.12", default-features = false, optional = true } # Waiting for crates.io -ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "86e3ce0", default-features = false, optional = true } +ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "cc68185", default-features = false, optional = true } # Curves ark-secp256r1 = { version = "0.4.0", default-features = false, optional = true } ark-ed25519 = { version = "0.4.0", default-features = false, optional = true } @@ -78,3 +78,6 @@ asm = [ test-vectors = [ "ring-proof?/test-vectors" ] + +[patch."https://github.com/davxy/ring-proof"] +ring_proof = { package="ring", path = "/mnt/ssd/develop/w3f/ring-proof/ring"} diff --git a/src/ring.rs b/src/ring.rs index 32d6c01..a7d787c 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -1,10 +1,13 @@ -use crate::utils::te_sw_map::SWMapping; use crate::*; -use ark_ec::short_weierstrass::SWCurveConfig; +use ark_ff::FftField; use pedersen::{PedersenSuite, Proof as PedersenProof}; /// Ring suite. -pub trait RingSuite: PedersenSuite { +pub trait RingSuite: PedersenSuite +where + AffinePoint: ring_proof::AffineCondAdd, + as AffineRepr>::BaseField: FftField, +{ /// Pairing type. type Pairing: ark_ec::pairing::Pairing>; @@ -30,24 +33,23 @@ pub type PcsParams = ring_proof::pcs::kzg::urs::URS<::Pairing /// /// Basically all the application specific parameters required to construct and /// verify the ring proof. -type PiopParams = ring_proof::PiopParams, CurveConfig>; +type PiopParams = ring_proof::PiopParams, AffinePoint>; /// Ring keys commitment. pub type RingCommitment = ring_proof::FixedColumnsCommitted, PcsCommitment>; /// Ring prover key. -pub type ProverKey = - ring_proof::ProverKey, Pcs, ark_ec::short_weierstrass::Affine>>; +pub type ProverKey = ring_proof::ProverKey, Pcs, AffinePoint>; /// Ring verifier key. pub type VerifierKey = ring_proof::VerifierKey, Pcs>; /// Ring prover. -pub type RingProver = ring_proof::ring_prover::RingProver, Pcs, CurveConfig>; +pub type RingProver = ring_proof::ring_prover::RingProver, Pcs, AffinePoint>; /// Ring verifier. pub type RingVerifier = - ring_proof::ring_verifier::RingVerifier, Pcs, CurveConfig>; + ring_proof::ring_verifier::RingVerifier, Pcs, AffinePoint>; /// Actual ring proof. pub type RingProof = ring_proof::RingProof, Pcs>; @@ -59,7 +61,7 @@ pub type RingProof = ring_proof::RingProof, Pcs>; pub struct Proof where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig, + AffinePoint: ring_proof::AffineCondAdd, { pub pedersen_proof: PedersenProof, pub ring_proof: RingProof, @@ -68,7 +70,7 @@ where pub trait Prover where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig, + AffinePoint: ring_proof::AffineCondAdd, { /// Generate a proof for the given input/output and user additional data. fn prove( @@ -83,7 +85,7 @@ where impl Prover for Secret where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig, + AffinePoint: ring_proof::AffineCondAdd, { fn prove( &self, @@ -106,7 +108,7 @@ where pub trait Verifier where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig, + AffinePoint: ring_proof::AffineCondAdd, { /// Verify a proof for the given input/output and user additional data. fn verify( @@ -121,8 +123,7 @@ where impl Verifier for Public where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn verify( input: Input, @@ -133,8 +134,8 @@ where ) -> Result<(), Error> { use pedersen::Verifier as PedersenVerifier; >::verify(input, output, ad, &sig.pedersen_proof)?; - let key_commitment = sig.pedersen_proof.key_commitment().into_sw(); - if !verifier.verify_ring_proof(sig.ring_proof.clone(), key_commitment) { + let key_commitment = sig.pedersen_proof.key_commitment(); + if !verifier.verify(sig.ring_proof.clone(), key_commitment) { return Err(Error::VerificationFailure); } Ok(()) @@ -145,7 +146,7 @@ where pub struct RingContext where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, + AffinePoint: ring_proof::AffineCondAdd, { pcs_params: PcsParams, piop_params: PiopParams, @@ -153,7 +154,11 @@ where // Evaluation domain size required for the given ring size. #[inline(always)] -fn domain_size(ring_size: usize) -> usize { +fn domain_size(ring_size: usize) -> usize +where + BaseField: ark_ff::FftField, + AffinePoint: ring_proof::AffineCondAdd, +{ 1 << ark_std::log2(ring_size + ScalarField::::MODULUS_BIT_SIZE as usize + 4) } @@ -161,8 +166,7 @@ fn domain_size(ring_size: usize) -> usize { impl RingContext where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { /// Construct a new ring context suitable to manage the given ring size. pub fn from_seed(ring_size: usize, seed: [u8; 32]) -> Self { @@ -191,8 +195,8 @@ where let piop_params = PiopParams::::setup( ring_proof::Domain::new(domain_size, true), - S::BLINDING_BASE.into_sw(), - S::ACCUMULATOR_BASE.into_sw(), + S::BLINDING_BASE, + S::ACCUMULATOR_BASE, ); Ok(Self { @@ -210,15 +214,15 @@ where /// Get the padding point. #[inline(always)] pub fn padding_point(&self) -> AffinePoint { - AffinePoint::::from_sw(self.piop_params.padding_point()) + self.piop_params.padding_point() } /// Construct a `ProverKey` instance for the given ring. /// /// Note: if `pks.len() > self.max_ring_size()` the extra keys in the tail are ignored. pub fn prover_key(&self, pks: &[AffinePoint]) -> ProverKey { - let pks = SWMapping::to_sw_slice(&pks[..pks.len().min(self.max_ring_size())]); - ring_proof::index(&self.pcs_params, &self.piop_params, &pks).0 + let pks = &pks[..pks.len().min(self.max_ring_size())]; + ring_proof::index(&self.pcs_params, &self.piop_params, pks).0 } /// Construct `RingProver` from `ProverKey` for the prover implied by `key_index`. @@ -238,8 +242,8 @@ where /// /// Note: if `pks.len() > self.max_ring_size()` the extra keys in the tail are ignored. pub fn verifier_key(&self, pks: &[AffinePoint]) -> VerifierKey { - let pks = SWMapping::to_sw_slice(&pks[..pks.len().min(self.max_ring_size())]); - ring_proof::index(&self.pcs_params, &self.piop_params, &pks).1 + let pks = &pks[..pks.len().min(self.max_ring_size())]; + ring_proof::index(&self.pcs_params, &self.piop_params, pks).1 } /// Construct `VerifierKey` instance for the ring previously committed. @@ -266,8 +270,7 @@ where impl CanonicalSerialize for RingContext where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn serialize_with_mode( &self, @@ -286,8 +289,7 @@ where impl CanonicalDeserialize for RingContext where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn deserialize_with_mode( mut reader: R, @@ -308,7 +310,7 @@ where impl ark_serialize::Valid for RingContext where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, + AffinePoint: ring_proof::AffineCondAdd, { fn check(&self) -> Result<(), ark_serialize::SerializationError> { self.pcs_params.check() @@ -326,8 +328,7 @@ pub(crate) mod testing { pub fn prove_verify() where BaseField: ark_ff::PrimeField, - CurveConfig: ark_ec::short_weierstrass::SWCurveConfig + Clone, - AffinePoint: utils::te_sw_map::SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { let rng = &mut ark_std::test_rng(); let ring_ctx = RingContext::::from_rand(TEST_RING_SIZE, rng); @@ -360,6 +361,7 @@ pub(crate) mod testing { pub fn check_accumulator_base() where BaseField: ark_ff::PrimeField, + AffinePoint: ring_proof::AffineCondAdd, CurveConfig: ark_ec::short_weierstrass::SWCurveConfig + Clone, AffinePoint: utils::te_sw_map::SWMapping>, { @@ -387,8 +389,7 @@ pub(crate) mod testing { pub trait RingSuiteExt: RingSuite where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn ring_context() -> &'static RingContext; } @@ -396,8 +397,7 @@ pub(crate) mod testing { pub struct TestVector where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { pub pedersen: pedersen::testing::TestVector, pub ring_pks: [AffinePoint; TEST_RING_SIZE], @@ -408,8 +408,7 @@ pub(crate) mod testing { impl core::fmt::Debug for TestVector where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { f.debug_struct("TestVector") @@ -422,8 +421,7 @@ pub(crate) mod testing { impl common::TestVectorTrait for TestVector where BaseField: ark_ff::PrimeField, - CurveConfig: SWCurveConfig + Clone, - AffinePoint: SWMapping>, + AffinePoint: ring_proof::AffineCondAdd, { fn new(comment: &str, seed: &[u8], alpha: &[u8], salt: &[u8], ad: &[u8]) -> Self { use super::Prover; From a3ef4437ab15b2581d1265258995536fa74c33fc Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 15:53:38 +0100 Subject: [PATCH 03/16] Set padding point in ring-proof backend --- .../bandersnatch_ed_sha512_ell2_ring.json | 28 +++++++++---------- src/ring.rs | 6 +++- src/suites/bandersnatch.rs | 27 +++++++++++++----- 3 files changed, 39 insertions(+), 22 deletions(-) diff --git a/data/vectors/bandersnatch_ed_sha512_ell2_ring.json b/data/vectors/bandersnatch_ed_sha512_ell2_ring.json index 414c29f..7de73ec 100644 --- a/data/vectors/bandersnatch_ed_sha512_ell2_ring.json +++ b/data/vectors/bandersnatch_ed_sha512_ell2_ring.json @@ -16,8 +16,8 @@ "proof_s": "06b69b0190660bf8220db08f9bf07d0dcd7757f9862f82484f852eed6e8a6410", "proof_sb": "99f87c403f11d997ee5a3c4f6fb51237d1930b6a5de475cffd397bb0adf29809", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5a1b1da71cc4682e159b7da23050d8b6261eb11a3247c89b07ef56ccd002fd38b4fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "915e7771a416da7dc868f09163bc30359716fdc118da268206cdf001a7c2e94c435c1e81a15bc861fc4a89dc46ad65348c7294218a29eeed21bec7d900f38ed2e5203d69465e0207e143060742c8cacd3fe590b067a5f3cf56d89ba6b93098f692e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "98bc465cdf55ee0799bc25a80724d02bb2471cd7d065d9bd53a3a7e3416051f6e3686f7c6464c364b9f2b0f15750426a9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd95d4ffeef4d92464a597880dae011841f8dd457ca5c3bcfb6b98146f0679dd890be8c0c68ef4f543dcba04d86904c883886826b4d57636231717262449efd1c838b0bd4bf0e704a56c46af3f7fbe3539ea3d5a7b312e56edb7e58c22eed5dae2ea32432532ae192786da46a6e1faf3f26df3d7b0269f5084e266bbdc8099835e655f666dfc5d6df43bc3140aa3d4413829ac56b6efc350d0ef11bcaf3301a056f4aa480ee8cfafa46d19a0fc91b56fb6a89e6b74be6f3c9e9130a4f1620ae04268a0e461a8c606b17aeda83e004fc07306d883133db742f675c56058132eb84da8b0a89059da926613c8d349360e5c7aa951ff3bfdc33664c8f8805198d6952003f3c164ca0525c3f52b35e8b74f1f567764d8ebea44b6734de9981f3130454c7e263ba9971f4a67e2f057314f077afad7749cac11175830a2e482ef07ac985ca66640ac61658924689775cdbc67fb84cdfd133ca89a1966cc58eeb18a8e557a81382251957601c4cc10808bfb5fcefc8779d5a0091384211e17068073ff275715cab47cc9b7f4406f80796a09465063ab6a2d3cd4f8eb0914a8a307f4596d51ec5c035d608f356082e84e3db8e8bfbc270f2f315dc9eddb3bd0122165005121b2901cc70135303fb89e75eaff6a46cde1b979d6921b698154e6f4758706115f415be805ad7112f5f39db79648034289" + "ring_pks_com": "8ea388107f88f14cd9e06ca66260ad700e7c74bdb4cc4474e1e6a48892a0c8085ea5d98557a73ced18d5f29061f7ecaf844187943d0891f34ff0c439bd57a22d4e7fe5a7498ebc30242cb1c12e7c8d14c7eb2ba37325262188a5bfb7682963ca92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "98bc465cdf55ee0799bc25a80724d02bb2471cd7d065d9bd53a3a7e3416051f6e3686f7c6464c364b9f2b0f15750426a9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddac69cab93cba4f12ce75907fb29db3aa695354b7736f1e163d7728c2fa9346d0345630005019fcdf37016c9ec9dc705cb78bef09dcf9cf1c35aa8c7ed8115751973b64880fbf90c035d296434f7e341c7d87f58eb94612a71ee174dbec638b6d80d403588f9cca86be93400847fa549a9c259d1183dffc84a30987d9f856590a45bdb880ad17e7c2f98b530589253f65c5795caf6ca9de306257ec193ffd210831cd415902bfceccd1eab04af84bbcc95308a000e842b903ad9965fe161689490f6dfa6e7265c3be49a594b5545ef070992e95c57c2bc32cc60e0dec3dd63e3dd53199bc5df355dcaa66d61cfa43aabc1d7267699bdf35fcb8b730e36cfa374d348d09176803d4db39d92a05d88616edc447f63ba754872157c58b9feeddf202f4a035b953c7ee5d10085281e9aed5a140c9210e22b31ba9745afcaf141bbb62918d3cdacbb48a7414b7d520eb1d7a57f3d207a65c8095584626fe333546b8b68ba19d6790de2cf596ebba48aa214ccdbbcc42e9a04112b6ed8674dbc533489dd217b862fcc6a645ae1f4432371feb21916e872e9fdb160551183ca49f633b30d54221a6aaf02596dabe09fc6b6be5ee40a3a6c1f308bee499f5e940e95e71c8b967f0c27e72a2beb7af590839ffc7cbb72a089d46f349496f57bd07ecb5c2a5ecf559caf16def0516c0ec7acb3b323f" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-2", @@ -36,8 +36,8 @@ "proof_s": "862229fc3909b8a54ea8b9a3523f8b6adf76a8152eff8cd541ae8d3beef18317", "proof_sb": "8e4cc0ed30b278983ee484e0e9e725c2db9864a709e38d558e77c02e0045c208", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c55ebfe047f421e1a3e1d9bbb163839812657bbb3e4ffe9856a725b2b405844cf34fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "8f0bc5d0f4854ae1f57b4ce7812e87de4b53911ff7bdb0b26f6e9e58f15b2b4af615e9d2e20d14be66543b635c1adf8b90ff3eddf4aa18cfa02510255e50b129b280c37df9953c957ff6516ffd82a9dd075d623f942ee9bc9461a8d51b1101fe92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a57818b60d8fc54695a66b49a627b158a2f4141c696f0ac41b16831021e0ce5604aaa76fab504c106e4a50621adcbeeb9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb3ac929b4351e8b57201dfc7b92e3faebdd2c25ee3781f11cc7869ebb0c2fb5feb1a23744b298a2fa66c42b04adaa24497ea10324ba0722baa56f1952ec44249a2156ebecf694c69ec16ffd47abc540ef0c4c759c4fb9c1f8004192df5a61997cb54f76b7b9923a182d081314fbdaf2303d687a714adb2403375bb4f555dc2051dfa5bb294be29d0985e0275c2d1829faa7d618fbfab7a1e4792cae1938a0971af6f258b9bc57e816115df49ccaf8e16cd25dde02e0ef7b21acd54fcf0ec183464e9708a722e0291fe9bd24bbc0af5850c63df29f2f3575e2939f000bc40ab3eec6333f8c8c52d375052116865ff514e3ba6ebd43f592277dbceea9bba669e4c5d050e8302ef2f8c74c340d0df9543596caa94e6d151a90171e4cfb846a3280a0497682e71082d91ec1363648cfa09a2c3c5f3c4e611f2c5f7faa2233b3d81148c3fb77d74a0b486bc6e51e81492b4a56b6c4552cac67fefdb74d28d733495ed02d3427b56a244e729e17471e23af81ba145c6da2c69415d10b425423bb3021dc3f38ff7e7a3633c04f9019f04a1080f96ed5b7578bb90b5ce3964adf89acb25e29c73df5bd9c0c18860726204268959a5d7922065f763c5304aa16611a81b3f86dc301f2a078aff7f4fbd8040c84f7ae2751100a6a96f0315444f994108a233f994dfba90281351be97402d8a8af287" + "ring_pks_com": "8cab4b129caa05cd6806dc626fee185b6dc1faa99f34ba525316f601bba8d622ad0f818f06ce344b2b44d103f73d920db92f06fc42dc0935faccdd8dad1a47d493ad309927edf8723882904bc500221317e7081d200ba506877cd04e147eff7892e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a57818b60d8fc54695a66b49a627b158a2f4141c696f0ac41b16831021e0ce5604aaa76fab504c106e4a50621adcbeeb9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd955acf075c36f5b043d556b82a2a2f85168aca614efcfbfa0740fe91f990ce823cc5e4e7e1d0cb1afe4a59a1f04b8522aca21065e36a15b6a2564ce9c026d27f766a2cc83b0bb889626cedd42821e02714cb038bb0b0c13a765095c0f8037d6ef3d851027cf2f82ccf2fab8dfe3a747fbcf9d618f78f5a592299c9be87452f582aad2f81b44b89f084bbf761fc1f909d252fae13953f8924a3791792e0f27c463911b537a989f4cda7b3144d56fea2653954b5c5e46827a59ceda2ef15a3a736049eb405b76a99e86fbbe5e9d4829d0cf4872a999725c87f810b3af4269a330a1aa963e643bade420dc017cfd36e62f51f52e08e41b253fdcaa10cd01af9dc3840a8ab2a9a26a979e394330eaa391868af36c64dde1782fc5f15517b1337cb5360825a113a5c3b7983febdf8a394644dc51d605da16771025e78c2ab76ed69718e267ecb07c9e725e1095d4a7811c316c63d8afe4b2ad0c50ccce86ec4c42ae6086ecd770c689ac9588e864a5be8812f253b0d6542d3e3ba21b086a3a21d5b47fd199ea0a049d10830dedc74455adc709830eeb20d4debb56703f1d832eaa8f314631eaf1a7ec2dfd12b0478a3719067d0131b56768afdb28246e3a672217924b224e3b93aad40b7037fa769a14c8c16ec7eabe1d6b880b9f02e45e50437d3b476652a9f7bce8c3cc9688e7c9cc2d493" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-3", @@ -56,8 +56,8 @@ "proof_s": "f9f753c59bbdd44f8b7c13f8711caffe36ebf41d4bf9478896318522f783631c", "proof_sb": "9eaa98e4c670a61a70ed4e8a9d3670aeebac82d99a241687d676e235d86e370e", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c59d97151298a5339866ddd3539d16696e19e6b68ac731562c807fe63a1ca495064fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "a0b23ff359db1a3291e4f4b06363d908683e3aa0970bec16928b324bcb93121da5ca9b0633b0a61505714fbf2a125f9fa65f214a64f81079ae1a16a4dbff0fb9e0284986789243bda5317d25f2c8e938f071c0c2c001297785745d904b7d4e6192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a28c6420603f4cd2efd457092ef74585f78eeae389e2ffabf58b9f9dd14ec4db9ffe14be02b7376f6ae7959e11ce1e559107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb721a7367774ca632be13edcf0513bb1bfdb72a0dcdcecab2d1d2411bec12c7d11d6160b7f266dbc54703dcd66efaf99955f08dc523dcbbf9b00767e6f18ab921299d842d793e89865973514968113c2d6558540c5398fa67f7ba4bbcceea6156602a84ebdacd1d40e8e70bc1df4f8f623a7d1eaece77983f02b2c28e118100849fbfdef4c0ff6a0e0afd5a2df2b1e6d7544484d3a9ec7f7fa733e4d1725a43616a16961f6e556507489f7edd57002c54a8a43545e84a8feba2928be614f8e62d55da86372e3ac190bfc2c59d32deacf9f2b7e96d0d56d36f28c4cb628868c3f5fdc346cf25edb96e9ddb58c71d1b9ae8b184798f78f7f3c150f5a41a93e31279f72b9b658b066acd436f866983f91a8b26d3828784511b4a2cc442fee1ff92a585a24a99a2996167b5e791620d47a20ebad29c800b913c27e90b10191fe544d9394f4879bbdcffb7b95ce96037e0c538e5285b8373c0128fef7c6c04a07c074e796b7f137169f120b8a7555dbc7d824ac3d0af3940855bf1b9904131d105557675b416aedab694fcba3bb4e8d2bc87396ab9c816e8518e6c653611f8595c922119a4f37aa6b82da5e81ab1b6a7a6cb5919d13e9b54afc6a04ef5a5030ca2e6eaf8726e76510fc20bc63e9acd72a3b844b0a9d8c922f4fd09d3e275bf88c3de5fc865390926cf07cd79e2975ca696355" + "ring_pks_com": "8c59e96dd3f10c6557e3d53554a56996dcfa3685ea2e9bbce68e7c0c701dbdcab994c3644cd125f51b0331fdefaa3f43afa9beb050a00288676b70449568f8e27c80ebf21ea063be205efb65383ec9640ac4f31db40632ca14de82187853302092e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a28c6420603f4cd2efd457092ef74585f78eeae389e2ffabf58b9f9dd14ec4db9ffe14be02b7376f6ae7959e11ce1e559107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd88e9357ba74dabf912707509c06bf0fa7c005fe57c5ce5b9085036502e3738e8c058aeefb358317ed0d09f41466190e993a1d9e53a729e67f7ec35018524ebf037f9ded20004ebcffcf63ac4c60b48e1d0ef861ceab498498c6747573c6d16cbc8df06a45e7526be4378d1b432a8f03b0f7fc3bbe5789c53e17304f10022ef24a2f06b33b2f4fb90c28a7f9c910469a45611caef6e779aeed9a15bcf65376b1dedb590ddb7bd0aab83a2564a00ed78e73c859c93a322eea2c7c47ac16179780e1c0fc4da5171bcce4ec3d84a56341f8a46db00b1859a733338b238c06765685e47d66ca92a3b3d7af6c85890ef39e244109f30d3c12c78524ae800648f8a8d3c29cffcacd5c6409c0715c48bd0a3f9a9fda4a00e7f4e118b141785aab1e9d650419ca6a422c1686bcc580758ff36c2ca1c09e0df27ae58c450571e9feaa9b2458f427e127c6192255a768ee3ca1e20240de093e22cea5b4ad4e84953875f03585f8ba47184ec7d18961d8a12a0610ea825b9fd862f19b85b62c9cbc13f935b3bd41ccd35fdd03cbc6bae82113b074a058eb2d5fd14932146e1186365b373a9701ce5a4a3928ec22ffe30f27893d6c7ed643b14eb1ce193f3031e274a953d1866a30cd2c7651e65d238a98b042c80437b8aabe5ec6a913e04bfef0af7af12303dadef297381cb29bb145c4d74f212f738" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-4", @@ -76,8 +76,8 @@ "proof_s": "9dbc7517707f65c2651f4e7026654d2220333196dfc83460233d6bbfd331c804", "proof_sb": "38902aa4247539fbd8dffc217123d2057eab3a1cbc9a05e17bf2da773f147405", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5dc2de7312c2850a9f6c103289c64fbd76e2ebd2fa8b5734708eb2c76c0fb2d994fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "a76f7b902902f2a338eb25aec668fb78a85f0ac86ae82a0283f0484a161d32de1d347631f5ad15c5da84a2582c17122680c76bb5fb4cb9e71cb67c0773af725274bbf97d0f0d0055cd7283da82fdb290591ac80c28dfea7e1a6f7915ff0fb35592e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "84c37dff677bda19d7ce202500196edeabb794b0e0970b52a76061d9fc9c396f5d6671db8da091886f4f894775b49a549107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd82e07ea55ee440e81149b38337a6117602874efb0da263aeee9575422ce07cbdd756fa6d9e85d948343468a74f6ed0fd84a67f10c31b6322d8b95442c75abc4c45391bdb9d8d5a61d371931c66ae1e6cc823e217155fbc2eecf27069ed7237e35307b95a304e23b865b2c3962c4a63d69c1c6956e3c2950b5d53db2a00d089445dc9c7cb781764d18cc4fe5aa73e4e2e38f4463b00e989c80dafb54f1c9209502c2ff81542d371c6167fbfb62e9137cf4e3a83b4ab08580e15794c812ee0986a1ceb243cff5ac3e635651dfbbd544406d64450549ccfaa088f387c3be89a1b5e01fc15d9e22c16c883087fee6bef4bb35e7b743a2877f4dccb743b32f1eff16e3158157f3adc27317e102cc307037b73df974e19836aa383b5c36916087dfa0dba20527df4896aed4148c7e6a10065f8346e85375754b92959faa1aae1c95f3eb1533f928779106f6a2b37af492727f411751ede170418d71bcbc9dd5a5792f161ed9660b344f26db82f7551c7577615217e940a441773678e4fc19d71e3e145197219fb7515f4e7f557afbb994b6e3c8ca2e41d6bc6b31e14634832ad6036f01bded3e3f8cf5a217f7700714d6366ed3a42b5589e6dd69fcc0a80c5b8a9952c9037d63e3da86163f750e89e9507e68a09ff5452eff44e44fe625ff58cb8da6c12d853f6ecc1f25bbc21324a27c7b13b" + "ring_pks_com": "a9ff4e9c9f4afb77ae60622327a59406478abc4a12fb0b2b08a2777b1ee886865f57d81fb7e213ff0b9f9c0b488030878ea172351ed8fd4edf74c28753da0cd07e53afb1fc8d5976ad6916ef449d539b7a12de360d8340701725fc44d3a5003e92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "84c37dff677bda19d7ce202500196edeabb794b0e0970b52a76061d9fc9c396f5d6671db8da091886f4f894775b49a549107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdda5d324b25a8e0d1042b7b833bb0d5da2b5ad7de8eb0be94ccaa776b4fa505d99de6005910273598d813e46117e8f9048a90a68549e6960077e2d79833d0c2487b4a2412834a3447b0d1b9a630863b9d447d341c11cd333368cdb7f29acc8378416475a107f8163d3efc649d28b72f39a00242b63ba16b099cf4f236d98c0b4053233c87182b0fba111dc9bb062e67489a88f3ebced80188bfa45120599a0d81a7e9245afa4e72af9cdcff134516e1207e7cad14a9d67734c306ef6c7d82bac5c67d2c3b8b25e857265ef1281f0199c7e51e1b2ae6f85bad91ce9e6cae040ba2f8cd9d0e612aec5e361fb1c087bb9185b50872fe2425c9e22d90152cab4c000367012232d3012168ec3cb6a59b98c8562a7e34156a1e8129d312e5a8dd042ba1879f25ed3de0c4463b0fcfc1f08d63e2494fe0d08908892545b35702b3176e611aa186eea1220b8751b28b7f49124c6fb9c9bb0aa5066c5b8a8591a0368a1a254b9d766ab6f2886ec5ef0829e3bd79f633b50f197565e08ff9d8515514a91923dfe6e54b0d6bf773cc18b0fbdaa24d00983bb2a69e140e33da69eafc47717346fd8e110060f894caead6cfe7ec1a756aeedca27a910fea3898f34fccc02b2ea6b9042e9f7f66acedc88341d9b1ce4563b99006d2502e7805da2a12702e5272294e52e46e7f8e73b04c9a39167ff2a6d2c" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-5", @@ -96,8 +96,8 @@ "proof_s": "7800bda659bc57d8b4f01ac86c6a5819edb29b48d00ab01b83f5cbcd16064b06", "proof_sb": "14e82ee7b96487ebe7a57db04eac22512a138e4bcb55b9d1186f859dab37ed11", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5decb0151cbeb49f76f10419ab6a96242bdc87baac8a474e5161123de4304ac294fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "86fb261b4611e8f6c3d1b67066ba6f034a22aeea938d09300864b836c0a0a0873c365089c63807ec966a0906ecdc1c688f2a68017325ee42ad6b90b4cded2273080145e1ffd584ad539133511cc7af16f013bb8ffac91a19eb437d9c2034d94192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a7185a7a63812926137b53a4776569fe2323e84689e9e2523e03d3c61beb04277bde2c4a2a5e6acecbbfe1c09f16f9899107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb3da35441995afd9ae72767c55776e6e14ff73128a304d7e39b697a2f4a7ec40311c0fa4989b38bae24e1b3c4d8e3162a7c935e743e17d250f0c0f28753c3872decf21ce9bc39d69b53e9e2f62023cc5b201ab16072bf5f137129bfd82b7247407b72eb3b411d1249b6fd3d95fa3089cbf4d51d8b4dbda1bfdbe713728afab687934b578f051f027d9ddf210e1489da92aeb24c13b490b60dfe939f08c498a3596b6546f5a77604e212d00106c152d250314942e8ea4ad4e3f4638ab05fdd34062d7c2b1d8aaefbd06a8df7f960ac6218488603694cc80a2363dc3df42dcc60163424ee1d0b1dad455d5d0e04c2d0ab91570f6037315d200ce745a8908b01b53b95dfb5580c73f47b27f39ece7db69981c61673304cc482d08ebc14d57c66c440e2f7c92cb66f065e157e8a496c3174fef3bb16976f705dc249703cba2c4656681096b8777cd328d877dc1150d9e91d31b86c37ee12c4b01ef830570de2df62a283a65f1888da5767ed4fd6ac8a7d20ec5018c4da90aeca5651320143243ddbde17cc3bf0347ae7fc6c631aad8f6b2438ec8bdf0d830249cc218cfb67a92d184e4487ecd6d6ef13ba0be51fcc0532a2597764cacd47b8f9cdf59b3fe6dcddeff9495393512339946cc7de4e3f16eff138acc0864e66d7065608800fef78ed7ec86e76a34a754b0f20153cd86cb19c3f2" + "ring_pks_com": "af518b6f1dd152596b49d07cb9cd0202bd2b27fd5f9c78ed141e9051fde4a5690a0eb6384c4fdc14b66a6edbc24399df9910963b010fd680226a4bd6bb2be5fc0b8dae26077c0b49ecc5e9f325f811201e235b28f836faaa98b415c19e55194492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a7185a7a63812926137b53a4776569fe2323e84689e9e2523e03d3c61beb04277bde2c4a2a5e6acecbbfe1c09f16f9899107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8f9f99b9018b00c5be5cb281ee4049d05bc2f72048b52dec81ef7d4d819d2e845a7507b36557519dd5c6fe5c9266181eb4ead4e30fed7b9be99a3460b90ca3bc4730cf7bd3325fd471d70a28b45bd5f3aada07a23f28bf7cd44cf79e9109941bf2479a22826953dd4e779dedb00a2e64826004e43067c05971760a9d03987e2a913f33160d8995b047077c19c7c23bda0b5059a12a0942611147a32f87f077118ce626d7a7cda88bfd6bfbcce25ab8359ce8ba4c4f7e8f3af1348226d82fcc30c5ead810fae517c3c44b5200426b28052969fe9cbde1d3f22cdd7aa1047dd4660fcb31c0c2e3192c5a304c7d5bef417eaf841fc3067849c64cce25156597d37209b9264a365cf7924a3fb95e7e0b127590108a5394ffcfff459f1959dd6e94007f468f7d162a0091fa114930efc2a33c6e73ef54a040a88c2b1d53ed54133901b94afcb864a5c9c2bd20245f899a69685e5c3647ad850e5cc0751c9db0db2380348ed0a5098882da0e703c113294a15948d313d58a0ebc0ef2b6d4a0149c640a5ff4a49f3cc40801a75dd85e9a18df46a987f538107d2642ba28f6469cc3f9b6639f1fae1f6290990577a989d3d5a34e831a5aa8b6ac5be00ad167e8392748ce93c7b5d50db89ab2679a97b64b59cc7c2e54aa1ef6dd74515f371f8a71d73dc6cdcd0d1458bdb5b7670be26612b72d0a" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-6", @@ -116,8 +116,8 @@ "proof_s": "7451da70df2a6788fc3ef50dd6c5f142c5e561dd7d431c36859e4e87616cd31b", "proof_sb": "2e531e6fda5a65120809f3ef98e10c70abf17f3380449c7b3ff20cbe6a22e107", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5decb0151cbeb49f76f10419ab6a96242bdc87baac8a474e5161123de4304ac294fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "86fb261b4611e8f6c3d1b67066ba6f034a22aeea938d09300864b836c0a0a0873c365089c63807ec966a0906ecdc1c688f2a68017325ee42ad6b90b4cded2273080145e1ffd584ad539133511cc7af16f013bb8ffac91a19eb437d9c2034d94192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a8455660f642a887ca7bced683e7c5315c6ebff1d7d047ca43f5b5c7b34c244a3902f6ca62346b638ed58e4aa5b2c1c29107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddaedd504f70182cc453ab97bde517b23b46bb9f103b33d6ec16861808df31fe95363d99654ae24b13c76f86d822293ae19499785ff575aea311869ed993f48f495f4a206bab083a44433d44434f8af0d5b73b50d66f89cc1f70c1e6f3bbb6c7b42d558cf4f9d3bbacc6635505f20319fa95279d82480e6567e50da8363694134440be7939540bc69b3ee3f3834c667403149d300e01c61c124135a1bb95d2f527c96ba3e11d06bbda00adf453673cbcc5955863d2c08f0455ea6ad53e5dba7a2b9dbd325383345914ee9f9bc8a5514c1093a79159b75e416a98e069f19a432d3d68b81e340765b61d8edf0eab488b465851d3e5548bf7c94a594f2019c88e3b5b446f863546e04a90a267eaebb26361342bcd8c4dd08299bc6999ad84fd8fcc683310e8e2f330cb79bc5a36b1feb99b002381a76ca0d325f0bd0cc8d30e955f4bab7d70fe45258a8ac713900705a17f066fb8e5d7d919a9932b0b550c257bb98e9a10d81e1738d99dbb60444153715d398fffd72c27a579f3fb1365583bd52789f85c993d137db7eca770a2f4b76e086f87f9c644c4bd304949771b7799112ad5ae5fe792cca9de3ffaded52889a18c013f5d79cec7852b03ace740cd21bc9239a559a4cee41d3d78b201cf54e01127ecf82bf868d656eb08a348edddc79509df58feb46cf88a468bb8f2f1ff6b10c7ba" + "ring_pks_com": "af518b6f1dd152596b49d07cb9cd0202bd2b27fd5f9c78ed141e9051fde4a5690a0eb6384c4fdc14b66a6edbc24399df9910963b010fd680226a4bd6bb2be5fc0b8dae26077c0b49ecc5e9f325f811201e235b28f836faaa98b415c19e55194492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a8455660f642a887ca7bced683e7c5315c6ebff1d7d047ca43f5b5c7b34c244a3902f6ca62346b638ed58e4aa5b2c1c29107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb25552a14735a3d6f3ba78de92c07c2bb9f9c048e35eee238f606cd629e54dc1855b2b3c520d8075a5a462104bc02107a12a1197e63054f8672e9874b3040c72e3545bae8c2e7ca0c98c586239e5f7b2cc46ebc946d22252ecd525ea6848b50350b34cbe07b46666b7b37e8b3b0b64372d7f53de74113e5b712d9826e1d3ac6c7b334515a09b633121ad22f7a01f61745301cc38c6eba1216ec5a07150946b088a0b2286ad06a8ef5250f46c9c6707f77c72d79f41e838c5cc99be90178a6971e22220c4ff6c992f38a93f2cc8d60553bfa6438814d72918942d665a04ce9b3b531983cf15f548e18f15a57aa87d14a1ff062c9b7b35e8a1eda70338a18fc200bbc95f1b226c66fbe9caf52a8909f1a5eae2588c552d1cf6790cd11fb1494839a93144d61ba167d24af7ecda9142fb1a85545a4ab2ad11b240b80d5f7a871e37b2747e27310c5e7c5fa2983d994300131cc6f4c2c10ea3aedd3ceaffe80c8534bc175bd8d8727fa28a7c4f45976d481ea38a15bc9050d7e9b00716368f463589f2f7057d1d69bca6efcd4cd15c04fa4199eba3508b2b2f2589bb5de8f2ca34eee44e2d758fa58e6d827766f18076a2b7778ec98bee0229c6a9a24d413e93aad18bde4c438fe65bb2fceb0ccf4e7b0d633b6a9d3ac1d8eb08f9ccf801d425452d2e53753da784f904199784680e06ff57" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-7", @@ -136,7 +136,7 @@ "proof_s": "94554c2c21c0767d9336d05529b48dff2edb1bc90f1f911fca69203451d8fe1b", "proof_sb": "55ac5b72232a476a907e98ade0c45ad1dc2dfcc67947308959c0b8417947c215", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5b0e1f208f9d6e5b310b92014ea7ef3011e649dab038804759f3766e01029d6234fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "8e311bb59a6d977b98e7f930aaef63d89a0203a7ba76af4bc20ddd37c394ef3fc23307b821a812dcda922174bc64ea1dae71419f21546acea495c4c7f25287ae5673cbc52b93841e0ccded9c1b0c3d67207602921942d97c814c4d955e91d4a192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "88a7fc8a8ae7d295bdd26553b06d298c7d7fdb3f08746aba8e3312d78254a2013d4cd3bea7b62156b5a5b0a42e7e45179107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdda15ad20bdb22a9a44a8920e9b786734da5d21d7eaf7aa0fc61fc1b1cccb27368cee380aab3bc35869ba4859accfebf228da4000ecbbd57909abf6e76b5d48d6522800878807f6f9434ae4067c2b41d490bfb2680a974c880dd377b4b976243b035bc3de91b5ddbee432ac5b7ce9231fba044faac5b4b5f6d4630f3dadfa237726c7cec22eeb771ef819cf32ef6398c9575ba94668c254cf6545c2ea418f04c535c49990ffa42f9689277e5461b46e14e63a43e8f861a0d075202e1ca7fa15f46df9b702bdec4a85044f6e11abb68ec1bdfe4a2288f012ebdfae517b3920e54063c1e7b13710d48eaea4a92c9c3c79d73a5074d7745f186a5c00a6556304d27081c88e3b44fddd5ab79c9cd2bf151d269c13f55f461c02b81ecc191512cb87f111d61ba8c82684c5e7fdbf0f204a0c70da0a0cca6c939524c9a739225311ce743b090b0d69e484adbb11202857de209400b1395baee8f09056be686a448e99cc78f4bf92a92bf2e0128f259bca411859e8a83da7baec31e22801e6618be193f8b44ce286401415984aaf61176af906f6d982b211d2f8d470fedb1d94a4fed7b2b5e3dd80840ae4cdfb4c2a09a5a7e725b81943bffd599d1b8a99c2ff82e731214a3578369aaa61fe66c88d70c2613d9f9c395d996b27fb618b867e976a6cb5de98b03974a96ff356fa3aceb82bdd944bc" + "ring_pks_com": "a38c7cf5268d03be2874e526f00a805baf66a717f3e62b129386f3696681087a3c674318d4f613376b0fe4924dbe990084e5cb7776d7266f021b3237dab272a445f059becea0b664b6ba8707caa40ac19b19386efc1219a13a776e3c84b0727692e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "88a7fc8a8ae7d295bdd26553b06d298c7d7fdb3f08746aba8e3312d78254a2013d4cd3bea7b62156b5a5b0a42e7e45179107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb37c859f3876a9ce87f926ac2403adbd56520ff18ec9d5b4259ea93e631acb429071922ee479041f1909d60cdb64e5eb90b8a71e2165cd5204aa7388477e9db452cbb574fe460e16cc82c8463442f256eb4af1faf8499b467daea5aa5b50a79abd1c7864c73bd3f2f4b6706a4a47799882d537bd80212ecc8cf80696a8165d66af07683ff015220554d17ef28d7710ec7a013e7bb95a7bcb348573f49b66762491462871b91575ea55808fddf0e961fe492a7610291bfc57d4748537283d8b18be83351015bc79ee1d591ae92db26b53bffbdb92139844b67c4d86981aa18851f0c8ff9a444a8fcc7c923052c246a8f2f07a2286a48cbb3b16f78f447fb7ca059e1a5e929341a76df527f7a6dbce348ee2725255e0f22d11eb81ec7d3df4772177058e765bdc41e48494ad973bfd6f5a271d3f1f9d4bca83091e2cba17174f01893ef69ea3e6e5e2d5f0ac33c9200c77ec4e6f9c5e9846237d45ee39e2465d40ca5df773d51a1955f081abebb8ee813a4178f8dae448b3ab8176966741d37bc26bf46d6919459472ad812c80df669f698e512b2f0479f19b6ed80359cce8d8d29f36b03a43fa797cb82d7bbc0b7e08939edf59e541bb70495d2fd13559433bbb99233b1d8123c21b87c018b7869ea6ef36315c1a4fd57db9d54c8326c406fa5c41506c10f4d17d60002867cf7ebf4937" } ] \ No newline at end of file diff --git a/src/ring.rs b/src/ring.rs index a7d787c..600ee47 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -16,6 +16,9 @@ where /// In order for the ring-proof backend to work correctly, this is required to be /// in the prime order subgroup. const ACCUMULATOR_BASE: AffinePoint; + + /// Padding point with unknown discrete log. + const PADDING: AffinePoint; } /// Polinomial Commitment Scheme (KZG) @@ -197,6 +200,7 @@ where ring_proof::Domain::new(domain_size, true), S::BLINDING_BASE, S::ACCUMULATOR_BASE, + S::PADDING, ); Ok(Self { @@ -214,7 +218,7 @@ where /// Get the padding point. #[inline(always)] pub fn padding_point(&self) -> AffinePoint { - self.piop_params.padding_point() + S::PADDING } /// Construct a `ProverKey` instance for the given ring. diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index 4600377..a8bd71d 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -96,9 +96,6 @@ pub mod weierstrass { impl ring_suite::RingSuite for BandersnatchSha512Tai { type Pairing = ark_bls12_381::Bls12_381; - /// A point on the curve not belonging to the prime order subgroup. - /// - /// Found using `ring_proof::find_complement_point::()` function. const ACCUMULATOR_BASE: AffinePoint = { const X: BaseField = MontFp!("0"); const Y: BaseField = MontFp!( @@ -106,6 +103,16 @@ pub mod weierstrass { ); AffinePoint::new_unchecked(X, Y) }; + + const PADDING: AffinePoint = { + const X: weierstrass::BaseField = MontFp!( + "25353312785503880631115876544961443547556511355876709037985429927235015446936" + ); + const Y: weierstrass::BaseField = MontFp!( + "48034916494481689813223622984827694955476028581467743482028403440447916980403" + ); + AffinePoint::new_unchecked(X, Y) + }; } } #[cfg(feature = "ring")] @@ -144,7 +151,6 @@ pub mod edwards { } impl PedersenSuite for BandersnatchSha512Ell2 { - /// Found mapping `BLINDING_BASE` of `weierstrass` module using the `utils::map_sw_to_te` const BLINDING_BASE: AffinePoint = { const X: BaseField = MontFp!( "14576224270591906826192118712803723445031237947873156025406837473427562701854" @@ -186,9 +192,6 @@ pub mod edwards { impl ring_suite::RingSuite for BandersnatchSha512Ell2 { type Pairing = ark_bls12_381::Bls12_381; - /// A point on the curve not belonging to the prime order subgroup. - /// - /// Found mapping the `COMPLEMENT_POINT` of `weierstrass` module using the `utils::map_sw_to_te` const ACCUMULATOR_BASE: AffinePoint = { const X: BaseField = MontFp!( "3955725774225903122339172568337849452553276548604445833196164961773358506589" @@ -198,6 +201,16 @@ pub mod edwards { ); AffinePoint::new_unchecked(X, Y) }; + + const PADDING: AffinePoint = { + const X: edwards::BaseField = MontFp!( + "23942223917106120326220291257397678561637131227432899006603244452561725937075" + ); + const Y: edwards::BaseField = MontFp!( + "1605027200774560580022502723165578671697794116420567297367317898913080293877" + ); + AffinePoint::new_unchecked(X, Y) + }; } } #[cfg(feature = "ring")] From 50b5ca388a8193b481b64927869f5d78234f3541 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 16:05:37 +0100 Subject: [PATCH 04/16] Bump ring-proof --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 11aa101..cfbe499 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ rand_chacha = { version = "0.3", default-features = false } rayon = { version = "1.10", default-features = false, optional = true } hmac = {version = "0.12", default-features = false, optional = true } # Waiting for crates.io -ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "cc68185", default-features = false, optional = true } +ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "6e45942", default-features = false, optional = true } # Curves ark-secp256r1 = { version = "0.4.0", default-features = false, optional = true } ark-ed25519 = { version = "0.4.0", default-features = false, optional = true } From de55b1fa4b64b1d4473ef28e5be8a2ea5cdef28d Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 16:46:33 +0100 Subject: [PATCH 05/16] Remove superflous function --- src/ring.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/ring.rs b/src/ring.rs index 600ee47..2474646 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -215,12 +215,6 @@ where self.piop_params.keyset_part_size } - /// Get the padding point. - #[inline(always)] - pub fn padding_point(&self) -> AffinePoint { - S::PADDING - } - /// Construct a `ProverKey` instance for the given ring. /// /// Note: if `pks.len() > self.max_ring_size()` the extra keys in the tail are ignored. From 770a652744b5b9ece2566ffc2cf98812fb09ec5f Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 17:37:47 +0100 Subject: [PATCH 06/16] Fresh constant points for bandersnatch in TE form --- .../bandersnatch_ed_sha512_ell2_pedersen.json | 56 ++++++------- .../bandersnatch_ed_sha512_ell2_ring.json | 84 +++++++++---------- src/suites/bandersnatch.rs | 64 ++------------ 3 files changed, 77 insertions(+), 127 deletions(-) diff --git a/data/vectors/bandersnatch_ed_sha512_ell2_pedersen.json b/data/vectors/bandersnatch_ed_sha512_ell2_pedersen.json index 4f1f7ae..2729b9e 100644 --- a/data/vectors/bandersnatch_ed_sha512_ell2_pedersen.json +++ b/data/vectors/bandersnatch_ed_sha512_ell2_pedersen.json @@ -10,11 +10,11 @@ "gamma": "e7aa5154103450f0a0525a36a441f827296ee489ef30ed8787cff8df1bef223f", "beta": "fdeb377a4ffd7f95ebe48e5b43a88d069ce62188e49493500315ad55ee04d7442b93c4c91d5475370e9380496f4bc0b838c2483bce4e133c6f18b0adbb9e4722", "blinding": "01371ac62e04d1faaadbebaa686aaf122143e2cda23aacbaa4796d206779a501", - "proof_pk_com": "6eee046021611ccf5c20b9bb92933e2cee742493a6c21ca6b0e475f585f7f8a1", - "proof_r": "0f2c41bf0c08aa607b7bf2a7e78ebdfcae48004decfd68439cab4b2d44a26759", + "proof_pk_com": "ba4107f3bce947c7f61b97efe75d6a20bbea98d6813657d00aa20081befcb325", + "proof_r": "d2c7b026c5e44c7174da17e557d4688af333224513bd08794ed87848161a594d", "proof_ok": "ac57ce6a53a887fc59b6aa73d8ff0e718b49bd9407a627ae0e9b9e7c5d0d175b", - "proof_s": "06b69b0190660bf8220db08f9bf07d0dcd7757f9862f82484f852eed6e8a6410", - "proof_sb": "99f87c403f11d997ee5a3c4f6fb51237d1930b6a5de475cffd397bb0adf29809" + "proof_s": "7dd20b189167b3815c37b10572612491aa799b9275ba378e5e70bf200b43a210", + "proof_sb": "ace0f2cfa446cbb32b57945f233ebd6b02b5b86d325c8c6901a23f588eaaa70a" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-2", @@ -27,11 +27,11 @@ "gamma": "60f32f5ad3e9694b82ccc0a735edb2f940f757ab333cc5f7b0a41158b80f574f", "beta": "44f3728bc5ad550aeeb89f8db340b2fceffc946be3e2d8c5d99b47c1fce344b3c7fcee223a9b29a64fe4a86a9994784bc165bb0fba03ca0a493f75bee89a0946", "blinding": "99ff52abf49d67c4303ac4a8a00984d04c06388f5f836ebd37031f0e76245815", - "proof_pk_com": "498c2c76307e680f77e16c482dd7160d145be6cb7d324ab1ab57e192a0562846", - "proof_r": "56069eb9f2ee0e72096633cd6f7984b95b6744561e64b51df18e024c351c6f6f", + "proof_pk_com": "a663bfbd422eaa3e8abf8023d740d64da2581768a5d8757d5fd4060bd3783aed", + "proof_r": "6b6d6288147c9584e4441c1e7aea78b90024f915530c209b27f8cac1bed2c140", "proof_ok": "fc8770c209212640742d53e2f40e5c30fffae574f90fdc670ff11a1127586c03", - "proof_s": "862229fc3909b8a54ea8b9a3523f8b6adf76a8152eff8cd541ae8d3beef18317", - "proof_sb": "8e4cc0ed30b278983ee484e0e9e725c2db9864a709e38d558e77c02e0045c208" + "proof_s": "a09e060423f8faa53d1e16ce0b24cc759ee77c3ceb0c3fe74ba34fb1d9d2a108", + "proof_sb": "e776fd83c7c92dcb56f0be6975bd5bb10c11a6b5f383099bcc81886ae9e10f17" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-3", @@ -44,11 +44,11 @@ "gamma": "67a348e256d908eb695d15ee0d869efef2bcf9f0fea646e788f967abbc0464dd", "beta": "edde0178045133eb03ef4d1ad8b978a56ee80ec4eab8830d6bc6c080031388416657d3c449d9398cc4385d1c8a2bb19bcf61ff086e5a6c477a0302ce270d1abf", "blinding": "e22ec3e4a2a4132237eb8a62bcc5ed864593cfde08e53b1632ecd3245761c808", - "proof_pk_com": "5f8e88a84a1437b1fd0a490969af239eca559f6b60763ab7914ae742ee742288", - "proof_r": "39f7de93a7a3542a12aa74c959dc35cb225eafe01ff357234ba0d5f053dbaf73", + "proof_pk_com": "c5fba3b46f755acec221fb5d25642d7de6a77fa6fe9c998a761654161715905a", + "proof_r": "83dbb9b66188fa42ee643c268c75dd41226214f3d20768f54bbc66250d13ab4a", "proof_ok": "35f8dc0f744d1850513c46b6b4640716cbb4643da26cfe67f8c701486e0b4cae", - "proof_s": "f9f753c59bbdd44f8b7c13f8711caffe36ebf41d4bf9478896318522f783631c", - "proof_sb": "9eaa98e4c670a61a70ed4e8a9d3670aeebac82d99a241687d676e235d86e370e" + "proof_s": "6938267ebdb030e99fe5f6fae02b884cfca227fc785a3f4706c65c882b53710d", + "proof_sb": "5e687eff531b40401a12d0b0e96c61f441880f96f52c693252142dc954025800" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-4", @@ -61,11 +61,11 @@ "gamma": "4d3e0524fc59374f1fdad8e471c695469b45ecf69c1de85c6c1230e888dd4cbe", "beta": "36127f8aee7c61048984f0a208bf6d334db9dacbeeeef9ff2d17117e812328321462eb3ef602f5911d77ab11f815eb4154ba95c934e414198ef000a61b4de31a", "blinding": "755610da34cc224fbe60ce5e42add2ea6b272ef466aef18c13497363116d1c03", - "proof_pk_com": "a2d7505a6ebd7675245a7807f3fe64c1bdc3b3e1cd96762e5cd195f5bf5abc8b", - "proof_r": "839cad088f50ede00b337fd6dcf95816820e876c05b4ab3a5940f6d190813f9c", + "proof_pk_com": "f6ee745282e5b3a4fa7d73f64dd906c437b11b9b49dc96dc92dde94bcd315ae5", + "proof_r": "61c5ff3a1e6a91008dfe492e4afd1f12b6c0e9f23b9d6d860b1f5ba456792982", "proof_ok": "b9fa51c75d278d95f2ccace9609b28ec137b244c8b7d1523b16ed07c8e24b8e4", - "proof_s": "9dbc7517707f65c2651f4e7026654d2220333196dfc83460233d6bbfd331c804", - "proof_sb": "38902aa4247539fbd8dffc217123d2057eab3a1cbc9a05e17bf2da773f147405" + "proof_s": "ebe86ea22e8eceffa1a3569af288baa556b5b98e1fb9284cbed2ddae943b8204", + "proof_sb": "9f68cf2e7a4c304db0f0cbff8e98472743c96e0b4098901ef8709ed9a159d715" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-5", @@ -78,11 +78,11 @@ "gamma": "9508104b820469687488d83f729288d9f70fc0523318beff44a47da10d490b3c", "beta": "4ee61f3c000544aa48c565e143e05c6501a623bdbf02a0a408b97433660b4907715f75890cc0e45cdd7116e3da15b15c3c637782e8e05d05c0d5895e5fe583d1", "blinding": "fb0123dd6317dbd379afccded247f75b3c1c2e32b86eaa9d6c9d0eb5bef07919", - "proof_pk_com": "c1283a6a033aad24a0cd502308e48b3e2f862609cbaa6e353af0bfd3df3313e5", - "proof_r": "eb71022b4258201b8c226720d7b0c46395190eea8339284414cdb9dde8063096", + "proof_pk_com": "32ba00c4c2f419a93f09c788c07b24874d7de3037982d5faf49d4f25f54d82a3", + "proof_r": "e22ac51b815239ed6f1ec8651165b70f86537f94189a4fcb7a93238698406424", "proof_ok": "311f94e886825c80a30fd44535be37218501bd072afcbc1298f8fba6c3e3c96d", - "proof_s": "7800bda659bc57d8b4f01ac86c6a5819edb29b48d00ab01b83f5cbcd16064b06", - "proof_sb": "14e82ee7b96487ebe7a57db04eac22512a138e4bcb55b9d1186f859dab37ed11" + "proof_s": "4114280954dba0fbf36160f4fa9d45334a8bae641f328897a6c392857068e215", + "proof_sb": "1cf6dc8cab4b247dd483c2d8da29019ef4f9174bd4d07d8c6b056daacf2e2605" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-6", @@ -95,11 +95,11 @@ "gamma": "9508104b820469687488d83f729288d9f70fc0523318beff44a47da10d490b3c", "beta": "4ee61f3c000544aa48c565e143e05c6501a623bdbf02a0a408b97433660b4907715f75890cc0e45cdd7116e3da15b15c3c637782e8e05d05c0d5895e5fe583d1", "blinding": "0752c5b639dffedf9a66ac111a765d3e9c4cfac9c8b26cc5af6d524967afdf0a", - "proof_pk_com": "3f1cad632b9d0dae9486ceeb8712c596f6b8ec37d05d2bd22a40abefff1aab08", - "proof_r": "5e6f3111c0937721235aacef3a2378c8b8441aab953cf2c6b5bc892b26eb9507", + "proof_pk_com": "0168b0c1a00c5617cef0c0a35807d91bc0ecb1212b1cf02465f10494d085804e", + "proof_r": "76bddc2f9951bb308efdde9b0bdf3ac3ab3263d5a1af6f8276ec5d894ddd36d8", "proof_ok": "311f94e886825c80a30fd44535be37218501bd072afcbc1298f8fba6c3e3c96d", - "proof_s": "7451da70df2a6788fc3ef50dd6c5f142c5e561dd7d431c36859e4e87616cd31b", - "proof_sb": "2e531e6fda5a65120809f3ef98e10c70abf17f3380449c7b3ff20cbe6a22e107" + "proof_s": "0b57ac74adf66a619b3b993b7dc517af3211e2ae19b4a26dc73e4a407d733307", + "proof_sb": "8c2f374814f50ebf2b7e5760e4ab631e2c962b1e7b5e7147c06ea83397b2dd09" }, { "comment": "bandersnatch_ed_sha512_ell2_pedersen - vector-7", @@ -112,10 +112,10 @@ "gamma": "6d1dd583bea262323c7dc9e94e57a472e09874e435719010eeafae503c433f16", "beta": "09106f062ac07846f3f841f64765527b333575143483855d633f99ccc2e8e306e6239ff79a1272cff931e8d0ac6c390328486329118ad40a18b85184da1837ff", "blinding": "462ae9ad651e5caf11247b989fecb5f2b1729479c33b9133388d14fa35dbbd0c", - "proof_pk_com": "0286ffd0277e29a9231bea18e4a553db73d4d4aafc2864e639080734c39f2314", - "proof_r": "207967dcefefd52af68b66d0a56ab6461e95fcef4bb1c55077b0380aac5f3fbf", + "proof_pk_com": "084fd5e94e3d47a4d82e14e15ea2ab7c90b13702de64b2085a920fddb4032b32", + "proof_r": "2112b29dfd39ec3d6dab9e57ea6a8a8c890e4ab2483c371cdaca04a0ca5fb38a", "proof_ok": "5a02419120b814a5c81d67096aac728ee9bda5ddf9451cf554d871462a04831a", - "proof_s": "94554c2c21c0767d9336d05529b48dff2edb1bc90f1f911fca69203451d8fe1b", - "proof_sb": "55ac5b72232a476a907e98ade0c45ad1dc2dfcc67947308959c0b8417947c215" + "proof_s": "34b415a6d9f217dd3207a0d1a09d8545db20649fdc6fbd60e9939da0b326cd03", + "proof_sb": "c7d348140d3cd6d062246e0c6cd36b22736b94c68b9501aabfd90a01d2a4a116" } ] \ No newline at end of file diff --git a/data/vectors/bandersnatch_ed_sha512_ell2_ring.json b/data/vectors/bandersnatch_ed_sha512_ell2_ring.json index 7de73ec..6df91be 100644 --- a/data/vectors/bandersnatch_ed_sha512_ell2_ring.json +++ b/data/vectors/bandersnatch_ed_sha512_ell2_ring.json @@ -10,14 +10,14 @@ "gamma": "e7aa5154103450f0a0525a36a441f827296ee489ef30ed8787cff8df1bef223f", "beta": "fdeb377a4ffd7f95ebe48e5b43a88d069ce62188e49493500315ad55ee04d7442b93c4c91d5475370e9380496f4bc0b838c2483bce4e133c6f18b0adbb9e4722", "blinding": "01371ac62e04d1faaadbebaa686aaf122143e2cda23aacbaa4796d206779a501", - "proof_pk_com": "6eee046021611ccf5c20b9bb92933e2cee742493a6c21ca6b0e475f585f7f8a1", - "proof_r": "0f2c41bf0c08aa607b7bf2a7e78ebdfcae48004decfd68439cab4b2d44a26759", + "proof_pk_com": "ba4107f3bce947c7f61b97efe75d6a20bbea98d6813657d00aa20081befcb325", + "proof_r": "d2c7b026c5e44c7174da17e557d4688af333224513bd08794ed87848161a594d", "proof_ok": "ac57ce6a53a887fc59b6aa73d8ff0e718b49bd9407a627ae0e9b9e7c5d0d175b", - "proof_s": "06b69b0190660bf8220db08f9bf07d0dcd7757f9862f82484f852eed6e8a6410", - "proof_sb": "99f87c403f11d997ee5a3c4f6fb51237d1930b6a5de475cffd397bb0adf29809", + "proof_s": "7dd20b189167b3815c37b10572612491aa799b9275ba378e5e70bf200b43a210", + "proof_sb": "ace0f2cfa446cbb32b57945f233ebd6b02b5b86d325c8c6901a23f588eaaa70a", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5a1b1da71cc4682e159b7da23050d8b6261eb11a3247c89b07ef56ccd002fd38b4fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "8ea388107f88f14cd9e06ca66260ad700e7c74bdb4cc4474e1e6a48892a0c8085ea5d98557a73ced18d5f29061f7ecaf844187943d0891f34ff0c439bd57a22d4e7fe5a7498ebc30242cb1c12e7c8d14c7eb2ba37325262188a5bfb7682963ca92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "98bc465cdf55ee0799bc25a80724d02bb2471cd7d065d9bd53a3a7e3416051f6e3686f7c6464c364b9f2b0f15750426a9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddac69cab93cba4f12ce75907fb29db3aa695354b7736f1e163d7728c2fa9346d0345630005019fcdf37016c9ec9dc705cb78bef09dcf9cf1c35aa8c7ed8115751973b64880fbf90c035d296434f7e341c7d87f58eb94612a71ee174dbec638b6d80d403588f9cca86be93400847fa549a9c259d1183dffc84a30987d9f856590a45bdb880ad17e7c2f98b530589253f65c5795caf6ca9de306257ec193ffd210831cd415902bfceccd1eab04af84bbcc95308a000e842b903ad9965fe161689490f6dfa6e7265c3be49a594b5545ef070992e95c57c2bc32cc60e0dec3dd63e3dd53199bc5df355dcaa66d61cfa43aabc1d7267699bdf35fcb8b730e36cfa374d348d09176803d4db39d92a05d88616edc447f63ba754872157c58b9feeddf202f4a035b953c7ee5d10085281e9aed5a140c9210e22b31ba9745afcaf141bbb62918d3cdacbb48a7414b7d520eb1d7a57f3d207a65c8095584626fe333546b8b68ba19d6790de2cf596ebba48aa214ccdbbcc42e9a04112b6ed8674dbc533489dd217b862fcc6a645ae1f4432371feb21916e872e9fdb160551183ca49f633b30d54221a6aaf02596dabe09fc6b6be5ee40a3a6c1f308bee499f5e940e95e71c8b967f0c27e72a2beb7af590839ffc7cbb72a089d46f349496f57bd07ecb5c2a5ecf559caf16def0516c0ec7acb3b323f" + "ring_pks_com": "8585ac6099562ea5664f9fe7e8341211041a0cba315d0111e7b94b7fd65f5a34307926345caf5a1190009d41f0b308a798ab7aa81fae20c57fd0f4b081bea66b7b0ef60f85984f11da5b2b58859cabba710160723aef70c3f25d6fa949ba1f3e92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "98bc465cdf55ee0799bc25a80724d02bb2471cd7d065d9bd53a3a7e3416051f6e3686f7c6464c364b9f2b0f15750426a9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb963277560726396dcc3ec97104b0b48fdeb6d3921461881f8cc342990b77d9d925bf24c15aa4b6f4ca59c78e4ac849d8daa2da7bd24785faacfbfd36110b75d0bdc93defac989c5b88d7e55f3defb8e1bf938ce493a9fa336f9c63b21726a9070ef3669c72fb9b9c003c923eaab916488c10f8418a96793583b5aeb0302c65e75f5580c2d84227b9f4ea299ff1de10365c7d3f94a4e1fdb00c056a07ce3d73e10fe58fb76e138329f7c2dae3d1bfca57050f1025d64ab221216ca7f12bd34258afa204abf111514b9299887160c057ebfee0fd266c86493a2b983dcbedaf803ed7442c66e678fbec847b34a71681de1650891a0b48fa973947b19445c2b5c18361e032b1e22d7df2f9f638c7fab1b4d5766a44de55f805f9e8fbca678659a1542eb3b56684fd710350f4fa882d5b4fc4a515a17c6eba38d8cbc37f3ff07d65b92328d3248e72123ee131600c4242a066f9236417e8e0836dcb02d42903966e62e7e5e27261f3f3c86465e8b7bcedbccee3fb2a7588f90f8cfe2a9ad13f70e22b7cd5e9a7123e52adc24c902a400e82ab10b2c565d21579834816dcb5b628241e37b300587ba13a1a760890c1a190393d0364d5e09919b89f5aa63e683091038b17c39c9c921c9c8635b5e09600d99ca2f0b3e702370d74c5fbcb2c1cebbfb6c4241fbe95414022fd41e412f7549e559" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-2", @@ -30,14 +30,14 @@ "gamma": "60f32f5ad3e9694b82ccc0a735edb2f940f757ab333cc5f7b0a41158b80f574f", "beta": "44f3728bc5ad550aeeb89f8db340b2fceffc946be3e2d8c5d99b47c1fce344b3c7fcee223a9b29a64fe4a86a9994784bc165bb0fba03ca0a493f75bee89a0946", "blinding": "99ff52abf49d67c4303ac4a8a00984d04c06388f5f836ebd37031f0e76245815", - "proof_pk_com": "498c2c76307e680f77e16c482dd7160d145be6cb7d324ab1ab57e192a0562846", - "proof_r": "56069eb9f2ee0e72096633cd6f7984b95b6744561e64b51df18e024c351c6f6f", + "proof_pk_com": "a663bfbd422eaa3e8abf8023d740d64da2581768a5d8757d5fd4060bd3783aed", + "proof_r": "6b6d6288147c9584e4441c1e7aea78b90024f915530c209b27f8cac1bed2c140", "proof_ok": "fc8770c209212640742d53e2f40e5c30fffae574f90fdc670ff11a1127586c03", - "proof_s": "862229fc3909b8a54ea8b9a3523f8b6adf76a8152eff8cd541ae8d3beef18317", - "proof_sb": "8e4cc0ed30b278983ee484e0e9e725c2db9864a709e38d558e77c02e0045c208", + "proof_s": "a09e060423f8faa53d1e16ce0b24cc759ee77c3ceb0c3fe74ba34fb1d9d2a108", + "proof_sb": "e776fd83c7c92dcb56f0be6975bd5bb10c11a6b5f383099bcc81886ae9e10f17", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c55ebfe047f421e1a3e1d9bbb163839812657bbb3e4ffe9856a725b2b405844cf34fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "8cab4b129caa05cd6806dc626fee185b6dc1faa99f34ba525316f601bba8d622ad0f818f06ce344b2b44d103f73d920db92f06fc42dc0935faccdd8dad1a47d493ad309927edf8723882904bc500221317e7081d200ba506877cd04e147eff7892e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a57818b60d8fc54695a66b49a627b158a2f4141c696f0ac41b16831021e0ce5604aaa76fab504c106e4a50621adcbeeb9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd955acf075c36f5b043d556b82a2a2f85168aca614efcfbfa0740fe91f990ce823cc5e4e7e1d0cb1afe4a59a1f04b8522aca21065e36a15b6a2564ce9c026d27f766a2cc83b0bb889626cedd42821e02714cb038bb0b0c13a765095c0f8037d6ef3d851027cf2f82ccf2fab8dfe3a747fbcf9d618f78f5a592299c9be87452f582aad2f81b44b89f084bbf761fc1f909d252fae13953f8924a3791792e0f27c463911b537a989f4cda7b3144d56fea2653954b5c5e46827a59ceda2ef15a3a736049eb405b76a99e86fbbe5e9d4829d0cf4872a999725c87f810b3af4269a330a1aa963e643bade420dc017cfd36e62f51f52e08e41b253fdcaa10cd01af9dc3840a8ab2a9a26a979e394330eaa391868af36c64dde1782fc5f15517b1337cb5360825a113a5c3b7983febdf8a394644dc51d605da16771025e78c2ab76ed69718e267ecb07c9e725e1095d4a7811c316c63d8afe4b2ad0c50ccce86ec4c42ae6086ecd770c689ac9588e864a5be8812f253b0d6542d3e3ba21b086a3a21d5b47fd199ea0a049d10830dedc74455adc709830eeb20d4debb56703f1d832eaa8f314631eaf1a7ec2dfd12b0478a3719067d0131b56768afdb28246e3a672217924b224e3b93aad40b7037fa769a14c8c16ec7eabe1d6b880b9f02e45e50437d3b476652a9f7bce8c3cc9688e7c9cc2d493" + "ring_pks_com": "b4e3a243bd2a071f5f86235cc44c256dde121d81dab24728a80fdce960dbb7f04b200716d9f7e544917818755ba84a8d8b118ab6490254a14e3f7ece07fcb1a5a0651c519dbf3461ae1b1187326d0e067cd7f1d1661533b93da573178dd507fa92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a57818b60d8fc54695a66b49a627b158a2f4141c696f0ac41b16831021e0ce5604aaa76fab504c106e4a50621adcbeeb9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd974fa9413c8a09bb9438f4933029f92d167dc6716d2bffb1abd6360fcf15e0094a2d7ed4f24cffd6a5a6340bd6f5073aa04a1ac35809d1f2df296efaab317a82bdc83664d556dd01ebb2ec4456ff86455b3ee187fc32d5fc2e937f3d65f94c9eac83bc5fcd4c787c2c0a7df353bef15702655779ce6a288a20a000426f5067711ab696a2dbc6bc97bf359a4940407ee69d94d6a312136750ad4ed76b83156211fdfd59f3d278aaa8e55fe78a3b78f64812b8fa4078e5bd78b07b06a58700637218ebb14f18a0f88bff192ab7c1c94744cad100408931c0b77f5e29f218625a47ad575c2e470ceba798e4a47d7df93f284fe7b145bc180a4b3637d65f421f421655b422d4534baf68f6b55f7ed78279f4b10635718919ab63fbc138051a955638985a8b48c70f6ae7c57b22ac0973462781fda6d9ba8fe1d6e15ecb5c78791868b944d355fada180edde22eab8f9dc3d04693472f2c894c75a91637886a33e47ee147c161d65a579d54532271ec85bfe3715cbc74ef6804b6e0ad3f5d7655aaf9f7783d82c1080e7d0f3c0691c825312e91e3554c2f6eaefed2fcb3a4c1a0a46687c15821df2073d6d21227dc8a1ccb567a7e36298bda2d77a9c0d980fa0af39a8f4190c1dee0b208675707d8dc2b672496a6426426006840be1a2876d74b2477971d05223e912dfa940a1ebba2d2b195" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-3", @@ -50,14 +50,14 @@ "gamma": "67a348e256d908eb695d15ee0d869efef2bcf9f0fea646e788f967abbc0464dd", "beta": "edde0178045133eb03ef4d1ad8b978a56ee80ec4eab8830d6bc6c080031388416657d3c449d9398cc4385d1c8a2bb19bcf61ff086e5a6c477a0302ce270d1abf", "blinding": "e22ec3e4a2a4132237eb8a62bcc5ed864593cfde08e53b1632ecd3245761c808", - "proof_pk_com": "5f8e88a84a1437b1fd0a490969af239eca559f6b60763ab7914ae742ee742288", - "proof_r": "39f7de93a7a3542a12aa74c959dc35cb225eafe01ff357234ba0d5f053dbaf73", + "proof_pk_com": "c5fba3b46f755acec221fb5d25642d7de6a77fa6fe9c998a761654161715905a", + "proof_r": "83dbb9b66188fa42ee643c268c75dd41226214f3d20768f54bbc66250d13ab4a", "proof_ok": "35f8dc0f744d1850513c46b6b4640716cbb4643da26cfe67f8c701486e0b4cae", - "proof_s": "f9f753c59bbdd44f8b7c13f8711caffe36ebf41d4bf9478896318522f783631c", - "proof_sb": "9eaa98e4c670a61a70ed4e8a9d3670aeebac82d99a241687d676e235d86e370e", + "proof_s": "6938267ebdb030e99fe5f6fae02b884cfca227fc785a3f4706c65c882b53710d", + "proof_sb": "5e687eff531b40401a12d0b0e96c61f441880f96f52c693252142dc954025800", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c59d97151298a5339866ddd3539d16696e19e6b68ac731562c807fe63a1ca495064fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "8c59e96dd3f10c6557e3d53554a56996dcfa3685ea2e9bbce68e7c0c701dbdcab994c3644cd125f51b0331fdefaa3f43afa9beb050a00288676b70449568f8e27c80ebf21ea063be205efb65383ec9640ac4f31db40632ca14de82187853302092e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a28c6420603f4cd2efd457092ef74585f78eeae389e2ffabf58b9f9dd14ec4db9ffe14be02b7376f6ae7959e11ce1e559107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd88e9357ba74dabf912707509c06bf0fa7c005fe57c5ce5b9085036502e3738e8c058aeefb358317ed0d09f41466190e993a1d9e53a729e67f7ec35018524ebf037f9ded20004ebcffcf63ac4c60b48e1d0ef861ceab498498c6747573c6d16cbc8df06a45e7526be4378d1b432a8f03b0f7fc3bbe5789c53e17304f10022ef24a2f06b33b2f4fb90c28a7f9c910469a45611caef6e779aeed9a15bcf65376b1dedb590ddb7bd0aab83a2564a00ed78e73c859c93a322eea2c7c47ac16179780e1c0fc4da5171bcce4ec3d84a56341f8a46db00b1859a733338b238c06765685e47d66ca92a3b3d7af6c85890ef39e244109f30d3c12c78524ae800648f8a8d3c29cffcacd5c6409c0715c48bd0a3f9a9fda4a00e7f4e118b141785aab1e9d650419ca6a422c1686bcc580758ff36c2ca1c09e0df27ae58c450571e9feaa9b2458f427e127c6192255a768ee3ca1e20240de093e22cea5b4ad4e84953875f03585f8ba47184ec7d18961d8a12a0610ea825b9fd862f19b85b62c9cbc13f935b3bd41ccd35fdd03cbc6bae82113b074a058eb2d5fd14932146e1186365b373a9701ce5a4a3928ec22ffe30f27893d6c7ed643b14eb1ce193f3031e274a953d1866a30cd2c7651e65d238a98b042c80437b8aabe5ec6a913e04bfef0af7af12303dadef297381cb29bb145c4d74f212f738" + "ring_pks_com": "92fcb8ab0744f096dd89a2ad6ac1b107b4d9cdc73ca0dc052a58c39159a70738ead532e9a486ef01a7da94d0528936c581a14f0412583e0b8d42caaaf55435ab5107512cc28f0794e2a23e9036b77188dec6d4e6a366dd885a84059c90ca7b3492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a28c6420603f4cd2efd457092ef74585f78eeae389e2ffabf58b9f9dd14ec4db9ffe14be02b7376f6ae7959e11ce1e559107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8e595075b105d891226a1aa4dc46367f42eda32962c94174be6ba3966bdb3a8fe64d56b3d6982a215be10168daa29bd7b50bf0de281b7bc18b6f3fcd558144d56f4b8df9d86cebc9eb5796f06a92c9df99abb88e0fad4dbeb4e307e1abc2a46da80fb683491febcaf31b0292231d6e0225f913a4beae87b0483d6198c6723013a4c39ef2db171e97c04ffdde83e73e5433b78c5bb335e2038145417fb9751469a9e72fa2d357dd477d157056f341141e8bf18f92ccfb7372f6e3cf0897097122c6accac6e8762d40cc59b322c0ea00fdb99e029d5b4e5c1e456b4550d0a49618482e934d0be9c6ba70f939fd8262f5151007a69276b8ce87cf835d9185384157c725a75a8d05df44f961c80c0308641af052ad24a8057d7dae25eaee7382c31226998334e7cd780e64f262ab051b05eb850063603ff137156f1cf36972ca1305b531a040dbcc4f923014b15f2c32d6db7e5dd3b9b5180f30132953588c8d173a2208231d2194e6ee27c5301c3b7ced5c153682335e2de310a635249ed3ce7f6153c0399bb392b9a6fafccc1e334f9959b63742069b16b182da19a39249341b49569226aca9bc4103d814fd55bf1d733fd20168f0b5a6a8a6a4a1370abcaf5766b2ab0000c9cf169c3a0665500dcb4b24816d2b98b3e069ae90a9c9a0bc032b19e6679979530209333d41af3afd7cb8a9" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-4", @@ -70,14 +70,14 @@ "gamma": "4d3e0524fc59374f1fdad8e471c695469b45ecf69c1de85c6c1230e888dd4cbe", "beta": "36127f8aee7c61048984f0a208bf6d334db9dacbeeeef9ff2d17117e812328321462eb3ef602f5911d77ab11f815eb4154ba95c934e414198ef000a61b4de31a", "blinding": "755610da34cc224fbe60ce5e42add2ea6b272ef466aef18c13497363116d1c03", - "proof_pk_com": "a2d7505a6ebd7675245a7807f3fe64c1bdc3b3e1cd96762e5cd195f5bf5abc8b", - "proof_r": "839cad088f50ede00b337fd6dcf95816820e876c05b4ab3a5940f6d190813f9c", + "proof_pk_com": "f6ee745282e5b3a4fa7d73f64dd906c437b11b9b49dc96dc92dde94bcd315ae5", + "proof_r": "61c5ff3a1e6a91008dfe492e4afd1f12b6c0e9f23b9d6d860b1f5ba456792982", "proof_ok": "b9fa51c75d278d95f2ccace9609b28ec137b244c8b7d1523b16ed07c8e24b8e4", - "proof_s": "9dbc7517707f65c2651f4e7026654d2220333196dfc83460233d6bbfd331c804", - "proof_sb": "38902aa4247539fbd8dffc217123d2057eab3a1cbc9a05e17bf2da773f147405", + "proof_s": "ebe86ea22e8eceffa1a3569af288baa556b5b98e1fb9284cbed2ddae943b8204", + "proof_sb": "9f68cf2e7a4c304db0f0cbff8e98472743c96e0b4098901ef8709ed9a159d715", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5dc2de7312c2850a9f6c103289c64fbd76e2ebd2fa8b5734708eb2c76c0fb2d994fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "a9ff4e9c9f4afb77ae60622327a59406478abc4a12fb0b2b08a2777b1ee886865f57d81fb7e213ff0b9f9c0b488030878ea172351ed8fd4edf74c28753da0cd07e53afb1fc8d5976ad6916ef449d539b7a12de360d8340701725fc44d3a5003e92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "84c37dff677bda19d7ce202500196edeabb794b0e0970b52a76061d9fc9c396f5d6671db8da091886f4f894775b49a549107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdda5d324b25a8e0d1042b7b833bb0d5da2b5ad7de8eb0be94ccaa776b4fa505d99de6005910273598d813e46117e8f9048a90a68549e6960077e2d79833d0c2487b4a2412834a3447b0d1b9a630863b9d447d341c11cd333368cdb7f29acc8378416475a107f8163d3efc649d28b72f39a00242b63ba16b099cf4f236d98c0b4053233c87182b0fba111dc9bb062e67489a88f3ebced80188bfa45120599a0d81a7e9245afa4e72af9cdcff134516e1207e7cad14a9d67734c306ef6c7d82bac5c67d2c3b8b25e857265ef1281f0199c7e51e1b2ae6f85bad91ce9e6cae040ba2f8cd9d0e612aec5e361fb1c087bb9185b50872fe2425c9e22d90152cab4c000367012232d3012168ec3cb6a59b98c8562a7e34156a1e8129d312e5a8dd042ba1879f25ed3de0c4463b0fcfc1f08d63e2494fe0d08908892545b35702b3176e611aa186eea1220b8751b28b7f49124c6fb9c9bb0aa5066c5b8a8591a0368a1a254b9d766ab6f2886ec5ef0829e3bd79f633b50f197565e08ff9d8515514a91923dfe6e54b0d6bf773cc18b0fbdaa24d00983bb2a69e140e33da69eafc47717346fd8e110060f894caead6cfe7ec1a756aeedca27a910fea3898f34fccc02b2ea6b9042e9f7f66acedc88341d9b1ce4563b99006d2502e7805da2a12702e5272294e52e46e7f8e73b04c9a39167ff2a6d2c" + "ring_pks_com": "8244a8ddb4ad3e179ef64ee96820a4d5bf5f9f58a8966c27718ee5eacf78e8b375e5b7a7842f18f41a66ca98c80e7d9583933dfa0c034e4a83ba17fe6df67efedb8805d2870a22f3e44de5ec8c28e86ad70f53fec494b299df2b91b960859ac692e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "84c37dff677bda19d7ce202500196edeabb794b0e0970b52a76061d9fc9c396f5d6671db8da091886f4f894775b49a549107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd9486bd36ca69d989630ce92c49627dc3d964431ec7d21ef1b8d4cf2d8272141b1b54336c09271c3a9ffef3750422f660b6a924d8d0378d192477e07228a2823e0137c04aced67d560a382ded6abe3b32534e21a80211510f39391982302bb842c9dcc5df2038def32807047669d6e2a3741d52d514cb943ab709bec92e9323544859e2f996b621eff6a9f6bad0a18f63d90100bd383ad82d9a4d85d910a3b161fb4e26e81c95baa12f9d3e15f22123a486afac84ce12e36d5ded93f0ecdfac2c75389f22cb33801f5ebac75d2001d943a23fa663420d3959fef32d7f18a8a763c264b506bc6f268c758d88db5b392dd8bc6a5997a6b5c3555a6d7e4b2d081b0b27e6d657655de752bbabe2c3f54ddbe7e8d00a38cbc7ddf234e7bff36052c76fba3e79a73a529120303e7a10ec77dc83eabe405c9b5556d8aa7dd578afec5648ae7f2b3a3632ae9ff5e994e12b5c1e7c98491793162992bd64c433bbd4bb74b0bd8f0b6bc5944621f0c489c732b1b131c07c269f5bffae27a14d79ee352fd537e2aa4b30d9664e37eae122cb5e534515add39d786bbdcf207744ef8d48b71a372bea5f21e05d37fa05129f48a09a7e05dbc1799f9d974326aa188b4bf162b74c81916f3150ed4e21e9d6f51be34e6d55eb74ab4585f5f4277b75b19ffde02ff038d08ae2ea05bb9c0ce809b85ce43a6d" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-5", @@ -90,14 +90,14 @@ "gamma": "9508104b820469687488d83f729288d9f70fc0523318beff44a47da10d490b3c", "beta": "4ee61f3c000544aa48c565e143e05c6501a623bdbf02a0a408b97433660b4907715f75890cc0e45cdd7116e3da15b15c3c637782e8e05d05c0d5895e5fe583d1", "blinding": "fb0123dd6317dbd379afccded247f75b3c1c2e32b86eaa9d6c9d0eb5bef07919", - "proof_pk_com": "c1283a6a033aad24a0cd502308e48b3e2f862609cbaa6e353af0bfd3df3313e5", - "proof_r": "eb71022b4258201b8c226720d7b0c46395190eea8339284414cdb9dde8063096", + "proof_pk_com": "32ba00c4c2f419a93f09c788c07b24874d7de3037982d5faf49d4f25f54d82a3", + "proof_r": "e22ac51b815239ed6f1ec8651165b70f86537f94189a4fcb7a93238698406424", "proof_ok": "311f94e886825c80a30fd44535be37218501bd072afcbc1298f8fba6c3e3c96d", - "proof_s": "7800bda659bc57d8b4f01ac86c6a5819edb29b48d00ab01b83f5cbcd16064b06", - "proof_sb": "14e82ee7b96487ebe7a57db04eac22512a138e4bcb55b9d1186f859dab37ed11", + "proof_s": "4114280954dba0fbf36160f4fa9d45334a8bae641f328897a6c392857068e215", + "proof_sb": "1cf6dc8cab4b247dd483c2d8da29019ef4f9174bd4d07d8c6b056daacf2e2605", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5decb0151cbeb49f76f10419ab6a96242bdc87baac8a474e5161123de4304ac294fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "af518b6f1dd152596b49d07cb9cd0202bd2b27fd5f9c78ed141e9051fde4a5690a0eb6384c4fdc14b66a6edbc24399df9910963b010fd680226a4bd6bb2be5fc0b8dae26077c0b49ecc5e9f325f811201e235b28f836faaa98b415c19e55194492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a7185a7a63812926137b53a4776569fe2323e84689e9e2523e03d3c61beb04277bde2c4a2a5e6acecbbfe1c09f16f9899107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8f9f99b9018b00c5be5cb281ee4049d05bc2f72048b52dec81ef7d4d819d2e845a7507b36557519dd5c6fe5c9266181eb4ead4e30fed7b9be99a3460b90ca3bc4730cf7bd3325fd471d70a28b45bd5f3aada07a23f28bf7cd44cf79e9109941bf2479a22826953dd4e779dedb00a2e64826004e43067c05971760a9d03987e2a913f33160d8995b047077c19c7c23bda0b5059a12a0942611147a32f87f077118ce626d7a7cda88bfd6bfbcce25ab8359ce8ba4c4f7e8f3af1348226d82fcc30c5ead810fae517c3c44b5200426b28052969fe9cbde1d3f22cdd7aa1047dd4660fcb31c0c2e3192c5a304c7d5bef417eaf841fc3067849c64cce25156597d37209b9264a365cf7924a3fb95e7e0b127590108a5394ffcfff459f1959dd6e94007f468f7d162a0091fa114930efc2a33c6e73ef54a040a88c2b1d53ed54133901b94afcb864a5c9c2bd20245f899a69685e5c3647ad850e5cc0751c9db0db2380348ed0a5098882da0e703c113294a15948d313d58a0ebc0ef2b6d4a0149c640a5ff4a49f3cc40801a75dd85e9a18df46a987f538107d2642ba28f6469cc3f9b6639f1fae1f6290990577a989d3d5a34e831a5aa8b6ac5be00ad167e8392748ce93c7b5d50db89ab2679a97b64b59cc7c2e54aa1ef6dd74515f371f8a71d73dc6cdcd0d1458bdb5b7670be26612b72d0a" + "ring_pks_com": "8610d2fbb61e947c8f465e786fbc6c313b7c48cd7e2d34901159e089f35f7cd596da6874c6c41ce429dfb6fbae200225add78616a315b002850ce42882c89051e70ab00aefa42b12b65104635f47a96dd459467bc57a1fcf8457569cd98ec3b592e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a7185a7a63812926137b53a4776569fe2323e84689e9e2523e03d3c61beb04277bde2c4a2a5e6acecbbfe1c09f16f9899107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd87727d3884b5caa0bd5b390535a48e6941a7084eeb3246b338f9c739a738c12c30414adac432c2fe836d009350bf49e289c9102bb09eae0ec1ab7ffb6b4a51e435ff7d867dd6a3815c3c223dd94218e4b2bf7569c4a37ee31c8d6a21796377070f915f9bc2f70f3db381cf3c32378d5bdc2579dfef6465a54db364f89be7fc1780bdeac9cc164410ca204ad4ee0780597d68697baaec0862be6a3c4428760c3a18177f4e59c419358c21da272455f7e6965205ddee5610f5eab596c50e1ba8566bca75a8f9fdecdc7ae43ed6db8be786a8e85c282139cfc16bc524ff875f0a22377accfcc811925f95b00ab1b83f71b37b28e31329b0824e070a200198ed3c1fb0ac496f619d8aca058ee5818c863aca4912a83f9734fa7682ea68b1f0794d239335896b4720f66642d8250ccc49db377488bd70f1dfa9b87eb78f19a5a06a55980716c6fb07020dd3b0081bfffd5e0f2ec004ce9dd9e2c621a03c17308a0a3ca410da3dabb59566accfb66258f65c024e415e17e36bbc6d1320d8c080885aeda74d59a0c39a6c00447075e512078933b5524e16562425e7c8908ed74af101c67a1117b96a82af44aedd74c6864f1b3d47acc88327813ad118b2e89063b847d8ab2b4b33c024302ac3dbbce0226e57dc93cceed51853a1c507f9077018a01326d7e9badcb2d106d1ff760b9e3b8d9c22" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-6", @@ -110,14 +110,14 @@ "gamma": "9508104b820469687488d83f729288d9f70fc0523318beff44a47da10d490b3c", "beta": "4ee61f3c000544aa48c565e143e05c6501a623bdbf02a0a408b97433660b4907715f75890cc0e45cdd7116e3da15b15c3c637782e8e05d05c0d5895e5fe583d1", "blinding": "0752c5b639dffedf9a66ac111a765d3e9c4cfac9c8b26cc5af6d524967afdf0a", - "proof_pk_com": "3f1cad632b9d0dae9486ceeb8712c596f6b8ec37d05d2bd22a40abefff1aab08", - "proof_r": "5e6f3111c0937721235aacef3a2378c8b8441aab953cf2c6b5bc892b26eb9507", + "proof_pk_com": "0168b0c1a00c5617cef0c0a35807d91bc0ecb1212b1cf02465f10494d085804e", + "proof_r": "76bddc2f9951bb308efdde9b0bdf3ac3ab3263d5a1af6f8276ec5d894ddd36d8", "proof_ok": "311f94e886825c80a30fd44535be37218501bd072afcbc1298f8fba6c3e3c96d", - "proof_s": "7451da70df2a6788fc3ef50dd6c5f142c5e561dd7d431c36859e4e87616cd31b", - "proof_sb": "2e531e6fda5a65120809f3ef98e10c70abf17f3380449c7b3ff20cbe6a22e107", + "proof_s": "0b57ac74adf66a619b3b993b7dc517af3211e2ae19b4a26dc73e4a407d733307", + "proof_sb": "8c2f374814f50ebf2b7e5760e4ab631e2c962b1e7b5e7147c06ea83397b2dd09", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5decb0151cbeb49f76f10419ab6a96242bdc87baac8a474e5161123de4304ac294fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "af518b6f1dd152596b49d07cb9cd0202bd2b27fd5f9c78ed141e9051fde4a5690a0eb6384c4fdc14b66a6edbc24399df9910963b010fd680226a4bd6bb2be5fc0b8dae26077c0b49ecc5e9f325f811201e235b28f836faaa98b415c19e55194492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a8455660f642a887ca7bced683e7c5315c6ebff1d7d047ca43f5b5c7b34c244a3902f6ca62346b638ed58e4aa5b2c1c29107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb25552a14735a3d6f3ba78de92c07c2bb9f9c048e35eee238f606cd629e54dc1855b2b3c520d8075a5a462104bc02107a12a1197e63054f8672e9874b3040c72e3545bae8c2e7ca0c98c586239e5f7b2cc46ebc946d22252ecd525ea6848b50350b34cbe07b46666b7b37e8b3b0b64372d7f53de74113e5b712d9826e1d3ac6c7b334515a09b633121ad22f7a01f61745301cc38c6eba1216ec5a07150946b088a0b2286ad06a8ef5250f46c9c6707f77c72d79f41e838c5cc99be90178a6971e22220c4ff6c992f38a93f2cc8d60553bfa6438814d72918942d665a04ce9b3b531983cf15f548e18f15a57aa87d14a1ff062c9b7b35e8a1eda70338a18fc200bbc95f1b226c66fbe9caf52a8909f1a5eae2588c552d1cf6790cd11fb1494839a93144d61ba167d24af7ecda9142fb1a85545a4ab2ad11b240b80d5f7a871e37b2747e27310c5e7c5fa2983d994300131cc6f4c2c10ea3aedd3ceaffe80c8534bc175bd8d8727fa28a7c4f45976d481ea38a15bc9050d7e9b00716368f463589f2f7057d1d69bca6efcd4cd15c04fa4199eba3508b2b2f2589bb5de8f2ca34eee44e2d758fa58e6d827766f18076a2b7778ec98bee0229c6a9a24d413e93aad18bde4c438fe65bb2fceb0ccf4e7b0d633b6a9d3ac1d8eb08f9ccf801d425452d2e53753da784f904199784680e06ff57" + "ring_pks_com": "8610d2fbb61e947c8f465e786fbc6c313b7c48cd7e2d34901159e089f35f7cd596da6874c6c41ce429dfb6fbae200225add78616a315b002850ce42882c89051e70ab00aefa42b12b65104635f47a96dd459467bc57a1fcf8457569cd98ec3b592e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a8455660f642a887ca7bced683e7c5315c6ebff1d7d047ca43f5b5c7b34c244a3902f6ca62346b638ed58e4aa5b2c1c29107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddadb0771661f52946f33bf35a831ce26aebf84703f87c6c3898f06588e1b1ac9cc9858fbc198168ecff172275f85f369f8f6f928ee069eb34fe712f2d9286474413bf2c470be3a123c152cb1f68ce0722e1b24a7370f2723c65ddf273a2009ef1c8d3865e4fcfd45dd1b2f8ac3ea838f73032725365da511bf849fd34fd75b651c71ffe1afb43a832147dc6536cef74e198a94ec374a4c447a9f006edc0fc276156b3c7b1609008bea6774e8e326bb9d302f150c88f0f639ecfb5670e6b85a364b582a54c3bfa2d4f037e2a34c5ae70f25bb2c0891871588495dba3bcb7de1e0c2b5fd8d4b0c787d9ed63ea4abcd96ee15b8a59a6c91e1058eceb38316489666c44e3047a90603237b374f9793c04b0b414cc4d5951c50aafe8481cb9bf4f826f7f6a5caf461d3b016c348a3a625e62459c2b296109e99aa9b2664e32792244678317d286bc2f43e5dd88cbf898b2bc2e6b6a34558595cdb240cb9ce6bab641b09b342da2f992a8ed4a90027c5dc65d9b88bc4fc9c141986411a6709af407d6a71a97eaa4f6310eb0a12212b2f9d7f851a488dcf156fa1cbbd0fbd9c4d676631a8b0278f10682d58b6aa11125ac65af82717707af7d99869d5360f7f9a007cae2aaad56d9d10d644cd36033bf59d1f0ebec8b2250d09cec0074701b34175977f8b0f408d69cd42fb76760595569434ec8" }, { "comment": "bandersnatch_ed_sha512_ell2_ring - vector-7", @@ -130,13 +130,13 @@ "gamma": "6d1dd583bea262323c7dc9e94e57a472e09874e435719010eeafae503c433f16", "beta": "09106f062ac07846f3f841f64765527b333575143483855d633f99ccc2e8e306e6239ff79a1272cff931e8d0ac6c390328486329118ad40a18b85184da1837ff", "blinding": "462ae9ad651e5caf11247b989fecb5f2b1729479c33b9133388d14fa35dbbd0c", - "proof_pk_com": "0286ffd0277e29a9231bea18e4a553db73d4d4aafc2864e639080734c39f2314", - "proof_r": "207967dcefefd52af68b66d0a56ab6461e95fcef4bb1c55077b0380aac5f3fbf", + "proof_pk_com": "084fd5e94e3d47a4d82e14e15ea2ab7c90b13702de64b2085a920fddb4032b32", + "proof_r": "2112b29dfd39ec3d6dab9e57ea6a8a8c890e4ab2483c371cdaca04a0ca5fb38a", "proof_ok": "5a02419120b814a5c81d67096aac728ee9bda5ddf9451cf554d871462a04831a", - "proof_s": "94554c2c21c0767d9336d05529b48dff2edb1bc90f1f911fca69203451d8fe1b", - "proof_sb": "55ac5b72232a476a907e98ade0c45ad1dc2dfcc67947308959c0b8417947c215", + "proof_s": "34b415a6d9f217dd3207a0d1a09d8545db20649fdc6fbd60e9939da0b326cd03", + "proof_sb": "c7d348140d3cd6d062246e0c6cd36b22736b94c68b9501aabfd90a01d2a4a116", "ring_pks": "7b32d917d5aa771d493c47b0e096886827cd056c82dbdba19e60baa8b2c60313d3b1bdb321123449c6e89d310bc6b7f654315eb471c84778353ce08b951ad471561fdb0dcfb8bd443718b942f82fe717238cbcf8d12b8d22861c8a09a984a3c5b0e1f208f9d6e5b310b92014ea7ef3011e649dab038804759f3766e01029d6234fd11f89c2a1aaefe856bb1c5d4a1fad73f4de5e41804ca2c17ba26d6e10050c86d06ee2c70da6cf2da2a828d8a9d8ef755ad6e580e838359a10accb086ae437ad6fdeda0dde0a57c51d3226b87e3795e6474393772da46101fd597fbd456c1b3f9dc0c4f67f207974123830c2d66988fb3fb44becbbba5a64143f376edc51d9", - "ring_pks_com": "a38c7cf5268d03be2874e526f00a805baf66a717f3e62b129386f3696681087a3c674318d4f613376b0fe4924dbe990084e5cb7776d7266f021b3237dab272a445f059becea0b664b6ba8707caa40ac19b19386efc1219a13a776e3c84b0727692e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "88a7fc8a8ae7d295bdd26553b06d298c7d7fdb3f08746aba8e3312d78254a2013d4cd3bea7b62156b5a5b0a42e7e45179107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb37c859f3876a9ce87f926ac2403adbd56520ff18ec9d5b4259ea93e631acb429071922ee479041f1909d60cdb64e5eb90b8a71e2165cd5204aa7388477e9db452cbb574fe460e16cc82c8463442f256eb4af1faf8499b467daea5aa5b50a79abd1c7864c73bd3f2f4b6706a4a47799882d537bd80212ecc8cf80696a8165d66af07683ff015220554d17ef28d7710ec7a013e7bb95a7bcb348573f49b66762491462871b91575ea55808fddf0e961fe492a7610291bfc57d4748537283d8b18be83351015bc79ee1d591ae92db26b53bffbdb92139844b67c4d86981aa18851f0c8ff9a444a8fcc7c923052c246a8f2f07a2286a48cbb3b16f78f447fb7ca059e1a5e929341a76df527f7a6dbce348ee2725255e0f22d11eb81ec7d3df4772177058e765bdc41e48494ad973bfd6f5a271d3f1f9d4bca83091e2cba17174f01893ef69ea3e6e5e2d5f0ac33c9200c77ec4e6f9c5e9846237d45ee39e2465d40ca5df773d51a1955f081abebb8ee813a4178f8dae448b3ab8176966741d37bc26bf46d6919459472ad812c80df669f698e512b2f0479f19b6ed80359cce8d8d29f36b03a43fa797cb82d7bbc0b7e08939edf59e541bb70495d2fd13559433bbb99233b1d8123c21b87c018b7869ea6ef36315c1a4fd57db9d54c8326c406fa5c41506c10f4d17d60002867cf7ebf4937" + "ring_pks_com": "a47a711324657bc55044ac86ea4ad6b0eea14da1f1110bddee63b9952b4fe11596d1fa7393aaf74db98ead09eaaae769a741e49588ba12084297525668de99ce218c698ed2e2ccdad5a7e09e5b36d59e4a81424e5f1dddaa5c423a5f0104465392e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "88a7fc8a8ae7d295bdd26553b06d298c7d7fdb3f08746aba8e3312d78254a2013d4cd3bea7b62156b5a5b0a42e7e45179107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddaaa9a1a2a33ed9ee4f1d972536a4bf8ba67fabaab6beabafb8f99124b3044b29110260211b8cc3632991f76a44198e65abf09fe2f01531c4e2cd93417d89bb8b7cc7ac5327b1d9b2bc46f4452801b14f2409ff287a1fd5b485a5aea74a33fba0fdc765422c242bf0a765a50930c4510b64530b8f85a32e41908ca6194edb4d3489e3152a964829360901747b0b69c9c3974a4f49704f441a90323e671eb6dd26c638841c041ac0cfe5c7e630429bc9cf69427a69399406a0b4433de0aa42191962e70922bfed0ad017a8602d4450fe7fa2a2729c1aa961f464ab8a6f5853da0b3e19fa83980ba32e85b78afcab6da935501fe747eea29a0e33453a9d0dace04f98f54e2b21772110e0a1ffa142eae00fe4012256df6f0f4cf18ad79b17a1aa2bcbf613403513ca504eec4cce2cb24fde7a856fb6c7d35123a94f1bee0765f039b224b9d5c294a9799820a2c0fc3059e045a60bb70e951e7a40c5926c8eac1ffb4e0b59700b5f2c1277383b315a2ea28cd012205602e42538d5c68c0cb357d99603980c04c048a82010c5a59240f2e127aa2687f790f2d7c205757fb750d5ddbfad709cc0a97252d3ddd2739c722dfb4ed4254f3af3b74563653de23d71efb8c6849dddc46277dd665f3d5eabdcda0039b199ce71b3fe8e0730a8b958ff7ccac5b546bd2cbfe33ac661da1024564295b3" } ] \ No newline at end of file diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index a8bd71d..59e5ac0 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -153,10 +153,10 @@ pub mod edwards { impl PedersenSuite for BandersnatchSha512Ell2 { const BLINDING_BASE: AffinePoint = { const X: BaseField = MontFp!( - "14576224270591906826192118712803723445031237947873156025406837473427562701854" + "38168223498318911142286050663287153682718239172559550124349816380809451936776" ); const Y: BaseField = MontFp!( - "38436873314098705092845609371301773715650206984323659492499960072785679638442" + "13115037257460794964097483333460798982818600992000859876014531380573406267597" ); AffinePoint::new_unchecked(X, Y) }; @@ -194,20 +194,20 @@ pub mod edwards { const ACCUMULATOR_BASE: AffinePoint = { const X: BaseField = MontFp!( - "3955725774225903122339172568337849452553276548604445833196164961773358506589" + "40466805124442823009206085742433914639946090367156029186462738700056462095646" ); const Y: BaseField = MontFp!( - "29870564530691725960104983716673293929719207405660860235233811770612192692323" + "34469198087286762951014035959822415945315930553941756446161542933145938584110" ); AffinePoint::new_unchecked(X, Y) }; const PADDING: AffinePoint = { const X: edwards::BaseField = MontFp!( - "23942223917106120326220291257397678561637131227432899006603244452561725937075" + "26690044630372444677440308098946018389016038587388751811165279176488605875833" ); const Y: edwards::BaseField = MontFp!( - "1605027200774560580022502723165578671697794116420567297367317898913080293877" + "569559155228528470326092120674498621727733902430463954153034712442147510565" ); AffinePoint::new_unchecked(X, Y) }; @@ -417,57 +417,7 @@ mod test_vectors_ring_sw { } #[test] -fn blinding_base_sw_te_rountrip() { - use crate::utils::*; - let sw = weierstrass::BandersnatchSha512Tai::BLINDING_BASE; - let ed = sw_to_te(&sw).unwrap(); - assert_eq!(ed, edwards::BandersnatchSha512Ell2::BLINDING_BASE); - let sw2 = te_to_sw(&ed).unwrap(); - assert_eq!(sw, sw2); -} - -#[cfg(all(test, feature = "ring"))] -#[test] -fn accumulator_base_sw_te_roundtrip() { - use crate::{ring::RingSuite, utils::*}; - let sw = weierstrass::BandersnatchSha512Tai::ACCUMULATOR_BASE; - let ed = sw_to_te(&sw).unwrap(); - assert_eq!(ed, edwards::BandersnatchSha512Ell2::ACCUMULATOR_BASE); - let sw2 = te_to_sw(&ed).unwrap(); - assert_eq!(sw, sw2); -} - -#[cfg(all(test, feature = "ring"))] -#[test] -fn padding_point_sw_te_roundtrip() { - use crate::utils::*; - // Fixed padding point - let sw = { - const X: weierstrass::BaseField = MontFp!( - "25353312785503880631115876544961443547556511355876709037985429927235015446936" - ); - const Y: weierstrass::BaseField = MontFp!( - "48034916494481689813223622984827694955476028581467743482028403440447916980403" - ); - weierstrass::AffinePoint::new_unchecked(X, Y) - }; - let ed = { - const X: edwards::BaseField = MontFp!( - "23942223917106120326220291257397678561637131227432899006603244452561725937075" - ); - const Y: edwards::BaseField = - MontFp!("1605027200774560580022502723165578671697794116420567297367317898913080293877"); - edwards::AffinePoint::new_unchecked(X, Y) - }; - - let ed2 = sw_to_te(&sw).unwrap(); - assert_eq!(ed, ed2); - let sw2 = te_to_sw(&ed).unwrap(); - assert_eq!(sw, sw2); -} - -#[test] -fn generator_roundtrip() { +fn generator_te_sw_roundtrip() { use crate::utils::*; let sw1 = weierstrass::AffinePoint::generator(); let ed1 = sw_to_te(&sw1).unwrap(); From 9b28ca892304cd42ae9ee9f1597378ff41867241 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 17:40:20 +0100 Subject: [PATCH 07/16] Not anymore a thing --- src/ring.rs | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/ring.rs b/src/ring.rs index 2474646..5fda4e6 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -352,23 +352,6 @@ pub(crate) mod testing { assert!(result.is_ok()); } - /// Check that complement point is not in the prime subgroup. - /// - /// This is a requirement for the correct working of ring-proof backend. - #[allow(unused)] - pub fn check_accumulator_base() - where - BaseField: ark_ff::PrimeField, - AffinePoint: ring_proof::AffineCondAdd, - CurveConfig: ark_ec::short_weierstrass::SWCurveConfig + Clone, - AffinePoint: utils::te_sw_map::SWMapping>, - { - use utils::te_sw_map::SWMapping; - let pt = S::ACCUMULATOR_BASE.into_sw(); - assert!(pt.is_on_curve()); - assert!(!pt.is_in_correct_subgroup_assuming_on_curve()); - } - #[macro_export] macro_rules! ring_suite_tests { ($suite:ident) => { @@ -376,11 +359,6 @@ pub(crate) mod testing { fn ring_prove_verify() { $crate::ring::testing::prove_verify::<$suite>() } - - #[test] - fn check_accumulator_base() { - $crate::ring::testing::check_accumulator_base::<$suite>() - } }; } From 3850b87ecd624b6414ceb8ce879fe28b96e59b9d Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 17:49:14 +0100 Subject: [PATCH 08/16] Update SW Points --- src/suites/bandersnatch.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index 59e5ac0..af3272b 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -71,10 +71,10 @@ pub mod weierstrass { impl PedersenSuite for BandersnatchSha512Tai { const BLINDING_BASE: AffinePoint = { const X: BaseField = MontFp!( - "4956610287995045830459834427365747411162584416641336688940534788579455781570" + "18562340202008698890566938329151033008590893716756711454001687823729291008182" ); const Y: BaseField = MontFp!( - "52360910621642801549936840538960627498114783432181489929217988668068368626761" + "22625275248457848583115064311002569996869205956762839165658064263537101602045" ); AffinePoint::new_unchecked(X, Y) }; @@ -97,19 +97,21 @@ pub mod weierstrass { type Pairing = ark_bls12_381::Bls12_381; const ACCUMULATOR_BASE: AffinePoint = { - const X: BaseField = MontFp!("0"); + const X: BaseField = MontFp!( + "35802491285899595673230581729646824849514038723976226341205595068750227004007" + ); const Y: BaseField = MontFp!( - "11982629110561008531870698410380659621661946968466267969586599013782997959645" + "17572023958760623860499337087020156281410269069550950996534533909010878422310" ); AffinePoint::new_unchecked(X, Y) }; const PADDING: AffinePoint = { const X: weierstrass::BaseField = MontFp!( - "25353312785503880631115876544961443547556511355876709037985429927235015446936" + "46773150013419170039927491869621293654549314356406233983762580404134261753450" ); const Y: weierstrass::BaseField = MontFp!( - "48034916494481689813223622984827694955476028581467743482028403440447916980403" + "22599467115101261434854217219446263536674031843145074147602916161466662885286" ); AffinePoint::new_unchecked(X, Y) }; From 981771999ec712ceb60644576630286c79d8320e Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 18:11:47 +0100 Subject: [PATCH 09/16] Reduce deps --- .../bandersnatch_sw_sha512_tai_pedersen.json | 56 ++++++------- .../bandersnatch_sw_sha512_tai_ring.json | 84 +++++++++---------- src/ring.rs | 7 +- 3 files changed, 71 insertions(+), 76 deletions(-) diff --git a/data/vectors/bandersnatch_sw_sha512_tai_pedersen.json b/data/vectors/bandersnatch_sw_sha512_tai_pedersen.json index b573a36..b5949af 100644 --- a/data/vectors/bandersnatch_sw_sha512_tai_pedersen.json +++ b/data/vectors/bandersnatch_sw_sha512_tai_pedersen.json @@ -10,11 +10,11 @@ "gamma": "8bf194739010d89b8557bd03cd4b4e8196034d036ae90804bd6cd29e3c3d066000", "beta": "a2100f37b8970e5908ef9b75dd28cc99a2155e1a5f0f5502eadf808dd0efe300df84402a976682b29dca5356846fe6fc93924877d802adeba148bd5c0aeca445", "blinding": "55f71122f86a3e731bb762514308811c3f590d931428df71cb3b37097025fa06", - "proof_pk_com": "354044431127e09f84a39dace6586c2c4cee89a1b347c86a8751a50882f9fc1780", - "proof_r": "17ae73175d3d7295f72fc73b4876d0cfcaa2377d8807e07bc865fcf654d7dc6500", + "proof_pk_com": "14b611f588fa864f92d9859ee0c01540736359748dcfd753c05cae5eff3eed2200", + "proof_r": "7f5de29fae3e8f67943caaafa17731f18fdae739542b15c08dbc837cd325b04a80", "proof_ok": "3aef7094d9223853d76322eaea721f9130577a33aaaa5fda1570b8df7509052e00", - "proof_s": "a2dcbdc20785729fa4b57d254229fecde61f86d2f04750f27f192d88ae545615", - "proof_sb": "7811620463228a4d43764fefd1ff40d92bf80ccef6d2f3302e8f3e4c4055e00e" + "proof_s": "27401447dc4c53c4effa167da0c61d1c7582b6eda492e463b537795ac63d9618", + "proof_sb": "c288bab2cccda5d2931134f3d4867d4bff38a90510512fa7fd63ea8e6dc48917" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-2", @@ -27,11 +27,11 @@ "gamma": "1cad4ef9a7079c17504a3b91431dd8cb338f361f3bdbe7afaf9d4425448b822d80", "beta": "00b8fe7ec85b7a6ce40423a025dd2be167251a6a5b59b6d621be5dafc7792891692b6b8de2c6dab85833fb513eb00b62ccef81d903ef331001ee12c48b92ed55", "blinding": "0ce2977115916538f4cf6c75b7c90a9ea76898f0f704e573bdc4834505ef0907", - "proof_pk_com": "7166e9b4e5091eeff96c2b7403d44c41bb351684fc2ff498ea4c8805e3245d5300", - "proof_r": "1058bc1103da806740a5686ee3ddbfe322a979a2233673918fef53a9df46ac3f80", + "proof_pk_com": "649f3e2da3653b9c4019eb39d2faf0383da6d1cabe5af33fb62872cef9b5701980", + "proof_r": "9e45c1d8b2c24df721c8fa28852d6c35450e54221069708efd2ca4601b39630100", "proof_ok": "fa262ba3fe3784dc99afdd38ecd24f232eb6e2b08a8d45d15936cab9ff878a6d00", - "proof_s": "ec624487c189f1125cfabc2bc8ef6d2902663cd99a348da19bae7d4317afee0d", - "proof_sb": "743d24f00b386e49090bc970778a030d75061d6c67c8bc030efab8f02c609f00" + "proof_s": "d5ba5d39870fa11bf20ca4e13aed8a4e9ba75e7fbdd532d2144482083a4f310e", + "proof_sb": "b70f19699ea79fc8c1c798f3e6aece3cb49d84b5024cb55d2fe425b18d0d860a" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-3", @@ -44,11 +44,11 @@ "gamma": "4bd4b20f72a6ac4074dab2da20bbcb518da52ce10abcd98552c192b9ebf3012b80", "beta": "157ba81d5f3fc0732d4638919ffe4a66257b6b9701bc8ce39095c25bf819dd42f2fcd504b3bf04262c8d8b7b22c6c5bcec1e482a5092356cd54c1055622e4332", "blinding": "2b21be394a108c03a0b86142e6460119b8968eb54d763b49ebe0aa35a05d441b", - "proof_pk_com": "0172099bf3456b60020b05006a4e41f99a86c0a85a64a864e611de51bfa4660c00", - "proof_r": "59e4c08abf15b1b07b51a4a9c6ca53127cac94f2a55717ba4eabb035c190423f00", + "proof_pk_com": "b16179882ffb7c003ec13a1f7f148e662f6a539b04ce0aa47b83e42645a9da2d00", + "proof_r": "f995d6944e21d57fc456ab0da6822c010e8ca5ae731d3d2c92314c4a17d1527180", "proof_ok": "410f22934442e290d8158d296f6db464d7c5cff5f63f86abed5a0c24b725331400", - "proof_s": "65414b49234ff97907c3c2d888588df955166fdf9e06a5fea88894e99d11eb05", - "proof_sb": "cbd729b414c65be509641a53ae18267fff50d1ac2fe6e777613973fd11068e10" + "proof_s": "eb80f08ab656f8b643b24249b00efd008a4f146042fb131c5dd6a74797113911", + "proof_sb": "56a1998096723f8f1348f2769d227bfbc7ec0713ae2a1fb545231de3e7c28813" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-4", @@ -61,11 +61,11 @@ "gamma": "537086b351db10424ee65f6e30c3b35ef8207ec050e48eefc0113fb6df56552880", "beta": "332892f4150b85ef1da2766d0461c8ac391f5f1fc03e888a8222c567a8f19be3b090e852d3cb25a51788c1e502cfe7944def39d6253bab9604a2b6817caef023", "blinding": "535bf70009cdb7d543a87870e614b10eebfbcf88831235bdb73f715bb4b1ca14", - "proof_pk_com": "8b882d9e87fcbc3c7af7593cce8c5690401483467bfc8895a5aba7d07f765d5080", - "proof_r": "f155e1e7524191eef5edd74659adaab05301e00408abd18331188f9121bd754e80", + "proof_pk_com": "f93217eaa79537dd17ba5e653e3763049d8fe2b39cf8982c39a0011094e23f1380", + "proof_r": "a4c7ef568ab5150a84ab263d31abbbec3506d08cd3c06430e283757d19f3842880", "proof_ok": "14811d17183dec2e0cd18b0847944502f6b749462bd2d7807284f3f9ec39f46b00", - "proof_s": "a146ecf8af43f02b174b768052d48c7106ad7433c7b3437f4e1ab2af730c511c", - "proof_sb": "bb9d2b63e1541beeaf74a45fdabf5e21c881cf3336b7df5d763b9cb45d839a17" + "proof_s": "9de9594d43d5618ad2c6110160dcf473e82f8b6437e66a64a7c0c3011f1a821c", + "proof_sb": "22e2a083b8f844dc80e14d7bf57ea77de9f07f7137f856987e86e27aaa32831a" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-5", @@ -78,11 +78,11 @@ "gamma": "4af5381d91e64fd514a4efe23acb3beae6a87d549cf12fc7c51d27e63dadb17380", "beta": "ca0b4e8537f33e28ae8c4ac2b53ce5784e3abe846ad4aeb3fa330a5836e483da3d8903e5f227679e228e6ae2949748b2b7c5cbbec44ea06157f613767ee2c09f", "blinding": "11019f4bc50575d8fa851b6a507b15cdd9e95a8f68e0dfe87114cf7df8a3751b", - "proof_pk_com": "fadc0f97d133296bdcdc21ae726ad96b7f7a44dbf93931c93404c231585e3f5580", - "proof_r": "ffe1f522365f8a38a0dc8eae0bce89287b6da2fc5b98362db7e4f528b564ab1180", + "proof_pk_com": "c6af3b4ae8a3522e296551bde00c0bb3ad38564f7760087839324f2e910d1c7380", + "proof_r": "9d24c769b68f3b029355d52837c90f596ad67ef3a8cb72e1b9f905b3fe80c34000", "proof_ok": "df425b123de0be0eceb2f3bb4165d53764cfb1d76089d7983b1caead2b251b3880", - "proof_s": "437d26458b589e085833a2d920be3ae168c657e385ff899fc7fd5af74a893b0a", - "proof_sb": "eda29f841d6b10bf022e8d3ab8fda97c5896940b5a3eaff42ea75cea411ece19" + "proof_s": "d97a46b4286947040ed2a34177aac834e86a734af494d68f58f675d3bd414712", + "proof_sb": "35ceb11ac171053fd47e327615c3be1cafab07e97b77e7e8627ca6dcfe422509" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-6", @@ -95,11 +95,11 @@ "gamma": "4af5381d91e64fd514a4efe23acb3beae6a87d549cf12fc7c51d27e63dadb17380", "beta": "ca0b4e8537f33e28ae8c4ac2b53ce5784e3abe846ad4aeb3fa330a5836e483da3d8903e5f227679e228e6ae2949748b2b7c5cbbec44ea06157f613767ee2c09f", "blinding": "bd91ce4bc2029413d70d3cf1a7df866fb63a922060cc57c34a1f565bababef0d", - "proof_pk_com": "98be131aa43e4045a9e64940a93cd1e6dee35434f121667e58aee59d1a68825d80", - "proof_r": "183042e8b5cde07497e4922c49d271e6a8a4f92bff67856dc13d7a48bec5ea5b00", + "proof_pk_com": "72f9991a435d5d1bffade072d027e081e047a07fe845604ec2c1b30dac216a1b00", + "proof_r": "829f3cf234b1111056a69ca0f8cab6ee26c6edaa6bd5401a1cb6625e34c1235780", "proof_ok": "df425b123de0be0eceb2f3bb4165d53764cfb1d76089d7983b1caead2b251b3880", - "proof_s": "f10e9bf7a1d38050f5bcd1bcd3137193532ae0e2620af210bd0e5db8cdd6090f", - "proof_sb": "8fd5408fa35ad60f55141bf9fa0bd2ad0c9d9bd18fd8468e1457749d5ef1c311" + "proof_s": "a53539b29e515e34a6d0a1e20a61d287f942974278132cd4f7321916263a030b", + "proof_sb": "ac40ce234cb3f8044eeb5c53a0c0402921a041fc0c503524c295f1fc3140220c" }, { "comment": "bandersnatch_sw_sha512_tai_pedersen - vector-7", @@ -112,10 +112,10 @@ "gamma": "6896518ab25de4c4985ee693210a9d2cf1cef60cc792f5e0eef408c3db11b02000", "beta": "dd0ba3c69fc9842563a7b84bfca12a5c403b1771bc660e8d0012897f1dac2f8e72e501b861ead231372ea6ab2723f47f9997ac00b215c80e383b5482c579060d", "blinding": "8df74965c9d0b35a62f3e7a6a6e6cb2f21d8979ff9818d44f7881e2e819d680b", - "proof_pk_com": "d7a89ae94e61283da37e48f9c0e34b3da7babb109574f91de25d41db68c4da6300", - "proof_r": "1a990e0b87243fde6f06c5af0b9f871d0943b3464ed74f435fc033eb5577573580", + "proof_pk_com": "2b9fd887b1ac2f126eb9c33ee5fd7ba4e3b1fd34eb8c4550dd19fb1cbbd0541680", + "proof_r": "ba4e9cba1f5bb3d64c4ece975cf0f209c76095f6e0dbce77c38bab206f8f5d6a80", "proof_ok": "65d53e3baacfce0c81fe8cb644f882713659941feb708158bd86e3374fa6144500", - "proof_s": "0fdb1037f25e7de8b1bdb69acc5c725e407d1045b11ae2ca41fe47c42df95209", - "proof_sb": "e0a30f38cce6eca6a1bd31b4ab323d18c700eebfc374d0cb997497a5ad03b80f" + "proof_s": "deead3b4b35b778e454ae040830f561d58006a35416d6dbf0959bb9f6c7d9415", + "proof_sb": "e596d6ee7e8387d15ac705387203c45313304aebac565cb01c38a9d493ac8e0d" } ] \ No newline at end of file diff --git a/data/vectors/bandersnatch_sw_sha512_tai_ring.json b/data/vectors/bandersnatch_sw_sha512_tai_ring.json index 8c19c73..009abcc 100644 --- a/data/vectors/bandersnatch_sw_sha512_tai_ring.json +++ b/data/vectors/bandersnatch_sw_sha512_tai_ring.json @@ -10,14 +10,14 @@ "gamma": "8bf194739010d89b8557bd03cd4b4e8196034d036ae90804bd6cd29e3c3d066000", "beta": "a2100f37b8970e5908ef9b75dd28cc99a2155e1a5f0f5502eadf808dd0efe300df84402a976682b29dca5356846fe6fc93924877d802adeba148bd5c0aeca445", "blinding": "55f71122f86a3e731bb762514308811c3f590d931428df71cb3b37097025fa06", - "proof_pk_com": "354044431127e09f84a39dace6586c2c4cee89a1b347c86a8751a50882f9fc1780", - "proof_r": "17ae73175d3d7295f72fc73b4876d0cfcaa2377d8807e07bc865fcf654d7dc6500", + "proof_pk_com": "14b611f588fa864f92d9859ee0c01540736359748dcfd753c05cae5eff3eed2200", + "proof_r": "7f5de29fae3e8f67943caaafa17731f18fdae739542b15c08dbc837cd325b04a80", "proof_ok": "3aef7094d9223853d76322eaea721f9130577a33aaaa5fda1570b8df7509052e00", - "proof_s": "a2dcbdc20785729fa4b57d254229fecde61f86d2f04750f27f192d88ae545615", - "proof_sb": "7811620463228a4d43764fefd1ff40d92bf80ccef6d2f3302e8f3e4c4055e00e", + "proof_s": "27401447dc4c53c4effa167da0c61d1c7582b6eda492e463b537795ac63d9618", + "proof_sb": "c288bab2cccda5d2931134f3d4867d4bff38a90510512fa7fd63ea8e6dc48917", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd0795036100fd72a90d1eeba6733824e76bb31991b8108d6562756b85f244333e3c7205225200e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "b40b4283b6786e10fd67cd46bc9206acec7bf55cd841b98240a9d3f4fff68c62d00ba2f8670549792a53d2e37d446672aeb0b36e1374e99899ef1ba1f442400fafb87e6de633657c233b3042a1195f49a2a2b1ccc7e34655fad8476de396911492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "a641807aad87d0f6d689e3bcb2f2f6e6b1660e4a95729219a0da69d4a45d173930e7ae3077702e937186f4f1ef33df6e9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd9071a471c7fbd26eab907d5d92f9ab31bfc295b373c36c59c54aa17686d4250aa68407887374ad83f09e3d8662e827e980fc31da0c5d61f68fe634f92997c24cb443f9706b6befdc82b19114c711698c3356acf2d150296fdb889477e66869fbed7c324a28bd44092d31886043cba4c01127c31c018a48ebfec61e45c3c2912c09b47a459b62c66674f1032ee31e00ce4d65b46d82957c7af22254a09fffa0531299bb88dc9639029b84fcf563ee02acbbe7abdf945a5deaea1ea75dfb7cef6039946f330b0e19c5704db3068d54b0a6355bba8bff8d52692b0c0a5983cb10556b5192a8688a8dd59bcc2c9c7b075b9bc4d5cd9e8e944d352027716f5858ba625342191edfc20d345bcd615fdf1cfe1632caa4569ca1140558a9bcbd5e71af6dad979b43b53fb7fb5510cbbcc3b89906fe1a6c648e846c3a453803daa9bd8355862ff8944e513fcf69667efc737506c2253c323ea1d6691fa42e96c22a5dc79400efc4823e908467ff7d0e81851bbea0649c08bca1bf9507df964319dbc0124ed45c343cf3a6e5bbccdbb651ba724608a2886646c890e5144a86382e415a30c7cfaef9fda24b87cf637b55e93136da4613692b0b6042e01dcac40b29d43a7fc485f01f45bffa7ae8529b5829ac96a7875f6c08500b7b4069d4a1dec4f32c8e5ef26a37a25cf99991ba4d38bc9c5f2b77" + "ring_pks_com": "88870bdda81a80ea72ebc6d6c2cc2fe948106e6f7d373a642cb20bb482e91e603fe370b97afccd9ea8e56c583f3126578ef674f3d44b5e070f764a03fb97d28067ae44260305bb655b9404324171c49b2ca1c2ef9d212e93262f24901f815a9392e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "a641807aad87d0f6d689e3bcb2f2f6e6b1660e4a95729219a0da69d4a45d173930e7ae3077702e937186f4f1ef33df6e9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb692f8774c62fc6da8282f0da58f4bc30aa48f2edd995f149984a090adc9cb903e4f8ba61f7101f75745acf0674ade3a8da9f5c26f1ce0604ef49b15ffa46c16dd54afc9ff7031a075ec247e0ad58ecb7f13d4317076b2fbafc013abc8f1a9eb1b5c4f9dc09098a9a057ba3cff922c4b574f7e8e72a5be2119107c56d3240349e59b3b9ba4803b40759826209d3803ad518ee4c530eb1cbf6ebdd08052335a226c767524ddd364ec7984dc0dcc7f8bb24fa085019361bf1a847d8316173b746e9ec78f114bb93cbf2ea6f4dcf8d2b51cc0e517efa0df1aad0f5fb81a0e6f385faabb6d3d7356d4e0f621265537b8d661f96b86db96eef319d50ecc71f37291193fbbebbaf1f2b36eced812fb8d850fd4d4d08a30244d8b546dd6517a04c1bd34f087b8288daafab7eda69e75fedee62c4b3f31dc53463aa6defc8842b849de50b3df002015cc98a6906539a53388a4168b9d99128aec1f8ce4efb4c65a650454191b7b47d92c20059bdec759efb56bf5083362e72a3cf1faced825f745a713f88303473e586d0be468325fcb51921454b0e0913aa7cca912b598040da9156d4e2b11338c5d5b43dc184fdb70146b1694a945ba65caebb55bc76c0c9b2671e17aa3712df077aed5808e2e179063e8f69d27e0a445c1dd08515ccb7dfcf3d2c496c197d909a85ef9001ef474b90d23c2da" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-2", @@ -30,14 +30,14 @@ "gamma": "1cad4ef9a7079c17504a3b91431dd8cb338f361f3bdbe7afaf9d4425448b822d80", "beta": "00b8fe7ec85b7a6ce40423a025dd2be167251a6a5b59b6d621be5dafc7792891692b6b8de2c6dab85833fb513eb00b62ccef81d903ef331001ee12c48b92ed55", "blinding": "0ce2977115916538f4cf6c75b7c90a9ea76898f0f704e573bdc4834505ef0907", - "proof_pk_com": "7166e9b4e5091eeff96c2b7403d44c41bb351684fc2ff498ea4c8805e3245d5300", - "proof_r": "1058bc1103da806740a5686ee3ddbfe322a979a2233673918fef53a9df46ac3f80", + "proof_pk_com": "649f3e2da3653b9c4019eb39d2faf0383da6d1cabe5af33fb62872cef9b5701980", + "proof_r": "9e45c1d8b2c24df721c8fa28852d6c35450e54221069708efd2ca4601b39630100", "proof_ok": "fa262ba3fe3784dc99afdd38ecd24f232eb6e2b08a8d45d15936cab9ff878a6d00", - "proof_s": "ec624487c189f1125cfabc2bc8ef6d2902663cd99a348da19bae7d4317afee0d", - "proof_sb": "743d24f00b386e49090bc970778a030d75061d6c67c8bc030efab8f02c609f00", + "proof_s": "d5ba5d39870fa11bf20ca4e13aed8a4e9ba75e7fbdd532d2144482083a4f310e", + "proof_sb": "b70f19699ea79fc8c1c798f3e6aece3cb49d84b5024cb55d2fe425b18d0d860a", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd0795036100e30eae606d21dff460cdaecfc9bfcd2e319628ccc0242f3ca21f2d5c940ba41680e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "9168c7276b13defa951e918ccb65a46a6ba41adf2f88c80aee39ed0f1aaf0775893079859fe3353f6cf882f5b0037def89a408d2c0c7f9c086f9ee1a921a78291fd710eef4128f47b6089b192fea662e819bdef115f47d2df60b2586549eafa192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "80c642a1a2bc671af70de73c14edc980acd0332f502eb6923e006210d481a01e69cee1b7575b184400c8b15952d59f169107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb1c8628c7bf3642725eb14cf555318a0381e83aefcc93521a070fcd73b7fde1049bec4816d54507adbcaa95fb24a0daeb3d5ec4abb9232ee806406c67cdf3ca2a6bf7dbc76f789f4b13f541827278c8a7c037f75254d8c9137c973c70ba64da30bf3c8cef4abcbdf63400c1ee32db05ee805ee2f91dcfcfadf5e40224967cc4e8e0d7e7fef27ed968ee38f11c7b00a436f7ea139b1f3ca607e896cd343446446f8c970a5c7dd5e91623a8e1339255d75a32fcb3d2249c8791f42e14b840068133571b8160f0b545841fdcf4417b9a640bf3ef6ace8219666b0f5a0957bc43208b3c837345dd1e5b4bf7626653f42b32844501003e55252ca2f3005c144a988572ab8803e5a25d67a26c7ff723c8d0eefd4aee5a98c134be2162b4ca1d4ae3e27ec3ddd237831aa23d593bbe8976d4bbe02f3a024d2ef7e2073a524688dce5865834a3d04aa1f636e6a2e2cf5ade710cb99957f8ddc1d8e55c1271160c02e739d9d920bb1b3d3f73c2407d7bea8600aa44aad7c1cdcb2bf6e40cd302cd307a7baaae0423bf29b8e0149b87cf7fc12fd1794cb061ab62512c9107a006cd0e266ab2ee2a69a25e7a954cf39950948011ca11b5ffc368f3bb6f10bedc9f81706530db50321ade1383c2c2d599f77316ea6d05fa5d51d6999dcc4cf157592e03d4f10c9a60adf62cf9831cdfc73a26a9b646f" + "ring_pks_com": "a75d56959a05ca4b83f2d3c39e79f88f29228b077266e59b793dc94bbac8104526540cee7cff8e31bce837e4b243a53f9967711d9be254236c1dfba53cb0a79344c18b6541a8e4b561e08e6253d6aa96b22fb5bbf4fff98606cbce2026b305eb92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "80c642a1a2bc671af70de73c14edc980acd0332f502eb6923e006210d481a01e69cee1b7575b184400c8b15952d59f169107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd939ec2655435d42e6657230d9ac0f4cd577ea0d5c8f3e537ba28ac9f049a79a8ca1cb483a573c8c1ca066a2fcb8a1e5c9099fe72b2ca9b02d74936a343564ca266a86e3ff3e282b20a574d7d8682069c01e08c761261a69c696027a4da1b5e46b95c34881236e58e67b625651b4eed578278920d54f722505b747e8b2cda95067f444a420e8f65a4c3ec4f01cee1ce22085ccb56b9295ad241c499ee6a173e6058f7f1830dd11f50946b56b43eac9b3e07d7beed3794d0e52fde652ead3a8f6377f5ceac43cdb8ad557c53e531986b518644109ccfb760d12f1ef3ae00fda742f9ee0ab0402a154690310c6ea1937d64685c772bd37d3671a69f0b59c0b1f1511b08824e68b24298a6df7565c567f85950ad2e52991dc9340fb341752168a126626a42754c42577309f087d752766836197beff73739dd256f0df30c7638df6686a2d0d6d11a8b04a719673f09ee2b13fe99702b37cff7290bbd52dff3df9109619077e293327ce83f132805f88921258fdf3bb0f1f84e90c846f5ab6287732643295ffb2e6fabdee1fac6ed495ad013b1d2823cf9ea8928f5382c6a09367a710af89a49d262ef1dd6569394e0e401bccb7d79b8055b37cf0040a2deba7e8eee89a4ef114253705e9ab8a7c50e35ac35269897d49cec94447c3261771895a426ae1b3a44a40c1933ca44e329d8b8e662" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-3", @@ -50,14 +50,14 @@ "gamma": "4bd4b20f72a6ac4074dab2da20bbcb518da52ce10abcd98552c192b9ebf3012b80", "beta": "157ba81d5f3fc0732d4638919ffe4a66257b6b9701bc8ce39095c25bf819dd42f2fcd504b3bf04262c8d8b7b22c6c5bcec1e482a5092356cd54c1055622e4332", "blinding": "2b21be394a108c03a0b86142e6460119b8968eb54d763b49ebe0aa35a05d441b", - "proof_pk_com": "0172099bf3456b60020b05006a4e41f99a86c0a85a64a864e611de51bfa4660c00", - "proof_r": "59e4c08abf15b1b07b51a4a9c6ca53127cac94f2a55717ba4eabb035c190423f00", + "proof_pk_com": "b16179882ffb7c003ec13a1f7f148e662f6a539b04ce0aa47b83e42645a9da2d00", + "proof_r": "f995d6944e21d57fc456ab0da6822c010e8ca5ae731d3d2c92314c4a17d1527180", "proof_ok": "410f22934442e290d8158d296f6db464d7c5cff5f63f86abed5a0c24b725331400", - "proof_s": "65414b49234ff97907c3c2d888588df955166fdf9e06a5fea88894e99d11eb05", - "proof_sb": "cbd729b414c65be509641a53ae18267fff50d1ac2fe6e777613973fd11068e10", + "proof_s": "eb80f08ab656f8b643b24249b00efd008a4f146042fb131c5dd6a74797113911", + "proof_sb": "56a1998096723f8f1348f2769d227bfbc7ec0713ae2a1fb545231de3e7c28813", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd07950361002a00e5a32e2f097858a1a4a73cf5c2fb4e6d375a4ea4cc3ae3e91660eade850c80e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "a929cd6a2b6d036fc3f6f7b93ce19a94f6d50aac70960fed85b5ebbb9d68747912f73d3abe1106fa7d65e788a78e93938d884332570ecd1af9a9c09cf2befdfea4284b62c34c1876c947a870c81c0efa7df171d106cd17763062af55e0980a3392e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "96ff1a58557e371bd7da544b5aeedbfa5754827b14e7072ba83de2208d2873720bb50ba97ed57f62c58ccd4c32757ab59107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb2bcf67ff96b55b999302b52dd8cf9e19ab3fb6ce4b3bbb15c0381e0cb1d68acb80e6692a9f94f5647d03a516da82c90a29831d0e0f883faade9512aa952a452f215e29cea0cf0ddebf45bf1a7b93ff33d022c0dc20c48d8756d85c26ed85b1deab56217a111829e573a5116d52db480dad7736b6d9efc924440ab1cf4dca2215137a280973522beb059e8089450037c7bfb1a4147ceb025ed134faee2b18546c43022bbf92368f3886ed0f4e3df6c7638f148dfa71f1a6d9beda1f75b14ad2f1e9544b3318c0238cbb6c2a38210ce41c6a142aa73d59e6e854838a6b9201026e72d4e16863c3e09961ab09bc21bf47ec37bbe5437fa48e282c8109f951881657f1341c1d8c72e5699c66ab39d584de6415c2284bcdbd490fd28b27acfdbd8625ad70aceecf1047cff7058f2c577764e32010df75180d27cf43be2864c4d7466a85198904bf5cec89d93c5d00811f467e899391af738c62b11edb350a70027e38843750456014dce7ab44c74d8d8fb1668f1de4ce01c5ec0631f6dd679fce43500eea8f0045495541d48e2bf56dba0498f6332a86f1f4b5cae904dbe163b2b5371d155033f447f2cd76fece4ee9fa17725b5761552c6f747f1ac2e4029380997b1b344e0cc521de668ff00a8daaae0f462f086212ad56f2bd114eaac225535ae10e6afe9a53f212e3ba6f769e401af09" + "ring_pks_com": "8df3137a59e45dc245ac07bb8b67f3830a8e94dd53d85519eaf98475bdf05a279d15852fde9fb6cf03a835995e287323a510c767d9c42c04675186f15a8322c37f7df7a7deda6565ac6236aa6d27c2068174e3866c9dc14f4a362e26d5c07d6492e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "96ff1a58557e371bd7da544b5aeedbfa5754827b14e7072ba83de2208d2873720bb50ba97ed57f62c58ccd4c32757ab59107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd894135519b70e4af468f79f75f2b3367ca4525d6e1dfdccd884956a21491960726766b168d9ac1a67981716d030414db9935ee4d1404c01a347fced326baabf17415239a02ccaf6dd8132839cef7ca81ea7bca6c6250437f0cf31f94cac9c1b86238bdb5d01d6ecfbef1da6313e9f07f5a19988df56c25c01fc3f4dee168873f889d791f7e67f1f0ee4590c1e93151fb81c3e45bd63194bdbfde109f89cdec4389c9b1543e73e1979a64a7739d560ace086a462576cc0d0e9323ea31b0dace52433cfef9b4e88becfd93fd3411087be2815583d3e98dc284f0046dbb6801cc431b0f6926a27994c5396bc75f86f5a80e057c03e64ceba1a7a5abb309ce5b7c0693bfc42c9151017d50329bc8de6214f52292845e34c2ba44bd3aead2d639f85c09ab2f3a708deac75b9f87ec05973db043310631c767248a8fe529e03e403759b73b817b532631ea380432f33e4eb4661cf545fca2cbbc2bdcec27535769af0d966207e434736101274b119e00c3f6f4d476c5252a3ca6515d02a45dc1b886c14bca1233177011e259e4abced74dee66a94112fff3bd6e4d04ae317952e116cd51af0b079321b25df8b0cb9abc971211e371bacab90bc7b9234c3d9cc836c059a5cf650a254f9d98a4ca41dc50a06ea691cb686a4da75ca1c25627a325d7ea5aaf07c28fed3dcee45a1f258013b8cf1e" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-4", @@ -70,14 +70,14 @@ "gamma": "537086b351db10424ee65f6e30c3b35ef8207ec050e48eefc0113fb6df56552880", "beta": "332892f4150b85ef1da2766d0461c8ac391f5f1fc03e888a8222c567a8f19be3b090e852d3cb25a51788c1e502cfe7944def39d6253bab9604a2b6817caef023", "blinding": "535bf70009cdb7d543a87870e614b10eebfbcf88831235bdb73f715bb4b1ca14", - "proof_pk_com": "8b882d9e87fcbc3c7af7593cce8c5690401483467bfc8895a5aba7d07f765d5080", - "proof_r": "f155e1e7524191eef5edd74659adaab05301e00408abd18331188f9121bd754e80", + "proof_pk_com": "f93217eaa79537dd17ba5e653e3763049d8fe2b39cf8982c39a0011094e23f1380", + "proof_r": "a4c7ef568ab5150a84ab263d31abbbec3506d08cd3c06430e283757d19f3842880", "proof_ok": "14811d17183dec2e0cd18b0847944502f6b749462bd2d7807284f3f9ec39f46b00", - "proof_s": "a146ecf8af43f02b174b768052d48c7106ad7433c7b3437f4e1ab2af730c511c", - "proof_sb": "bb9d2b63e1541beeaf74a45fdabf5e21c881cf3336b7df5d763b9cb45d839a17", + "proof_s": "9de9594d43d5618ad2c6110160dcf473e82f8b6437e66a64a7c0c3011f1a821c", + "proof_sb": "22e2a083b8f844dc80e14d7bf57ea77de9f07f7137f856987e86e27aaa32831a", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd07950361004f29d79a27b9545d7223431eb6a63776949454b16e2ac0b7a959304ce3e52b6a00e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "832683b820e4306c68d7fedb602d7a69a7fa5112a26f251a12d72cde4db539e7cbb9815ef81410423a691d062fe00b7399b2d6af40b55d64181884b291b5faf06ca6556e95eb293b3c04b98f8378408817cb3555776e78edf58d4bd90d87d30192e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "8706c5f4c8a67e18dfcdbef13dd19d746c418b98277c3b59aea04e81ea7f5dc8454b09989582ca995d6b287a6c2963279107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd9192c39e55c27b63b7f8dac81dc54f73ac7e2961711eef7c9af17859cae015398a681206f0e11322bb095b460528394b8521d9b731e36aa8631ddb4e91a8df3c44b832359d27cdf9fceacc651d094026fd402984668ac3eaaaeabda585b661737847e9634b2adbf59017ad4ab4bc5c2381165894f766faabf33e0e79db8ed56ad61c4e211da5f3800681c7e01beb33b14c4d9f3481a1b81e64f7c024a26935228af5202fd9757b52f92e14a38595b435d85f371ad76f0282d994c3e587fe83612c6222557634193aac05b5d5556733d576550a7b6fb4696ecc1197a5bbe766612ef21d220e0bc32fea7712488d875f61d12133cc30113baa4f0c62360aefcf1c50a25694de05ccd6552782fddbc191f4e38cfad775305fa84ae22f8e7fc7b35af2cb6e2128796317abb8127246ad55c3cbc9598ebdb2515a863a28e50a098f6cb6c83ef36bbf2bc77eb52449d6edc80c3352097d6820679c9410a242c093ca16f9de9ba26b80cb8d0f69812dc4ff5b635bb05c9295796c1d10dc65c05d4fd5d024896347c7d8a7c8febe3f06aa03c836b0618efec5bf9811e956a2a6e5dd57f8d210be01f822cd438fd15a19d8730d7f3c9a5938794b1d4ab4f1c8685cc99cfd9450e8709a07f9b88299dfcef2af7f592a97e15c21d60e418dc34f2ce08d1ed43816cb7efe4715b659fbadbfc13f673a" + "ring_pks_com": "942c25d6d36bba3d0a60c1788c3a8f2558d02e26bcc97b5839079ac1b20a29405ce0817657375281854a350516c5e34ca5920370381d573d4831284111c4d6d08ebdfeef01f5c777c51a3001bdae908ec90fbe734af2b262080a0d39c62a827d92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "8706c5f4c8a67e18dfcdbef13dd19d746c418b98277c3b59aea04e81ea7f5dc8454b09989582ca995d6b287a6c2963279107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd9111011ed006cd6822bcdd77aa9379005f595179d42ae784b0c3af1a19cb976f3dd8517126716265c89a83d1646ba449a7d25326b7b11ed41c435220d991f0976807344d92843997a4590251c5b784488eca888baa3a30baf13bce73fc28fe15f7f7c334470dcd9636b48b93f6b76cfb2bf5347d8e9cff560db26f2d9d12b62c9876ca6330fe630794a76bc909445a8b2dfc1e8d5926079b2b34b8e8ae48a414978af5e5875d096e2eb7d6e4ce2ef01daabc2e18b9b1a3a63f33023fda56e80190b74c5331d253d3a9243be20365394e57c205dd533a71c76cb305d202735f48e04a96979ea9d99f846365fc16fe85b5d91fac38a78dadae7f9ef4018000e5149cf91c383fa82baa8b7e05c365e561965611719394e93d9db9b018f62fb418736d90bc8d3e0ddef7a96d3e4ea4328cc0f301d7b64438675c1181cd95bbae8a4a916778e11b7db050dbb464cae4ff58ef359c149290e6ad113f459bd10dc832cbe20004024a37e5b6f4e37ae783601a4493665ee4de75bb64e526829bdcba5950d2e8327decb3dbb7f7811a973e73a638865ffbee36d186f34c9eace126463da31ae5b8eb5f1055865226747815ee245b5361e2bf402bf0b0ffb45ba5b30685548f263eefef1ff1b87360bc736d8b9122dd7eb617c873be4a32e5d4c62f07b389b90bd7f06ec2dd20df76225101c1ae32" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-5", @@ -90,14 +90,14 @@ "gamma": "4af5381d91e64fd514a4efe23acb3beae6a87d549cf12fc7c51d27e63dadb17380", "beta": "ca0b4e8537f33e28ae8c4ac2b53ce5784e3abe846ad4aeb3fa330a5836e483da3d8903e5f227679e228e6ae2949748b2b7c5cbbec44ea06157f613767ee2c09f", "blinding": "11019f4bc50575d8fa851b6a507b15cdd9e95a8f68e0dfe87114cf7df8a3751b", - "proof_pk_com": "fadc0f97d133296bdcdc21ae726ad96b7f7a44dbf93931c93404c231585e3f5580", - "proof_r": "ffe1f522365f8a38a0dc8eae0bce89287b6da2fc5b98362db7e4f528b564ab1180", + "proof_pk_com": "c6af3b4ae8a3522e296551bde00c0bb3ad38564f7760087839324f2e910d1c7380", + "proof_r": "9d24c769b68f3b029355d52837c90f596ad67ef3a8cb72e1b9f905b3fe80c34000", "proof_ok": "df425b123de0be0eceb2f3bb4165d53764cfb1d76089d7983b1caead2b251b3880", - "proof_s": "437d26458b589e085833a2d920be3ae168c657e385ff899fc7fd5af74a893b0a", - "proof_sb": "eda29f841d6b10bf022e8d3ab8fda97c5896940b5a3eaff42ea75cea411ece19", + "proof_s": "d97a46b4286947040ed2a34177aac834e86a734af494d68f58f675d3bd414712", + "proof_sb": "35ceb11ac171053fd47e327615c3be1cafab07e97b77e7e8627ca6dcfe422509", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd0795036100e58e8ba2e99035fb7ae11fa14e2a609d6d13679278dac63ebee64ca8612ffa1480e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "b03357e5764ad38d6a4f7293f9914a97703722dbabc414653388fd1986e514496aa83c4579c282b61a148b429f2bdaea8ceacd3f4c84e2796a899ca018c760347264eb666a60f30fc38e86f97edf72c33bd2826d3098e63c5d384623510ebe4a92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "85ce565be999865c61c89eab6c443d7a4f5a424e95dc8bc7fa5219d1124ac8387bf4205bc0cac12683287d8289a230dd9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd99f434882e1915f4a05de2341df629b12b434950af00e8993f44f7e626b750662398039ecf28fff1e2af01e38a4a1ef8967cca90a94e123eebb04994ae2640fe05da2230fd900dc2f772f840af9022c5edda744696793ea5b5176d9cef19f04d78ff572bceedabfc551179a26fb1bf86d6a1c8fc583335977f89157460e87d4d9d9e16a19ce468ec2924d25edbba8e500ce3db75f749d5eaa2d9a5092448ab1e59886b1205a4d84dad7b171ed79ea14678709dc803eece6ae521ff0cf2ce5967104fc933de4f57f4e4a7e556ba95cd474d3a28578f192da17ea0bb9991ff274d08b5c6a912c84e5b4b478432a7617df4cae8a289c045e39a1c4c90332914004e9a5b1a36ce2cb0403af2b135a2498111798c9f89a426f2049f4a3706e32ad04a38a029b5b0de7de0b1cdfd59b37b0e58aeab8fdcf7b1543591dfb2264085b74fabc0d6a9803013e1685f334caa5a8b24f37cc6e148989613de4c6c177cdb1e2e93b2445cdb70756ed2ae755745c554ff997ce8b53af6f1d0c575ce7857a46cd7b2587868555a10a7d7d52e705227f74aa9b317cf7875096d10708a96b9a7885d19ac8737048b104b68ae88d2e58a0edf0e5cc707e3960fc7a5ef29a575832d8f8755ec82c812608024c21f01199f070215108ac4cdfa283b434943052c7578c56d54e9cc5c0d5a5eabd6882558ade2ec" + "ring_pks_com": "b8e46dffc14f39138353de89c09c2fb575dc74e1ceabc7ed1dd60fa087ab1411668be46b2ac2af6e6f1979c1b6b85ead97a0d8902531060edf12c1c58ce89ee7a74a7ec6f1a519d6d115a8d2f61dd96332d7211d3cff750cfff3dea6f3741db092e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "85ce565be999865c61c89eab6c443d7a4f5a424e95dc8bc7fa5219d1124ac8387bf4205bc0cac12683287d8289a230dd9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8481db015dfdbaed925cf589ef5787f78128001c27c30b0e3a7f2726bc4790161c6fbcd414a0f4e0ee0c538c04c2d446837f83ee72084c612886d0d56d17c149b5ef1d6541357448c0e024f63b70ca2212460f89a068330fad98d718517d3b3bf80dd2ca0e5f8c4efa85214f66a5ee0f9f2c1a34c25dfbdf4aca45791bb72924248d11b93e80d7ec7c66c51b81ed06a5fa2eb34bc7ad933f27f5d17ec3d0394099ac6c3c42c90a92a4741ea665deec5d569c930e1fdff7a12ace2a744f235c0e1db27508196ec6fa0857842a0a07a2690d733b200745d617ed41ee88b72d132743d77b6296b12a1bac4166b05252531f0d26118fb6c2e0ce0a26e82208d56c3627b502b64faad63f273e84e6ddef2e4d77e4cd5e96b8d99d25dc5ae4828f715a064c97b63be5518f3dc68a503ec29dc2f366e15ab534032a65b1c336afd0b462a16018d639fc8ecde6db14fbc72cc3b119f53cdaf27d055db91fe1fc35240ea11ab050fdb0b5896ebeb01ea9f07971f05b7b3d6ca85ff696167fe33708ac6f29009b8e6a7783ef656cf60165030f163db462dfa55f3e44085b2174b8f340c00abff5f57a50b380d792d71179e4e1d45c7783666ede6224ad8b7deac37252af8081b00534391b53cc1075969ab55e231b9ae774f7e474d74136c7b13c9d18b4a2e6464ed4ea294652d9555edde328afe4" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-6", @@ -110,14 +110,14 @@ "gamma": "4af5381d91e64fd514a4efe23acb3beae6a87d549cf12fc7c51d27e63dadb17380", "beta": "ca0b4e8537f33e28ae8c4ac2b53ce5784e3abe846ad4aeb3fa330a5836e483da3d8903e5f227679e228e6ae2949748b2b7c5cbbec44ea06157f613767ee2c09f", "blinding": "bd91ce4bc2029413d70d3cf1a7df866fb63a922060cc57c34a1f565bababef0d", - "proof_pk_com": "98be131aa43e4045a9e64940a93cd1e6dee35434f121667e58aee59d1a68825d80", - "proof_r": "183042e8b5cde07497e4922c49d271e6a8a4f92bff67856dc13d7a48bec5ea5b00", + "proof_pk_com": "72f9991a435d5d1bffade072d027e081e047a07fe845604ec2c1b30dac216a1b00", + "proof_r": "829f3cf234b1111056a69ca0f8cab6ee26c6edaa6bd5401a1cb6625e34c1235780", "proof_ok": "df425b123de0be0eceb2f3bb4165d53764cfb1d76089d7983b1caead2b251b3880", - "proof_s": "f10e9bf7a1d38050f5bcd1bcd3137193532ae0e2620af210bd0e5db8cdd6090f", - "proof_sb": "8fd5408fa35ad60f55141bf9fa0bd2ad0c9d9bd18fd8468e1457749d5ef1c311", + "proof_s": "a53539b29e515e34a6d0a1e20a61d287f942974278132cd4f7321916263a030b", + "proof_sb": "ac40ce234cb3f8044eeb5c53a0c0402921a041fc0c503524c295f1fc3140220c", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd0795036100e58e8ba2e99035fb7ae11fa14e2a609d6d13679278dac63ebee64ca8612ffa1480e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "b03357e5764ad38d6a4f7293f9914a97703722dbabc414653388fd1986e514496aa83c4579c282b61a148b429f2bdaea8ceacd3f4c84e2796a899ca018c760347264eb666a60f30fc38e86f97edf72c33bd2826d3098e63c5d384623510ebe4a92e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "b2ff083e9be8cbb73aa5476ec9fb9c2bea4bd012d92b14bac79755be01c22d09a1819871b64b85c4bf295b774adcf2b09107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8fe4b6ff4e8e30feaeff3d700b6a375889be79626bfb319abd1de3a73d00ab42c2913e5003a6715a12d509d6b6e43235b0bf81f8c478fee03831211d8eefe1fc29e2082cafa7abcfcad386a2abebf6aec4e8c5e10e1e19146679176aa42bad3bfbdbdc71384962027b6057968281e1e1eccc0a7c40ed190947a39ce494b0f10b7a0d7a4f613f52ecc65c997794877e65598d405bf3f0bdfe2511fa21da858217ea7a2aed6a3d9eaf42d44f99976fc51fd185e8a548892bd9bdbec0c24971ac17f058419d1314836bfc2de3981cc4058c185e630aaeb405b1330dea847826473025b3c6d7689b999e78ee4c5e7a02e162d34a0d12c74c291be3e0a79fbdebf534c99a5934b6a693d29800469cfaeb25b479eaad12d3deb42b5148c527b263544d8354e6958a0d6a93619bb89f287a8b08e2b313c596c2ff2daa2ae6f6395c30098df7977fe81a13754c887ae346ef9b9ace85154fad1d42d1a3e0ca167d79bf3c810c9aef663178087a968f29fa2e32f9c442654b31f5c6e14a83f4361b973a17af66ad2c1e46a48c845699cabf8baa5eaa87bf9b3374280b6df558eb663ff4a552ac8944e83f3248fed94221d3507175ddaceb017c5ad5b9d2aeea3fb8b5ec258caa7d83c6aede488795573ea554bb0bb0d3ba9781e535e06da52740e2370b3ac587c0fec6f475b144401eff401177bf" + "ring_pks_com": "b8e46dffc14f39138353de89c09c2fb575dc74e1ceabc7ed1dd60fa087ab1411668be46b2ac2af6e6f1979c1b6b85ead97a0d8902531060edf12c1c58ce89ee7a74a7ec6f1a519d6d115a8d2f61dd96332d7211d3cff750cfff3dea6f3741db092e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "b2ff083e9be8cbb73aa5476ec9fb9c2bea4bd012d92b14bac79755be01c22d09a1819871b64b85c4bf295b774adcf2b09107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcddb43bcc3459d0aaaf38c5470c71a919029ed932942dad6a97b139560543ff84e927b4bd473a78e18981ff0c59421239d5ae63420cd130761f0acdced78e3e66c260041e9c00c474560d4eab75fe2679c12368304b33b8710ecdf9ec93d4b8b3df84684790e7f996c74cf7ef8b316b32b4de77460e31f930f74248b63b4b37de29d50a818670757dd0151090652ff966984c9da7956c4934d2483d932486cf9c3dc303fb8466fcfb9361ccbfe5d58056d43106187e41d7e00261d538e6cbf3e9290cb5acd44b798e87fbad4ea6c8ea30939e21b767f225b8ebc33a0aec9e226327ad6a9d8835c395c08b245d8c69b6ba97fd6667dab9b136be003f230c3fa0f943cbfc8afee6eab92bd47c97fa55d6fe9722a1d37b777df76e8a85854e5ac2d73e9a051bd4d86d6098240d1a14697ed5c29458093841e7f792315ba0fff5a9b760ac7d132cfb909358c1fa6488d9832ef9a378546b2ae2e092f720656e8e2d36ff2d9e19ad1068117eeb621094fe313f88d082ad83cd67b3eb40c506daaf798463f65815721a4934c741b924ce104aaf66b4ed03ab52b35c5a73645fe4217440832989d095d4d3932fab05445d4173efa480037b8e60857dbc1717e603254563f2a7b9e352143d4ee21ea299fb8c0dd272bc2e9edeb6bf60855a95d4b6da5be1d0b93dc33d3ebf6307022fa45c1e50d86f" }, { "comment": "bandersnatch_sw_sha512_tai_ring - vector-7", @@ -130,13 +130,13 @@ "gamma": "6896518ab25de4c4985ee693210a9d2cf1cef60cc792f5e0eef408c3db11b02000", "beta": "dd0ba3c69fc9842563a7b84bfca12a5c403b1771bc660e8d0012897f1dac2f8e72e501b861ead231372ea6ab2723f47f9997ac00b215c80e383b5482c579060d", "blinding": "8df74965c9d0b35a62f3e7a6a6e6cb2f21d8979ff9818d44f7881e2e819d680b", - "proof_pk_com": "d7a89ae94e61283da37e48f9c0e34b3da7babb109574f91de25d41db68c4da6300", - "proof_r": "1a990e0b87243fde6f06c5af0b9f871d0943b3464ed74f435fc033eb5577573580", + "proof_pk_com": "2b9fd887b1ac2f126eb9c33ee5fd7ba4e3b1fd34eb8c4550dd19fb1cbbd0541680", + "proof_r": "ba4e9cba1f5bb3d64c4ece975cf0f209c76095f6e0dbce77c38bab206f8f5d6a80", "proof_ok": "65d53e3baacfce0c81fe8cb644f882713659941feb708158bd86e3374fa6144500", - "proof_s": "0fdb1037f25e7de8b1bdb69acc5c725e407d1045b11ae2ca41fe47c42df95209", - "proof_sb": "e0a30f38cce6eca6a1bd31b4ab323d18c700eebfc374d0cb997497a5ad03b80f", + "proof_s": "deead3b4b35b778e454ae040830f561d58006a35416d6dbf0959bb9f6c7d9415", + "proof_sb": "e596d6ee7e8387d15ac705387203c45313304aebac565cb01c38a9d493ac8e0d", "ring_pks": "c49043883ab2b5022e6b6050ab32b1b5fac32d8feac60ff5a2a0f300de3b027380df89abf403256d66b848ed97286997396ae4a36b4efb871cee426db00a31a73100361acf81e906a57a1b015afa7d755957597a187ef5b759f07ed49cfd07950361007cba529a807bf602c84625fff28f4d1d836cf40a83f42d95c412f7b62ed9192900e0d311f75e84c5ab6df5752b52be1d445d21f26b82736f1f7eb95a4ee2e3cd1480780fe2fc4cf2ade0c4a8b209ea790a7359bed1903c623d6c5a3e6fa14ef8cd4b00b2c0747a0e2e633055203066476aafee699e60c91500924c13910997f727670980d8bccfa3a9f11d7da69f44f8a50fae932c24172e1cf1cdf331abdf8777932d0400", - "ring_pks_com": "b22a22bfa5665a3faf521237c086cff72a8adbdd728de66316b73b9a29ddd0dd2c9829fb76d70e7ae8b02c47ddf4d2b584fcececcadf17af831466123676c3e42bf03cd65db0590442408cac29b49f0639d889fb03544e7dc4ee9e0186fee90792e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", - "ring_proof": "9460eb2984e80881222cfdf60501debce963942d1e2ef210f636ee3937037a0bde2e8addf6a99beebfcd0428fc6b473c9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd90b3d46db4d9979435a57c3275ea4a259131cce20e07954ba9ba7ea34a348a81a2680be0e74207920fef08a6032f0454b211b37b8743a7d565e1f1da8218058d469005808603d0abbc369cd56f6949fcd885ec0be2b42351cb6320a1a510e78405b28e1b0797c4b3c1b82b6cdf716819045be94cddbb1b17c723cb6559bfd41aee6d3e54cc3eeaf89292fafb93c475bc7d09bb8d5202d0498f9e2013a44f9650988f164e3705bc81264c138e5363713cdec85f6e8f48197778702917b34203052ca936a94d9f5899dca493fb90d6035919581750a20c9714db89f802e707735eafe254419a5720e6c56d18f3a232211b4c5b63c166bcf2946a6b6d99998561037dc1b07b9dab7f4ce97331ddfa95360ff6735959b0567270479b1159960fc60f131538ecc5558dd243b9b291d6e044e92786d81b0752c0fcae502ba6013fd052a11ead848972c62f5cd570b33e4c5316bd478b36f5905370844ceb1cd8a027825190181e8890b04ef5411f44fcc976838ac3bd9c090ce538c614c488b33c74b42401a990442afaea237659f3b993a94586c5e7cca4f2c7d9733539aa74e78c29fcc9ca7e306f5e4e4ccfdb764c579870a777f19a69efcf577a92e9fee4e17041a9998b9cf13b15df0c189f2ccb9becfa700d3b584c8f6224d06d593bb6bf64a258c98d0697d413f5db697f2ef1923feb" + "ring_pks_com": "b26fd766d73a027cf5bb6ef5a88b1ddebb24da41ed63dd4dcd4abd9b663c636ec36dd93cfa92c40003466963c2fa909d80cef59f2357cb2c65b22698e2487ca0bcb1bd1f688c83eceee50b06058f9326c4e89923e27255b59122736410fb3ca692e630ae2b14e758ab0960e372172203f4c9a41777dadd529971d7ab9d23ab29fe0e9c85ec450505dde7f5ac038274cf", + "ring_proof": "9460eb2984e80881222cfdf60501debce963942d1e2ef210f636ee3937037a0bde2e8addf6a99beebfcd0428fc6b473c9107bd20fe94a01157764aab5f300d7e2fcba2178cb80851890a656d89550d0bebf60cca8c23575011d2f37cdc06dcdd8af788134f1de6068f3d8519bc4270abab9cb6dba01a144f9649dde15a7b262a97b5d0031825336a78d1dee0d820f73bb4c985e6b98424d0b1c389aadf62bd18a9ae78579209060525f09033b4d27c6d8ebff397f9785658a99cf040526adc2561a5a81e1b5fad51270359e295589d1bab7f66bd5d0abe3a6cdc7d0162106a6e6ae9eef57e77b4db5cbb856ff19104612e64afedef93b0cd46e21fbdf70b1d25d3f537ab9f5adf250734e40107c7d2a6ba7df7d3ccb0e7c5e24e1173c025646351da6155d1040ec078f3eea3eb98544b77d0988bdba9804c4a48f3c995b0a5121b7c593f60b548f9d3794ed4089a0b34c349026cd0e60b3e70ca5b1bfe22115d084a993bfe630feb0a23a4f057bf3fe37e263c5324464613717927bebb88bb25708016a4b73c64961472ecffb9065a309afb26352162cd1d95483a04382dde7097028941a794ad1206b2d69d7cf5f9a46e1a5859eb425fa9672a39cf84dbc0567d79b309fb2d86b54d91d3d5994bdfe7b921f816044d26ea6935a920fa486fd8d12ed270ac586c7ce50e1b3921af481b98b8e5e097d2bef74a45f80105439cff02ad6cd720e7c895d40ad8855f332b80c8ac2a5a7bc1276a6fdf51e657175b7b9107be87bc278fb29c840667ea5ac92f744bef87e5eb49600bd8a7b5ecb6d1e20389a4b6ed72964517d18dda51baae6e" } ] \ No newline at end of file diff --git a/src/ring.rs b/src/ring.rs index 5fda4e6..f125bee 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -1,13 +1,8 @@ use crate::*; -use ark_ff::FftField; use pedersen::{PedersenSuite, Proof as PedersenProof}; /// Ring suite. -pub trait RingSuite: PedersenSuite -where - AffinePoint: ring_proof::AffineCondAdd, - as AffineRepr>::BaseField: FftField, -{ +pub trait RingSuite: PedersenSuite { /// Pairing type. type Pairing: ark_ec::pairing::Pairing>; From 3c7a251d756de939a7d6c3735bcab11ebeb90882 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 18:12:28 +0100 Subject: [PATCH 10/16] Depend on git rev --- Cargo.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index cfbe499..45d70ed 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -78,6 +78,3 @@ asm = [ test-vectors = [ "ring-proof?/test-vectors" ] - -[patch."https://github.com/davxy/ring-proof"] -ring_proof = { package="ring", path = "/mnt/ssd/develop/w3f/ring-proof/ring"} From 56d554cb6b986af53a93c31c157c93a5fd806988 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 18:34:27 +0100 Subject: [PATCH 11/16] Assumptions check --- src/suites/bandersnatch.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index af3272b..3faec0b 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -214,6 +214,14 @@ pub mod edwards { AffinePoint::new_unchecked(X, Y) }; } + + #[test] + fn check_assumptions() { + use crate::ring::RingSuite; + check_point(BandersnatchSha512Ell2::BLINDING_BASE); + check_point(BandersnatchSha512Ell2::ACCUMULATOR_BASE); + check_point(BandersnatchSha512Ell2::PADDING); + } } #[cfg(feature = "ring")] pub use ring_defs::*; @@ -224,11 +232,15 @@ pub mod edwards { #[cfg(test)] suite_tests!(BandersnatchSha512Ell2); + fn check_point(p: AffinePoint) { + assert!(p.is_on_curve()); + assert!(p.is_in_correct_subgroup_assuming_on_curve()); + } + #[test] fn elligator2_hash_to_curve() { - let point = BandersnatchSha512Ell2::data_to_point(b"foo").unwrap(); - assert!(point.is_on_curve()); - assert!(point.is_in_correct_subgroup_assuming_on_curve()); + let p = BandersnatchSha512Ell2::data_to_point(b"foo").unwrap(); + check_point(p); } } From cfd2f9bee5bc3f6209ff911a2e08ea31e4eeb1e1 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 2 Nov 2024 18:54:49 +0100 Subject: [PATCH 12/16] Expose padding point from ring context --- src/ring.rs | 6 ++++++ src/suites/bandersnatch.rs | 1 + 2 files changed, 7 insertions(+) diff --git a/src/ring.rs b/src/ring.rs index f125bee..79f8e59 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -258,6 +258,12 @@ where ring_proof::ArkTranscript::new(S::SUITE_ID), ) } + + /// Get the padding point. + #[inline(always)] + pub const fn padding_point() -> AffinePoint { + S::PADDING + } } impl CanonicalSerialize for RingContext diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index 3faec0b..ded9d5f 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -232,6 +232,7 @@ pub mod edwards { #[cfg(test)] suite_tests!(BandersnatchSha512Ell2); + #[cfg(test)] fn check_point(p: AffinePoint) { assert!(p.is_on_curve()); assert!(p.is_in_correct_subgroup_assuming_on_curve()); From f6e80d3f2ecf06e9e07c0b16150d5814c942f4f6 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Fri, 8 Nov 2024 09:56:19 +0100 Subject: [PATCH 13/16] Bump ring-proof rev --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 45d70ed..7db1f02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,7 +18,7 @@ rand_chacha = { version = "0.3", default-features = false } rayon = { version = "1.10", default-features = false, optional = true } hmac = {version = "0.12", default-features = false, optional = true } # Waiting for crates.io -ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "6e45942", default-features = false, optional = true } +ring-proof = { package = "ring", git = "https://github.com/davxy/ring-proof", rev = "149fa4b", default-features = false, optional = true } # Curves ark-secp256r1 = { version = "0.4.0", default-features = false, optional = true } ark-ed25519 = { version = "0.4.0", default-features = false, optional = true } From 6cc0a2d405fb5cf00db4be82255c4117763dc750 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sun, 10 Nov 2024 12:25:11 +0100 Subject: [PATCH 14/16] check constant points values --- src/pedersen.rs | 11 +++++++++++ src/ring.rs | 32 ++++++++++++++++++++++++++++++++ src/suites/testing.rs | 4 ++-- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/pedersen.rs b/src/pedersen.rs index 9e06355..ab8980a 100644 --- a/src/pedersen.rs +++ b/src/pedersen.rs @@ -162,6 +162,12 @@ pub(crate) mod testing { ); } + pub fn blinding_base_check() { + const BLINDING_BASE_SEED: &[u8] = b"w3f/ring-proof/blinding"; + let p = S::data_to_point(BLINDING_BASE_SEED).unwrap(); + assert_eq!(S::BLINDING_BASE, p); + } + #[macro_export] macro_rules! pedersen_suite_tests { ($suite:ident) => { @@ -169,6 +175,11 @@ pub(crate) mod testing { fn pedersen_prove_verify() { $crate::pedersen::testing::prove_verify::<$suite>(); } + + #[test] + fn pedersen_blinding_base_check() { + $crate::pedersen::testing::blinding_base_check::<$suite>(); + } }; } diff --git a/src/ring.rs b/src/ring.rs index 79f8e59..b280144 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -353,6 +353,28 @@ pub(crate) mod testing { assert!(result.is_ok()); } + #[allow(unused)] + pub fn padding_check() + where + BaseField: ark_ff::PrimeField, + AffinePoint: ring_proof::AffineCondAdd, + { + const PADDING_SEED: &[u8] = b"w3f/ring-proof/padding"; + let p = S::data_to_point(PADDING_SEED).unwrap(); + assert_eq!(S::PADDING, p); + } + + #[allow(unused)] + pub fn accumulator_base_check() + where + BaseField: ark_ff::PrimeField, + AffinePoint: ring_proof::AffineCondAdd, + { + const ACCUMULATOR_BASE_SEED: &[u8] = b"w3f/ring-proof/accumulator"; + let p = S::data_to_point(ACCUMULATOR_BASE_SEED).unwrap(); + assert_eq!(S::ACCUMULATOR_BASE, p); + } + #[macro_export] macro_rules! ring_suite_tests { ($suite:ident) => { @@ -360,6 +382,16 @@ pub(crate) mod testing { fn ring_prove_verify() { $crate::ring::testing::prove_verify::<$suite>() } + + #[test] + fn ring_padding_check() { + $crate::ring::testing::padding_check::<$suite>() + } + + #[test] + fn ring_accumulator_base_check() { + $crate::ring::testing::accumulator_base_check::<$suite>() + } }; } diff --git a/src/suites/testing.rs b/src/suites/testing.rs index 09410b9..25d6ad6 100644 --- a/src/suites/testing.rs +++ b/src/suites/testing.rs @@ -23,9 +23,9 @@ impl Suite for TestSuite { impl PedersenSuite for TestSuite { const BLINDING_BASE: AffinePoint = { const X: BaseField = - MontFp!("1181072390894490040170698195029164902368238760122173135634802939739986120753"); + MontFp!("2842812182132742151291439804105987992770071362848070020835328675429531065386"); const Y: BaseField = MontFp!( - "16819438535150625131748701663066892288775529055803151482550035706857354997714" + "51537589290258453714586392305999864217349499404270029291993413345863140891436" ); AffinePoint::new_unchecked(X, Y) }; From bb0891587dfc28d6bd72235e0fbecf9e34082127 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Mon, 11 Nov 2024 19:00:59 +0100 Subject: [PATCH 15/16] Generate out of prime subgroup accumulator base for SW --- src/ring.rs | 5 ++- src/suites/bandersnatch.rs | 4 +- src/utils/common.rs | 77 +++++++++++++++++++++++++++++++++++--- 3 files changed, 76 insertions(+), 10 deletions(-) diff --git a/src/ring.rs b/src/ring.rs index b280144..900d29f 100644 --- a/src/ring.rs +++ b/src/ring.rs @@ -368,10 +368,11 @@ pub(crate) mod testing { pub fn accumulator_base_check() where BaseField: ark_ff::PrimeField, - AffinePoint: ring_proof::AffineCondAdd, + AffinePoint: ring_proof::AffineCondAdd + utils::common::FindAccumulatorBase, { + use utils::common::FindAccumulatorBase; const ACCUMULATOR_BASE_SEED: &[u8] = b"w3f/ring-proof/accumulator"; - let p = S::data_to_point(ACCUMULATOR_BASE_SEED).unwrap(); + let p = AffinePoint::::find_accumulator_base(ACCUMULATOR_BASE_SEED).unwrap(); assert_eq!(S::ACCUMULATOR_BASE, p); } diff --git a/src/suites/bandersnatch.rs b/src/suites/bandersnatch.rs index ded9d5f..9db572f 100644 --- a/src/suites/bandersnatch.rs +++ b/src/suites/bandersnatch.rs @@ -98,10 +98,10 @@ pub mod weierstrass { const ACCUMULATOR_BASE: AffinePoint = { const X: BaseField = MontFp!( - "35802491285899595673230581729646824849514038723976226341205595068750227004007" + "15150996146563882842769969038633761710782764651218288537939960956638818073022" ); const Y: BaseField = MontFp!( - "17572023958760623860499337087020156281410269069550950996534533909010878422310" + "16757608954684538402264076732157050129188667760550924730618160766485829703559" ); AffinePoint::new_unchecked(X, Y) }; diff --git a/src/utils/common.rs b/src/utils/common.rs index 5cdd69d..274a7bb 100644 --- a/src/utils/common.rs +++ b/src/utils/common.rs @@ -1,6 +1,10 @@ use crate::*; -use ark_ec::AffineRepr; +use ark_ec::{ + short_weierstrass::{self, SWCurveConfig}, + twisted_edwards::{self, TECurveConfig}, + AffineRepr, +}; use ark_ff::PrimeField; use digest::{Digest, FixedOutputReset}; @@ -92,9 +96,9 @@ pub fn hash_to_curve_ell2_rfc_9380( ) -> Option> where ::Hasher: Default + Clone + FixedOutputReset + 'static, - crate::CurveConfig: ark_ec::twisted_edwards::TECurveConfig, - crate::CurveConfig: crate::utils::elligator2::Elligator2Config, - crate::utils::elligator2::Elligator2Map>: + CurveConfig: ark_ec::twisted_edwards::TECurveConfig, + CurveConfig: utils::elligator2::Elligator2Config, + utils::elligator2::Elligator2Map>: ark_ec::hashing::map_to_curve_hasher::MapToCurve< as AffineRepr>::Group>, { use ark_ec::hashing::HashToCurve; @@ -111,7 +115,7 @@ where let hasher = ark_ec::hashing::map_to_curve_hasher::MapToCurveBasedHasher::< as AffineRepr>::Group, ark_ff::field_hashers::DefaultFieldHasher<::Hasher, SEC_PARAM>, - crate::utils::elligator2::Elligator2Map>, + utils::elligator2::Elligator2Map>, >::new(&dst) .ok()?; @@ -208,10 +212,71 @@ where S::Codec::scalar_decode(&v) } +pub trait FindComplementPoint: Sized { + fn try_from(r: C::BaseField) -> Option; + + fn find_complement_point() -> Self { + use ark_ff::{One, Zero}; + assert!(!C::cofactor_is_one()); + let mut r = C::BaseField::zero(); + loop { + if let Some(p) = Self::try_from(r) { + return p; + } + r += C::BaseField::one(); + } + } +} + +impl FindComplementPoint for short_weierstrass::Affine { + fn try_from(r: C::BaseField) -> Option { + Self::get_point_from_x_unchecked(r, false) + .filter(|p| !p.is_in_correct_subgroup_assuming_on_curve()) + } +} + +impl FindComplementPoint for twisted_edwards::Affine { + fn try_from(r: C::BaseField) -> Option { + Self::get_point_from_y_unchecked(r, false) + .filter(|p| !p.is_in_correct_subgroup_assuming_on_curve()) + } +} + +pub trait FindAccumulatorBase: Sized { + #[allow(dead_code)] + fn find_accumulator_base(data: &[u8]) -> Option; +} + +impl FindAccumulatorBase for short_weierstrass::Affine +where + C: SWCurveConfig, + S: Suite, +{ + fn find_accumulator_base(data: &[u8]) -> Option { + let p = S::data_to_point(data)?; + let c = Self::find_complement_point(); + let res = (p + c).into_affine(); + debug_assert!(!res.is_in_correct_subgroup_assuming_on_curve()); + Some(res) + } +} + +impl FindAccumulatorBase for twisted_edwards::Affine +where + C: TECurveConfig, + S: Suite, +{ + fn find_accumulator_base(data: &[u8]) -> Option { + let res = S::data_to_point(data)?; + debug_assert!(res.is_in_correct_subgroup_assuming_on_curve()); + Some(res) + } +} + #[cfg(test)] mod tests { use super::*; - use crate::suites::testing::TestSuite; + use suites::testing::TestSuite; #[test] fn hash_to_curve_tai_works() { From 435aa8b49495cd919baff78fdc265842f6d27366 Mon Sep 17 00:00:00 2001 From: Davide Galassi Date: Sat, 16 Nov 2024 16:16:04 +0100 Subject: [PATCH 16/16] Seed phrases --- src/pedersen.rs | 9 +++++---- src/suites/testing.rs | 7 ++++--- src/testing.rs | 12 ++++++++++++ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/pedersen.rs b/src/pedersen.rs index ab8980a..d403eae 100644 --- a/src/pedersen.rs +++ b/src/pedersen.rs @@ -143,7 +143,7 @@ impl Verifier for Public { #[cfg(test)] pub(crate) mod testing { use super::*; - use crate::testing::{self as common, random_val, TEST_SEED}; + use crate::testing::{self as common, random_val, PEDERSEN_BASE_SEED, TEST_SEED}; pub fn prove_verify() { use pedersen::{Prover, Verifier}; @@ -163,9 +163,10 @@ pub(crate) mod testing { } pub fn blinding_base_check() { - const BLINDING_BASE_SEED: &[u8] = b"w3f/ring-proof/blinding"; - let p = S::data_to_point(BLINDING_BASE_SEED).unwrap(); - assert_eq!(S::BLINDING_BASE, p); + assert_eq!( + S::data_to_point(PEDERSEN_BASE_SEED).unwrap(), + S::BLINDING_BASE + ); } #[macro_export] diff --git a/src/suites/testing.rs b/src/suites/testing.rs index 25d6ad6..afbfd97 100644 --- a/src/suites/testing.rs +++ b/src/suites/testing.rs @@ -22,10 +22,11 @@ impl Suite for TestSuite { impl PedersenSuite for TestSuite { const BLINDING_BASE: AffinePoint = { - const X: BaseField = - MontFp!("2842812182132742151291439804105987992770071362848070020835328675429531065386"); + const X: BaseField = MontFp!( + "56166678312616788007069565072535608368274441012407488217322349490274061293828" + ); const Y: BaseField = MontFp!( - "51537589290258453714586392305999864217349499404270029291993413345863140891436" + "55452291704810100370049689540036330133850202475722787526070685722371210180696" ); AffinePoint::new_unchecked(X, Y) }; diff --git a/src/testing.rs b/src/testing.rs index 18c9f9b..066af74 100644 --- a/src/testing.rs +++ b/src/testing.rs @@ -5,6 +5,18 @@ use ark_std::{vec, vec::Vec}; use crate::*; use ark_std::{rand::RngCore, UniformRand}; +// The basis that hides the hidden light, which eludes the mind and creates darkness for those who see. +pub const PEDERSEN_BASE_SEED: &[u8] = + b"basis caecans lucis occultae, quae mentem fugit et tenebras iis qui vident creat"; + +// "The substratum of the accumulator, which in the silence of time guards the hidden secret" +pub const ACCUMULATOR_BASE_SEED: &[u8] = + b"substratum accumulatoris, quod in silentio temporis arcanum absconditum custodit"; + +// "A shadow that fills the void left by lost souls, echoing among the darkness" +pub const PADDING_SEED: &[u8] = + b"umbra quae vacuum implet, ab animabus perditis relictum, inter tenebras resonans"; + pub const TEST_SEED: &[u8] = b"seed"; // Zcash SRS file derived from (https://zfnd.org/conclusion-of-the-powers-of-tau-ceremony).