From a5d89b28f82a98cc3e35c752ff2ba34b6b72939f Mon Sep 17 00:00:00 2001 From: dignifiedquire Date: Thu, 7 Mar 2019 20:52:20 +0100 Subject: [PATCH 1/5] feat: implement hashing to the curve, based hashing branch --- Cargo.toml | 1 + src/bls12_381/README.md | 14 + src/bls12_381/ec.rs | 485 ++++++++++++++++++++----- src/bls12_381/fq.rs | 194 ++++++++-- src/bls12_381/fq2.rs | 225 +++++++++--- src/bls12_381/tests/g1_hashtopoint.dat | Bin 0 -> 96000 bytes src/bls12_381/tests/g2_hashtopoint.dat | Bin 0 -> 192000 bytes src/bls12_381/tests/mod.rs | 30 ++ src/lib.rs | 20 +- 9 files changed, 766 insertions(+), 203 deletions(-) create mode 100644 src/bls12_381/tests/g1_hashtopoint.dat create mode 100644 src/bls12_381/tests/g2_hashtopoint.dat diff --git a/Cargo.toml b/Cargo.toml index 721e59da..fe9a0613 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,7 @@ repository = "https://github.com/ebfull/pairing" rand = "0.4" byteorder = "1" ff = { version = "0.4", features = ["derive"] } +blake2b_simd = "0.4.1" [features] unstable-features = ["expose-arith"] diff --git a/src/bls12_381/README.md b/src/bls12_381/README.md index d3811a14..a722907a 100644 --- a/src/bls12_381/README.md +++ b/src/bls12_381/README.md @@ -69,3 +69,17 @@ The most-significant three bits of a G1 or G2 encoding should be masked away bef * The second-most significant bit indicates that the point is at infinity. If this bit is set, the remaining bits of the group element's encoding should be set to zero. * The third-most significant bit is set if (and only if) this point is in compressed form _and_ it is not the point at infinity _and_ its y-coordinate is the lexicographically largest of the two associated with the encoded x-coordinate. +### Hashing to the Curve + +* Elements of Fq are encoded by taking the output of a BLAKE2b digest and interpreting it as a big-endian integer. The integer is reduced (mod q), making it uniform in the field with negligible bias. +* Elements of Fq2 are encoded by appending "_c0" to the supplied BLAKE2b preimage, to compute the encoding to Fq for c0, and by appending "_c1" to the same BLAKE2b preimage, to compute the encoding to Fq for c1. +* Elements of E and E' are encoded from an element *t* by taking the first valid abscissa (for the b in each respective curve): + * x_1 = (-1 + sqrt(-3))/2 - (sqrt(-3) * t^2)/(1 + b + t^2) + * x_2 = (-1 - sqrt(-3))/2 + (sqrt(-3) * t^2)/(1 + b + t^2) + * x_3 = 1 - (1 + b + t^2)^2 / (3 * t^2) +* In this encoding, we always map t=0 to the point at infinity. For the encoding to E, We also map: + * `t = 0x019cfaba0c258165d092f6bca9a081871e62a126c499340dc71c0e9527f923f3b299592a7a9503066cc5362484d96dd7` to the fixed generator. (See "Generators" above.) + * `t = 0x186417302d5a65347a88b0f999ab2b504614aa5e2eebdeb1a014c40bceb7d2306c12a6d436befcf94d39c9db7b263cd4` to the negative of the fixed generator. (See "Generators" above.) +* In this encoding, the y-coordinate of the resulting point is chosen to be the lexicographically largest if (and only if) the input `t` is also lexicographically larger than its negative. +* Hashing to G1, given a message `msg`, involves hashing to Fq by supplying the BLAKE2b preimage `msg | "G1_0"` to create `t0`, and hashing to Fq by supplying the BLAKE2b preimage `msg | "G1_1"` to create `t1`. `t0` and `t1` are used to encode into E via the above encoding, the resulting points are added together, and that result is multiplied by the cofactor. +* Hashing to G2, given a message `msg`, involves hashing to Fq2 by supplying the BLAKE2b preimage `msg | "G2_0"` to create `t0`, and hashing to Fq2 by supplying the BLAKE2b preimage `msg | "G2_1"` to create `t1`. `t0` and `t1` are used to encode into E' via the above encoding, the resulting points are added together, and that result is multiplied by the cofactor. diff --git a/src/bls12_381/ec.rs b/src/bls12_381/ec.rs index 37fcbba1..82dca23b 100644 --- a/src/bls12_381/ec.rs +++ b/src/bls12_381/ec.rs @@ -14,11 +14,10 @@ macro_rules! curve_impl { pub struct $affine { pub(crate) x: $basefield, pub(crate) y: $basefield, - pub(crate) infinity: bool + pub(crate) infinity: bool, } - impl ::std::fmt::Display for $affine - { + impl ::std::fmt::Display for $affine { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { if self.infinity { write!(f, "{}(Infinity)", $name) @@ -28,15 +27,22 @@ macro_rules! curve_impl { } } + fn y2_from_x(x: $basefield) -> $basefield { + let mut y2 = x.clone(); + y2.square(); + y2.mul_assign(&x); + y2.add_assign(&$affine::get_coeff_b()); + y2 + } + #[derive(Copy, Clone, Debug, Eq)] pub struct $projective { - pub(crate) x: $basefield, - pub(crate) y: $basefield, - pub(crate) z: $basefield + pub(crate) x: $basefield, + pub(crate) y: $basefield, + pub(crate) z: $basefield, } - impl ::std::fmt::Display for $projective - { + impl ::std::fmt::Display for $projective { fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { write!(f, "{}", self.into_affine()) } @@ -89,7 +95,9 @@ macro_rules! curve_impl { let mut res = $projective::zero(); for i in bits { res.double(); - if i { res.add_assign_mixed(self) } + if i { + res.add_assign_mixed(self) + } } res } @@ -112,12 +120,8 @@ macro_rules! curve_impl { $affine { x: x, - y: if (y < negy) ^ greatest { - y - } else { - negy - }, - infinity: false + y: if (y < negy) ^ greatest { y } else { negy }, + infinity: false, } }) } @@ -130,18 +134,103 @@ macro_rules! curve_impl { let mut y2 = self.y; y2.square(); - let mut x3b = self.x; - x3b.square(); - x3b.mul_assign(&self.x); - x3b.add_assign(&Self::get_coeff_b()); - - y2 == x3b + y2 == y2_from_x(self.x) } } fn is_in_correct_subgroup_assuming_on_curve(&self) -> bool { self.mul($scalarfield::char()).is_zero() } + + /// Implements the Shallue–van de Woestijne encoding described in + /// Section 3, "Indifferentiable Hashing to Barreto–Naehrig Curves" + /// from Foque-Tibouchi: . + /// + /// The encoding is adapted for BLS12-381. + /// + /// This encoding produces a point in E/E'. It does not reach every + /// point. The resulting point may not be in the prime order subgroup, + /// but it will be on the curve. It could be the point at infinity. + /// + /// ## Description + /// + /// Lemma 3 gives us three points: + /// + /// x_1 = (-1 + sqrt(-3))/2 - (sqrt(-3) * t^2)/(1 + b + t^2) + /// x_2 = (-1 - sqrt(-3))/2 + (sqrt(-3) * t^2)/(1 + b + t^2) + /// x_3 = 1 - (1 + b + t^2)^2/(3 * t^2) + /// + /// Given t != 0 and t != 1 + b + t^2 != 0, at least one of + /// these three points (x1, x2, x3) is valid on the curve. + /// + /// In the paper, 1 + b + t^2 != 0 has no solutions, but for + /// E(Fq) in our construction, it does have two solutions. + /// We follow the convention of the paper by mapping these + /// to some arbitrary points; in our case, the positive/negative + /// fixed generator (with the parity of the y-coordinate + /// corresponding to the t value). + /// + /// Unlike the paper, which maps t = 0 to an arbitrary point, + /// we map it to the point at infinity. This arrangement allows + /// us to preserve sw_encode(t) = sw_encode(-t) for all t. + /// + /// We choose the smallest i such that x_i is on the curve. + /// We choose the corresponding y-coordinate with the same + /// parity, defined as the point being lexicographically larger + /// than its negative. + fn sw_encode(t: $basefield) -> Self { + // Handle the case t == 0 + if t.is_zero() { + return Self::zero(); + } + + // We choose the corresponding y-coordinate with the same parity as t. + let parity = t.parity(); + + // w = (t^2 + b + 1)^(-1) * sqrt(-3) * t + let mut w = t; + w.square(); + w.add_assign(&$affine::get_coeff_b()); + w.add_assign(&$basefield::one()); + + // Handle the case t^2 + b + 1 == 0 + if w.is_zero() { + let mut ret = Self::one(); + if parity { + ret.negate() + } + return ret; + } + + w = w.inverse().unwrap(); + w.mul_assign(&$basefield::get_swenc_sqrt_neg_three()); + w.mul_assign(&t); + + // x1 = - wt + (sqrt(-3) - 1) / 2 + let mut x1 = w; + x1.mul_assign(&t); + x1.negate(); + x1.add_assign(&$basefield::get_swenc_sqrt_neg_three_minus_one_div_two()); + if let Some(p) = Self::get_point_from_x(x1, parity) { + return p; + } + + // x2 = -1 - x1 + let mut x2 = x1; + x2.negate(); + x2.sub_assign(&$basefield::one()); + if let Some(p) = Self::get_point_from_x(x2, parity) { + return p; + } + + // x3 = 1/w^2 + 1 + let mut x3 = w; + x3.square(); + x3 = x3.inverse().unwrap(); + x3.add_assign(&$basefield::one()); + Self::get_point_from_x(x3, parity) + .expect("this point must be valid if the other two are not") + } } impl CurveAffine for $affine { @@ -159,7 +248,7 @@ macro_rules! curve_impl { $affine { x: $basefield::zero(), y: $basefield::one(), - infinity: true + infinity: true, } } @@ -193,7 +282,6 @@ macro_rules! curve_impl { fn into_projective(&self) -> $projective { (*self).into() } - } impl Rand for $projective { @@ -225,7 +313,7 @@ macro_rules! curve_impl { $projective { x: $basefield::zero(), y: $basefield::one(), - z: $basefield::zero() + z: $basefield::zero(), } } @@ -243,8 +331,7 @@ macro_rules! curve_impl { self.is_zero() || self.z == $basefield::one() } - fn batch_normalization(v: &mut [Self]) - { + fn batch_normalization(v: &mut [Self]) { // Montgomery’s Trick and Fast Implementation of Masked AES // Genelle, Prouff and Quisquater // Section 3.2 @@ -252,9 +339,10 @@ macro_rules! curve_impl { // First pass: compute [a, ab, abc, ...] let mut prod = Vec::with_capacity(v.len()); let mut tmp = $basefield::one(); - for g in v.iter_mut() - // Ignore normalized elements - .filter(|g| !g.is_normalized()) + for g in v + .iter_mut() + // Ignore normalized elements + .filter(|g| !g.is_normalized()) { tmp.mul_assign(&g.z); prod.push(tmp); @@ -264,13 +352,19 @@ macro_rules! curve_impl { tmp = tmp.inverse().unwrap(); // Guaranteed to be nonzero. // Second pass: iterate backwards to compute inverses - for (g, s) in v.iter_mut() - // Backwards - .rev() - // Ignore normalized elements - .filter(|g| !g.is_normalized()) - // Backwards, skip last element, fill in one for last term. - .zip(prod.into_iter().rev().skip(1).chain(Some($basefield::one()))) + for (g, s) in v + .iter_mut() + // Backwards + .rev() + // Ignore normalized elements + .filter(|g| !g.is_normalized()) + // Backwards, skip last element, fill in one for last term. + .zip( + prod.into_iter() + .rev() + .skip(1) + .chain(Some($basefield::one())), + ) { // tmp := tmp * g.z; g.z := tmp * s = 1/z let mut newtmp = tmp; @@ -281,9 +375,7 @@ macro_rules! curve_impl { } // Perform affine transformations - for g in v.iter_mut() - .filter(|g| !g.is_normalized()) - { + for g in v.iter_mut().filter(|g| !g.is_normalized()) { let mut z = g.z; // 1/z z.square(); // 1/z^2 g.x.mul_assign(&z); // x/z^2 @@ -536,8 +628,7 @@ macro_rules! curve_impl { let mut found_one = false; - for i in BitIterator::new(other.into()) - { + for i in BitIterator::new(other.into()) { if found_one { res.double(); } else { @@ -563,6 +654,33 @@ macro_rules! curve_impl { fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize { Self::empirical_recommended_wnaf_for_num_scalars(num_scalars) } + + /// Implements "Indifferentiable Hashing to Barreto–Naehrig Curves" from Foque-Tibouchi. + /// + fn hash(msg: &[u8]) -> Self { + // The construction of Foque et al. requires us to construct two + // "random oracles" in the field, encode their image with `sw_encode`, + // and finally add them. + // We construct them appending to the message the string + // $name_$oracle + // For instance, the first oracle in group G1 appends: "G1_0". + let mut hasher_0 = blake2b_simd::State::new(); + hasher_0.update(msg); + hasher_0.update($name.as_bytes()); + let mut hasher_1 = hasher_0.clone(); + + hasher_0.update(b"_0"); + let t0 = Self::Base::hash(hasher_0); + let t0 = Self::Affine::sw_encode(t0); + + hasher_1.update(b"_1"); + let t1 = Self::Base::hash(hasher_1); + let t1 = Self::Affine::sw_encode(t1); + + let mut res = t0.into_projective(); + res.add_assign_mixed(&t1); + res.into_affine().scale_by_cofactor() + } } // The affine point X, Y is represented in the jacobian @@ -575,7 +693,7 @@ macro_rules! curve_impl { $projective { x: p.x, y: p.y, - z: $basefield::one() + z: $basefield::one(), } } } @@ -592,7 +710,7 @@ macro_rules! curve_impl { $affine { x: p.x, y: p.y, - infinity: false + infinity: false, } } else { // Z is nonzero, so it must have an inverse in a field. @@ -612,12 +730,44 @@ macro_rules! curve_impl { $affine { x: x, y: y, - infinity: false + infinity: false, } } } } - } + #[cfg(test)] + use rand::{SeedableRng, XorShiftRng}; + + #[test] + fn test_hash() { + let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]); + + for _ in 0..100 { + let seed: [u8; 32] = rng.gen(); + let p = $projective::hash(&seed).into_affine(); + assert!(!p.is_zero()); + assert!(p.is_on_curve()); + assert!(p.is_in_correct_subgroup_assuming_on_curve()); + } + } + + #[test] + fn test_sw_encode() { + let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]); + + for _ in 0..100 { + let mut t = $basefield::rand(&mut rng); + let p = $affine::sw_encode(t); + assert!(p.is_on_curve()); + assert!(!p.is_zero()); + + t.negate(); + let mut minus_p = $affine::sw_encode(t).into_projective(); + minus_p.add_assign_mixed(&p); + assert!(minus_p.is_zero()); + } + } + }; } pub mod g1 { @@ -987,7 +1137,8 @@ pub mod g1 { 0x9fe83b1b4a5d648d, 0xf583cc5a508f6a40, 0xc3ad2aefde0bb13, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x60aa6f9552f03aae, 0xecd01d5181300d35, @@ -995,7 +1146,8 @@ pub mod g1 { 0xe760f57922998c9d, 0x953703f5795a39e5, 0xfe3ae0922df702c, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; assert!(!p.is_on_curve()); @@ -1012,7 +1164,8 @@ pub mod g1 { 0xea034ee2928b30a8, 0xbd8833dc7c79a7f7, 0xe45c9f0c0438675, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x3b450eb1ab7b5dad, 0xa65cb81e975e8675, @@ -1020,7 +1173,8 @@ pub mod g1 { 0x753ddf21a2601d20, 0x532d0b640bd3ff8b, 0x118d2c543f031102, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; assert!(!p.is_on_curve()); @@ -1038,7 +1192,8 @@ pub mod g1 { 0xf35de9ce0d6b4e84, 0x265bddd23d1dec54, 0x12a8778088458308, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x8a22defa0d526256, 0xc57ca55456fcb9ae, @@ -1046,7 +1201,8 @@ pub mod g1 { 0x921beef89d4f29df, 0x5b6fda44ad85fa78, 0xed74ab9f302cbe0, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; assert!(p.is_on_curve()); @@ -1064,7 +1220,8 @@ pub mod g1 { 0x485e77d50a5df10d, 0x4c6fcac4b55fd479, 0x86ed4d9906fb064, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0xd25ee6461538c65, 0x9f3bbb2ecd3719b9, @@ -1072,7 +1229,8 @@ pub mod g1 { 0xcefca68333c35288, 0x570c8005f8573fa6, 0x152ca696fe034442, - ])).unwrap(), + ])) + .unwrap(), z: Fq::one(), }; @@ -1084,7 +1242,8 @@ pub mod g1 { 0x5f44314ec5e3fb03, 0x24e8538737c6e675, 0x8abd623a594fba8, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x6b0528f088bb7044, 0x2fdeb5c82917ff9e, @@ -1092,7 +1251,8 @@ pub mod g1 { 0xd65104c6f95a872a, 0x1f2998a5a9c61253, 0xe74846154a9e44, - ])).unwrap(), + ])) + .unwrap(), z: Fq::one(), }); @@ -1108,7 +1268,8 @@ pub mod g1 { 0xc4f9a52a428e23bb, 0xd178b28dd4f407ef, 0x17fb8905e9183c69 - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0xd0de9d65292b7710, 0xf6a05f2bcf1d9ca7, @@ -1116,7 +1277,8 @@ pub mod g1 { 0xeec8d1a5b7466c58, 0x4bc362649dce6376, 0x430cbdc5455b00a - ])).unwrap(), + ])) + .unwrap(), infinity: false, } ); @@ -1132,7 +1294,8 @@ pub mod g1 { 0x485e77d50a5df10d, 0x4c6fcac4b55fd479, 0x86ed4d9906fb064, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0xd25ee6461538c65, 0x9f3bbb2ecd3719b9, @@ -1140,7 +1303,8 @@ pub mod g1 { 0xcefca68333c35288, 0x570c8005f8573fa6, 0x152ca696fe034442, - ])).unwrap(), + ])) + .unwrap(), z: Fq::one(), }; @@ -1158,7 +1322,8 @@ pub mod g1 { 0x4b914c16687dcde0, 0x66c8baf177d20533, 0xaf960cff3d83833 - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x3f0675695f5177a8, 0x2b6d82ae178a1ba0, @@ -1166,7 +1331,8 @@ pub mod g1 { 0x1771a65b60572f4e, 0x8b547c1313b27555, 0x135075589a687b1e - ])).unwrap(), + ])) + .unwrap(), infinity: false, } ); @@ -1189,7 +1355,8 @@ pub mod g1 { 0x71ffa8021531705, 0x7418d484386d267, 0xd5108d8ff1fbd6, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0xa776ccbfe9981766, 0x255632964ff40f4a, @@ -1197,7 +1364,8 @@ pub mod g1 { 0x520f74773e74c8c3, 0x484c8fc982008f0, 0xee2c3d922008cc6, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; @@ -1209,7 +1377,8 @@ pub mod g1 { 0xc6e05201e5f83991, 0xf7c75910816f207c, 0x18d4043e78103106, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0xa776ccbfe9981766, 0x255632964ff40f4a, @@ -1217,7 +1386,8 @@ pub mod g1 { 0x520f74773e74c8c3, 0x484c8fc982008f0, 0xee2c3d922008cc6, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; @@ -1232,7 +1402,8 @@ pub mod g1 { 0x9676ff02ec39c227, 0x4c12c15d7e55b9f3, 0x57fd1e317db9bd, - ])).unwrap(), + ])) + .unwrap(), y: Fq::from_repr(FqRepr([ 0x1288334016679345, 0xf955cd68615ff0b5, @@ -1240,7 +1411,8 @@ pub mod g1 { 0x1267d70db51049fb, 0x4696deb9ab2ba3e7, 0xb1e4e11177f59d4, - ])).unwrap(), + ])) + .unwrap(), infinity: false, }; @@ -1259,6 +1431,56 @@ pub mod g1 { assert_eq!(tmp2, c.into_projective()); } + #[test] + fn test_g1_sw_encode_degenerate() { + // test the degenerate case t = 0 + let p = G1Affine::sw_encode(Fq::zero()); + assert!(p.is_on_curve()); + assert!(p.is_zero()); + + // test the degenerate case t^2 = - b - 1 + let mut t = Fq::one(); + t.add_assign(&G1Affine::get_coeff_b()); + t.negate(); + let mut t = t.sqrt().unwrap(); + t.negate(); // If sqrt impl changes, this test will be affected + let p = G1Affine::sw_encode(t); + assert!(p.is_on_curve()); + assert!(!p.is_zero()); + assert_eq!(p.y.parity(), t.parity()); + assert_eq!(p, G1Affine::one()); + t.negate(); + let p = G1Affine::sw_encode(t); + assert!(p.is_on_curve()); + assert!(!p.is_zero()); + assert_eq!(p.y.parity(), t.parity()); + { + let mut negone = G1Affine::one(); + negone.negate(); + assert_eq!(p, negone); + } + + // test that the encoding function is odd for the above t + t.negate(); + let mut minus_p = G1Affine::sw_encode(t).into_projective(); + minus_p.add_assign_mixed(&p); + assert!(minus_p.is_zero()); + } + + #[test] + fn g1_hash_test_vectors() { + // Obtained via python/sage + + let p = G1::hash(&[]); + let q = G1 { + x: Fq::from_str("315124130825307604287835216317628428134609737854237653839182597515996444073032649481416725367158979153513345579672").unwrap(), + y: Fq::from_str("3093537746211397858160667262592024570071165158580434464756577567510401504168962073691924150397172185836012224315174").unwrap(), + z: Fq::one() + }; + + assert_eq!(p, q); + } + #[test] fn g1_curve_tests() { ::tests::curve::curve_tests::(); @@ -1668,7 +1890,8 @@ pub mod g2 { 0x7a17a004747e3dbe, 0xcc65406a7c2e5a73, 0x10b8c03d64db4d0c, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xd30e70fe2f029778, 0xda30772df0f5212e, @@ -1676,7 +1899,8 @@ pub mod g2 { 0xfb777e5b9b568608, 0x789bac1fec71a2b9, 0x1342f02e2da54405, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1686,7 +1910,8 @@ pub mod g2 { 0x663015d9410eb608, 0x78e82a79d829a544, 0x40a00545bb3c1e, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x4709802348e79377, 0xb5ac4dc9204bcfbd, @@ -1694,7 +1919,8 @@ pub mod g2 { 0x15008b1dc399e8df, 0x68128fd0548a3829, 0x16a613db5c873aaa, - ])).unwrap(), + ])) + .unwrap(), }, infinity: false, }; @@ -1713,7 +1939,8 @@ pub mod g2 { 0x41abba710d6c692c, 0xffcc4b2b62ce8484, 0x6993ec01b8934ed, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xb94e92d5f874e26, 0x44516408bc115d95, @@ -1721,7 +1948,8 @@ pub mod g2 { 0xa5a0c2b7131f3555, 0x83800965822367e7, 0x10cf1d3ad8d90bfa, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1731,7 +1959,8 @@ pub mod g2 { 0x5a9171720e73eb51, 0x38eb4fd8d658adb7, 0xb649051bbc1164d, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x9225814253d7df75, 0xc196c2513477f887, @@ -1739,7 +1968,8 @@ pub mod g2 { 0x55f2b8efad953e04, 0x7379345eda55265e, 0x377f2e6208fd4cb, - ])).unwrap(), + ])) + .unwrap(), }, infinity: false, }; @@ -1759,7 +1989,8 @@ pub mod g2 { 0x2199bc19c48c393d, 0x4a151b732a6075bf, 0x17762a3b9108c4a7, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x26f461e944bbd3d1, 0x298f3189a9cf6ed6, @@ -1767,7 +1998,8 @@ pub mod g2 { 0x7e147f3f9e6e241, 0x72a9b63583963fff, 0x158b0083c000462, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1777,7 +2009,8 @@ pub mod g2 { 0x68cad19430706b4d, 0x3ccfb97b924dcea8, 0x1660f93434588f8d, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xaaed3985b6dcb9c7, 0xc1e985d6d898d9f4, @@ -1785,7 +2018,8 @@ pub mod g2 { 0x3940a2dbb914b529, 0xbeb88137cf34f3e7, 0x1699ee577c61b694, - ])).unwrap(), + ])) + .unwrap(), }, infinity: false, }; @@ -1805,7 +2039,8 @@ pub mod g2 { 0x72556c999f3707ac, 0x4617f2e6774e9711, 0x100b2fe5bffe030b, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x7a33555977ec608, 0xe23039d1fe9c0881, @@ -1813,7 +2048,8 @@ pub mod g2 { 0x4637c4f417667e2e, 0x93ebe7c3e41f6acc, 0xde884f89a9a371b, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1823,7 +2059,8 @@ pub mod g2 { 0x25fd427b4122f231, 0xd83112aace35cae, 0x191b2432407cbb7f, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xf68ae82fe97662f5, 0xe986057068b50b7d, @@ -1831,7 +2068,8 @@ pub mod g2 { 0x9eaa6d19de569196, 0xf6a03d31e2ec2183, 0x3bdafaf7ca9b39b, - ])).unwrap(), + ])) + .unwrap(), }, z: Fq2::one(), }; @@ -1845,7 +2083,8 @@ pub mod g2 { 0x8e73a96b329ad190, 0x27c546f75ee1f3ab, 0xa33d27add5e7e82, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x93b1ebcd54870dfe, 0xf1578300e1342e11, @@ -1853,7 +2092,8 @@ pub mod g2 { 0x2089faf462438296, 0x828e5848cd48ea66, 0x141ecbac1deb038b, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1863,7 +2103,8 @@ pub mod g2 { 0x2767032fc37cc31d, 0xd5ee2aba84fd10fe, 0x16576ccd3dd0a4e8, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x4da9b6f6a96d1dd2, 0x9657f7da77f1650e, @@ -1871,7 +2112,8 @@ pub mod g2 { 0x31898db63f87363a, 0xabab040ddbd097cc, 0x11ad236b9ba02990, - ])).unwrap(), + ])) + .unwrap(), }, z: Fq2::one(), }); @@ -1889,7 +2131,8 @@ pub mod g2 { 0xf1273e6406eef9cc, 0xababd760ff05cb92, 0xd7c20456617e89 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xd1a50b8572cbd2b8, 0x238f0ac6119d07df, @@ -1897,7 +2140,8 @@ pub mod g2 { 0x8b203284c51edf6b, 0xc8a0b730bbb21f5e, 0x1a3b59d29a31274 - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1907,7 +2151,8 @@ pub mod g2 { 0x64528ab3863633dc, 0x159384333d7cba97, 0x4cb84741f3cafe8 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x242af0dc3640e1a4, 0xe90a73ad65c66919, @@ -1915,7 +2160,8 @@ pub mod g2 { 0x38528f92b689644d, 0xb6884deec59fb21f, 0x3c075d3ec52ba90 - ])).unwrap(), + ])) + .unwrap(), }, infinity: false, } @@ -1933,7 +2179,8 @@ pub mod g2 { 0x72556c999f3707ac, 0x4617f2e6774e9711, 0x100b2fe5bffe030b, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x7a33555977ec608, 0xe23039d1fe9c0881, @@ -1941,7 +2188,8 @@ pub mod g2 { 0x4637c4f417667e2e, 0x93ebe7c3e41f6acc, 0xde884f89a9a371b, - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1951,7 +2199,8 @@ pub mod g2 { 0x25fd427b4122f231, 0xd83112aace35cae, 0x191b2432407cbb7f, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xf68ae82fe97662f5, 0xe986057068b50b7d, @@ -1959,7 +2208,8 @@ pub mod g2 { 0x9eaa6d19de569196, 0xf6a03d31e2ec2183, 0x3bdafaf7ca9b39b, - ])).unwrap(), + ])) + .unwrap(), }, z: Fq2::one(), }; @@ -1979,7 +2229,8 @@ pub mod g2 { 0xbcedcfce1e52d986, 0x9755d4a3926e9862, 0x18bab73760fd8024 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x4e7c5e0a2ae5b99e, 0x96e582a27f028961, @@ -1987,7 +2238,8 @@ pub mod g2 { 0xeb0cf5e610ef4fe7, 0x7b4c2bae8db6e70b, 0xf136e43909fca0 - ])).unwrap(), + ])) + .unwrap(), }, y: Fq2 { c0: Fq::from_repr(FqRepr([ @@ -1997,7 +2249,8 @@ pub mod g2 { 0xa5a2a51f7fde787b, 0x8b92866bc6384188, 0x81a53fe531d64ef - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x4c5d607666239b34, 0xeddb5f48304d14b3, @@ -2005,13 +2258,47 @@ pub mod g2 { 0xb271f52f12ead742, 0x244e6c2015c83348, 0x19e2deae6eb9b441 - ])).unwrap(), + ])) + .unwrap(), }, infinity: false, } ); } + #[test] + fn test_g2_sw_encode_degenerate() { + // test the degenerate cases t = 0 and t^2 = - b - 1 + let p = G2Affine::sw_encode(Fq2::zero()); + assert!(p.is_on_curve()); + assert!(p.is_zero()); + + let mut t = Fq2::one(); + t.add_assign(&G2Affine::get_coeff_b()); + t.negate(); + assert_eq!(t.sqrt(), None); + } + + #[test] + fn g2_hash_test_vectors() { + // Obtained via python/sage + + let p = G2::hash(&[]); + let q = G2 { + x: Fq2 { + c0: Fq::from_str("1703269368484048424021410903959703695180015303406562561298910892586704964724393392000690938204229678426081532099421").unwrap(), + c1: Fq::from_str("1899273078921065702469032215023284089292737398509481436818508674759333584516218669155175722702009534138251936259418").unwrap(), + }, + y: Fq2 { + c0: Fq::from_str("1983733072556618192444995460520049530986901623449598282145749270559646083332830971089171683246431283765594628842386").unwrap(), + c1: Fq::from_str("915456324395362816875268588526293724551529076411493014293832389675785871078275824878933205442411635336958461433442").unwrap(), + }, + z: Fq2::one() + }; + + assert_eq!(p, q); + } + #[test] fn g2_curve_tests() { ::tests::curve::curve_tests::(); diff --git a/src/bls12_381/fq.rs b/src/bls12_381/fq.rs index fd0d416d..2d84c4bc 100644 --- a/src/bls12_381/fq.rs +++ b/src/bls12_381/fq.rs @@ -1,5 +1,8 @@ use super::fq2::Fq2; -use ff::{Field, PrimeField, PrimeFieldDecodingError, PrimeFieldRepr}; +use ff::{BitIterator, Field, PrimeField, PrimeFieldDecodingError, PrimeFieldRepr}; + +use blake2b_simd::State as Blake2b; +use byteorder::{BigEndian, ByteOrder}; // B coefficient of BLS12-381 curve, 4. pub const B_COEFF: Fq = Fq(FqRepr([ @@ -11,6 +14,30 @@ pub const B_COEFF: Fq = Fq(FqRepr([ 0x9d645513d83de7e, ])); +// SWENC_SQRT_NEG_THREE = sqrt(-3) mod q = +// 1586958781458431025242759403266842894121773480562120986020912974854563298150952611241517463240701 +// used to help find a Fq-rational point in the conic described by the Shallue–van de Woestijne encoding. +const SWENC_SQRT_NEG_THREE: Fq = Fq(FqRepr([ + 0x1dec6c36f3181f22, + 0xb4b9bb641054b457, + 0x25695a2be9415286, + 0x982b6cbf66c749bc, + 0x7d58e1ae1feb7873, + 0x62c96300937c0b9, +])); + +// SWENC_SQRT_NEG_THREE_MINUS_ONE_DIV_TWO = (sqrt(-3) - 1) / 2 mod q = +// 793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350 +// used to speed up the computation of the abscissa x_1(t). +const SWENC_SQRT_NEG_THREE_MINUS_ONE_DIV_TWO: Fq = Fq(FqRepr([ + 0x30f1361b798a64e8, + 0xf3b8ddab7ece5a2a, + 0x16a8ca3ac61577f7, + 0xc26a2ff874fd029b, + 0x3636b76660701c6e, + 0x51ba4ab241b6160, +])); + // The generators of G1/G2 are computed by finding the lexicographically smallest valid x coordinate, // and its lexicographically smallest y coordinate and multiplying it by the cofactor such that the // result is nonzero. @@ -448,11 +475,103 @@ pub const NEGATIVE_ONE: Fq = Fq(FqRepr([ #[PrimeFieldGenerator = "2"] pub struct Fq(FqRepr); +impl Fq { + pub(crate) fn parity(&self) -> bool { + let mut neg = *self; + neg.negate(); + *self > neg + } + + pub(crate) fn get_swenc_sqrt_neg_three() -> Fq { + SWENC_SQRT_NEG_THREE + } + + pub(crate) fn get_swenc_sqrt_neg_three_minus_one_div_two() -> Fq { + SWENC_SQRT_NEG_THREE_MINUS_ONE_DIV_TWO + } + + fn mul_bits>(&self, bits: BitIterator) -> Self { + let mut res = Self::zero(); + for bit in bits { + res.double(); + + if bit { + res.add_assign(self) + } + } + res + } + + /// Hash into the field. This takes a `Blake2b` instance, + /// computes the hash, and interprets the hash as a big endian + /// number. The number is reduced mod q. The caller is + /// responsible for ensuring the Blake2b instance was + /// initialized with a 64 byte digest result. + pub(crate) fn hash(mut hasher: Blake2b) -> Self { + let mut repr: [u64; 8] = [0; 8]; + BigEndian::read_u64_into(hasher.finalize().as_bytes(), &mut repr); + repr.reverse(); + Self::one().mul_bits(BitIterator::new(repr)) + } +} + +#[cfg(test)] +use ff::SqrtField; +#[cfg(test)] +use rand::{Rand, Rng, SeedableRng, XorShiftRng}; + +#[test] +fn test_hash() { + // check that an arbitrary image of the hash is in the field. + let mut hasher = Blake2b::new(); + hasher.update(&[0x42; 32]); + assert!(Fq::hash(hasher).is_valid()); + + let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]); + let mut lsb_ones: i32 = 0; + for _ in 0..1000 { + let seed = rng.gen::<[u8; 32]>(); + let mut hasher = Blake2b::new(); + hasher.update(&seed); + let e = Fq::hash(hasher); + // check that the hash image is in the field + assert!(e.is_valid()); + // count how many less-significant bits are set in each limb + lsb_ones += e + .into_repr() + .as_ref() + .iter() + .map(|x| if x % 2 == 0 { 0i32 } else { 1i32 }) + .sum::(); + } + // lsb_ones should a uniformly random variable 100*X + // where X is a coin flip + let mean = 1000 * 6 / 2; + // sqrt(1000 * 6 * .25) = 38.72983346207417 + let variance = 40 * 4; + assert!((lsb_ones - mean).abs() < variance); +} + #[test] fn test_b_coeff() { assert_eq!(Fq::from_repr(FqRepr::from(4)).unwrap(), B_COEFF); } +#[test] +fn test_swenc_consts() { + // c0 = sqrt(-3) + let mut c0 = Fq::from_repr(FqRepr::from(3)).unwrap(); + c0.negate(); + let c0 = c0.sqrt().unwrap(); + assert_eq!(c0, Fq::get_swenc_sqrt_neg_three()); + + // c2 = (sqrt(-3) - 1) / 2 + let mut expected = Fq::get_swenc_sqrt_neg_three_minus_one_div_two(); + expected.add_assign(&Fq::get_swenc_sqrt_neg_three_minus_one_div_two()); + expected.add_assign(&Fq::one()); + assert_eq!(c0, expected); +} + #[test] fn test_frob_coeffs() { let mut nqr = Fq::one(); @@ -1172,9 +1291,6 @@ fn test_neg_one() { assert_eq!(NEGATIVE_ONE, o); } -#[cfg(test)] -use rand::{Rand, SeedableRng, XorShiftRng}; - #[test] fn test_fq_repr_ordering() { use std::cmp::Ordering; @@ -1574,26 +1690,24 @@ fn test_fq_is_valid() { a.0.sub_noborrow(&FqRepr::from(1)); assert!(a.is_valid()); assert!(Fq(FqRepr::from(0)).is_valid()); - assert!( - Fq(FqRepr([ - 0xdf4671abd14dab3e, - 0xe2dc0c9f534fbd33, - 0x31ca6c880cc444a6, - 0x257a67e70ef33359, - 0xf9b29e493f899b36, - 0x17c8be1800b9f059 - ])).is_valid() - ); - assert!( - !Fq(FqRepr([ - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff, - 0xffffffffffffffff - ])).is_valid() - ); + assert!(Fq(FqRepr([ + 0xdf4671abd14dab3e, + 0xe2dc0c9f534fbd33, + 0x31ca6c880cc444a6, + 0x257a67e70ef33359, + 0xf9b29e493f899b36, + 0x17c8be1800b9f059 + ])) + .is_valid()); + assert!(!Fq(FqRepr([ + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff, + 0xffffffffffffffff + ])) + .is_valid()); let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]); @@ -1929,7 +2043,8 @@ fn test_fq_squaring() { 0xdc05c659b4e15b27, 0x79361e5a802c6a23, 0x24bcbe5d51b9a6f - ])).unwrap() + ])) + .unwrap() ); let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]); @@ -2061,16 +2176,15 @@ fn test_fq_sqrt() { #[test] fn test_fq_from_into_repr() { // q + 1 should not be in the field - assert!( - Fq::from_repr(FqRepr([ - 0xb9feffffffffaaac, - 0x1eabfffeb153ffff, - 0x6730d2a0f6b0f624, - 0x64774b84f38512bf, - 0x4b1ba7b6434bacd7, - 0x1a0111ea397fe69a - ])).is_err() - ); + assert!(Fq::from_repr(FqRepr([ + 0xb9feffffffffaaac, + 0x1eabfffeb153ffff, + 0x6730d2a0f6b0f624, + 0x64774b84f38512bf, + 0x4b1ba7b6434bacd7, + 0x1a0111ea397fe69a + ])) + .is_err()); // q should not be in the field assert!(Fq::from_repr(Fq::char()).is_err()); @@ -2244,3 +2358,13 @@ fn test_fq_legendre() { ]); assert_eq!(QuadraticResidue, Fq::from_repr(e).unwrap().legendre()); } + +#[test] +fn test_fq_hash() { + let h = Blake2b::new(); + + assert_eq!( + Fq::hash(h), + Fq::from_str("2969971670216977749765615497980645380676770840200853026844185893034591434908642692717019379762235872058512380843355").unwrap() + ); +} diff --git a/src/bls12_381/fq2.rs b/src/bls12_381/fq2.rs index 363439a6..1b8b54b1 100644 --- a/src/bls12_381/fq2.rs +++ b/src/bls12_381/fq2.rs @@ -1,4 +1,5 @@ -use super::fq::{FROBENIUS_COEFF_FQ2_C1, Fq, NEGATIVE_ONE}; +use super::fq::{Fq, FROBENIUS_COEFF_FQ2_C1, NEGATIVE_ONE}; +use blake2b_simd::State as Blake2b; use ff::{Field, SqrtField}; use rand::{Rand, Rng}; @@ -54,6 +55,37 @@ impl Fq2 { t1 } + + pub(crate) fn parity(&self) -> bool { + let mut neg = *self; + neg.negate(); + *self > neg + } + + pub(crate) fn get_swenc_sqrt_neg_three() -> Fq2 { + Fq2 { + c0: Fq::get_swenc_sqrt_neg_three(), + c1: Fq::zero(), + } + } + + pub(crate) fn get_swenc_sqrt_neg_three_minus_one_div_two() -> Fq2 { + Fq2 { + c0: Fq::get_swenc_sqrt_neg_three_minus_one_div_two(), + c1: Fq::zero(), + } + } + + pub(crate) fn hash(mut hasher_c0: Blake2b) -> Self { + let mut hasher_c1 = hasher_c0.clone(); + hasher_c0.update(b"_c0"); + hasher_c1.update(b"_c1"); + + Fq2 { + c0: Fq::hash(hasher_c0), + c1: Fq::hash(hasher_c1), + } + } } impl Rand for Fq2 { @@ -263,12 +295,11 @@ fn test_fq2_basics() { ); assert!(Fq2::zero().is_zero()); assert!(!Fq2::one().is_zero()); - assert!( - !Fq2 { - c0: Fq::zero(), - c1: Fq::one(), - }.is_zero() - ); + assert!(!Fq2 { + c0: Fq::zero(), + c1: Fq::one(), + } + .is_zero()); } #[test] @@ -311,7 +342,8 @@ fn test_fq2_squaring() { 0xf7f295a94e58ae7c, 0x41b76dcc1c3fbe5e, 0x7080c5fa1d8e042, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x38f473b3c870a4ab, 0x6ad3291177c8c7e5, @@ -319,7 +351,8 @@ fn test_fq2_squaring() { 0xbfb99020604137a0, 0xfc58a7b7be815407, 0x10d1615e75250a21, - ])).unwrap(), + ])) + .unwrap(), }; a.square(); assert_eq!( @@ -332,7 +365,8 @@ fn test_fq2_squaring() { 0xcb674157618da176, 0x4cf17b5893c3d327, 0x7eac81369c43361 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xc1579cf58e980cf8, 0xa23eb7e12dd54d98, @@ -340,7 +374,8 @@ fn test_fq2_squaring() { 0x38d0d7275a9689e1, 0x739c983042779a65, 0x1542a61c8a8db994 - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -358,7 +393,8 @@ fn test_fq2_mul() { 0x9ee53e7e84d7532e, 0x1c202d8ed97afb45, 0x51d3f9253e2516f, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xa7348a8b511aedcf, 0x143c215d8176b319, @@ -366,7 +402,8 @@ fn test_fq2_mul() { 0x9533e4a9a5158be, 0x7a5e1ecb676d65f9, 0x180c3ee46656b008, - ])).unwrap(), + ])) + .unwrap(), }; a.mul_assign(&Fq2 { c0: Fq::from_repr(FqRepr([ @@ -376,7 +413,8 @@ fn test_fq2_mul() { 0xcd460f9f0c23e430, 0x6c9110292bfa409, 0x2c93a72eb8af83e, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x4b1c3f936d8992d4, 0x1d2a72916dba4c8a, @@ -384,7 +422,8 @@ fn test_fq2_mul() { 0x57a06d3135a752ae, 0x634cd3c6c565096d, 0x19e17334d4e93558, - ])).unwrap(), + ])) + .unwrap(), }); assert_eq!( a, @@ -396,7 +435,8 @@ fn test_fq2_mul() { 0x5511fe4d84ee5f78, 0x5310a202d92f9963, 0x1751afbe166e5399 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x84af0e1bd630117a, 0x6c63cd4da2c2aa7, @@ -404,7 +444,8 @@ fn test_fq2_mul() { 0xc975106579c275ee, 0x33a9ac82ce4c5083, 0x1ef1a36c201589d - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -424,7 +465,8 @@ fn test_fq2_inverse() { 0x9ee53e7e84d7532e, 0x1c202d8ed97afb45, 0x51d3f9253e2516f, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xa7348a8b511aedcf, 0x143c215d8176b319, @@ -432,7 +474,8 @@ fn test_fq2_inverse() { 0x9533e4a9a5158be, 0x7a5e1ecb676d65f9, 0x180c3ee46656b008, - ])).unwrap(), + ])) + .unwrap(), }; let a = a.inverse().unwrap(); assert_eq!( @@ -445,7 +488,8 @@ fn test_fq2_inverse() { 0xdfba703293941c30, 0xa6c3d8f9586f2636, 0x1351ef01941b70c4 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x8c39fd76a8312cb4, 0x15d7b6b95defbff0, @@ -453,7 +497,8 @@ fn test_fq2_inverse() { 0xcbf651a0f367afb2, 0xdf4e54f0d3ef15a6, 0x103bdf241afb0019 - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -471,7 +516,8 @@ fn test_fq2_addition() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -479,7 +525,8 @@ fn test_fq2_addition() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837, - ])).unwrap(), + ])) + .unwrap(), }; a.add_assign(&Fq2 { c0: Fq::from_repr(FqRepr([ @@ -489,7 +536,8 @@ fn test_fq2_addition() { 0x3b88899a42a6318f, 0x986a4a62fa82a49d, 0x13ce433fa26027f5, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x66323bf80b58b9b9, 0xa1379b6facf6e596, @@ -497,7 +545,8 @@ fn test_fq2_addition() { 0x2236f55246d0d44d, 0x4c8c1800eb104566, 0x11d6e20e986c2085, - ])).unwrap(), + ])) + .unwrap(), }); assert_eq!( a, @@ -509,7 +558,8 @@ fn test_fq2_addition() { 0xf4ef57d604b6bca2, 0x65309427b3d5d090, 0x14c715d5553f01d2 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xfdb032e7d9079a94, 0x35a2809d15468d83, @@ -517,7 +567,8 @@ fn test_fq2_addition() { 0xd62fa51334f560fa, 0x9ad265eb46e01984, 0x1303f3465112c8bc - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -535,7 +586,8 @@ fn test_fq2_subtraction() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -543,7 +595,8 @@ fn test_fq2_subtraction() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837, - ])).unwrap(), + ])) + .unwrap(), }; a.sub_assign(&Fq2 { c0: Fq::from_repr(FqRepr([ @@ -553,7 +606,8 @@ fn test_fq2_subtraction() { 0x3b88899a42a6318f, 0x986a4a62fa82a49d, 0x13ce433fa26027f5, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x66323bf80b58b9b9, 0xa1379b6facf6e596, @@ -561,7 +615,8 @@ fn test_fq2_subtraction() { 0x2236f55246d0d44d, 0x4c8c1800eb104566, 0x11d6e20e986c2085, - ])).unwrap(), + ])) + .unwrap(), }); assert_eq!( a, @@ -573,7 +628,8 @@ fn test_fq2_subtraction() { 0xe255902672ef6c43, 0x7f77a718021c342d, 0x72ba14049fe9881 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xeb4abaf7c255d1cd, 0x11df49bc6cacc256, @@ -581,7 +637,8 @@ fn test_fq2_subtraction() { 0xf63905f39ad8cb1f, 0x4cd5dd9fb40b3b8f, 0x957411359ba6e4c - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -599,7 +656,8 @@ fn test_fq2_negation() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -607,7 +665,8 @@ fn test_fq2_negation() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837, - ])).unwrap(), + ])) + .unwrap(), }; a.negate(); assert_eq!( @@ -620,7 +679,8 @@ fn test_fq2_negation() { 0xab107d49317487ab, 0x7e555df189f880e3, 0x19083f5486a10cbd - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x228109103250c9d0, 0x8a411ad149045812, @@ -628,7 +688,8 @@ fn test_fq2_negation() { 0xb07e9bc405608611, 0xfcd559cbe77bd8b8, 0x18d400b280d93e62 - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -646,7 +707,8 @@ fn test_fq2_doubling() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -654,7 +716,8 @@ fn test_fq2_doubling() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837, - ])).unwrap(), + ])) + .unwrap(), }; a.double(); assert_eq!( @@ -667,7 +730,8 @@ fn test_fq2_doubling() { 0x72cd9c7784211627, 0x998c938972a657e7, 0x1f1a52b65bdb3b9 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x2efbeddf9b5dc1b6, 0x28d5ca5ad09f4fdb, @@ -675,7 +739,8 @@ fn test_fq2_doubling() { 0x67f15f81dc49195b, 0x9c8c9bd4b79fa83d, 0x25a226f714d506e - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -693,7 +758,8 @@ fn test_fq2_frobenius_map() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc, - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -701,7 +767,8 @@ fn test_fq2_frobenius_map() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837, - ])).unwrap(), + ])) + .unwrap(), }; a.frobenius_map(0); assert_eq!( @@ -714,7 +781,8 @@ fn test_fq2_frobenius_map() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -722,7 +790,8 @@ fn test_fq2_frobenius_map() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837 - ])).unwrap(), + ])) + .unwrap(), } ); a.frobenius_map(1); @@ -736,7 +805,8 @@ fn test_fq2_frobenius_map() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x228109103250c9d0, 0x8a411ad149045812, @@ -744,7 +814,8 @@ fn test_fq2_frobenius_map() { 0xb07e9bc405608611, 0xfcd559cbe77bd8b8, 0x18d400b280d93e62 - ])).unwrap(), + ])) + .unwrap(), } ); a.frobenius_map(1); @@ -758,7 +829,8 @@ fn test_fq2_frobenius_map() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -766,7 +838,8 @@ fn test_fq2_frobenius_map() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837 - ])).unwrap(), + ])) + .unwrap(), } ); a.frobenius_map(2); @@ -780,7 +853,8 @@ fn test_fq2_frobenius_map() { 0xb966ce3bc2108b13, 0xccc649c4b9532bf3, 0xf8d295b2ded9dc - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0x977df6efcdaee0db, 0x946ae52d684fa7ed, @@ -788,7 +862,8 @@ fn test_fq2_frobenius_map() { 0xb3f8afc0ee248cad, 0x4e464dea5bcfd41e, 0x12d1137b8a6a837 - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -807,7 +882,8 @@ fn test_fq2_sqrt() { 0xdb4a116b5bf74aa1, 0x1e58b2159dfe10e2, 0x7ca7da1f13606ac - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xfa8de88b7516d2c3, 0x371a75ed14f41629, @@ -815,9 +891,11 @@ fn test_fq2_sqrt() { 0x212611bca4e99121, 0x8ee5394d77afb3d, 0xec92336650e49d5 - ])).unwrap(), - }.sqrt() + ])) .unwrap(), + } + .sqrt() + .unwrap(), Fq2 { c0: Fq::from_repr(FqRepr([ 0x40b299b2704258c5, @@ -826,7 +904,8 @@ fn test_fq2_sqrt() { 0x8d7f1f723d02c1d3, 0x881b3e01b611c070, 0x10f6963bbad2ebc5 - ])).unwrap(), + ])) + .unwrap(), c1: Fq::from_repr(FqRepr([ 0xc099534fc209e752, 0x7670594665676447, @@ -834,7 +913,8 @@ fn test_fq2_sqrt() { 0x6b852aeaf2afcb1b, 0xa4c93b08105d71a9, 0x8d7cfff94216330 - ])).unwrap(), + ])) + .unwrap(), } ); @@ -847,10 +927,12 @@ fn test_fq2_sqrt() { 0x64774b84f38512bf, 0x4b1ba7b6434bacd7, 0x1a0111ea397fe69a - ])).unwrap(), - c1: Fq::zero(), - }.sqrt() + ])) .unwrap(), + c1: Fq::zero(), + } + .sqrt() + .unwrap(), Fq2 { c0: Fq::zero(), c1: Fq::from_repr(FqRepr([ @@ -860,7 +942,8 @@ fn test_fq2_sqrt() { 0x64774b84f38512bf, 0x4b1ba7b6434bacd7, 0x1a0111ea397fe69a - ])).unwrap(), + ])) + .unwrap(), } ); } @@ -908,3 +991,25 @@ fn fq2_field_tests() { ::tests::field::random_sqrt_tests::(); ::tests::field::random_frobenius_tests::(super::fq::Fq::char(), 13); } + +#[test] +fn test_swenc_consts() { + use super::FqRepr; + use PrimeField; + + // c0 = sqrt(-3) + let mut c0 = Fq2 { + c0: Fq::from_repr(FqRepr::from(3)).unwrap(), + c1: Fq::zero(), + }; + c0.negate(); + let mut c0 = c0.sqrt().unwrap(); + c0.negate(); // Fq2 sqrt impl produces the negative sqrt + assert_eq!(c0, Fq2::get_swenc_sqrt_neg_three()); + + // c2 = (sqrt(-3) - 1) / 2 + let mut expected = Fq2::get_swenc_sqrt_neg_three_minus_one_div_two(); + expected.add_assign(&Fq2::get_swenc_sqrt_neg_three_minus_one_div_two()); + expected.add_assign(&Fq2::one()); + assert_eq!(c0, expected); +} diff --git a/src/bls12_381/tests/g1_hashtopoint.dat b/src/bls12_381/tests/g1_hashtopoint.dat new file mode 100644 index 0000000000000000000000000000000000000000..e8977d9cbf59ff0ca5abb6b8fad62e925b274e54 GIT binary patch literal 96000 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 literal 0 HcmV?d00001 diff --git a/src/bls12_381/tests/g2_hashtopoint.dat b/src/bls12_381/tests/g2_hashtopoint.dat new file mode 100644 index 0000000000000000000000000000000000000000..352eb0c2d8c5f85c43462005a050517691e22ec5 GIT binary patch literal 192000 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 literal 0 HcmV?d00001 diff --git a/src/bls12_381/tests/mod.rs b/src/bls12_381/tests/mod.rs index bf6c5959..344529ce 100644 --- a/src/bls12_381/tests/mod.rs +++ b/src/bls12_381/tests/mod.rs @@ -52,6 +52,36 @@ fn test_pairing_result_against_relic() { }); } +#[test] +fn test_g1_hash_vectors() { + let mut expected = &include_bytes!("g1_hashtopoint.dat")[..]; + + for i in 0..1000 { + let p = G1::hash(format!("{}", i).as_bytes()) + .into_affine() + .into_uncompressed(); + + assert_eq!(p.as_ref(), &expected[0..96]); + expected = &expected[96..]; + } + assert_eq!(expected.len(), 0); +} + +#[test] +fn test_g2_hash_vectors() { + let mut expected = &include_bytes!("g2_hashtopoint.dat")[..]; + + for i in 0..1000 { + let p = G2::hash(format!("{}", i).as_bytes()) + .into_affine() + .into_uncompressed(); + + assert_eq!(p.as_ref(), &expected[0..(96 * 2)]); + expected = &expected[(96 * 2)..]; + } + assert_eq!(expected.len(), 0); +} + fn test_vectors>(expected: &[u8]) { let mut e = G::zero(); diff --git a/src/lib.rs b/src/lib.rs index bbced76f..b70b0aab 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -8,9 +8,11 @@ #![cfg_attr(feature = "cargo-clippy", allow(many_single_char_names))] #![cfg_attr(feature = "cargo-clippy", allow(new_without_default_derive))] #![cfg_attr(feature = "cargo-clippy", allow(write_literal))] +#![cfg_attr(feature = "clippy", allow(string_lit_as_bytes))] // Force public structures to implement Debug #![deny(missing_debug_implementations)] +extern crate blake2b_simd; extern crate byteorder; #[macro_use] extern crate ff; @@ -38,8 +40,7 @@ pub trait Engine: ScalarEngine { Base = Self::Fq, Scalar = Self::Fr, Affine = Self::G1Affine, - > - + From; + > + From; /// The affine representation of an element in G1. type G1Affine: CurveAffine< @@ -49,8 +50,7 @@ pub trait Engine: ScalarEngine { Projective = Self::G1, Pair = Self::G2Affine, PairingResult = Self::Fqk, - > - + From; + > + From; /// The projective representation of an element in G2. type G2: CurveProjective< @@ -58,8 +58,7 @@ pub trait Engine: ScalarEngine { Base = Self::Fqe, Scalar = Self::Fr, Affine = Self::G2Affine, - > - + From; + > + From; /// The affine representation of an element in G2. type G2Affine: CurveAffine< @@ -69,8 +68,7 @@ pub trait Engine: ScalarEngine { Projective = Self::G2, Pair = Self::G1Affine, PairingResult = Self::Fqk, - > - + From; + > + From; /// The base field that hosts G1. type Fq: PrimeField + SqrtField; @@ -102,7 +100,8 @@ pub trait Engine: ScalarEngine { { Self::final_exponentiation(&Self::miller_loop( [(&(p.into().prepare()), &(q.into().prepare()))].into_iter(), - )).unwrap() + )) + .unwrap() } } @@ -175,6 +174,9 @@ pub trait CurveProjective: /// Recommends a wNAF window size given the number of scalars you intend to multiply /// a base by. Always returns a number between 2 and 22, inclusive. fn recommended_wnaf_for_num_scalars(num_scalars: usize) -> usize; + + /// Given a message, hash into a random element of the prime-order subgroup. + fn hash(&[u8]) -> Self; } /// Affine representation of an elliptic curve point guaranteed to be From 1c5bf0c68fc33b5f83e0c10bb04fb4623becc0b2 Mon Sep 17 00:00:00 2001 From: Jeff Burdges Date: Tue, 7 Aug 2018 20:03:46 +0200 Subject: [PATCH 2/5] This should return faster in more cases. In fact is_normalized() and From<$projective>: $affine cover the is_zero() special case because they handle the is_zero() special case themselves. I kept the is_zero() special case here for robustness against future modifications, but you may wish to remove it. --- src/bls12_381/ec.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bls12_381/ec.rs b/src/bls12_381/ec.rs index 82dca23b..aa614d06 100644 --- a/src/bls12_381/ec.rs +++ b/src/bls12_381/ec.rs @@ -53,11 +53,16 @@ macro_rules! curve_impl { if self.is_zero() { return other.is_zero(); } - if other.is_zero() { return false; } + if self.is_normalized() { + if other.is_normalized() { + return self.into_affine() == other.into_affine() + } + } + // The points (X, Y, Z) and (X', Y', Z') // are equal when (X * Z^2) = (X' * Z'^2) // and (Y * Z^3) = (Y' * Z'^3). From a15176d8a0df27a7816fa9c5d514ac7765e2d487 Mon Sep 17 00:00:00 2001 From: Jeff Burdges Date: Sat, 11 Aug 2018 21:18:56 +0200 Subject: [PATCH 3/5] Impl PartialEq, Eq, PartialOrd, Ord, Hash for EncodedPoint --- src/bls12_381/ec.rs | 35 +++++++++++++++++++++++++++++++++++ src/lib.rs | 3 ++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/bls12_381/ec.rs b/src/bls12_381/ec.rs index aa614d06..e195bbce 100644 --- a/src/bls12_381/ec.rs +++ b/src/bls12_381/ec.rs @@ -775,6 +775,33 @@ macro_rules! curve_impl { }; } +macro_rules! encoded_point_delegations { + ($t:ident) => { + impl PartialEq for $t { + fn eq(&self, other: &$t) -> bool { + PartialEq::eq(&self.0[..], &other.0[..]) + } + } + impl Eq for $t { } + impl PartialOrd for $t { + fn partial_cmp(&self, other: &$t) -> Option<::std::cmp::Ordering> { + PartialOrd::partial_cmp(&self.0[..], &other.0[..]) + } + } + impl Ord for $t { + fn cmp(&self, other: &Self) -> ::std::cmp::Ordering { + Ord::cmp(&self.0[..], &other.0[..]) + } + } + + impl ::std::hash::Hash for $t { + fn hash(&self, state: &mut H) { + self.0[..].hash(state); + } + } + } +} // encoded_point_delegations + pub mod g1 { use super::super::{Bls12, Fq, Fq12, FqRepr, Fr, FrRepr}; use super::g2::G2Affine; @@ -810,6 +837,8 @@ pub mod g1 { } } + encoded_point_delegations!(G1Uncompressed); + impl fmt::Debug for G1Uncompressed { fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { self.0[..].fmt(formatter) @@ -920,6 +949,8 @@ pub mod g1 { } } + encoded_point_delegations!(G1Compressed); + impl fmt::Debug for G1Compressed { fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { self.0[..].fmt(formatter) @@ -1527,6 +1558,8 @@ pub mod g2 { } } + encoded_point_delegations!(G2Uncompressed); + impl fmt::Debug for G2Uncompressed { fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { self.0[..].fmt(formatter) @@ -1653,6 +1686,8 @@ pub mod g2 { } } + encoded_point_delegations!(G2Compressed); + impl fmt::Debug for G2Compressed { fn fmt(&self, formatter: &mut fmt::Formatter) -> Result<(), fmt::Error> { self.0[..].fmt(formatter) diff --git a/src/lib.rs b/src/lib.rs index b70b0aab..cae763f4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -234,7 +234,8 @@ pub trait CurveAffine: /// An encoded elliptic curve point, which should essentially wrap a `[u8; N]`. pub trait EncodedPoint: - Sized + Send + Sync + AsRef<[u8]> + AsMut<[u8]> + Clone + Copy + 'static + Sized + Send + Sync + AsRef<[u8]> + AsMut<[u8]> + Clone + Copy + + PartialOrd + Ord + PartialEq + Eq + ::std::hash::Hash + 'static { type Affine: CurveAffine; From 534115f24101d4846531dcf2f1cd404bb9bc14af Mon Sep 17 00:00:00 2001 From: Jeff Burdges Date: Sat, 11 Aug 2018 21:22:42 +0200 Subject: [PATCH 4/5] Impl AsRef and AsMut through encoded_point_delegations macro too --- src/bls12_381/ec.rs | 60 +++++++++------------------------------------ 1 file changed, 12 insertions(+), 48 deletions(-) diff --git a/src/bls12_381/ec.rs b/src/bls12_381/ec.rs index e195bbce..212cb60b 100644 --- a/src/bls12_381/ec.rs +++ b/src/bls12_381/ec.rs @@ -777,6 +777,18 @@ macro_rules! curve_impl { macro_rules! encoded_point_delegations { ($t:ident) => { + + impl AsRef<[u8]> for $t { + fn as_ref(&self) -> &[u8] { + &self.0 + } + } + impl AsMut<[u8]> for $t { + fn as_mut(&mut self) -> &mut [u8] { + &mut self.0 + } + } + impl PartialEq for $t { fn eq(&self, other: &$t) -> bool { PartialEq::eq(&self.0[..], &other.0[..]) @@ -825,18 +837,6 @@ pub mod g1 { #[derive(Copy, Clone)] pub struct G1Uncompressed([u8; 96]); - impl AsRef<[u8]> for G1Uncompressed { - fn as_ref(&self) -> &[u8] { - &self.0 - } - } - - impl AsMut<[u8]> for G1Uncompressed { - fn as_mut(&mut self) -> &mut [u8] { - &mut self.0 - } - } - encoded_point_delegations!(G1Uncompressed); impl fmt::Debug for G1Uncompressed { @@ -937,18 +937,6 @@ pub mod g1 { #[derive(Copy, Clone)] pub struct G1Compressed([u8; 48]); - impl AsRef<[u8]> for G1Compressed { - fn as_ref(&self) -> &[u8] { - &self.0 - } - } - - impl AsMut<[u8]> for G1Compressed { - fn as_mut(&mut self) -> &mut [u8] { - &mut self.0 - } - } - encoded_point_delegations!(G1Compressed); impl fmt::Debug for G1Compressed { @@ -1546,18 +1534,6 @@ pub mod g2 { #[derive(Copy, Clone)] pub struct G2Uncompressed([u8; 192]); - impl AsRef<[u8]> for G2Uncompressed { - fn as_ref(&self) -> &[u8] { - &self.0 - } - } - - impl AsMut<[u8]> for G2Uncompressed { - fn as_mut(&mut self) -> &mut [u8] { - &mut self.0 - } - } - encoded_point_delegations!(G2Uncompressed); impl fmt::Debug for G2Uncompressed { @@ -1674,18 +1650,6 @@ pub mod g2 { #[derive(Copy, Clone)] pub struct G2Compressed([u8; 96]); - impl AsRef<[u8]> for G2Compressed { - fn as_ref(&self) -> &[u8] { - &self.0 - } - } - - impl AsMut<[u8]> for G2Compressed { - fn as_mut(&mut self) -> &mut [u8] { - &mut self.0 - } - } - encoded_point_delegations!(G2Compressed); impl fmt::Debug for G2Compressed { From 41156497df2727a73783ae17c695bcef78ef7eda Mon Sep 17 00:00:00 2001 From: Jeff Burdges Date: Tue, 17 Jul 2018 23:59:59 +0200 Subject: [PATCH 5/5] Make batch_normalization more flexible with BorrowMut --- src/bls12_381/ec.rs | 20 +++++++++++--------- src/lib.rs | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/bls12_381/ec.rs b/src/bls12_381/ec.rs index 212cb60b..d3dea377 100644 --- a/src/bls12_381/ec.rs +++ b/src/bls12_381/ec.rs @@ -336,7 +336,8 @@ macro_rules! curve_impl { self.is_zero() || self.z == $basefield::one() } - fn batch_normalization(v: &mut [Self]) { + fn batch_normalization>(v: &mut [S]) + { // Montgomery’s Trick and Fast Implementation of Masked AES // Genelle, Prouff and Quisquater // Section 3.2 @@ -344,8 +345,8 @@ macro_rules! curve_impl { // First pass: compute [a, ab, abc, ...] let mut prod = Vec::with_capacity(v.len()); let mut tmp = $basefield::one(); - for g in v - .iter_mut() + for g in v.iter_mut() + .map(|g| g.borrow_mut()) // Ignore normalized elements .filter(|g| !g.is_normalized()) { @@ -357,17 +358,15 @@ macro_rules! curve_impl { tmp = tmp.inverse().unwrap(); // Guaranteed to be nonzero. // Second pass: iterate backwards to compute inverses - for (g, s) in v - .iter_mut() + for (g, s) in v.iter_mut() + .map(|g| g.borrow_mut()) // Backwards .rev() // Ignore normalized elements .filter(|g| !g.is_normalized()) // Backwards, skip last element, fill in one for last term. .zip( - prod.into_iter() - .rev() - .skip(1) + prod.into_iter().rev().skip(1) .chain(Some($basefield::one())), ) { @@ -380,7 +379,10 @@ macro_rules! curve_impl { } // Perform affine transformations - for g in v.iter_mut().filter(|g| !g.is_normalized()) { + for g in v.iter_mut() + .map(|g| g.borrow_mut()) + .filter(|g| !g.is_normalized()) + { let mut z = g.z; // 1/z z.square(); // 1/z^2 g.x.mul_assign(&z); // x/z^2 diff --git a/src/lib.rs b/src/lib.rs index cae763f4..c08e71eb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -136,7 +136,7 @@ pub trait CurveProjective: /// Normalizes a slice of projective elements so that /// conversion to affine is cheap. - fn batch_normalization(v: &mut [Self]); + fn batch_normalization>(v: &mut [S]); /// Checks if the point is already "normalized" so that /// cheap affine conversion is possible.