Skip to content

Commit e2bf214

Browse files
committed
bilinearity test
1 parent 35ff938 commit e2bf214

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

test-templates/src/pairing.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,25 @@ macro_rules! test_pairing {
1414
let g2: <$Pairing as Pairing>::G2 = UniformRand::rand(&mut rng);
1515
let s1: <$Pairing as Pairing>::ScalarField = UniformRand::rand(&mut rng);
1616
let s2: <$Pairing as Pairing>::ScalarField = UniformRand::rand(&mut rng);
17-
let s3 = s1 * s2;
18-
// let ans = <$Pairing>::multi_pairing(&[-g1, g1 * s2, g1], &[g2 * s1, g2, g2 * s3]);
19-
// assert_eq!(ans, PairingOutput::zero());
17+
let s3 = s1 + s2;
18+
2019
let (p1, p2, p3) = (g1.into_affine(), (g1 * s2).into_affine(), g1.into_affine());
2120
let (q1, q2, q3) = (
2221
(g2 * s1).into_affine(),
2322
g2.into_affine(),
24-
(g2).into_affine(),
23+
(g2 * s3).into_affine(),
2524
);
2625
let e1 = <$Pairing>::pairing(p1, q1);
2726
let e2 = <$Pairing>::pairing(p2, q2);
2827
let e3 = <$Pairing>::pairing(p3, q3);
2928
let e33 = <$Pairing>::multi_pairing(&[p1, p2], &[q1, q2]);
30-
assert_eq!(e1 + e2, e3 * s3);
31-
// assert_eq!(e1 + e2, e33);
29+
assert_eq!(e1 + e2, e3);
30+
assert_eq!(e3, e33);
31+
32+
let e4 = <$Pairing>::multi_pairing(&[-p1, p2, p3], &[q1, q2, q3]);
33+
let e5 = <$Pairing>::multi_pairing(&[p1, p2, -p3], &[q1, q2, q3]);
34+
assert_eq!(e4, e5);
35+
assert_eq!(e4, PairingOutput::zero());
3236
}
3337

3438
#[test]

0 commit comments

Comments
 (0)