Open kayabaNerve opened 3 years ago
To be clear, Ristretto utilizes Elligator which is what has been implemented. It is interesting that Ristretto runs Elligator twice, and implementing it into the Hash to Curve library will require adding another curve type (as we only have Weierstrass due to writing the entire generic setup solely for our BLS needs). As it's not meant to be a robust, independent library, I don't think this is high priority; just something which can be better.
It should be noted our library is of the IETF standard and Elligator is a fraction of that; the test vectors accordingly also use such a fraction. We cannot fully integrate it, so this is about maximizing integration.
I wrote one as part of my work with BLS. Ristretto defines one, which we aren't using, yet was implemented to further test the other parts of Ristretto. I should've done the two in the same place, yet the underlying Ed25519 code went through a LOT of changes and I missed it when working.
Also, as a side note, it's not a proper library. It's just a folder in the project. It may be beneficial to the wider community to expose it.
Not a blocker for Ristretto as it's code hygiene for our test suite in places we're likely to not edit anytime before launch.