Skip to content

Commit d3610b2

Browse files
committed
try and incr hash2curve is not necessary
1 parent 8b2cab8 commit d3610b2

File tree

4 files changed

+5
-34
lines changed

4 files changed

+5
-34
lines changed

w3f-ring-proof/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ ark-transcript = { version = "0.0.3", default-features = false }
2121
[dev-dependencies]
2222
ark-bls12-381 = { version = "0.5", default-features = false, features = ["curve"] }
2323
ark-ed-on-bls12-381-bandersnatch = { version = "0.5", default-features = false }
24-
blake2 = { version = "0.10", default-features = false }
2524

2625
[features]
2726
default = [ "std" ]

w3f-ring-proof/src/lib.rs

+2-28
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@ impl ArkTranscript {
5151
#[cfg(test)]
5252
mod tests {
5353
use ark_bls12_381::Bls12_381;
54-
use ark_ec::twisted_edwards::{Affine, TECurveConfig};
55-
use ark_ec::{AffineRepr, CurveGroup};
54+
use ark_ec::CurveGroup;
5655
use ark_ed_on_bls12_381_bandersnatch::{BandersnatchConfig, EdwardsAffine, Fq, Fr};
5756
use ark_std::ops::Mul;
5857
use ark_std::rand::Rng;
@@ -68,31 +67,6 @@ mod tests {
6867

6968
use super::*;
7069

71-
// Try and increment hash to curve.
72-
fn hash_to_curve<F: PrimeField, Curve: TECurveConfig<BaseField = F>>(
73-
message: &[u8],
74-
) -> Affine<Curve> {
75-
use blake2::Digest;
76-
let mut seed = message.to_vec();
77-
let cnt_offset = seed.len();
78-
seed.push(0);
79-
loop {
80-
let hash: [u8; 64] = blake2::Blake2b::digest(&seed[..]).into();
81-
let x = F::from_le_bytes_mod_order(&hash);
82-
if let Some(point) = Affine::<Curve>::get_point_from_y_unchecked(x, false) {
83-
let point = point.clear_cofactor();
84-
assert!(point.is_in_correct_subgroup_assuming_on_curve());
85-
return point;
86-
}
87-
seed[cnt_offset] += 1;
88-
}
89-
}
90-
91-
pub(crate) fn padding_point<F: PrimeField, Curve: TECurveConfig<BaseField = F>>(
92-
) -> Affine<Curve> {
93-
hash_to_curve(b"/w3f/w3f-ring-proof/padding")
94-
}
95-
9670
fn setup<R: Rng, CS: PCS<Fq>>(
9771
rng: &mut R,
9872
domain_size: usize,
@@ -103,7 +77,7 @@ mod tests {
10377
let domain = Domain::new(domain_size, true);
10478
let h = EdwardsAffine::rand(rng);
10579
let seed = EdwardsAffine::rand(rng);
106-
let pad = padding_point();
80+
let pad = EdwardsAffine::rand(rng);
10781
let piop_params = PiopParams::setup(domain, h, seed, pad);
10882

10983
(pcs_params, piop_params)

w3f-ring-proof/src/piop/params.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,13 @@ mod tests {
105105
use w3f_plonk_common::test_helpers::cond_sum;
106106

107107
use crate::piop::params::PiopParams;
108-
use crate::tests::padding_point;
109108

110109
#[test]
111110
fn test_powers_of_h() {
112111
let rng = &mut test_rng();
113112
let h = EdwardsAffine::rand(rng);
114113
let seed = EdwardsAffine::rand(rng);
115-
let pad = padding_point();
114+
let pad = EdwardsAffine::rand(rng);
116115
let domain = Domain::new(1024, false);
117116

118117
let params = PiopParams::<Fq, BandersnatchConfig>::setup(domain, h, seed, pad);

w3f-ring-proof/src/ring.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,6 @@ mod tests {
265265
use w3f_plonk_common::test_helpers::random_vec;
266266

267267
use crate::ring::Ring;
268-
use crate::tests::padding_point;
269268
use crate::PiopParams;
270269

271270
use super::*;
@@ -285,8 +284,8 @@ mod tests {
285284
// piop params
286285
let h = EdwardsAffine::rand(rng);
287286
let seed = EdwardsAffine::rand(rng);
287+
let pad = EdwardsAffine::rand(rng);
288288
let domain = Domain::new(domain_size, true);
289-
let pad = padding_point();
290289
let piop_params = PiopParams::setup(domain, h, seed, pad);
291290

292291
let mut ring = TestRing::empty(&piop_params, srs, ring_builder_key.g1);
@@ -317,7 +316,7 @@ mod tests {
317316
// piop params
318317
let h = EdwardsAffine::rand(rng);
319318
let seed = EdwardsAffine::rand(rng);
320-
let pad = padding_point();
319+
let pad = EdwardsAffine::rand(rng);
321320
let domain = Domain::new(domain_size, true);
322321
let piop_params = PiopParams::setup(domain, h, seed, pad);
323322

0 commit comments

Comments
 (0)