diff --git a/README.md b/README.md index bc7fcaa..9ad1bad 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ Then, in your library or executable source, add: ## TODO * Implement hashing to a point on the curve (Elligator). +* Add conversion to Montgomery form and rework compressed point types. * Maybe implement Mike Hamburg's Decaf point compression format, so that users can be guaranteed to be in a prime-order subgroup and not have to worry about cofactors. diff --git a/src/curve.rs b/src/curve.rs index da84984..971cdb5 100644 --- a/src/curve.rs +++ b/src/curve.rs @@ -372,15 +372,6 @@ impl ExtendedPoint { pub fn compress(&self) -> CompressedPoint { self.to_projective().compress() } - - /// XXX rewrite - /// We only need the x-coordinate of the curve25519 point, which I'll - /// call u. The isomorphism is u=(y+1)/(1-y), since y=Y/Z, this gives - /// u=(Y+Z)/(Z-Y). We know that Z=1, thus u=(Y+1)/(1-Y). - pub fn edwards_to_montgomery_x(&self) -> FieldElement { // edwardsToMontgomeryX - let one = FieldElement::one(); - &((&one - &self.Y).invert()) * &(&self.Y + &one) - } } impl CompletedPoint {