From 3eb5dcaae743257d8c0c547fecc840eb1cf40737 Mon Sep 17 00:00:00 2001 From: Isis Lovecruft Date: Tue, 21 Feb 2017 03:13:30 +0000 Subject: [PATCH] Implement CTEq for ExtendedPoint. --- src/curve.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/curve.rs b/src/curve.rs index fef11b7..4f7126b 100644 --- a/src/curve.rs +++ b/src/curve.rs @@ -986,6 +986,20 @@ mod test { assert_eq!( bp_added.compress(), BASE2_CMPRSSD); } + #[test] + fn test_extended_point_equality() { + let two = [2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]; + let id1 = ExtendedPoint::identity(); + let id2 = ExtendedPoint{ + X: FieldElement::zero(), + Y: FieldElement::from_bytes(&two), + Z: FieldElement::from_bytes(&two), + T: FieldElement::zero()}; + + assert!(id1.ct_eq(&id2) == 1u8); + } + /// Sanity check for conversion to precomputed points #[test] fn test_convert_to_precomputed() {