diff --git a/src/constants.rs b/src/constants.rs index b0820d3..63648e5 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -149,27 +149,22 @@ mod test { } #[test] - /// Test that SQRT_M1 and MSQRT_M1 are square roots of -1 + /// Test that SQRT_M1 is a square root of -1 fn test_sqrt_minus_one() { let minus_one = FieldElement::minus_one(); let sqrt_m1_sq = &constants::SQRT_M1 * &constants::SQRT_M1; - let msqrt_m1_sq = &constants::MSQRT_M1 * &constants::MSQRT_M1; assert_eq!(minus_one, sqrt_m1_sq); - assert_eq!(minus_one, msqrt_m1_sq); } #[test] fn test_sqrt_constants_sign() { - let one = FieldElement::one(); let minus_one = FieldElement::minus_one(); let (was_nonzero_square, invsqrt_m1) = minus_one.invsqrt(); assert_eq!(was_nonzero_square, 1u8); let sign_test_sqrt = &invsqrt_m1 * &constants::SQRT_M1; - let sign_test_msqrt = &invsqrt_m1 * &constants::MSQRT_M1; // XXX it seems we have flipped the sign relative to // the invsqrt function? assert_eq!(sign_test_sqrt, minus_one); - assert_eq!(sign_test_msqrt, one); } /// Test that d = -121665/121666 diff --git a/src/constants_32bit.rs b/src/constants_32bit.rs index 5fdd53c..02ef4a0 100644 --- a/src/constants_32bit.rs +++ b/src/constants_32bit.rs @@ -45,12 +45,6 @@ pub(crate) const SQRT_M1: FieldElement32 = FieldElement32([ -32595792, -7943725, 9377950, 3500415, 12389472, -272473, -25146209, -2005654, 326686, 11406482, ]); -/// Precomputed value of the other square root of -1 (mod p), -/// i.e., `MSQRT_M1 = -SQRT_M1`. -pub(crate) const MSQRT_M1: FieldElement32 = FieldElement32([ - 32595792, 7943725, -9377950, -3500415, -12389472, - 272473, 25146209, 2005654, -326686, -11406482, ]); - /// In Montgomery form y² = x³+Ax²+x, Curve25519 has A=486662. pub(crate) const MONTGOMERY_A: FieldElement32 = FieldElement32([ 486662, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]); diff --git a/src/constants_64bit.rs b/src/constants_64bit.rs index 249aad0..e05768e 100644 --- a/src/constants_64bit.rs +++ b/src/constants_64bit.rs @@ -38,10 +38,6 @@ pub(crate) const INVSQRT_A_MINUS_D: FieldElement64 = FieldElement64([ /// Precomputed value of one of the square roots of -1 (mod p) pub(crate) const SQRT_M1: FieldElement64 = FieldElement64([1718705420411056, 234908883556509, 2233514472574048, 2117202627021982, 765476049583133]); -/// Precomputed value of the other square root of -1 (mod p), -/// i.e., `MSQRT_M1 = -SQRT_M1`. -pub(crate) const MSQRT_M1: FieldElement64 = FieldElement64([533094393274173, 2016890930128738, 18285341111199, 134597186663265, 1486323764102114]); - /// In Montgomery form y² = x³+Ax²+x, Curve25519 has A=486662. pub(crate) const MONTGOMERY_A: FieldElement64 = FieldElement64([486662, 0, 0, 0, 0]);